:root{color:#173f35;font-synthesis:none;--green:#173f35;--paper:#f7f3ea;--orange:#ef6f45;--line:#d7d0c2;--muted:#65766f;background:#f7f3ea;font-family:Inter,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #ef6f45}.topbar{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;height:78px;padding:0 5vw;display:grid}.brand{cursor:pointer;background:0 0;border:0;justify-self:start;align-items:center;gap:10px;font-size:18px;font-weight:700;display:flex}.brand span{width:34px;height:34px;color:var(--paper);background:var(--green);border-radius:10px;place-items:center;font-family:Georgia,serif;font-size:23px;display:grid}nav{gap:32px;height:100%;display:flex}nav button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:3px 2px 0;font-weight:600}nav button.active{border-bottom-color:var(--orange);color:var(--green)}.account{justify-self:end;align-items:center;gap:12px;display:flex}.deck-count,.logout{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:12px}.deck-count strong{color:var(--green)}.logout{border-left:1px solid var(--line);padding-left:12px}.session-loading{min-height:100vh;color:var(--muted);place-items:center;display:grid}.login-page{place-items:center;min-height:100vh;padding:24px;display:grid}.login-panel{border:1px solid var(--line);background:#fff;border-radius:22px;grid-template-columns:1.1fr 1fr;width:min(860px,100%);display:grid;overflow:hidden;box-shadow:0 25px 70px #173f3518}.login-panel>div{background:var(--green);color:var(--paper);padding:60px}.login-panel .eyebrow{margin-top:38px}.login-panel h1{margin:0;font-size:58px}.login-panel>div>p:last-child{color:#c8d3ce}.login-mark{background:var(--paper);width:48px;height:48px;color:var(--green);border-radius:13px;place-items:center;font:28px Georgia,serif;display:grid}.login-panel form{flex-direction:column;justify-content:center;gap:20px;padding:60px;display:flex}.login-panel label{color:var(--muted);flex-direction:column;gap:7px;font-size:12px;font-weight:700;display:flex}.login-panel input{border:1px solid var(--line);width:100%;color:var(--green);background:#fbf9f4;border-radius:10px;padding:12px}.login-panel form>button{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:10px;padding:13px;font-weight:700}.login-panel form>button:disabled{opacity:.65}.login-error{color:#b74b3c;margin:0;font-size:13px}main{min-height:calc(100vh - 78px)}.data-credit{border-top:1px solid var(--line);color:var(--muted);text-align:center;padding:18px 24px;font-size:11px}.data-credit a{color:inherit}.search-page{padding-bottom:80px}.hero{text-align:center;max-width:900px;margin:0 auto;padding:88px 24px 52px}.eyebrow{color:var(--orange);letter-spacing:.14em;text-transform:uppercase;margin:0 0 18px;font-size:12px;font-weight:700}h1,h2{font-family:Georgia,serif}.hero h1,.about-page>h1,.empty-review h1{letter-spacing:-.04em;margin:0;font-size:clamp(48px,7vw,82px);line-height:.95}.lede{max-width:570px;color:var(--muted);margin:26px auto 34px;font-size:17px;line-height:1.6}.search-form{max-width:720px;margin:auto}.direction{border:1px solid var(--line);background:#eee9df;border-radius:10px;gap:3px;margin-bottom:12px;padding:4px;display:inline-flex}.direction button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:8px 14px;font-size:12px;font-weight:700}.direction button.selected{color:var(--green);background:#fff;box-shadow:0 1px 4px #193f3514}.search-box{background:#fff;border:1px solid #c5bdaf;border-radius:16px;padding:6px;display:flex;position:relative;box-shadow:0 16px 45px #173f3512}.search-box:focus-within{border-color:var(--green);box-shadow:0 16px 45px #173f3518,0 0 0 3px #173f3512}.search-box input{min-width:0;color:var(--green);background:0 0;border:0;outline:0;flex:1;padding:13px 16px;font-size:18px}.search-box input::placeholder{color:#99a19d}.search-box>button{color:#fff;background:var(--green);cursor:pointer;border:0;border-radius:11px;padding:12px 24px;font-weight:700}.search-box>button:disabled{opacity:.65}.autocomplete{z-index:10;text-align:left;background:#fff;border:1px solid #c5bdaf;border-radius:14px;position:absolute;top:calc(100% + 8px);left:0;right:0;overflow:hidden;box-shadow:0 18px 45px #173f3520}.autocomplete button{text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #e4ded3;justify-content:space-between;gap:24px;width:100%;padding:14px 18px;display:flex}.autocomplete button:last-child{border-bottom:0}.autocomplete button:hover,.autocomplete button:focus-visible{background:#f1ede4}.autocomplete button span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.status{height:20px;color:var(--muted);margin:15px 0 0;font-size:13px}.results{gap:14px;max-width:860px;margin:0 auto;padding:0 24px;display:grid}.result-card{border:1px solid var(--line);background:#fbf9f4;border-radius:16px;overflow:hidden}.result-card>header{justify-content:space-between;align-items:center;gap:20px;padding:23px 25px 18px;display:flex}.result-card h2{margin:0 0 4px;font-size:28px}.result-card header p{color:var(--muted);margin:0;font-size:12px}.morph{color:var(--muted);flex-direction:column;align-items:flex-end;font-size:12px;display:flex}.morph strong{color:var(--green);font-size:14px}.sense{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;justify-content:space-between;align-items:center;gap:20px;width:100%;padding:17px 25px;display:flex}.sense:hover{background:#fffaf2}.sense>span:first-child{flex-direction:column;gap:4px;display:flex}.sense small{color:var(--muted)}.add,.added{flex:none;font-size:12px;font-weight:700}.add{color:var(--orange)}.added{color:var(--green)}.notes-page{max-width:1080px;margin:auto;padding:76px 24px}.notes-page>header h1{letter-spacing:-.04em;margin:0;font-size:clamp(42px,6vw,68px)}.notes-layout{grid-template-columns:minmax(230px,1fr) 2fr;align-items:start;gap:22px;margin-top:45px;display:grid}.note-list{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.note-list button{border:0;border-bottom:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;flex-direction:column;gap:3px;width:100%;padding:16px 18px;display:flex}.note-list button:last-child{border-bottom:0}.note-list button:hover,.note-list button.selected{background:#eee9df}.note-list button.selected{box-shadow:inset 3px 0 var(--orange)}.note-list span{color:var(--muted);font-size:12px}.note-detail{border:1px solid var(--line);background:#fff;border-radius:18px;padding:35px}.note-kind{color:var(--orange);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:700}.note-detail h2{margin:0;font-size:44px}.note-meaning{color:var(--muted);margin:6px 0 28px;font-size:18px}.note-detail dl{border-block:1px solid var(--line);grid-template-columns:110px 1fr;margin:0;padding:20px 0;display:grid}.note-detail dt,.note-detail dd{margin:6px 0}.note-detail dt{color:var(--muted);font-size:12px}.note-detail dd{font-weight:600}.note-detail blockquote{border-left:3px solid var(--orange);background:#f7f3ea;margin:24px 0;padding:14px 18px;font-family:Georgia,serif;font-size:18px}.note-detail h3{letter-spacing:.1em;text-transform:uppercase;margin:27px 0 10px;font-size:12px}.note-cards{grid-template-columns:1fr 1fr;gap:9px;display:grid}.note-cards div{background:#eee9df;border-radius:10px;flex-direction:column;gap:7px;padding:14px;font-size:12px;display:flex}.note-cards span{color:var(--muted)}.empty-notes{text-align:center;max-width:800px;margin:auto;padding:140px 24px}.empty-notes h1{margin:0;font-size:clamp(48px,7vw,72px)}.empty-notes>p:last-child{color:var(--muted)}.review-page{text-align:center;max-width:760px;margin:auto;padding:80px 24px}.review-card{border:1px solid var(--line);background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 20px 60px #173f3510}.prompt,.answer{place-content:center;min-height:235px;padding:35px;display:grid}.prompt span,.answer span{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.prompt h1{margin:14px 0 0;font-size:clamp(42px,7vw,68px)}.answer{border-top:1px solid var(--line);background:#f1ede4;min-height:155px}.answer h2{margin:10px 0 0;font-size:clamp(28px,5vw,42px)}.reveal{border:0;border-top:1px solid var(--line);color:#fff;background:var(--green);cursor:pointer;width:100%;padding:19px;font-weight:700}.ratings{grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px;display:grid}.rating{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:11px;flex-direction:column;gap:3px;padding:13px 8px;display:flex}.rating small{color:var(--muted)}.rating-1 strong{color:#b74b3c}.rating-2 strong{color:#b16d15}.rating-3 strong{color:var(--green)}.rating-4 strong{color:#28669a}.hint{color:var(--muted);margin-top:18px;font-size:12px}.empty-review{text-align:center;max-width:800px;margin:auto;padding:140px 24px}.empty-review>span{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:48px;height:48px;margin:0 auto 28px;font-size:22px;display:grid}.empty-review>p:last-child{color:var(--muted)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=680px){.topbar{grid-template-columns:1fr auto;height:auto;padding:14px 18px 0}.brand,.account{padding-bottom:14px}.deck-count{display:none}nav{grid-area:2/1/auto/-1;justify-content:space-around;height:46px}main{min-height:calc(100vh - 108px)}.login-panel{grid-template-columns:1fr}.login-panel>div,.login-panel form{padding:34px}.login-panel h1{font-size:44px}.hero{padding-top:58px}.hero h1{font-size:50px}.search-box>button{padding-inline:16px}.autocomplete button{flex-direction:column;align-items:flex-start;gap:3px}.result-card>header{align-items:flex-start}.morph{max-width:42%}.sense{align-items:flex-start;padding-inline:20px}.notes-layout{grid-template-columns:1fr}.note-detail{padding:24px}.note-cards{grid-template-columns:1fr}.ratings{grid-template-columns:repeat(2,1fr)}}@media (prefers-reduced-motion:no-preference){.result-card{animation:.35s both rise}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}}
