:root{--ink:#00365f;--accent:#e87136;--accent-ink:#c25a22;--mute:#6f8291;--bg:#f4f7fa;--card:#fff;--line:#dae4ec;--user:#00365f}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Noto Sans JP,Meiryo,sans-serif;line-height:1.7}input,textarea,select{font-family:inherit;font-size:16px}.app{flex-direction:column;max-width:780px;height:100dvh;margin:0 auto;padding:0 16px;display:flex}.topbar{z-index:10;border-bottom:1px solid var(--line);background:var(--card);flex-direction:column;gap:6px;padding:8px 4px;display:flex;position:sticky;top:0;box-shadow:0 2px 8px #00365f1a}.brand-row{align-items:center;gap:12px;min-width:0;display:flex}.wpm-logo{flex-shrink:0;width:auto;height:30px;display:block}.brand{min-width:0;color:var(--ink);word-break:keep-all;flex:1;font-size:17px;font-weight:700;line-height:1.3}.brand .sub{color:var(--mute);word-break:normal;overflow-wrap:anywhere;margin-top:1px;font-size:12px;font-weight:500;line-height:1.4;display:block}@media (max-width:599px){.brand .sub{display:none}.userbar{gap:6px}.userbar .link-btn,.userbar .icon-btn{padding:5px 8px}.topbar{gap:4px;padding:6px 2px}.wpm-logo{height:24px}.brand{font-size:15px}.app{padding:0 12px}.chat{padding-top:16px}}@media (max-width:389px){.wpm-logo{height:20px}.brand{font-size:14px}}.icon-btn{color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c7d5e0;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:12px}.icon-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.userbar{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;display:flex}.userbar form{display:flex}.userbar .icon-btn{padding:5px 10px;font-size:12px}.link-btn{color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #c7d5e0;border-radius:8px;padding:5px 10px;font-size:12px}.link-btn:hover{border-color:var(--accent);color:var(--accent-ink)}.link-btn:disabled{opacity:.5;cursor:default}.drawer-overlay{z-index:20;background:#00365f59;position:fixed;inset:0}.drawer{background:var(--card);border-right:1px solid var(--line);z-index:21;flex-direction:column;gap:10px;width:300px;max-width:84vw;height:100dvh;padding:14px;display:flex;position:fixed;top:0;left:0;box-shadow:2px 0 16px #00365f1f}.drawer-head{justify-content:space-between;align-items:center;display:flex}.new-btn{border:1px solid var(--accent);color:var(--accent-ink);cursor:pointer;background:#fff;border-radius:10px;padding:9px;font-size:14px;font-weight:700}.new-btn:hover{background:var(--accent);color:#fff}.conv-list{flex-direction:column;flex:1;gap:4px;display:flex;overflow-y:auto}.conv-empty{color:var(--mute);padding:10px 4px;font-size:13px}.conv-item{cursor:pointer;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:9px 10px;display:flex}.conv-item:hover{background:#eef3f7}.conv-item.active{background:#eef3f7;border-color:#cfe0ec}.conv-main{flex:1;min-width:0}.conv-title{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.conv-date{color:var(--mute);margin-top:2px;font-size:11px}.conv-del{cursor:pointer;opacity:.5;background:0 0;border:none;border-radius:6px;flex-shrink:0;min-width:28px;padding:4px;font-size:14px;line-height:1}.conv-del:hover{opacity:1;background:#fbecea}.conv-item.deleting{cursor:default}.conv-item.deleting .conv-main{opacity:.45}.conv-item.deleting:not(.active):hover{background:0 0}.conv-del:disabled{cursor:default;opacity:1}.conv-del:disabled:hover{background:0 0}.conv-del .spinner{vertical-align:0;border:2px solid #cfe0ec;border-top-color:var(--accent);width:13px;height:13px}.login-wrap{justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex}.login-card{background:var(--card);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:14px;width:100%;max-width:360px;padding:28px 24px;display:flex}.login-logo{align-self:flex-start;width:auto;height:36px;margin-bottom:2px}.login-brand{color:var(--ink);font-size:18px;font-weight:700}.login-sub{color:var(--mute);margin-top:-8px;font-size:13px}.login-label{color:var(--ink);flex-direction:column;gap:6px;font-size:13px;display:flex}.login-label input{color:var(--ink);background:#fff;border:1px solid #c7d5e0;border-radius:10px;padding:10px 12px;font-family:inherit}.login-label input:focus{border-color:var(--accent);outline:none}.login-card button[type=submit]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;margin-top:4px;padding:11px;font-size:15px;font-weight:700}.login-card button[type=submit]:disabled{opacity:.5;cursor:default}.login-error{color:#b4321f;background:#fbecea;border:1px solid #f3d2cc;border-radius:8px;padding:8px 10px;font-size:13px}.login-note{color:var(--mute);font-size:11px;line-height:1.6}.login-alt{color:var(--mute);text-align:center;border-top:1px solid var(--line);padding-top:12px;font-size:13px}.login-alt a{color:var(--accent-ink);font-weight:700;text-decoration:none}.login-alt a:hover{text-decoration:underline}.login-ok{color:#1f7a3d;background:#e9f6ee;border:1px solid #cbe8d5;border-radius:8px;padding:8px 10px;font-size:13px}.login-back{color:var(--accent-ink);align-self:flex-start;font-size:13px;text-decoration:none}.login-back:hover{text-decoration:underline}.account-stack{flex-direction:column;gap:16px}.memory-toggle{color:var(--ink);align-items:center;gap:8px;font-size:14px;display:flex}.memory-toggle input{width:18px;height:18px;accent-color:var(--accent)}.memory-profile{color:var(--ink);white-space:pre-wrap;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font-size:13px;line-height:1.7}.memory-clear{color:#b4321f;cursor:pointer;background:#fff;border:1px solid #f3d2cc;border-radius:10px;padding:10px;font-size:14px;font-weight:700}.memory-clear:disabled{opacity:.5;cursor:default}.account-head{gap:8px}.plan-manage{color:var(--accent-ink);border-color:#c7d5e0}@keyframes spin{to{transform:rotate(360deg)}}.spinner{vertical-align:-3px;border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.login-card button[type=submit] .spinner{margin-right:8px}.review-wait{color:var(--ink);margin:12px 0 0;font-size:14px}.review-wait .dots{color:var(--accent)}.nowrap{white-space:nowrap}.page-loading{min-height:100dvh;color:var(--mute);flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:20px;display:flex}.page-loading .spinner{border-width:3px;border:3px solid var(--line);border-top-color:var(--accent);width:32px;height:32px}.page-loading .pl-brand{color:var(--ink);font-size:15px;font-weight:700}.page-loading .pl-note{font-size:13px}.chat{flex-direction:column;flex:1;gap:14px;min-height:0;padding:20px 2px 8px;display:flex;overflow-y:auto}.empty{color:var(--mute);background:#eef3f7;border:1px solid #cfe0ec;border-radius:12px;padding:16px;font-size:14px}.empty b{color:var(--ink)}.chips{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.chip{color:var(--ink);cursor:pointer;background:#fff;border:1px solid #c7d5e0;border-radius:999px;padding:7px 12px;font-size:13px}.chip:hover{border-color:var(--accent);color:var(--accent-ink)}.msg{display:flex}.msg.user{justify-content:flex-end}.msg>.msg-body{min-width:0;max-width:88%}.bubble{white-space:pre-wrap;word-break:break-word;border-radius:14px;max-width:100%;padding:11px 14px;font-size:15px}.bubble>*+*{margin-top:10px}.bubble p{margin:0}.bubble h4{color:inherit;letter-spacing:.02em;margin:0;font-size:1em;font-weight:700}.bubble ul,.bubble ol{margin:0;padding-left:1.4em}.bubble li+li{margin-top:5px}.bubble li.check{margin-left:-1.4em;list-style:none}.bubble li.check .box{margin-right:6px}.msg.user .bubble{background:var(--user);color:#fff;border-bottom-right-radius:4px}.msg.assistant .bubble{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:4px}.web-badge{letter-spacing:.02em;color:var(--accent-ink);background:#fdefe6;border:1px solid #f2c7a9;border-radius:999px;margin-bottom:6px;padding:2px 10px;font-size:11px;font-weight:700;display:inline-block}.websources{max-width:100%;color:var(--mute);margin-top:8px;font-size:12px}.websources details{margin-top:4px}.websources summary{cursor:pointer;color:var(--accent-ink)}.weblink{border:1px solid var(--line);color:var(--accent-ink);word-break:break-word;background:#fff;border-radius:8px;margin:4px 0;padding:7px 9px;line-height:1.45;text-decoration:none;display:block}.weblink:hover{border-color:var(--accent)}.webhost{color:var(--mute);font-size:11px;display:block}.sources{color:var(--mute);margin-top:8px;font-size:12px}.sources details{margin-top:4px}.sources summary{cursor:pointer;color:var(--accent-ink)}.sources .src{background:#eef3f7;border-radius:8px;margin:6px 0;padding:8px}.composer{background:var(--bg);border-top:1px solid var(--line);gap:8px;padding:10px 0 16px;display:flex;position:sticky;bottom:0}.composer textarea{resize:none;color:var(--ink);background:#fff;border:1px solid #c7d5e0;border-radius:12px;flex:1;max-height:140px;padding:11px 12px;font-family:inherit;line-height:1.5;overflow-y:auto}.composer textarea:focus{border-color:var(--accent);outline:none}.composer button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:0 18px;font-size:15px;font-weight:700}.composer button:disabled{opacity:.5;cursor:default}.note{text-align:center;color:var(--mute);padding:4px 0 12px;font-size:11px}.wait-note{color:var(--mute);margin-top:6px;font-size:12px;line-height:1.6}.wait-cancel{cursor:pointer;color:var(--accent-ink);background:0 0;border:none;margin-left:6px;padding:6px 4px;font-family:inherit;font-size:12px;text-decoration:underline;display:inline-block}.wait-cancel:hover{color:var(--accent)}.typing{color:var(--mute);font-size:14px}.dots{vertical-align:middle;gap:4px;margin-left:7px;display:inline-flex}.dots span{background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite both dot-bounce;display:inline-block}.dots span:first-child{animation-delay:-.32s}.dots span:nth-child(2){animation-delay:-.16s}@keyframes dot-bounce{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}.dots span{animation:1.2s ease-in-out infinite both dot-fade;transform:none}.conv-del .spinner{animation:1.2s ease-in-out infinite both dot-fade}.usermenu>summary:after{transition:none}}@keyframes dot-fade{0%,80%,to{opacity:.25}40%{opacity:1}}.app-scroll{height:auto;min-height:100dvh}.sheet{flex-direction:column;gap:14px;padding:16px 0 48px;display:flex}.page-title{margin:6px 0 0;font-size:20px;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}.card-title{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0 0 8px;font-size:16px;font-weight:700;display:flex}.panel-head{border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:-14px;padding-bottom:14px}.progress{color:var(--mute);font-size:12px;font-weight:500}.muted{color:var(--mute);margin:8px 0 0;font-size:13px}.err{color:#b23c17;margin:10px 0 0;font-size:13px}.err .link-btn{vertical-align:baseline;margin-left:8px}.ok{color:var(--accent-ink);margin:10px 0 0;font-size:13px}.warn{color:#7a4a00;background:#fff6e5;border:1px solid #f0d9a8;border-radius:8px;margin:10px 0 0;padding:8px 10px;font-size:13px;line-height:1.7}.primary-btn{border:1px solid var(--accent);background:var(--accent);color:#fff;cursor:pointer;border-radius:8px;margin-top:12px;padding:12px 20px;font-size:16px;font-weight:700;text-decoration:none;display:inline-block}.primary-btn:disabled{opacity:.45;cursor:default}.primary-btn.small{margin-top:0;padding:8px 14px;font-size:14px}.row-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.task-sentence{background:var(--bg);border:1px solid var(--line);border-radius:8px;margin:0;padding:12px 14px;font-size:15px;font-weight:700}.field-list{background:var(--line);border:1px solid var(--line);border-radius:8px;gap:1px;margin:12px 0 0;display:grid;overflow:hidden}.field-list>div{grid-template-columns:11em 1fr;gap:1px;display:grid}.field-list dt,.field-list dd{background:var(--card);margin:0;padding:9px 12px;font-size:14px}.field-list dt{background:var(--bg);color:var(--mute);font-size:13px}@media (max-width:599px){.field-list>div{grid-template-columns:1fr}.field-list dt{padding-bottom:2px}}.check-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:14px;display:grid}.check-btn{border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;word-break:keep-all;border-radius:8px;padding:14px 10px;font-family:inherit;font-size:15px;font-weight:700}.check-btn:disabled{opacity:.5;cursor:default}.check-btn.chosen{background:var(--accent);border-color:var(--accent);color:#fff}.check-btn.suggested{border-color:var(--accent)}.memo-save,.memo-toggle{margin-top:10px}.memo-label,.field-block{margin-top:12px;display:block}.memo-input,.field-input{border:1px solid var(--line);background:var(--card);width:100%;color:var(--ink);resize:vertical;border-radius:8px;margin-top:6px;padding:10px 12px;line-height:1.6;display:block}.memo-input.tall{min-height:160px}.memo-note{color:var(--mute);margin-top:4px;font-size:12px;display:block}.check-done{color:var(--accent-ink);margin:12px 0 0;font-size:13px}.feedback{border:1px solid var(--line);border-left:3px solid var(--accent);background:var(--bg);border-radius:8px;margin-top:14px;padding:14px}.feedback h3{color:var(--mute);margin:0 0 6px;font-size:13px}.feedback p{white-space:pre-wrap;margin:0;font-size:15px}.review-summary{white-space:pre-wrap;margin:14px 0 0;font-size:15px}.stat-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.stat{border:1px solid var(--line);background:var(--bg);border-radius:8px;flex:8em;padding:10px 12px}.stat-n{font-size:20px;font-weight:700;line-height:1.3;display:block}.stat-label{color:var(--mute);font-size:11px;line-height:1.4;display:block}.scene{color:var(--ink);margin-top:2px;font-size:14px;font-weight:600;line-height:1.5;display:block}.log{border:1px solid var(--line);background:var(--line);border-radius:8px;flex-direction:column;gap:1px;margin:12px 0 0;padding:0;list-style:none;display:flex;overflow:hidden}.log li{background:var(--card);flex-wrap:wrap;align-items:baseline;gap:10px;padding:9px 12px;font-size:14px;display:flex}.log-date{color:var(--mute);min-width:5em;font-size:13px}.log-result{background:var(--bg);border-radius:999px;padding:2px 8px;font-size:13px;font-weight:700}.log-result.r-done{color:#1c6b45;background:#e4f3ea}.log-result.r-partial{color:var(--accent-ink);background:#fdeee5}.log-result.r-not_done{color:#97442a;background:#f8e8e2}.log-result.r-no_chance{color:var(--mute);background:var(--bg)}.log-memo{color:var(--mute);font-size:13px}.push-box{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;display:flex}.push-text{flex-direction:column;flex:16em;display:flex}.push-text span,.push-note{color:var(--mute);font-size:12px}.dialogue{flex-direction:column;gap:10px;max-height:46vh;margin-top:12px;padding:4px;display:flex;overflow-y:auto}.bubble{white-space:pre-wrap;border-radius:14px;max-width:88%;padding:10px 14px;font-size:15px}.bubble.assistant{background:var(--bg);border:1px solid var(--line);align-self:flex-start}.bubble.user{background:var(--user);color:#fff;align-self:flex-end}.composer-row{align-items:flex-end;gap:8px;margin-top:12px;display:flex}.composer-row .memo-input{margin-top:0}.composer-row .primary-btn{flex-shrink:0;margin-top:0}.field-form{flex-direction:column;gap:8px;margin-top:12px;display:flex}.field-row{grid-template-columns:11em 1fr;align-items:center;gap:10px;display:grid}.field-row .field-input{margin-top:0}.limit-row{flex-wrap:nowrap;margin-top:6px}.limit-input{max-width:120px;margin-top:0}.limit-field+.limit-field{margin-top:6px}.field-label{color:var(--mute);font-size:13px}@media (max-width:599px){.field-row{grid-template-columns:1fr;gap:4px}}.weekday-row{gap:6px;display:flex}.weekday{border:1px solid var(--line);background:var(--card);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:8px;font-family:inherit;font-size:14px;font-weight:700}.weekday.on{background:var(--accent);border-color:var(--accent);color:#fff}.kind-row{gap:8px;margin:12px 0 4px;display:flex}.weekday.kind{flex:1;width:auto;padding:0 12px}.weekday.kind:disabled{cursor:default}.weekday.kind:disabled:not(.on){opacity:.45}.kind-tag{border:1px solid var(--accent);color:var(--accent);vertical-align:middle;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:12px;font-weight:700;display:inline-block}.knowledge-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.knowledge-list li{border:1px solid var(--line);background:var(--bg);border-radius:8px;padding:12px 14px}.k-head{align-items:baseline;gap:8px;font-size:14px;display:flex}.k-draft{background:var(--card);border:1px solid var(--line);color:var(--mute);border-radius:999px;padding:1px 7px;font-size:11px}.k-body{color:var(--ink);white-space:pre-wrap;margin:6px 0 0;font-size:13px}.k-meta{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;font-size:12px;display:flex}.k-cat{background:var(--card);border:1px solid var(--line);color:var(--accent-ink);border-radius:999px;padding:2px 8px}.table-scroll{margin:0 -16px;padding:0 16px;overflow-x:auto}.admin-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1080px;font-size:13px}.admin-table th:first-child,.admin-table td:first-child{width:10%}.admin-table th:nth-child(2),.admin-table td:nth-child(2),.admin-table th:nth-child(3),.admin-table td:nth-child(3){width:21%}.admin-table th:nth-child(4),.admin-table td:nth-child(4){width:13%}.admin-table th:nth-child(5),.admin-table td:nth-child(5){width:21%}.admin-table th:nth-child(6),.admin-table td:nth-child(6){width:14%}.admin-table .log-result{white-space:nowrap}.admin-table th,.admin-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:9px 10px}.admin-table th{background:var(--bg);color:var(--mute);white-space:nowrap;font-size:12px}.admin-table .muted{margin:2px 0 0;font-size:12px}.bars{flex-direction:column;gap:8px;margin-top:12px;display:flex}.bar-row{grid-template-columns:8em 1fr auto;align-items:center;gap:10px;display:grid}.bar-label{color:var(--mute);font-size:12px}.bar-track{background:var(--line);border-radius:4px;min-width:2px;height:18px;display:flex;overflow:hidden}.bar-track.solo{background:var(--ink)}.seg{flex-basis:0;display:block}.s-done{background:#2f8f60}.s-partial{background:var(--accent)}.s-not{background:#b56a4d}.s-none{background:#c3d0da}.bar-n{color:var(--mute);white-space:nowrap;font-size:12px}.legend{color:var(--mute);flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 0;font-size:11px;display:flex}.legend .key{border-radius:2px;width:10px;height:10px;margin-left:8px;display:inline-block}.pending-dot{vertical-align:.1rem;background:#d92c20;border-radius:50%;width:.5rem;height:.5rem;margin-left:.35rem;display:inline-block}.steps{gap:3px;margin-top:10px;display:flex}.steps i{background:var(--line);border-radius:2px;flex:1;height:4px}.steps i.on{background:var(--accent)}.stepnote{color:var(--mute);margin:6px 0 0;font-size:11px}.accordion>summary.accordion-summary{cursor:pointer;align-items:center;list-style:none;display:flex}.accordion>summary.accordion-summary::-webkit-details-marker{display:none}.accordion .card-title{flex:1;margin:0}.accordion>summary.accordion-summary:after{content:"▾";color:var(--mute);margin-left:10px;font-size:24px;line-height:1;transition:transform .15s}.accordion[open]>summary.accordion-summary:after{transform:rotate(180deg)}.accordion-body{margin-top:12px}.back-to-top{z-index:40;border:1px solid var(--line);width:44px;height:44px;color:var(--accent-ink);cursor:pointer;background:#fff;border-radius:50%;font-size:20px;line-height:1;position:fixed;bottom:16px;right:16px;box-shadow:0 6px 18px #00365f1f}.back-to-top:hover{border-color:var(--accent)}.usermenu{position:relative}.usermenu>summary{cursor:pointer;white-space:nowrap;list-style:none}.usermenu>summary::-webkit-details-marker{display:none}.usermenu>summary:after{content:"▾";margin-left:5px;font-size:15px;line-height:1;transition:transform .15s;display:inline-block}.usermenu[open]>summary:after{transform:rotate(180deg)}.usermenu[open]>summary{border-color:var(--accent);color:var(--accent-ink)}.usermenu-items{z-index:30;border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 6px 18px #00365f1f}.usermenu-items .link-btn{text-align:center;width:100%}.past-list{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.past-list a{border:1px solid var(--line);background:var(--card);color:inherit;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;text-decoration:none;display:flex}.past-list a:hover,.past-list a:focus-visible{border-color:var(--accent)}.past-period,.past-meta{color:var(--mute);font-size:13px}.past-sentence{font-size:15px;font-weight:700}
