@import url('/base.css');
:root{--ink:#142b49;--blue:#2051cf;--lime:#dbf480;--muted:#58697b;--line:#d8dfe8;--paper:#fff;--bg:#f3f5f7}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.8 var(--font-sans)}button,input{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:4px}h1,h2,h3,p{margin:0 0 18px}h1{font-size:clamp(32px,4.5vw,58px);letter-spacing:-1.2px;line-height:1.3}h2{font-size:23px;line-height:1.5}h3{font-size:16px}em{font-style:normal;background:var(--lime);padding:0 7px}.masthead{max-width:1080px;margin:auto;padding:20px 30px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-weight:700;font-size:17px;letter-spacing:1px}.brand span{display:inline-block;color:var(--blue);margin-left:8px}.quiet{border:0;background:none;color:var(--muted);padding:10px 6px;min-height:44px;font-size:13px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid var(--blue);border-radius:5px;min-height:54px;padding:14px 22px;text-decoration:none;line-height:1.5}.primary{background:var(--blue);color:white;font-weight:700}.secondary{background:white;color:var(--blue)}.wide{width:100%;justify-content:space-between}#app{max-width:980px;margin:auto;padding:40px 30px;min-height:60vh}.hero,.welcome{max-width:800px;margin:auto}.eyebrow{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--blue);margin-bottom:26px;flex-wrap:wrap}.eyebrow span{color:var(--muted)}.lead{font-size:19px;line-height:1.8;color:var(--muted);margin:24px 0}.entry-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;margin-bottom:20px}.entry-status i{height:8px;width:8px;background:#3e7852;border-radius:50%}.entry-status span{margin-left:auto}.welcome .primary{max-width:540px;font-size:19px}.fine{font-size:13px;color:var(--muted);margin:14px 0;line-height:1.8}.center{text-align:center}.entry-note{background:white;border-left:4px solid var(--blue);padding:22px;max-width:540px;margin:28px 0}.entry-note p{font-size:14px;margin:10px 0 16px}.scene-map{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:32px}.scene-map>div{padding:22px 15px;border-right:1px solid var(--line)}.scene-map>div:last-child{border:0}.scene-map b{display:block;font-size:12px;color:var(--blue);margin-bottom:16px}.scene-map span{display:block;font-size:16px;font-weight:650}.scene-map small{font-size:12px;color:var(--muted)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:800px;margin:40px auto}.intro-grid article{padding:20px 0}.intro-grid span,.section-label{font-size:12px;color:var(--blue);letter-spacing:1px}.intro-grid h2{margin-top:12px}.records{max-width:800px;margin:40px auto;border-top:1px solid var(--line);padding-top:30px}.records h2{margin-top:10px}.record{display:flex;justify-content:space-between;gap:10px;width:100%;border:0;border-bottom:1px solid var(--line);padding:18px 0;background:none;color:var(--ink);text-align:left}.record small{color:var(--muted);white-space:nowrap}.quiz-head{display:flex;align-items:center;justify-content:space-between;font-size:14px;max-width:760px;margin:auto}.progress{height:4px;background:var(--line);max-width:760px;margin:12px auto 24px}.progress span{display:block;height:100%;background:var(--blue);transition:width .15s}.question-card{max-width:760px;margin:auto;background:white;border:1px solid var(--line);padding:32px}.page-number{display:inline-block;font-size:12px;padding:3px 10px;background:var(--lime);margin-bottom:20px}.question{font-size:25px;line-height:1.6;letter-spacing:0;outline:none}.comparison{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);margin:22px 0}.comparison>div{background:#f5f7fa;padding:16px}.comparison small{font-size:11px;color:var(--muted)}.comparison p{font-size:15px;margin:8px 0 0}.options{display:grid;gap:9px}.option{display:flex;align-items:flex-start;gap:12px;width:100%;padding:13px 15px;min-height:48px;border:1px solid var(--line);background:white;text-align:left;color:var(--ink);font-size:15px;line-height:1.65;border-radius:4px}.option[aria-pressed=true]{border-color:var(--blue);background:#edf2ff;box-shadow:inset 3px 0 var(--blue)}.dot{flex:0 0 17px;height:17px;border:1px solid #90a0b5;border-radius:50%;margin-top:4px}.option[aria-pressed=true] .dot{background:var(--blue);border:4px solid #edf2ff;box-shadow:0 0 0 1px var(--blue)}.minor{font-size:13px;background:#f8f9fb}.quiz-nav{display:flex;justify-content:space-between;gap:10px;margin-top:26px}.save-state{text-align:center}.index-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:20px 0}.index-grid button{border:1px solid var(--line);background:#fff;min-height:44px;color:var(--ink)}.index-grid .answered{background:var(--blue);color:#fff}.index-grid .current{outline:2px solid var(--ink);outline-offset:2px}.result-top{display:flex;justify-content:space-between;gap:12px;font-size:13px;align-items:center;margin-bottom:18px}.report{max-width:760px;margin:auto;background:white;border:1px solid var(--line);padding:42px;overflow-wrap:anywhere}.report-heading{padding-bottom:25px;border-bottom:2px solid var(--ink)}.folio{float:right;font-size:40px;color:var(--blue)}.report h1{font-size:39px;margin-top:20px;color:var(--blue)}.report blockquote{font-size:23px;line-height:1.7;margin:22px 0 0}.tendency-map{padding:28px 0 10px}.axis{margin:25px 0}.axis h3{display:flex;justify-content:space-between;gap:10px;margin-bottom:12px}.axis h3 small{font-size:12px;font-weight:400;color:var(--blue)}.axis-track{height:7px;margin:0 8px;background:#e4eaf2;position:relative;border-radius:10px}.axis-track:after{content:'';position:absolute;left:50%;top:-3px;width:1px;height:13px;background:#8d9daf}.axis-track i{position:absolute;top:-3px;width:13px;height:13px;border-radius:50%;transform:translateX(-50%);background:var(--blue);z-index:1}.axis-labels{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;margin-top:10px}.axis-labels span:last-child{text-align:right}.chapter{padding:28px 0 0;margin:24px 0 0;border-top:1px solid var(--line)}.chapter-number{display:inline-block;font-size:12px;color:var(--blue);background:#edf2ff;padding:3px 9px;margin-bottom:14px}.chapter p{white-space:pre-line}.chapter p:last-child{margin-bottom:0}summary{cursor:pointer;min-height:44px;font-size:15px;font-weight:650}.scope{font-size:13px;color:var(--muted)}.scope a{color:var(--blue)}.report-end{margin-top:36px;border-top:2px solid var(--ink);padding-top:24px;font-size:14px;color:var(--blue)}.report-end small{font-size:12px;color:var(--muted)}.share-paper{min-height:540px;background:#f8faff;border-top:10px solid var(--blue)}.route-symbol{display:flex;align-items:center;justify-content:center;width:100px;height:100px;border-radius:50%;background:var(--lime);font-size:60px;margin:40px 0 30px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:32px}.tags span{padding:5px 12px;border:1px solid var(--line);font-size:12px}.toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:24px auto 12px;max-width:760px}.toolbar button{flex:1 1 220px}.result-extras{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.export-container,.card-export{position:fixed;left:-12000px;top:0;width:720px;background:white;pointer-events:none}.card-export{width:560px}.site-footer{max-width:980px;margin:30px auto 0;padding:25px;border-top:1px solid var(--line);text-align:center;color:var(--muted);display:flex;flex-direction:column;align-items:center;font-size:12px}dialog{width:calc(100% - 28px);max-width:580px;max-height:90dvh;border:1px solid var(--line);background:white;color:var(--ink);padding:28px;border-radius:8px}dialog::backdrop{background:#142b4970}#modal-content{position:relative}.close-x{position:absolute;right:-12px;top:-16px;background:none;border:0;font-size:26px;color:var(--muted);padding:10px}dialog h2{padding-right:25px}.modal-actions{display:flex;flex-wrap:wrap;gap:12px}.modal-actions button{flex:1}.image-scroll{max-height:45vh;overflow:auto;border:1px solid var(--line);margin:18px 0}.image-preview{width:100%;display:block}input{width:100%;max-width:100%;padding:12px;border:1px solid var(--line);margin-bottom:16px}#toast{position:fixed;left:50%;bottom:max(25px,env(safe-area-inset-bottom));transform:translateX(-50%);width:max-content;max-width:90vw;background:var(--ink);color:white;padding:12px 20px;border-radius:6px;font-size:14px;z-index:10}.alert{padding:18px;background:#fff0e8;color:#873a16}.loading{text-align:center;padding:60px 0}[hidden]{display:none!important}
@media(max-width:600px){.masthead{padding:14px 18px}.brand{font-size:14px}#app{padding:24px 16px}.eyebrow{font-size:11px;margin-bottom:20px}.hero h1,.welcome h1{font-size:33px;line-height:1.4}.lead{font-size:16px;margin:20px 0}.entry-status{font-size:12px}.scene-map{grid-template-columns:1fr;margin-top:24px}.scene-map>div{padding:14px 0;display:grid;grid-template-columns:30px 1fr;gap:0 8px;border:0;border-bottom:1px solid var(--line)}.scene-map b{margin:0;grid-row:span 2}.scene-map span{font-size:14px}.scene-map small{grid-column:2}.intro-grid{grid-template-columns:1fr;gap:0;margin-top:20px}.intro-grid article{border-bottom:1px solid var(--line)}.question-card{padding:22px 16px}.question{font-size:20px}.comparison>div{padding:12px}.comparison p{font-size:14px}.option{font-size:14px;padding:12px}.minor{font-size:12px}.quiz-nav .primary{padding:12px 15px}.report{padding:27px 20px}.report h1{font-size:30px}.report h2{font-size:20px}.report p{font-size:15px}.report blockquote{font-size:20px}.report .scope p{font-size:13px}.axis h3{font-size:14px}.record{flex-direction:column;gap:3px}.share-paper{min-height:520px}.export-container .report{padding:38px;font-size:16px}.export-container .report h1{font-size:39px}.export-container .report p{font-size:16px}.export-container .report h2{font-size:23px}.card-export .report{padding:38px;min-height:650px}.card-export .report h1{font-size:38px}.card-export .report blockquote{font-size:26px}dialog{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
