:root{--navy:#15334d;--ink:#1f3446;--muted:#627789;--teal:#087d82;--mint:#e4f6f2;--bg:#f3f7fa;--line:#dce5eb;--white:#fff;--red:#b13d46;--amber:#a05c0d;--shadow:0 6px 22px #15334d08;font-family:"Yu Gothic UI","Meiryo",system-ui,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.7;font-synthesis:none}
*{box-sizing:border-box}body{margin:0}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button{border:0}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #d48e23;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:1.9rem;line-height:1.45;letter-spacing:.02em}h2{font-size:1.28rem;line-height:1.55}h3{font-size:1.03rem}small{font-size:.8rem}p+p{margin-top:.75em}svg{display:block}.muted{color:var(--muted)}.teal{color:var(--teal)}.right{text-align:right}.center{text-align:center}.mono{font-variant-numeric:tabular-nums}.skip-link{position:fixed;top:-80px;left:20px;z-index:1000;background:white;padding:10px}.skip-link:focus{top:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--navy);color:#d8e5ec;padding:36px 22px 22px;z-index:30;display:flex;flex-direction:column}.brand{display:flex;gap:14px;align-items:center;color:white;font-size:1.6rem;font-weight:750;letter-spacing:.1em;line-height:1.45}.brand:hover{text-decoration:none}.brand svg{width:38px;height:42px}.brand small{display:block;font-size:.66rem;font-weight:400;letter-spacing:.09em;color:#b7ccd9;margin-top:6px}.qualification{font-size:.79rem;padding:22px 0 24px;color:#dce9ef}.qualification span{display:block;color:#9ab7c8;font-size:.72rem;margin-top:3px}nav{display:grid;gap:6px}nav a{display:flex;align-items:center;gap:13px;color:#c5d8e4;border-radius:7px;padding:11px 14px;font-size:.92rem}nav a>span{font-size:1.4rem;width:22px;line-height:1;text-align:center}nav a:hover{background:#ffffff0a;text-decoration:none}nav a.active{background:#e8f7f4;color:#075c65;font-weight:700}nav b{margin-left:auto;font-weight:600;font-size:.74rem}.sidebar-bottom{margin-top:auto;padding-top:24px;font-size:.8rem}.sidebar-bottom>a{color:#d5e3ec}.sidebar-bottom small{display:block;color:#8eacbd;font-size:.67rem;line-height:1.8;margin-top:14px}.offline-dot{margin-top:20px;font-size:.72rem;color:#adcbc9}.offline-dot:before{content:"";display:inline-block;width:6px;height:6px;background:#68d5ba;border-radius:50%;margin-right:7px}.app-shell{margin-left:240px}.topbar{height:75px;background:#ffffffd9;border-bottom:1px solid var(--line);padding:0 42px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem;gap:20px}.topbar .muted{padding:0 12px}.topbar-right{display:flex;align-items:center;gap:20px}.local-label{font-size:.73rem;color:var(--muted)}.icon-button{background:transparent;color:var(--ink);padding:7px 10px;border:1px solid var(--line);border-radius:6px}.icon-button span{font-size:.65rem;margin-left:3px}main{max-width:1500px;padding:36px 42px 54px;min-height:calc(100vh - 135px);margin:auto}.footer{border-top:1px solid var(--line);font-size:.69rem;color:var(--muted);padding:20px 42px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px}.page-heading p{margin-top:9px;color:var(--muted);font-size:.92rem}.tag{display:inline-block;padding:3px 9px;border:1px solid var(--line);border-radius:4px;font-size:.7rem;font-weight:600;white-space:nowrap;line-height:1.6}.tag.good{background:var(--mint);border-color:#c0e5de;color:#076b64}.tag.warn{background:#fff4df;border-color:#ecd8b2;color:var(--amber)}.tag.bad{background:#fae9eb;border-color:#efc3c8;color:var(--red)}.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--teal);color:white;border-radius:6px;padding:11px 20px;font-weight:650;font-size:.89rem;line-height:1.55;min-height:44px}.btn:hover{background:#05686c;text-decoration:none}.btn.secondary{background:white;color:var(--ink);border:1px solid #bdcdd8}.btn.secondary:hover{background:#f0f5f8}.btn.ghost{background:transparent;color:var(--teal);padding:7px 10px;min-height:36px}.btn.danger{background:#ac3943}.btn.small{font-size:.78rem;padding:7px 13px;min-height:35px}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hero{display:grid;grid-template-columns:1.2fr 1fr;border:1px solid #d1e1e5;border-radius:12px;background:white;overflow:hidden;margin-bottom:26px}.hero-copy{padding:30px 34px}.hero-copy h2{font-size:1.55rem;margin:15px 0 10px}.hero-copy>p{max-width:530px;font-size:.9rem;color:var(--muted)}.hero-copy .button-row{margin-top:22px}.hero-map{background:#eaf4f6;padding:30px 32px;position:relative;display:flex;flex-direction:column;justify-content:center}.hero-map h3{font-size:.8rem;font-weight:500;color:#537684;margin-bottom:18px}.route{position:relative;display:grid;gap:19px;padding-left:21px}.route:before{content:"";position:absolute;left:4px;top:10px;bottom:10px;width:2px;background:#81bbc0}.station{position:relative;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.85rem}.station:before{content:"";position:absolute;left:-21px;top:9px;width:10px;height:10px;border:2px solid var(--teal);border-radius:50%;background:#eaf4f6}.station b{color:var(--teal);font-size:.8rem}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:30px;padding:22px 0}.metric{padding:0 25px;border-right:1px solid var(--line)}.metric:last-child{border:0}.metric>span{font-size:.77rem;color:var(--muted)}.metric>strong{display:block;font-size:1.9rem;font-weight:650;line-height:1.3;margin-top:7px;font-variant-numeric:tabular-nums}.metric strong small{font-size:.85rem;color:var(--muted);font-weight:400;margin-left:5px}.metric>small{font-size:.69rem;color:var(--muted)}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:25px 0 15px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{border:1px solid var(--line);border-radius:9px;background:white;padding:25px;box-shadow:var(--shadow)}.panel.flush{padding:0;overflow:hidden}.panel>p{margin-top:9px;font-size:.87rem;color:var(--muted)}.subject-row{padding:20px 24px;display:flex;align-items:center;gap:18px;border-top:1px solid var(--line)}.subject-row:first-child{border-top:0}.subject-symbol{width:42px;height:42px;display:grid;place-items:center;background:#e5f2f4;color:var(--teal);font-size:1.3rem;border-radius:50%;flex-shrink:0}.subject-info{flex:1}.subject-info h3{font-size:.9rem}.subject-info small{color:var(--muted);font-size:.72rem}.progressbar{height:6px;background:#e7edf2;border-radius:5px;overflow:hidden;margin-top:10px}.progressbar span{height:100%;display:block;background:var(--teal);width:var(--pct,0%)}.topics{display:grid;gap:14px}.topic-line{display:grid;grid-template-columns:1fr auto;gap:4px 20px;font-size:.8rem}.topic-line .progressbar{grid-column:1/-1;margin:0;height:5px}.topic-line small{color:var(--muted)}.notice{padding:14px 18px;border-left:3px solid #5ca2ac;background:#edf5f8;font-size:.81rem;color:#476677;margin:18px 0;line-height:1.8}.notice.amber{background:#fff5e4;border-color:#d9a24d;color:#875c29}.notice.red{background:#fae9eb;border-color:var(--red);color:#8b323c}.filters{display:flex;gap:16px;flex-wrap:wrap;padding:22px;background:white;border:1px solid var(--line);border-radius:8px;margin-bottom:22px}.field{display:flex;flex-direction:column;gap:7px;flex:1;min-width:140px}.field.wide{flex:2}.field>span,.field>label{font-size:.77rem;color:#526c7f;font-weight:600}select,input[type=search],input[type=date],input[type=text],textarea{border:1px solid #bfced9;border-radius:5px;padding:10px 12px;color:var(--ink);background:white;min-height:43px;max-width:100%}textarea{width:100%;resize:vertical;line-height:1.8;font-size:.85rem}input[type=checkbox]{accent-color:var(--teal);width:17px;height:17px;vertical-align:middle}.checkbox{display:inline-flex;align-items:center;gap:8px;font-size:.84rem}.query-count{font-size:.82rem;color:var(--muted)}.question-list{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden;margin-top:20px}.question-list-item{display:flex;gap:18px;align-items:center;padding:17px 22px;border-bottom:1px solid var(--line)}.question-list-item:last-child{border:0}.question-list-item .q-label{font-size:.74rem;color:var(--muted);width:145px;flex-shrink:0}.question-list-item .q-info{flex:1;min-width:0}.question-list-item h3{font-size:.9rem}.question-list-item small{font-size:.72rem;color:var(--muted)}.empty{padding:48px 24px;text-align:center;border:1px dashed #b8cbd7;border-radius:8px;background:#ffffff70}.empty h2{font-size:1.15rem}.empty p{color:var(--muted);font-size:.88rem;margin-top:10px}.empty .btn{margin-top:20px}.paper-table{width:100%;border-collapse:collapse;background:white;font-size:.86rem}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;background:white}.paper-table th{font-size:.74rem;color:var(--muted);text-align:left;background:#f9fbfc;font-weight:600}.paper-table td,.paper-table th{padding:15px 22px;border-bottom:1px solid var(--line);white-space:nowrap}.paper-table tr:last-child td{border-bottom:0}.paper-table td small{display:block;color:var(--muted);font-size:.72rem}.exam-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:24px}.exam-paper{border:1px solid var(--line);border-top:4px solid var(--teal);border-radius:8px;background:white;padding:23px}.exam-paper h3{font-size:1rem;margin:13px 0 5px}.exam-paper .details{display:flex;gap:20px;font-size:.8rem;color:var(--muted);margin:14px 0 20px}.exam-paper p{font-size:.81rem;color:var(--muted)}.exam-paper .button-row{margin-top:20px}.session-header{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px}.session-header h1{font-size:1.22rem}.session-header p{font-size:.76rem;color:var(--muted);margin-top:3px}.clock{font-size:1.45rem;font-variant-numeric:tabular-nums;font-weight:650;line-height:1.2}.clock.urgent{color:var(--red)}.clock-label{font-size:.65rem;color:var(--muted);display:block;text-align:center}.exam-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:22px}.paper-viewer{background:#e4ebef;border:1px solid #cddbe3;border-radius:8px;overflow:hidden}.paper-toolbar{background:white;border-bottom:1px solid #ccdae2;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.72rem;position:sticky;top:0;z-index:4}.paper-toolbar .button-row{gap:4px}.paper-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:8px 14px;background:#f5f8fa;border-bottom:1px solid #d5e1e8}.page-tab{font-size:.75rem;border:1px solid #becfd9;padding:4px 10px;border-radius:4px;background:white;color:var(--ink)}.page-tab.active{background:var(--navy);color:white;border-color:var(--navy)}.scan-scroll{overflow:auto;max-height:calc(100vh - 260px);min-height:400px;scrollbar-gutter:stable}.scan-scroll img{display:block;width:100%;max-width:none;height:auto;transform-origin:top left;background:white}.paper-credit{font-size:.64rem;line-height:1.7;padding:10px 15px;color:#5c7485;background:#f7fafb}.answer-panel{background:white;border:1px solid var(--line);border-radius:8px;padding:22px;position:sticky;top:20px}.answer-topline{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.77rem;color:var(--muted)}.answer-panel h2{font-size:1.5rem;margin:6px 0 4px}.answer-panel .q-title{font-size:.82rem;margin-bottom:17px;color:var(--muted)}.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 16px}.choice{border:1px solid #bdceda;border-radius:5px;background:white;color:var(--ink);height:43px;font-weight:650;font-size:1rem;font-variant-numeric:tabular-nums}.choice:hover{border-color:var(--teal);background:#eff8f7}.choice[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.choice.is-correct{border:2px solid var(--teal);background:var(--mint);color:#006b5f}.choice.is-wrong{border:2px solid var(--red);background:#fae9eb;color:var(--red)}.answer-panel .btn.block{width:100%}.answer-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:space-between;margin:8px 0 14px}.answer-actions button{font-size:.75rem;background:#f1f6f8;color:#4c677a;padding:6px 9px;border-radius:4px}.answer-actions button.on{background:#fff1d8;color:#8d5e17}.solution{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;line-height:1.85;font-size:.86rem}.solution h3{font-size:1.02rem;margin:12px 0 8px}.solution h4{font-size:.78rem;margin:17px 0 5px;color:var(--teal)}.solution p{white-space:pre-line;overflow-wrap:anywhere}.solution .takeaway{background:#edf7f4;padding:12px;border-radius:4px;margin-top:14px;font-size:.8rem}.solution a{font-size:.72rem;overflow-wrap:anywhere}.note-field{margin-top:18px}.note-field summary{font-size:.8rem;cursor:pointer;color:#526e81}.note-field textarea{margin-top:9px}.session-navigation{display:flex;gap:9px;justify-content:space-between;margin-top:18px}.navigator{margin-top:20px;background:white;border:1px solid var(--line);border-radius:8px;padding:20px}.navigator h3{font-size:.86rem}.navigator p{font-size:.7rem;color:var(--muted);margin:5px 0 15px}.question-grid{display:flex;flex-wrap:wrap;gap:7px}.jump{font-size:.69rem;min-width:48px;height:36px;border:1px solid #c7d6df;border-radius:4px;background:white;color:#506b7d;position:relative;padding:3px 7px}.jump.answered{background:#dfedf2;border-color:#97b7c7;color:var(--navy)}.jump.checked-good{background:var(--mint);border-color:#91c4ba;color:#086358}.jump.checked-bad{background:#fae9eb;border-color:#e0a4ab;color:var(--red)}.jump.current{outline:2px solid var(--navy);outline-offset:1px;font-weight:700}.jump.flag:after{content:"";position:absolute;right:0;top:0;border-top:8px solid #b5781f;border-left:8px solid transparent}.navigator details summary{font-size:.78rem;cursor:pointer}.summary-score{display:flex;align-items:center;gap:30px;background:white;border:1px solid var(--line);border-radius:10px;padding:30px;margin-bottom:24px}.big-score{font-size:3.5rem;line-height:1.2;color:var(--teal);font-weight:650;letter-spacing:-.04em;font-variant-numeric:tabular-nums}.big-score small{font-size:1rem;color:var(--muted);font-weight:400;letter-spacing:0}.summary-copy h2{margin-bottom:8px}.summary-copy p{font-size:.85rem;color:var(--muted)}.result-row{display:grid;grid-template-columns:130px 1fr 70px 80px 90px;align-items:center;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line);font-size:.8rem}.result-row:first-child{background:#f7fafb;font-size:.73rem;color:var(--muted)}.result-row:last-child{border:0}.result-row .good{color:var(--teal)}.result-row .bad{color:var(--red)}.history-list{display:grid;gap:12px}.history-item{background:white;border:1px solid var(--line);border-radius:7px;padding:17px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px}.history-item p{font-size:.75rem;color:var(--muted);margin-top:3px}.history-item strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.formula{background:#edf5f7;border-radius:5px;padding:14px;font-family:inherit;font-size:1rem;color:#0b6873;margin:12px 0;white-space:pre-wrap}.reference-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}.reference-grid details{background:white;border:1px solid var(--line);border-radius:8px;padding:20px 22px}.reference-grid summary{font-weight:650;cursor:pointer;font-size:.98rem}.reference-grid details p{font-size:.85rem;margin-top:14px}.reference-grid details ul{font-size:.82rem;padding-left:21px}.source-list{display:grid;gap:10px;margin-top:15px}.source-item{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding-bottom:10px;font-size:.81rem}.source-item a{white-space:nowrap}.settings-list{display:grid;gap:22px;max-width:900px}.settings-list h2{font-size:1.08rem}.settings-list p,.settings-list li{font-size:.85rem}.settings-list ol{padding-left:24px}.settings-list .button-row{margin-top:18px}.import-file{display:none}.steps{counter-reset:step;list-style:none;padding:0;display:grid;gap:20px;margin:20px 0 0}.steps li{padding-left:38px;position:relative;font-size:.85rem}.steps li:before{counter-increment:step;content:counter(step);display:grid;place-items:center;position:absolute;left:0;top:0;width:25px;height:25px;background:var(--mint);color:var(--teal);border-radius:50%;font-weight:700}dialog{border:1px solid #b7cad7;border-radius:12px;max-width:540px;width:calc(100% - 36px);padding:28px;color:var(--ink);box-shadow:0 22px 70px #15334d33}dialog::backdrop{background:#0c233a66}dialog h2{font-size:1.25rem}dialog p{font-size:.9rem;margin-top:12px}dialog .button-row{margin-top:24px;justify-content:flex-end}#toast{position:fixed;bottom:24px;left:calc(50% + 100px);transform:translateX(-50%);background:var(--navy);color:white;padding:12px 22px;border-radius:7px;box-shadow:0 5px 25px #15334d33;font-size:.85rem;z-index:100;max-width:calc(100vw - 40px);pointer-events:none;opacity:0;transition:opacity .15s}#toast.visible{opacity:1}.large-text{font-size:17px}.resume-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;border:1px solid #94c9c1;background:#eaf7f3;border-radius:8px;margin-bottom:22px;font-size:.85rem}.resume-banner p{font-size:.75rem;color:#49776f}.bad-storage{border:2px solid var(--red);background:#fff1f2;padding:18px;margin-bottom:20px;font-size:.85rem}.coverage{display:flex;gap:22px;align-items:stretch}.coverage>div{flex:1}.source-details{font-size:.75rem;margin-top:16px}.source-details summary{cursor:pointer;color:var(--muted)}.source-details code{word-break:break-all;font-size:.7rem}.pagination{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:20px;font-size:.8rem}.unseen{color:var(--muted);font-size:.75rem}.session-page .topbar{display:none}.session-page main{padding-top:25px}.session-page .footer{display:none}.legend{display:flex;gap:15px;flex-wrap:wrap;font-size:.69rem;color:var(--muted);margin-top:14px}.legend span:before{content:"";width:9px;height:9px;display:inline-block;margin-right:5px;background:#dfedf2;border:1px solid #97b7c7}.legend span:nth-child(2):before{background:white}.legend span:nth-child(3):before{background:#b5781f;border-color:#b5781f}.subject-heading{display:flex;gap:12px;align-items:center}.text-link{color:var(--teal);background:transparent;padding:0;text-decoration:underline;font-size:inherit}.inline-score{font-weight:650}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.paper-text{background:white;margin:0;padding:24px;font-family:inherit;font-size:1rem;line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}.scan-text-notice{padding:12px 18px;background:#fff4df;font-size:.75rem;color:#805a28}.scan-text-notice+pre{min-height:400px}
@media(min-width:1600px){.exam-layout{grid-template-columns:minmax(0,1fr) 365px}.answer-panel{padding:26px}}
@media(max-width:1200px){.sidebar{width:205px;padding:28px 15px 20px}.app-shell{margin-left:205px}main{padding:28px 26px 40px}.topbar{padding:0 26px}.hero-copy{padding:25px}.hero-map{padding:25px}.exam-layout{grid-template-columns:minmax(0,1fr) 285px;gap:16px}.answer-panel{padding:18px}.metrics .metric{padding:0 20px}.brand{font-size:1.4rem;gap:10px}.brand svg{width:31px}.paper-table td,.paper-table th{padding:14px 17px}.two-col{gap:18px}}
@media(max-width:1000px){.sidebar{width:182px;padding-left:12px;padding-right:12px}.app-shell{margin-left:182px}nav a{gap:8px;padding:10px 9px;font-size:.83rem}.brand{font-size:1.2rem;letter-spacing:.04em}.brand small{font-size:.57rem}.brand svg{width:27px}.hero{grid-template-columns:1fr}.hero-map{display:none}.two-col{grid-template-columns:1fr}.exam-layout{grid-template-columns:1fr}.answer-panel{position:static}.scan-scroll{max-height:65vh}.choices{grid-template-columns:repeat(8,1fr)}.exam-cards{grid-template-columns:1fr 1fr}.session-header{flex-wrap:wrap}.metric{padding:0 16px}.metric>strong{font-size:1.6rem}.reference-grid{grid-template-columns:1fr}}
@media(max-width:700px){.sidebar{position:static;width:auto;padding:15px 18px;display:block}.brand{font-size:1.3rem;gap:10px;display:inline-flex}.brand svg{height:31px}.brand small{display:none}.qualification{float:right;display:block;padding:6px 0;font-size:.68rem}.qualification span{display:none}nav{display:flex;overflow:auto;gap:2px;margin-top:15px;scrollbar-width:none}nav a{padding:8px 12px;white-space:nowrap;font-size:.75rem;border-radius:4px}nav a>span{display:none}nav a b{display:none}.sidebar-bottom{display:none}.app-shell{margin-left:0}.topbar{height:47px;padding:0 18px;font-size:.69rem}.local-label{display:none}.topbar .muted{padding:0 6px}.topbar-right{gap:4px}.icon-button{padding:2px 8px;font-size:.8rem}main{padding:24px 17px 32px;min-height:60vh}h1{font-size:1.5rem}.page-heading{align-items:flex-start;gap:15px;margin-bottom:22px}.page-heading p{font-size:.81rem}.page-heading>.tag{display:none}.hero{border-radius:8px}.hero-copy{padding:23px}.hero-copy h2{font-size:1.3rem}.hero-copy>p{font-size:.83rem}.hero-copy .button-row{gap:9px}.metrics{grid-template-columns:1fr 1fr;padding:0;margin-bottom:24px}.metric{padding:16px 20px;border-bottom:1px solid var(--line)}.metric:nth-child(2){border-right:0}.metric:nth-child(3),.metric:nth-child(4){border-bottom:0}.metric>strong{font-size:1.65rem}.metric>span{font-size:.72rem}.metric>small{font-size:.64rem}.panel{padding:21px}.exam-cards{grid-template-columns:1fr}.filters{padding:17px;gap:13px}.field{min-width:120px}.field.wide{min-width:100%;flex:1}.field>span{font-size:.72rem}select,input[type=search]{font-size:.82rem;padding:9px}.question-list-item{padding:14px;gap:10px;flex-wrap:wrap}.question-list-item .q-label{font-size:.67rem;width:105px}.question-list-item h3{font-size:.8rem}.question-list-item .q-info{flex-basis:calc(100% - 120px)}.question-list-item .btn{margin-left:auto}.footer{padding:18px;font-size:.63rem}.btn{font-size:.81rem;padding:10px 15px}.reference-grid{gap:14px}.session-header h1{font-size:1.05rem}.session-header{gap:12px}.session-header>.button-row{width:100%;justify-content:space-between}.clock{font-size:1.2rem}.session-page main{padding-top:18px}.paper-toolbar{padding:9px 11px;font-size:.65rem}.scan-scroll{max-height:61vh;min-height:250px}.paper-credit{font-size:.6rem}.answer-panel{padding:20px}.choices{grid-template-columns:repeat(4,1fr)}.summary-score{padding:22px;gap:20px;align-items:flex-start}.big-score{font-size:2.7rem}.summary-copy h2{font-size:1.05rem}.summary-copy p{font-size:.74rem}.result-row{grid-template-columns:95px minmax(110px,1fr) 45px 50px 65px;padding:12px;gap:8px;font-size:.7rem;min-width:470px}.result-row .btn{padding:5px 8px;font-size:.7rem;min-height:30px}.history-item{padding:14px;gap:12px;flex-wrap:wrap}.history-item h3{font-size:.88rem}.history-item .button-row{gap:8px}.resume-banner{align-items:flex-start;padding:15px;gap:12px}.resume-banner .button-row{min-width:80px}.resume-banner .btn{font-size:.73rem;padding:8px 12px}.source-item{font-size:.73rem}.coverage{flex-direction:column;gap:14px}#toast{left:50%;bottom:18px}.navigator{padding:17px}.jump{min-width:43px}.section-title{margin-top:22px}.section-title h2{font-size:1.12rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.mobile-settings{display:none}
@media(max-width:700px){.mobile-settings{display:inline-flex;font-size:.68rem}.session-page .topbar{display:flex}.paper-text{padding:18px;font-size:1rem}}

/* v1.1: keep reading, navigation and scoring accessible at every viewport. */
:root{--muted:#596f81;--teal:#076e74;color-scheme:light;-webkit-tap-highlight-color:#087d8226}
.hero-map h3{color:#486c7b}
h1,h2,h3{text-wrap:pretty;overflow-wrap:anywhere}
.sidebar{overflow-y:auto;overscroll-behavior:contain}
.sidebar>*{flex-shrink:0}
.hero>*,.two-col>*,.metrics>*,.summary-copy,.subject-info,.station>span,.coverage>div{min-width:0}
.big-score{white-space:nowrap;flex-shrink:0}
.summary-copy{flex:1}
.btn,.icon-button,.choice,.page-tab,.jump{transition:background-color 120ms,border-color 120ms}
.btn:active:not(:disabled),.icon-button:active,.page-tab:active{filter:brightness(.9)}
.choice:disabled{opacity:1}
.choice:disabled:not(.is-correct):not(.is-wrong){color:#6b7f8e;background:#f7f9fb}
.choice.is-correct{box-shadow:inset 0 0 0 1px #087d82;font-weight:750}
.solution{font-size:.94rem;line-height:1.9}
.solution h4{font-size:.85rem}
.solution .takeaway{font-size:.88rem}
dialog{max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain}
.source-item,.resume-banner,.paper-toolbar,.section-title{flex-wrap:wrap}
.paper-toolbar>.button-row{margin-left:auto}
.reference-grid>details,.history-item>div{min-width:0;overflow-wrap:anywhere}
.history-item,.reference-grid>details{content-visibility:auto;contain-intrinsic-size:auto 120px}
@media(min-width:1001px){
 .paper-viewer{position:sticky;top:20px}
 .answer-panel{position:static}
 .scan-scroll{min-height:min(400px,50vh);max-height:calc(100dvh - 200px)}
}
@media(min-width:1201px){.exam-layout{grid-template-columns:minmax(0,1fr) 365px}}
@media(max-width:700px){
 .sidebar{overflow:visible}
 nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;overflow:visible}
 nav a{white-space:normal;justify-content:center;text-align:center;padding:9px 4px;min-height:40px}
 .summary-score{display:block}
 .big-score{margin-bottom:18px}
 .result-table{overflow:visible}
 .result-row{min-width:0;grid-template-columns:minmax(0,1fr) auto;gap:9px 12px;padding:17px;font-size:.84rem}
 .result-row:first-child{display:none}
 .result-row>span:first-child{grid-column:1;grid-row:1;font-weight:700}
 .result-row>span:nth-child(2){grid-column:1/-1;grid-row:2;font-weight:600;font-size:.9rem;overflow-wrap:anywhere}
 .result-row>span:nth-child(3){grid-column:1;grid-row:3}
 .result-row>span:nth-child(4){grid-column:2;grid-row:3}
 .result-row>[data-label]:before{content:attr(data-label);display:block;font-size:.68rem;color:var(--muted);margin-bottom:2px}
 .result-row>.btn{grid-column:2;grid-row:1;min-height:36px;padding:7px 13px;font-size:.8rem}
 .paper-toolbar{row-gap:10px}
 .topbar{height:auto;min-height:47px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px;gap:8px}
 main{padding-bottom:max(32px,env(safe-area-inset-bottom))}
 .solution{font-size:1rem}
}
@media(pointer:coarse){
 .btn.small,.btn.ghost,.icon-button,.page-tab,.jump,.answer-actions button,.result-row>.btn{min-height:44px}
 .choice{min-height:46px}
 input[type=search],input[type=date],input[type=text],select,textarea{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.btn,.icon-button,.choice,.page-tab,.jump{transition:none}}

/* v1.2: keep the printed question and its answer within easy reach. */
.reader-heading{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin:0 0 14px;scroll-margin-top:18px}
.reader-heading strong{font-size:1.08rem}.reader-heading strong span{font-size:.8rem;font-weight:400;color:var(--muted);margin-left:8px}.reader-heading>span{font-size:.85rem;color:var(--muted)}
.reader-shortcuts{display:flex;flex-wrap:wrap;gap:7px;padding:12px 16px;background:#edf5f7;border-bottom:1px solid var(--line)}
.reader-shortcuts>span{font-size:.7rem;color:var(--muted);align-self:center;margin-left:auto}
.reader-shortcuts .page-tab{background:white;min-height:35px}
.scan-scroll{scrollbar-gutter:stable;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.answer-panel{scroll-margin-top:18px}
.reader-dock{display:none}
@media(max-width:1000px){
 .session-page .sidebar{position:static;width:auto;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:12px 18px;overflow:visible}
 .session-page .sidebar nav,.session-page .sidebar-bottom,.session-page .qualification{display:none}
 .session-page .brand small{display:none}
 .session-page .brand{font-size:1.2rem}
 .session-page .brand svg{height:29px}
 .session-page .app-shell{margin-left:0}
 .session-page main{padding-bottom:105px}
 .session-page .topbar{display:flex}
 .reader-heading{gap:3px 12px}
 .reader-heading>span{font-size:.78rem}
 .reader-shortcuts{padding:10px;gap:6px}
 .reader-shortcuts>span{flex-basis:100%;font-size:.68rem}
 .reader-shortcuts .page-tab{font-size:.73rem;flex:1;padding:7px 5px;min-height:40px}
 .reader-dock{position:fixed;z-index:40;bottom:0;left:0;right:0;display:flex;gap:8px;align-items:center;justify-content:center;margin:0;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #b7ccd8;box-shadow:0 -3px 15px #15334d0d}
 .reader-dock>div{margin-right:auto;min-width:62px}.reader-dock strong{display:block;font-size:.77rem}.reader-dock small{display:block;color:var(--muted);font-size:.68rem}
 .reader-dock .btn.small{min-height:44px;min-width:52px;padding:8px 12px;font-size:.8rem}
 .reader-dock:focus-within{background:white}
 body:has(textarea:focus) .reader-dock,body:has(input:focus) .reader-dock{visibility:hidden}
 .scan-scroll{max-height:56dvh}
}
@media(max-width:360px){.reader-dock{padding-left:10px;padding-right:10px;gap:5px}.reader-dock .btn.small{padding-left:9px;padding-right:9px}.reader-shortcuts .page-tab{font-size:.68rem}}
@media(min-width:1001px){
 .session-page .sidebar{position:static;width:auto;display:flex;flex-direction:row;align-items:center;padding:12px 32px}
 .session-page .sidebar nav,.session-page .sidebar-bottom,.session-page .qualification,.session-page .brand small{display:none}
 .session-page .brand{font-size:1.2rem}.session-page .brand svg{height:29px}
 .session-page .app-shell{margin-left:0}
 .session-page main{max-width:1600px}
}
@media(max-width:1000px){html{scroll-padding-bottom:90px}}
@media(max-width:1000px){
 .session-page{height:100dvh;overflow:hidden;display:flex;flex-direction:column}
 .session-page .sidebar{flex-shrink:0}
 .session-page .app-shell{min-height:0;flex:1;display:flex;flex-direction:column}
 .session-page .topbar{flex-shrink:0}
 .session-page main{width:100%;max-width:none;flex:1;min-height:0;overflow:auto;margin:0;padding-bottom:24px;scroll-padding-bottom:24px;overscroll-behavior:contain}
 .reader-dock{position:static;flex-shrink:0;background:white;box-shadow:none}
}
.related-block{border-top:1px solid var(--line,#dce5eb);margin-top:24px;padding-top:18px}.related-block h4{display:flex;align-items:center;gap:8px}.related-list{display:grid;gap:8px;margin-top:12px}.related-link{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #dce5eb;border-radius:10px;text-decoration:none;color:#15334d;background:#f5f9fa}.related-link>span:nth-child(2){flex:1;min-width:0}.related-link small{display:block;line-height:1.6;margin-top:4px}.related-link .tag{flex-shrink:0}.comparison-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:24px;align-items:start}.compare-paper{min-width:0}.comparison-text{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.95rem;line-height:1.95;margin:24px 0;max-height:65vh;overflow:auto;padding:16px;background:#f3f7f8;border-radius:10px}.archive-list{display:grid;gap:16px}.archive-card{padding:24px;background:#fff;border:1px solid #dce5eb;border-radius:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center}.archive-card h3{font-size:1.05rem;line-height:1.7;margin:8px 0}.archive-card p{font-size:.85rem;line-height:1.8;margin:5px 0}.archive-card .button-row{max-width:340px;justify-content:flex-end;flex-wrap:wrap}.archive-source{grid-column:1/-1}.archive-source code{overflow-wrap:anywhere;word-break:break-all}.archive-source p{margin-top:12px}.archive-source summary{cursor:pointer;color:#486272;font-size:.8rem}.comparison-grid details summary{cursor:pointer;padding:12px 0;font-weight:700}@media(max-width:850px){.comparison-grid{grid-template-columns:minmax(0,1fr)}.archive-card{grid-template-columns:minmax(0,1fr);padding:18px}.archive-card .button-row{max-width:none;justify-content:flex-start}.archive-source{grid-column:auto}.related-link{flex-wrap:wrap}.related-link>span:nth-child(2){flex-basis:65%}}
.archive-card{content-visibility:auto;contain-intrinsic-size:auto 210px}.related-link:hover{border-color:#076e74;background:#eaf6f5}.comparison-grid h2{overflow-wrap:anywhere}
.original-fallback[hidden]{display:none}.question-format{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 20px;border-bottom:1px solid #dce5eb;background:#f7fafb}.question-format>div{display:flex;gap:6px}.question-format>a{font-size:.8rem}.native-question{padding:28px clamp(18px,4vw,46px);color:#19364a}.target-ribbon{display:flex;align-items:center;gap:12px;padding:12px 16px;border-left:4px solid #0b767c;background:#eaf6f4;border-radius:0 8px 8px 0;font-size:.85rem;margin-bottom:24px}.target-ribbon strong{font-size:1.3rem}.target-ribbon span:last-child{margin-left:auto}.native-instruction{font-size:.95rem;line-height:1.95;color:#435b6b;margin-bottom:24px}.native-instruction p{margin:0 0 12px}.question-prose{font-size:1.04rem;line-height:2;letter-spacing:.018em;overflow-wrap:anywhere}.question-prose p{margin:0 0 1.15em;white-space:pre-line}.blank{color:inherit;background:#edf2f5;border-radius:4px;padding:1px 4px;white-space:nowrap}.target-blank{color:#07595d;background:#d3f1e9;font-weight:800;border-bottom:2px solid #08757b}.text-options{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:32px}.text-options>h3{grid-column:1/-1;font-size:1rem;margin:0 0 7px}.text-options>h3 span{font-size:.75rem;color:#596f81;font-weight:500;margin-left:8px}.text-options.compact-options{grid-template-columns:repeat(2,minmax(0,1fr))}.text-option{display:flex;gap:13px;align-items:flex-start;text-align:left;width:100%;min-height:54px;padding:15px;border:1.5px solid #d0dce3;border-radius:10px;background:#fff;color:#19364a;font:inherit;font-size:.98rem;line-height:1.85;cursor:pointer;transition:border-color .12s,background-color .12s;overflow-wrap:anywhere}.text-option>span:nth-child(2){flex:1;min-width:0;white-space:pre-line}.text-option:hover{border-color:#08757b;background:#f0f8f7}.text-option.selected{border-color:#08757b;background:#e8f5f2;box-shadow:inset 0 0 0 1px #08757b}.option-number{display:flex;align-items:center;justify-content:center;flex:0 0 28px;height:28px;border:1px solid #c8d5dd;border-radius:7px;background:#f5f8fa;font-size:.85rem;font-weight:800;line-height:1}.selected .option-number{background:#08757b;color:#fff;border-color:#08757b}.text-option:disabled{opacity:1;cursor:default}.text-option.correct{border-color:#08757b;background:#e4f6ec}.text-option.incorrect{border-color:#b44a4a;background:#fff1ef}.native-credit{font-size:.73rem;line-height:1.8;color:#596f81;border-top:1px solid #dce5eb;padding-top:20px;margin-top:28px}.source-figures{margin:24px 0;padding:16px;background:#f7fafb;border:1px solid #dce5eb;border-radius:10px}.source-figures h3{font-size:.9rem}.source-figures p{font-size:.75rem;line-height:1.7}.source-figures a{display:block;overflow:auto;margin-top:12px}.source-figures img{display:block;max-width:100%;height:auto;background:#fff}.native-question h3{scroll-margin-top:20px}@media(max-width:600px){.text-options.compact-options{grid-template-columns:minmax(0,1fr)}.native-question{padding:22px 18px}.question-prose{font-size:1rem;line-height:1.95}.text-option{padding:13px 11px;font-size:.96rem}.question-format{padding:12px}.text-options>h3 span{display:block;margin:4px 0 0}.target-ribbon{padding:10px 12px}.native-instruction{font-size:.9rem}.source-figures{padding:10px}}
.native-question{background:#fff}.source-figures img{border:1px solid #e2e9ed}.native-instruction,.question-prose{max-width:49em;margin-left:auto;margin-right:auto}.text-options{max-width:49em;margin-left:auto;margin-right:auto}.native-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums;font-size:.9rem;margin:22px 0}.native-table th,.native-table td{padding:9px 12px;text-align:left;border:1px solid #d4dfe6}.native-table th{background:#eef5f6}.native-table caption{font-weight:700;text-align:left;margin-bottom:10px}.text-option:focus-visible{outline:3px solid #197b9b;outline-offset:3px}@media(min-width:360px) and (max-width:600px){.text-options.compact-options{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-options .text-option{gap:8px;padding:12px 10px;font-size:.9rem}.compact-options .option-number{flex-basis:25px;height:25px}}
.comparison-question .native-question{padding:18px 0}.comparison-question .native-instruction,.comparison-question .question-prose{font-size:.92rem}.comparison-question .compact-options{grid-template-columns:minmax(0,1fr)}.comparison-question .text-option{font-size:.88rem}.native-table td{white-space:normal;overflow-wrap:anywhere}
.related-more{margin-top:14px}.related-more summary{font-size:.82rem;color:#076e74;padding:8px 0;cursor:pointer}
.native-answer-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:20px;padding:16px;background:#eef7f5;border-radius:10px}.native-answer-bar>span{color:#435b6b;font-size:.85rem}.native-answer-bar strong{color:#075e63;font-size:1.1rem;margin-left:5px}
.today-plan>*{min-width:0}.duration-picker{display:flex;gap:6px;margin:16px 0}.duration-picker .page-tab{min-width:76px;min-height:44px;border:1px solid #c2d6dd;background:#fff;color:#365363;border-radius:7px}.duration-picker .page-tab.active{background:#08757b;color:#fff;border-color:#08757b}.today-plan .hero-copy h2{font-size:clamp(1.3rem,2.2vw,1.65rem)}.today-plan .plan-footnote{font-size:.75rem;line-height:1.8;margin-top:16px;color:#536d7d}.today-plan .hero-map{justify-content:flex-start}.plan-reasons{list-style:none;margin:0;padding:0;display:grid;gap:13px}.plan-reasons li{border-left:2px solid #91bdc3;padding-left:13px;font-size:.85rem}.plan-reasons strong{display:block;margin-top:4px;font-weight:600;overflow-wrap:anywhere}.plan-reasons small,.plan-more small{display:block;color:#4e6c7c;margin-top:2px}.plan-more{margin-top:16px;font-size:.8rem}.plan-more summary{min-height:40px;cursor:pointer;padding:8px 0;color:#075e65}.plan-more ul{padding-left:20px}.plan-more li+li{margin-top:10px}.plan-settings{font-size:.8rem;margin-top:12px;display:inline-flex;align-items:center;min-height:40px}.reserve-settings>.field{margin-top:16px;min-width:0}.reserve-settings select{width:100%}.learning-metrics{margin-bottom:24px}.learning-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0}.learning-stat-grid>div{padding:16px 20px;border:1px solid var(--line);border-radius:8px;background:#f7fafb;min-width:0}.learning-stat-grid span,.learning-stat-grid small{display:block;color:var(--muted);font-size:.8rem}.learning-stat-grid strong{display:block;font-size:1.8rem;font-variant-numeric:tabular-nums}.understanding-counts{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;font-size:.85rem}.understanding-counts span{padding:8px 12px;background:#edf6f4;border-radius:6px}.learning-metrics>details{margin-top:18px}.learning-metrics>details summary{cursor:pointer;min-height:44px;padding:10px 0}.learning-metrics li{margin-bottom:12px;overflow-wrap:anywhere}.learning-metrics li p{font-size:.82rem}.solution-switch{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0}.solution-switch button{flex:1;min-width:100px;min-height:44px;border:1px solid #c7d8df;border-radius:6px;background:#fff;color:#34576b}.solution-switch button.active{color:#075e65;background:#e7f5f1;border-color:#08757b;font-weight:700}.solution .takeaway{margin:18px 0}.solution .takeaway p{margin:7px 0 0;line-height:1.95;font-size:.88rem;overflow-wrap:anywhere}.solution-detail{margin:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.solution-detail>summary{padding:13px 0;min-height:46px;cursor:pointer;color:#075e65;font-weight:650;font-size:.85rem}.explanation-copy{padding:4px 0 18px}.explanation-copy>p{line-height:2.05;font-size:.92rem;overflow-wrap:anywhere}.explanation-copy h4{margin:22px 0 7px}.evidence-panel>summary,.glossary-panel summary{cursor:pointer;min-height:44px;padding:11px 0;font-size:.84rem}.evidence-list{margin:14px 0}.evidence-list>div{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:10px;margin-bottom:16px;font-size:.8rem}.evidence-list dt{font-weight:600;color:#526b7b}.evidence-list dd{margin:0;overflow-wrap:anywhere}.evidence-list small{display:block;color:#607582;margin-top:4px;font-size:.74rem}.evidence-source{border-left:2px solid #b2d6d5;padding:4px 0 4px 12px;margin:16px 0;font-size:.82rem;overflow-wrap:anywhere}.evidence-source p{margin:5px 0;font-size:.8rem}.evidence-source small{font-size:.73rem;color:#526b7b}.law-epoch{background:#f3f7fa;padding:14px;border-radius:6px;font-size:.8rem;margin-top:16px}.law-epoch p{font-size:.8rem!important;margin-top:8px!important}.glossary-panel{margin:22px 0}.glossary-panel>h4{margin-bottom:8px}.glossary-panel details{border-bottom:1px solid #e0e8ed}.glossary-panel summary{color:#075e65}.glossary-panel p{font-size:.85rem!important;line-height:1.95!important;padding:0 0 10px}.glossary-panel a{font-size:.75rem;display:block;padding-bottom:13px}.understanding{margin:24px 0;padding:18px 16px;background:#f4f8fa;border:1px solid #dbe7eb;border-radius:8px}.understanding h4{margin:0 0 6px}.understanding>p{font-size:.77rem!important;margin:0 0 13px!important;color:#576f7e}.understanding>small{display:block;font-size:.72rem;color:#57707e;margin-top:12px}.feedback-fields{display:grid;gap:14px;margin-top:18px}.feedback-fields .field{min-width:0}.feedback-fields select,.feedback-fields textarea{width:100%;font-size:16px}.solution-answer-link{font-size:.8rem!important;margin-top:18px!important}.comparison-summary{margin-top:24px;border-left:3px solid #08757b}.comparison-summary h2{margin-top:16px}.comparison-summary>p{color:#304e60;line-height:2;font-size:.92rem}.comparison-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:.78rem;color:#526b7b}.comparison-summary>small{font-size:.75rem;color:#526b7b}.text-difference{background:#fff0bc;color:inherit;border-bottom:2px solid #ae7623;padding:0 1px;border-radius:2px}.diff-legend{font-size:.79rem!important;color:#617581!important}.comparison-question .text-difference{white-space:pre-wrap}.comparison-summary .takeaway{font-size:.87rem;line-height:1.95}.solution small,.solution p,.solution a,.plan-reasons li,.comparison-summary{overflow-wrap:anywhere}.solution-detail,.glossary-panel details,.evidence-panel,.understanding{scroll-margin-top:24px}h1,h2,h3{text-wrap:balance}
@media(max-width:600px){.today-plan .hero-copy,.today-plan .hero-map{padding:24px 20px}.today-plan .hero-map{border-top:1px solid #d0e1e5}.today-plan .hero-copy .button-row .btn{flex:1;min-width:120px}.learning-stat-grid{gap:10px}.learning-stat-grid>div{padding:13px 11px}.learning-stat-grid strong{font-size:1.55rem}.evidence-list>div{grid-template-columns:minmax(0,1fr);gap:5px}.understanding{padding:16px 13px}.understanding .button-row .btn{flex:1;min-height:44px}.comparison-summary{padding:20px 17px}.comparison-status{gap:8px}.feedback-fields .field>span{font-size:.8rem}}
main:focus{outline:none}main:focus-visible{outline:2px solid #74aaa8;outline-offset:-2px}
.bad-storage{position:sticky;top:0;z-index:45}
@media(max-width:600px){#navigation{display:flex;flex-wrap:wrap;gap:6px}#navigation>a{flex:1 1 auto;justify-content:center;white-space:nowrap;max-width:100%;min-height:44px;padding:8px 10px;font-size:.8rem}#navigation>a>span{flex-shrink:0}.page-heading{flex-direction:column;align-items:flex-start;gap:16px}.page-heading .btn{flex-shrink:0;white-space:normal}.reader-dock{flex-wrap:wrap}.reader-dock .btn{flex:1}.reader-dock>div{flex:1 0 auto}.solution-switch button{flex-basis:120px}}
@media(max-width:600px){.session-page #navigation{display:none}}
@media(max-width:1000px){.reader-dock .btn.small{white-space:nowrap}}
#toast{width:max-content;overflow-wrap:anywhere}
.topbar{height:auto;min-height:75px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}.topbar>div:first-child{min-width:0;flex:1 1 160px}.topbar-right{flex-shrink:0;margin-left:auto}.icon-button{white-space:nowrap}.brand{flex-wrap:wrap}.brand>span{white-space:nowrap}.brand small{white-space:normal}.brand svg,nav a>span{flex-shrink:0}nav a>span{width:1.25em}nav a{min-width:0}
@media(min-width:701px){.sidebar{overflow-y:auto;scrollbar-gutter:stable}.sidebar>*{flex-shrink:0}}
@media(max-width:700px){.topbar{min-height:47px;padding-top:8px;padding-bottom:8px}}
.archive-card{content-visibility:visible;contain-intrinsic-size:none}.archive-list+.pagination{margin:22px 0}

/* App identity and current course are separate; allow the longer app name. */
.brand{font-size:1.2rem;letter-spacing:.03em;gap:10px;flex-wrap:nowrap}.brand svg{width:32px}.brand>span{min-width:0}.brand-title{display:block;white-space:normal;overflow-wrap:anywhere}.brand small{font-size:.62rem;letter-spacing:.03em}.qualification strong{display:block;font-size:.85rem;line-height:1.7;font-weight:600}.qualification .course-label{font-size:.65rem;margin:0 0 5px;color:#9ab7c8}.qualification .course-track{display:block;font:inherit;color:inherit;margin:0}
@media(min-width:701px) and (max-width:1200px){.brand{font-size:1.15rem;gap:9px}.brand svg{width:28px}}
@media(min-width:701px) and (max-width:1000px){.brand{font-size:1.05rem;gap:8px}.brand svg{width:25px}.brand small{font-size:.57rem}}
@media(max-width:700px){.brand{font-size:1.3rem;gap:10px}.brand svg{width:27px}.qualification{float:none;padding:8px 0 3px}.qualification strong{font-size:.76rem;font-weight:500}.qualification .course-label{display:none}.qualification .course-track{display:inline}.qualification .course-track::before{content:'・'}}

/* Text remains inside the option's content column at narrow widths. */
.option-status-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}
.option-status{display:inline-block;border:1px solid currentColor;border-radius:4px;padding:1px 5px;font-size:.7rem;font-weight:700;line-height:1.5}
.text-option.correct .option-status{color:#075c44}
.text-option.incorrect .option-status{color:#8c3131}

.source-figure{margin:12px 0}
.source-figure>a{margin-top:0}
.source-figure figcaption{margin-top:10px;font-size:.85rem;line-height:1.9;color:#304e60;overflow-wrap:anywhere}

/* Public study UI. Keep the canonical private bank and its styles intact. */
:root {
  --navy: #163346;
  --teal: #08757b;
  --ink: #203b4b;
  --muted: #576f7e;
  --line: #dce5eb;
  --shadow: 0 2px 12px #16334604;
}
body { background: #f5f8fa; -webkit-text-size-adjust: 100%; }
.sidebar { background: var(--navy); }
.brand { letter-spacing: .015em; }
.brand-title { font-weight: 750; }
.topbar { background: #fff; gap: 12px; }
.topbar-right { gap: 8px; }
.topbar .icon-button {
  align-items: center;
  justify-content: center;
  width: 44px;
  min-height: 44px;
  flex-shrink: 0;
  padding: 8px;
  line-height: 1;
  text-align: center;
  border-radius: 10px;
  background: #fff;
}
.topbar button.icon-button { display: inline-flex; }
.icon-button:hover { text-decoration: none; }
.panel, .paper-viewer, .answer-panel, .metrics, .question-list, .filters { border-radius: 12px; }
.btn { border-radius: 9px; }
.hero { border-radius: 16px; border-color: #d7e3e7; }
.hero-copy { background: #fff; }
.hero-map { background: #eaf4f5; }
.text-option { border-color: #d6e1e6; box-shadow: none; }
.text-option.correct { background: #e5f5ed; border-color: #16816b; }
.text-options, .text-option, .correct-option-target, .solution, .native-instruction { scroll-margin-block: 16px 100px; }
.correct-option-target { min-width: 0; border-radius: 10px; }
.correct-option-target > .text-option { height: auto; }
.correct-option-target:focus-visible { outline: 3px solid #bc7124; outline-offset: 4px; }
.reader-continue { margin-top: 10px; }
.reader-continue .btn { display: flex; width: 100%; justify-content: space-between; flex-wrap: wrap; gap: 4px 12px; text-align: left; padding: 12px 14px; }
.reader-continue .btn span { font-size: .72rem; font-weight: 500; }
.reader-continue .btn strong { font-size: .9rem; }
.question-format { background: #fbfcfd; }
.page-tab { border-radius: 7px; }
.reader-dock .btn { white-space: nowrap; }
.text-option, .native-question, .answer-panel, .question-format > div { min-width: 0; }
.source-figures img { max-width: 100%; height: auto; }
.source-figures a { -webkit-overflow-scrolling: touch; }
@media (max-width: 700px) {
  .topbar .mobile-settings { display: inline-flex; font-size: .8rem; }
  .topbar { padding: 8px 16px; }
  .topbar > div:first-child { flex-basis: 140px; overflow-wrap: anywhere; }
  .topbar-right { gap: 6px; }
  .session-page .sidebar { padding: 12px 16px; }
  .session-page .brand { font-size: 1.1rem; }
  .native-question { padding-inline: 16px; }
  .native-instruction { line-height: 1.9; }
  .question-prose { line-height: 1.95; letter-spacing: .01em; }
  .text-options.compact-options { grid-template-columns: minmax(0, 1fr); }
  .text-option { font-size: 1rem; padding: 14px 12px; }
  .text-option .option-number { flex-shrink: 0; }
  .question-format > div { display: flex; flex-wrap: wrap; }
  .reader-dock { border-color: #d6e2e8; gap: 7px; }
  .reader-dock > div { min-width: 58px; }
  .session-header .button-row { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .reader-dock { gap: 5px; padding-inline: 10px; }
  .reader-dock .btn.small { min-width: 46px; padding-inline: 8px; }
}
@media (prefers-reduced-motion: no-preference) {
  .btn, .icon-button, .page-tab { transition: background-color 140ms ease-out, border-color 140ms ease-out, transform 120ms ease-out; }
  .btn:active:not(:disabled), .icon-button:active { transform: scale(.98); }
  .btn:focus-visible, .icon-button:focus-visible, .page-tab:focus-visible { transition: none; transform: none; }
  dialog[open] { animation: lab-dialog-enter 180ms cubic-bezier(.23,1,.32,1); }
  @keyframes lab-dialog-enter { from { opacity: .8; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
}
@media (hover: hover) and (pointer: fine) {
  .text-option:not(:disabled):hover { border-color: var(--teal); background: #f0f8f7; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
