:root{color-scheme:light dark;--bg:#f5f3ef;--panel:#fff;--ink:#152d46;--muted:#516274;--line:#d6dce1;--navy:#1b3a5c;--green:#dcefe3;--greenink:#175734;--yellow:#fff0bf;--yellowink:#694b00;--red:#fbe3df;--redink:#8a2921;--gray:#e9edf0}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.65 -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;overflow-wrap:anywhere}header,main,footer,#notice{max-width:640px;margin:auto}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(8px + env(safe-area-inset-top)) 18px 8px;font-size:16px}header a{color:var(--muted)}header span{font-weight:700}main{padding:8px 18px 30px;min-height:calc(100svh - 150px)}footer{padding:0 18px calc(20px + env(safe-area-inset-bottom));font-size:14px;color:var(--muted);display:grid;gap:4px}#notice:not(:empty){padding:10px 18px;background:var(--yellow);color:var(--yellowink)}h1{font-size:28px;line-height:1.4;margin:12px 0}h2{font-size:22px;line-height:1.5;margin:12px 0}h3{font-size:18px}p{margin:10px 0}button,.file-label,select{font:inherit;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:14px;min-height:56px;padding:12px 16px;cursor:pointer;text-align:left;line-height:1.45;touch-action:manipulation}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #bc8d25;outline-offset:3px}button.primary{background:var(--navy);color:white;border-color:var(--navy);font-weight:700}button.compact{padding:8px;font-size:15px}section,.panel{background:var(--panel);border:1px solid var(--line);border-radius:20px;padding:18px;margin:12px 0}.hero{border-top:4px solid #b88b35}.eyebrow{color:var(--muted);font-size:15px;letter-spacing:.06em}.big{font-size:30px;font-weight:750}.muted{color:var(--muted)}.small{font-size:14px}.stack{display:grid;gap:10px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.home-layout{min-height:calc(100svh - 170px);display:flex;flex-direction:column}.mode-buttons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;padding-top:20px}.mode-buttons button{min-height:76px}.product-label{display:flex;gap:12px;align-items:center;min-height:56px;border-bottom:1px solid var(--line);padding:10px 0}.product-label input{width:24px;height:24px;flex-shrink:0;accent-color:var(--navy)}summary{min-height:56px;cursor:pointer;padding:10px 0;font-weight:600}.question-layout{min-height:calc(100svh - 180px);display:flex;flex-direction:column}.question{font-size:24px;line-height:1.65;margin:22px 0}.answer-actions{margin-top:auto;padding-top:24px}.feedback{border-left:4px solid currentColor;padding:14px;border-radius:12px;margin:12px 0}.good{background:var(--green);color:var(--greenink)}.unsure{background:var(--yellow);color:var(--yellowink)}.bad{background:var(--red);color:var(--redink)}.new{background:var(--gray);color:var(--muted)}.source{font-size:15px;margin-top:12px}.matrix{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.matrix button{padding:8px 1px;font-size:15px;text-align:center;min-height:72px;border-radius:10px}.legend{font-size:16px}.history-bar{display:flex;gap:6px;height:18px;background:var(--gray);border-radius:6px;overflow:hidden}.history-bar span{display:block;background:#307954}.history-item{margin:14px 0}.file-label{display:block}input[type=file]{width:100%;font-size:16px;margin:10px 0}select{width:100%}.settings label{display:block;margin:14px 0}progress{width:100%;accent-color:var(--navy);height:8px}.result-list{padding-left:22px}.debug{color:var(--yellowink);background:var(--yellow);font-size:14px;padding:6px}.speech-note{font-size:16px;color:var(--muted)}
@media(prefers-color-scheme:dark){:root{--bg:#101b29;--panel:#1a2a3c;--ink:#edf3f8;--muted:#b7c6d4;--line:#40546a;--navy:#315f89;--green:#173f30;--greenink:#a5e4bd;--yellow:#4b3e19;--yellowink:#ffe39a;--red:#492925;--redink:#ffb7ac;--gray:#304153}}
@media(prefers-reduced-motion:no-preference){button{transition:background .15s}}

.history-bar.count{margin:6px 0}.history-bar.count span{background:var(--navy)}
