:root{color-scheme:dark;--navy:#101a2c;--panel:#17253a;--soft:#20304b;--border:#344760;--ink:#f5f7fc;--muted:#b9c8d9;--gold:#ffce83;--cyan:#84dce7;--radius:20px;--shadow:0 14px 45px rgba(0,0,0,.17)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse 800px 400px at 93% 0%,#243752 0%,transparent 75%),linear-gradient(160deg,#0f192c,#121e33 57%,#0c1828);color:var(--ink);font-family:system-ui,-apple-system,'Noto Sans TC','Microsoft JhengHei',sans-serif;line-height:1.6;min-height:100vh}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}a{color:var(--cyan);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.container{width:min(1180px,calc(100% - 36px));margin:0 auto}.skip-link{position:absolute;top:-100px;left:16px;background:var(--ink);color:var(--navy);padding:8px;z-index:100}.skip-link:focus{top:8px}.sitebar{border-bottom:1px solid rgba(255,255,255,.09);position:relative;z-index:2}.top-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0}.wordmark{color:var(--ink);font-weight:750;display:inline-flex;align-items:center;gap:10px}.wordmark small{font-size:.68rem;color:var(--muted);letter-spacing:.11em}.logo{border:1px solid var(--gold);color:var(--gold);width:36px;height:36px;border-radius:12px;display:grid;place-items:center;font-size:1.2rem}.site-links{display:flex;gap:20px;font-size:.9rem}.site-links a{color:#cdd8e8}.hero{display:flex;align-items:center;justify-content:space-between;gap:26px;padding:66px 42px 50px;margin:24px 0;border:1px solid #3c4f66;background:linear-gradient(135deg,rgba(32,50,73,.88),rgba(19,31,49,.97));border-radius:28px;position:relative;overflow:hidden}.hero:before{content:'';position:absolute;top:-160px;right:-150px;border:1px solid rgba(132,220,231,.14);width:480px;height:480px;border-radius:50%}.hero-copy{position:relative;z-index:1;max-width:680px}.eyebrow,.kicker{font-size:.74rem;font-weight:750;letter-spacing:.16em;color:var(--cyan)}.hero h1{font-size:clamp(2.25rem,5vw,4.3rem);line-height:1.17;letter-spacing:-.03em;margin:15px 0}.hero h1 span{display:block;color:var(--gold)}.hero p{font-size:1.08rem;color:#d4e1ed;max-width:650px}.hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin:23px 0}.hero-tags span{font-size:.84rem;background:#273d54;border:1px solid #4c6074;border-radius:50px;padding:5px 12px}.hero-date{font-size:.81rem;color:#b8d4e1}.hero-date strong{color:var(--gold)}.orb-wrapper{display:grid;place-items:center;min-width:200px;position:relative;z-index:1}.orb{width:164px;height:164px;border-radius:50%;border:2px solid rgba(132,220,231,.4);background:radial-gradient(circle at 35% 35%,#f4d5aa,#b7a5e4 25%,#55a9be 55%,#314c72 85%);box-shadow:0 0 70px #4ed2c750,0 0 0 20px #7dd4e00d;display:grid;place-items:center;transform:rotate(-15deg)}.orb span{font-size:4.5rem;color:#fff6e9}.orb-text{text-align:center;letter-spacing:.16em;font-size:.65rem;color:var(--muted);margin-top:22px}.tabbar{display:flex;gap:8px;padding:7px;background:rgba(8,17,30,.65);border:1px solid var(--border);border-radius:18px;position:sticky;top:8px;z-index:10;backdrop-filter:blur(12px);margin-bottom:32px}.tab{flex:1;border:0;background:transparent;color:#b5c8db;min-height:47px;border-radius:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:9px}.tab:hover{background:#253750}.tab.active{background:linear-gradient(135deg,#ffe0aa,#eab96c);color:#172137;box-shadow:0 5px 18px #0003}.page{padding-bottom:20px}.page[hidden],[hidden]{display:none!important}.section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:25px 0 18px}.section-head h2{font-size:clamp(1.5rem,3vw,2.1rem);margin:3px 0}.section-head h3{margin:4px 0}.section-sub{color:var(--muted);margin:4px 0 0;max-width:750px}.fine{font-size:.78rem;color:var(--muted)}.section-pill,.chip{font-size:.79rem;background:var(--soft);border:1px solid var(--border);border-radius:30px;color:#d6e6f3;padding:6px 12px}.stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.stat,.panel,.tool-card,.mission-card,.ency-card{background:linear-gradient(160deg,#1b2b44,#172439);border:1px solid #354965;border-radius:var(--radius);box-shadow:var(--shadow)}.stat{padding:20px}.stat strong{display:block;font-size:2rem;color:var(--gold);font-variant-numeric:tabular-nums}.stat span{display:block;color:var(--muted);font-size:.85rem}.home-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:14px;margin:15px 0}.panel{padding:24px}.feature{background:radial-gradient(circle at 100% 5%,#305a6590,transparent 45%),linear-gradient(150deg,#1d3148,#18283d)}.panel h3{font-size:1.4rem;margin:8px 0}.panel p{color:#cbd7e5}.panel .hint{font-size:.85rem;color:#b6cfe0}.panel-head{display:flex;align-items:start;gap:12px;justify-content:space-between}.panel-row{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #36455b}.panel-row:last-child{border:0}.editorial-note{padding:18px 22px;border:1px dashed #4d657a;border-radius:15px;color:#d1deee;background:#15273f;margin-top:16px;font-size:.9rem}.tiny-list{display:flex;flex-wrap:wrap;gap:8px}.tiny-item{display:flex;align-items:center;gap:7px;background:#273851;border:1px solid var(--border);border-radius:30px;padding:8px 11px;font-size:.85rem}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:15px 0 26px}.tool-card,.ency-card{padding:18px;display:flex;flex-direction:column;gap:8px;min-width:0}.card-top{display:flex;align-items:flex-start;gap:12px}.big-icon{display:grid;place-items:center;border:1px solid #4e657f;border-radius:15px;min-width:54px;height:54px;background:linear-gradient(130deg,#324964,#25374f);font-size:1.65rem}.card-content{min-width:0;flex:1}.card-content h3{font-size:1.09rem;line-height:1.3;margin:1px 0 4px;overflow-wrap:anywhere}.muted{color:var(--muted);font-size:.84rem}.card-body{font-size:.87rem;color:#d2deeb;line-height:1.63;flex:1}.label-tag{display:inline-block;border:1px solid #425b70;border-radius:22px;padding:2px 9px;color:#a8dce1;font-size:.72rem;margin-top:6px}.card-footer{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:auto}.primary-btn,.secondary-btn,.ghost-btn,.text-button{border-radius:11px;padding:10px 15px;font-weight:720;font-size:.88rem;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}.primary-btn{color:#172337!important;background:linear-gradient(135deg,#ffdfac,#efbd72);border-color:#ffe6bd}.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover{text-decoration:none;filter:brightness(1.07)}.secondary-btn{background:#2b415b;border-color:#506982;color:#e9f5ff!important}.ghost-btn{border:1px solid #4a5970;color:#c3d5e3;background:transparent}.text-button{background:transparent;border:0;color:var(--cyan);padding:4px}.icon-button{width:41px;height:40px;display:grid;place-items:center;border:1px solid #51657c;border-radius:10px;background:#243951;color:var(--gold);font-size:1.12rem}.icon-button[aria-pressed=true]{background:#5b4829;border-color:var(--gold)}.filter-row{display:flex;flex-direction:column;align-items:stretch;gap:13px;margin:22px 0}.filter-row>input{border:1px solid #506881;border-radius:13px;background:#192a41;padding:13px 16px;width:100%;color:var(--ink)}input::placeholder,textarea::placeholder{color:#9aacbe}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{cursor:pointer}.chip.active{color:#132338;background:var(--cyan);border-color:var(--cyan);font-weight:800}.toggle-line{color:#d6e2ef;font-size:.9rem}.toggle-line input{accent-color:#ffcc7d}.mission-chapter{margin:0 0 32px}.chapter-head{display:flex;align-items:center;gap:12px;margin:20px 0 12px}.chapter-emoji{font-size:2rem}.chapter-head h3{margin:0;font-size:1.25rem}.chapter-head p{margin:2px 0;color:var(--muted);font-size:.85rem}.mission-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.mission-card{padding:19px;display:flex;flex-direction:column;gap:12px}.mission-card h4{margin:0;font-size:1.03rem}.mission-card p{margin:0;color:var(--muted);font-size:.84rem;flex:1}.mission-meta{display:flex;justify-content:space-between;gap:10px;font-size:.76rem;color:#c9d9e9}.stars{color:var(--gold);font-weight:800}.mission-card .primary-btn{width:100%}.mission-play{max-width:850px;margin:auto}.story-panel{padding:26px;border:1px solid #526780;background:linear-gradient(130deg,#1c344c,#17283e);border-radius:24px;margin:0 0 20px}.story-panel h3{font-size:1.6rem;margin:12px 0}.story-panel p{font-size:1.04rem;color:#e0eaf4}.mission-question{font-size:1.2rem;font-weight:750;margin:15px 0}.option-list{display:grid;gap:11px}.option{display:flex;width:100%;gap:13px;text-align:left;align-items:flex-start;padding:16px;border:1px solid #4f637d;background:#20334b;border-radius:15px;color:var(--ink);line-height:1.5}.option:hover:not(:disabled){background:#2d4762}.option .option-symbol{flex-shrink:0;width:27px;height:27px;border-radius:8px;background:#415670;display:grid;place-items:center;color:#e8f1f7}.option.chosen{border-color:var(--gold);background:#51402c}.option.opt-correct{border-color:#62cfa0}.option:disabled{opacity:1;cursor:default}.feedback{margin-top:17px;padding:20px;background:#263c4f;border-radius:16px;border:1px solid #5f7891}.feedback h4{margin:0 0 7px;font-size:1.04rem}.feedback p{margin:6px 0;color:#d8e7ef}.learning-point{color:#ffdda3!important}.feedback .primary-btn{margin-top:12px}.mission-progress-line{display:flex;gap:8px;margin:14px 0}.mission-progress-line>div{height:7px;background:#405368;flex:1;border-radius:20px}.mission-progress-line .now,.mission-progress-line .done{background:var(--gold)}.book-detail h2{margin:4px 0}.book-detail h3{font-size:1.07rem;margin:22px 0 8px;color:var(--gold)}.book-detail p,.book-detail li{color:#d8e5ef}.book-detail ul{padding-left:22px;margin:7px 0}.book-lead{background:#253b54;border-left:3px solid var(--cyan);padding:16px;border-radius:0 12px 12px 0;margin:18px 0}.source-block{border-top:1px solid #4a627b;padding-top:14px;font-size:.85rem;color:#b4cede}.source-block a{word-break:break-all}.prompt-block{border:1px dashed #5e7c8d;border-radius:13px;background:#24374e;padding:15px;white-space:pre-wrap;color:#f1ead7}.book-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.backup{display:grid;gap:6px;margin-bottom:30px}.backup h3{margin:0}.backup p{margin:7px 0}.backup-actions{display:flex;flex-wrap:wrap;gap:10px}.site-footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:40px 0 65px;font-size:.8rem;color:#9eb3ca}.modal{background:#18283e;color:var(--ink);width:min(650px,calc(100% - 20px));max-height:min(87vh,920px);overflow-y:auto;border:1px solid #64768b;border-radius:24px;padding:27px;box-shadow:0 20px 110px #0009}.modal::backdrop{background:rgba(2,9,17,.78);backdrop-filter:blur(4px)}.modal label{display:block;margin:16px 0;font-size:.9rem;font-weight:700}.modal label input,.modal textarea{display:block;margin-top:6px;width:100%;border:1px solid #5c7089;background:#253950;padding:11px;border-radius:10px;color:#fff}.dialog-actions{display:flex;gap:10px;justify-content:flex-end}.dialog-close{margin-top:15px;width:100%}.form-error{min-height:24px;color:#ffb1ab;font-size:.85rem}.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:60;padding:12px 20px;border:1px solid #7393a4;background:#233d53;color:white;border-radius:13px;box-shadow:var(--shadow);max-width:90vw;text-align:center}.notice{border:1px solid #d5a95f;background:#4b362b;color:#ffebc7;border-radius:14px;padding:14px 18px;margin:18px 0}.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}.small-line{font-size:.82rem;color:#bdd0df}.empty{padding:28px;text-align:center;color:#cbd8e4;border:1px dashed #536981;border-radius:15px}.back-link{margin-bottom:18px}.mission-result{text-align:center;padding:32px;border:1px solid #526f82;border-radius:20px;background:linear-gradient(130deg,#293f57,#1a2b42)}.mission-result .medal{font-size:4rem}.mission-result h3{margin:8px 0}.mission-result .primary-btn{margin-top:12px}.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.badge{padding:8px 12px;border:1px solid #607183;border-radius:30px;font-size:.82rem}.badge.locked{opacity:.38}.tight{margin-top:0}
@media(max-width:980px){.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mission-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{padding:42px 30px}.orb-wrapper{min-width:140px}.orb{height:130px;width:130px}}@media(max-width:640px){.container{width:min(100% - 24px,580px)}.top-row{flex-wrap:wrap;padding:12px 0}.wordmark{font-size:.9rem}.site-links{font-size:.78rem;gap:14px}.hero{margin:14px 0;padding:28px 20px;display:block;border-radius:22px}.hero p{font-size:.96rem}.hero-date{font-size:.78rem}.hero-date span{display:block}.orb-wrapper{display:none}.tabbar{position:sticky;top:0;gap:2px;padding:5px;border-radius:12px;margin-bottom:16px}.tab{font-size:.87rem;min-height:50px;gap:2px;flex-direction:column;line-height:1.15}.tab span{font-size:.71rem}.section-head{flex-wrap:wrap;align-items:flex-start}.section-head h2{font-size:1.5rem}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat{padding:15px}.stat strong{font-size:1.65rem}.home-grid,.cards-grid,.mission-grid{grid-template-columns:1fr}.panel{padding:19px}.hero-tags{gap:6px}.hero-tags span{font-size:.76rem}.mission-card{gap:9px}.mission-play,.story-panel{width:100%}.story-panel{padding:20px}.story-panel h3{font-size:1.3rem}.modal{padding:18px}.site-footer{padding-bottom:36px}.cards-grid{gap:10px}.card-footer .primary-btn,.card-footer .secondary-btn{flex:1}.editorial-note{padding:14px}.section-pill{font-size:.72rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* V2 Review：頁籤、任務焦點與固定導覽互不遮蔽 */
#missions-title,#ency-title,#tools-title,#home-title,#missionStage{scroll-margin-top:100px;}
#missionStage:focus,#missions-title:focus,#ency-title:focus,#tools-title:focus{outline:none;}
#recoveryPanel{margin:1rem 0;line-height:1.8;}
#recoveryPanel button{margin-left:.5rem;}
.source-list{padding-left:1.4rem;}
.source-list li{margin:.5rem 0;}
