:root{--ink:#17233d;--muted:#667085;--paper:#f5f6fb;--card:#fff;--blue:#3155d6;--mint:#dff7ef;--line:#e4e7ec}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}header{height:68px;background:#101a33;color:white;display:flex;align-items:center;gap:18px;padding:0 max(24px,calc((100% - 1120px)/2));}header form{margin-left:0}.brand{color:#fff;text-decoration:none;font-weight:800;margin-right:auto}main{max-width:1120px;margin:38px auto;padding:0 22px}.card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:0 8px 30px #26345b0c}.narrow{max-width:480px;margin:80px auto}.eyebrow{font-size:12px;letter-spacing:.16em;font-weight:800;color:var(--blue)}h1{font-size:clamp(32px,5vw,54px);line-height:1.06;margin:.2em 0}h2{margin-top:0}.hero{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.focus-banner,.assessment-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:18px}.focus-banner h2{margin-bottom:0}.assessment-panel>div,.assessment-panel>form{flex:1}.assessment{padding:10px 0;border-bottom:1px solid var(--line)}.assessment span{display:block;color:var(--muted)}.subject-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin-bottom:18px}.subject span,.subject p,small{color:var(--muted)}.two,.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:18px 0 26px}form{display:grid;gap:14px}label{display:grid;gap:6px;font-weight:650}input,select,textarea{width:100%;padding:12px;border:1px solid #cdd2dd;border-radius:9px;font:inherit;background:white}button,.button{border:0;border-radius:9px;background:var(--blue);color:white;padding:12px 18px;font-weight:750;text-decoration:none;cursor:pointer;text-align:center}.secondary{background:white;color:var(--blue);border:1px solid #bac6ef}.link{padding:0;background:none}.task{display:flex;align-items:start;border-bottom:1px solid var(--line);padding:10px 0}.tick{background:none;color:var(--blue);font-size:24px;padding:0}.task small{display:block}.flash,.notice{background:#fff5d8;border-radius:9px;padding:12px}.focus-list article{display:flex;gap:18px;padding:20px 0;border-top:1px solid var(--line)}.focus-list h2{margin:0}.focus-rank{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:var(--blue);color:white;font-weight:800}.document-list{margin-top:24px;border-top:1px solid var(--line)}.document-list article{padding:14px 0;border-bottom:1px solid var(--line)}.document-list small{display:block;text-transform:capitalize}.document-list p{margin:.35em 0}.message{max-width:82%;padding:14px 16px;border-radius:14px;margin:12px 0;background:#eef1f8}.message.user{margin-left:auto;background:#dfe7ff}.message p{margin:.25em 0}.message .speak{padding:7px 10px;margin-top:8px;font-size:13px}.chat{max-width:800px;margin:20px auto}.chat hr{border:0;border-top:1px solid var(--line);margin:30px 0}@media(max-width:720px){.two,.grid{grid-template-columns:1fr}.hero,.focus-banner,.assessment-panel{display:block}.hero .button,.focus-banner .button{display:inline-block;margin-top:12px}header span{display:none}}
.composer-actions{display:flex;gap:10px;justify-content:flex-end}.composer-actions button{min-width:130px}.dictate[data-listening="true"]{background:#fff0f0;color:#b42318;border-color:#f0a09a}@media(max-width:720px){.composer-actions{display:grid;grid-template-columns:1fr 1fr}}

/* Daisuke Bear identity */
:root{--ink:#142b29;--muted:#47615a;--paper:#f6f7f3;--card:#fff;--blue:#173b38;--brand:#3b725f;--brand-dark:#173b38;--honey:#dceae3;--line:rgba(20,43,41,.12)}
body{background:radial-gradient(circle at 90% 0,#e8f0eb 0,transparent 28%),var(--paper);font-family:Inter,"Avenir Next",system-ui,-apple-system,sans-serif}
header{height:76px;background:rgba(246,247,243,.96);color:var(--ink);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;line-height:1.05}
.brand>span:last-child{display:grid;gap:4px}
.brand{color:var(--ink)}
.brand small{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.brand-logo{width:48px;height:48px;object-fit:contain}
.link{color:var(--ink)}
footer{padding:36px 22px;text-align:center;color:var(--muted)}
.card{box-shadow:0 10px 30px rgba(20,43,41,.06)}
.subject{border-top:5px solid var(--honey)}
.subject-actions{display:grid;gap:8px;margin-top:18px}
.subject-actions>a:not(.story-button){font-weight:700}
.story-button{display:block;background:#edf4f0;color:var(--brand-dark);border:1px solid #bdd2c7;border-radius:11px;padding:11px 12px;font-weight:800;text-decoration:none;margin-top:4px}
.story-button:hover{background:#dceae3}
.story-card{max-width:820px;margin:22px auto;border-top:7px solid var(--honey)}
.story-intro{display:flex;align-items:center;gap:18px}
.bear-face{flex:0 0 86px;width:86px;height:86px;object-fit:contain;border-radius:18px;background:#edf4f0}
.story-copy{font-size:1.18rem;line-height:1.8;margin:28px 0}
.memory-hook{background:#edf4f0;border-left:5px solid var(--brand);border-radius:10px;padding:18px 20px;margin:22px 0}
.memory-hook p{margin:.35em 0 0}
.story-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:24px 0}
.quick-check{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin-top:26px}
.quick-check h2{font-size:1.35rem}
.check-result{margin-top:16px;padding:16px;border-radius:12px;background:#edf4f0;border:1px solid #bdd2c7}
.check-result p{margin:.35em 0}
details summary{cursor:pointer;font-weight:750;color:var(--brand)}
.check-history{margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.check-history p{padding:8px 0;border-bottom:1px solid var(--line)}
.ai-warning{background:#fff7df;border:1px solid #ead08a;border-radius:12px;padding:16px;margin:18px 0}
.ai-warning p{margin:.4em 0}
.usage-note{color:var(--muted);font-size:.9rem}
.citations{border-top:1px solid var(--line);margin-top:12px;padding-top:10px;font-size:.9rem}
.citations ol{margin:.4em 0;padding-left:22px}
.consent{display:grid;grid-template-columns:auto 1fr;align-items:start;font-weight:500;background:#edf4f0;padding:14px;border-radius:10px}
.consent input{width:auto;margin-top:5px}
button:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:720px){.brand>span:last-child{display:grid}header>.brand+span{display:none}.story-intro{align-items:flex-start}.bear-face{flex-basis:54px;width:54px;height:54px}.story-copy{font-size:1.08rem}.story-actions>*{width:100%;text-align:center}}
