.tweaks-panel{background:var(--surface);width:280px;color:var(--ink);border:1px solid var(--line);font-family:var(--sans);z-index:50;border-radius:12px;flex-direction:column;gap:12px;padding:12px 14px;display:flex;position:fixed;bottom:16px;right:16px;box-shadow:0 24px 60px -16px #00000040}.tweaks-head{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);justify-content:space-between;align-items:center;font-size:11px;display:flex}.tweaks-head b{color:var(--ink);font-weight:700}.tweaks-close{color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:22px;line-height:1}.tweaks-row{color:var(--ink-2);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.tweaks-row label{font-family:var(--mono);letter-spacing:.06em}.seg{border:1px solid var(--line-2);border-radius:999px;display:inline-flex;overflow:hidden}.seg button{font-family:var(--mono);color:var(--ink-2);cursor:pointer;background:0 0;border:0;padding:5px 10px;font-size:11px}.seg button.on{background:var(--ink);color:var(--bg)}.toggle{background:var(--surface-2);border:1px solid var(--line-2);font-family:var(--mono);letter-spacing:.12em;color:var(--ink-2);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:10px}.toggle.on{background:var(--accent);color:#fff;border-color:var(--accent)}:root{--bg:#f5efe3;--bg-2:#ebe2cf;--paper:#fbf7ee;--ink:#1f1a14;--ink-2:#4b4338;--muted:#8c8170;--line:#d9cdb4;--line-2:#c8b994;--accent:#b35a30;--accent-2:#823813;--gold:#b08a3e;--serif:"Noto Serif TC", "Songti TC", "PingFang TC", serif;--sans:"Noto Sans TC", "PingFang TC", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}.hero{text-align:center;max-width:1160px;margin:0 auto;padding:80px 32px 32px;position:relative}.hero .stamp{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--accent-2);background:#b35a3014;border:1px solid #b35a3040;border-radius:999px;align-items:center;gap:8px;margin-bottom:24px;padding:6px 14px;font-size:11px;display:inline-flex}.hero .stamp:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.hero h1{font-family:var(--serif);letter-spacing:.06em;margin:0 0 18px;font-size:clamp(40px,6.4vw,80px);font-weight:900;line-height:1.1}.hero h1 em{color:var(--accent-2);font-style:normal}.hero .lede{max-width:640px;color:var(--ink-2);text-wrap:pretty;margin:0 auto;font-size:17px;line-height:1.85}.hero .meta{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:center;align-items:center;gap:28px;margin-top:28px;padding-top:24px;display:inline-flex}.hero .meta span{font-family:var(--mono);color:var(--muted);letter-spacing:.08em;font-size:12px}.hero .meta b{font-family:var(--sans);color:var(--ink);font-weight:600}.hero .actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px;display:flex}.btn{font-family:var(--sans);border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:transform .15s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.ghost{color:var(--ink);background:0 0}.quicknav{flex-wrap:wrap;justify-content:center;gap:8px;max-width:1160px;margin:24px auto 0;padding:0 32px;display:flex}.quicknav a{font-family:var(--mono);letter-spacing:.1em;color:var(--ink-2);border:1px solid var(--line);background:#fbf7ee99;border-radius:999px;padding:6px 12px;font-size:11px;text-decoration:none;transition:all .15s}.quicknav a:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}.quicknav a b{color:var(--accent-2);margin-right:6px}.tiers{flex-direction:column;gap:96px;max-width:1160px;margin:0 auto;padding:64px 32px 48px;display:flex}.tier{grid-template-columns:minmax(240px,320px) 1fr;align-items:start;gap:56px;scroll-margin-top:24px;display:grid}.tier:nth-child(2n){grid-template-columns:1fr minmax(240px,320px)}.tier:nth-child(2n) .tier-img-wrap{order:2}.tier-img-wrap{max-width:260px;position:relative}.tier-img-wrap a{display:block}.tier-img{border:1px solid var(--line);border-radius:14px;width:100%;height:auto;display:block;box-shadow:0 30px 60px -28px #1f1a1466,0 8px 16px -8px #1f1a1426}.tier-img-wrap:before{content:"";z-index:-1;background:#ffffff4d;border-radius:18px;position:absolute;inset:-10px}.tier-body{padding-top:12px}.tier-eyebrow{font-family:var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;font-size:12px;display:flex}.tier-eyebrow .lv{font-family:var(--sans);color:var(--paper);background:var(--ink);letter-spacing:.06em;text-transform:none;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:600}.tier-eyebrow .range{color:var(--accent-2);letter-spacing:.14em}.tier-name{font-family:var(--serif);letter-spacing:.04em;margin:0 0 10px;font-size:clamp(36px,4.6vw,56px);font-weight:700;line-height:1.1}.tier-tag{color:var(--ink-2);margin:0 0 28px;font-size:16px}.tier-tag:before{content:"✦ ";color:var(--accent);margin-right:4px}.poem{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:28px;padding:28px 32px;position:relative;box-shadow:0 4px #1f1a140a}.poem-text{font-family:var(--serif);letter-spacing:.08em;color:var(--ink);white-space:pre-line;text-align:center;font-size:clamp(18px,1.9vw,22px);font-weight:500;line-height:2}.summary{color:var(--ink-2);text-wrap:pretty;margin:0 0 28px;font-size:16px;line-height:1.85}.list h4{font-family:var(--mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--line);margin:0 0 12px;padding-bottom:8px;font-size:11px}.pagefoot h3{font-family:var(--serif);letter-spacing:.06em;margin:0 0 12px;font-size:28px;font-weight:700}.tier{padding-top:12px}@media (width<=760px){.hero{padding:56px 20px 24px}.quicknav{padding:0 20px}.tiers{gap:64px;padding:40px 20px 24px}.tier,.tier:nth-child(2n){grid-template-columns:1fr;gap:28px}.tier:nth-child(2n) .tier-img-wrap{order:0}.tier-img-wrap{max-width:219px;margin:0 auto}.lists{grid-template-columns:1fr;gap:18px}.poem{padding:22px 20px}.pagefoot{padding:48px 20px 56px}}@media print{body{background:#fff}.quicknav,.hero .actions{display:none}.tier{break-inside:avoid;page-break-inside:avoid}}:root{--bg:#f5efe3;--paper:#fbf7ee;--ink:#1f1a14;--ink-2:#4b4338;--muted:#8c8170;--line:#d9cdb4;--line-2:#c8b994;--accent:#b35a30;--accent-2:#823813;--gold:#b08a3e;--serif:"Noto Serif TC", "Songti TC", "PingFang TC", serif;--sans:"Noto Sans TC", "PingFang TC", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:radial-gradient(1200px 600px at 50% -200px, #b08a3e2e, transparent 70%), radial-gradient(900px 600px at 100% 100%, #b35a301a, transparent 70%), var(--bg);-webkit-font-smoothing:antialiased;line-height:1.7}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:980px;margin:0 auto;padding:24px 28px;display:flex}.topbar a{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);font-size:11px;text-decoration:none}.topbar a:hover{color:var(--accent)}.topbar .brand{font-family:var(--serif);letter-spacing:.12em;color:var(--ink);text-transform:none;font-size:14px;font-weight:700}.hero{max-width:980px;margin:0 auto;padding:32px 28px 0}.hero-grid{grid-template-columns:minmax(220px,320px) 1fr;align-items:center;gap:48px;display:grid}@media (width<=720px){.hero-grid{grid-template-columns:1fr;gap:24px}.hero-img-wrap{max-width:240px;margin:0 auto}}.hero-img-wrap{position:relative}.hero-img-wrap:before{content:"";border:1px solid var(--line-2);z-index:0;background:#fff6;border-radius:22px;position:absolute;inset:-14px}.hero-img-wrap{max-width:219px}.hero-img{z-index:1;filter:drop-shadow(0 24px 48px #1f1a1447)drop-shadow(0 6px 12px #1f1a141f);width:100%;height:auto;display:block;position:relative}.hero-info .stamp{font-family:var(--mono);letter-spacing:.22em;color:var(--accent-2);background:#b35a3014;border:1px solid #b35a3040;border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:6px 14px;font-size:11px;display:inline-flex}.hero-info .stamp:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.hero-info .lv-badge{background:var(--ink);color:var(--paper);letter-spacing:.06em;vertical-align:middle;border-radius:4px;margin-right:10px;padding:4px 12px;font-size:13px;font-weight:600;display:inline-block}.hero-info .range{font-family:var(--mono);color:var(--accent-2);letter-spacing:.14em;font-size:13px}.hero-info h1{font-family:var(--serif);letter-spacing:.08em;margin:14px 0 10px;font-size:clamp(36px,5vw,60px);font-weight:900;line-height:1.05}.hero-info .tag{color:var(--ink-2);margin:0 0 22px;font-size:16px}.hero-info .poem{text-align:left;margin-top:4px;padding:24px}.hero-info .poem .poem-text{letter-spacing:.08em;text-align:left;font-size:clamp(15px,1.5vw,18px);line-height:1.95}.hero-info .summary{color:var(--ink-2);text-wrap:pretty;margin:20px 0 0;font-size:15px;line-height:1.85}.hero-info .tag:before{content:"✦ ";color:var(--accent)}.section{max-width:980px;margin:0 auto;padding:48px 28px 0}.poem{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:14px;padding:36px 32px;position:relative}.poem:before,.poem:after{content:"";border:2px solid var(--gold);width:28px;height:28px;position:absolute}.poem:before{border-bottom:0;border-right:0;top:10px;left:10px}.poem:after{border-top:0;border-left:0;bottom:10px;right:10px}.poem .label{font-family:var(--mono);letter-spacing:.24em;color:var(--gold);text-transform:uppercase;margin-bottom:18px;font-size:10px}.poem-text{font-family:var(--serif);letter-spacing:.1em;color:var(--ink);white-space:pre-line;margin:0;font-size:clamp(18px,2.1vw,24px);font-weight:500;line-height:2.1}.summary{color:var(--ink);text-wrap:pretty;max-width:720px;margin:0;font-size:17px;line-height:1.9}.lists{grid-template-columns:1fr 1fr;gap:32px;display:grid}@media (width<=640px){.lists{grid-template-columns:1fr;gap:24px}}.list h2{font-family:var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--line);margin:0 0 14px;padding-bottom:10px;font-size:11px}.list h2 b{color:var(--ink);font-family:var(--sans);letter-spacing:.04em;margin-right:8px;font-weight:600}.list ul{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.list li{color:var(--ink-2);padding-left:22px;font-size:15px;line-height:1.65;position:relative}.list li:before{content:"";background:var(--accent);border-radius:50%;width:7px;height:7px;position:absolute;top:10px;left:0}.list.growth li:before{background:var(--gold)}.tier-nav{grid-template-columns:1fr 1fr;gap:12px;max-width:980px;margin:60px auto 0;padding:0 28px;display:grid}@media (width<=640px){.tier-nav{grid-template-columns:1fr}}.tier-nav a{border:1px solid var(--line);color:var(--ink);background:var(--paper);border-radius:10px;flex-direction:column;gap:4px;padding:14px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.tier-nav a:hover{border-color:var(--ink);transform:translateY(-1px)}.tier-nav a.next{text-align:right;align-items:flex-end}.tier-nav .dir{font-family:var(--mono);letter-spacing:.18em;color:var(--muted);text-transform:uppercase;font-size:10px}.tier-nav .ttl{font-size:15px;font-weight:600}.share-row{flex-wrap:wrap;justify-content:center;gap:10px;max-width:980px;margin:36px auto 0;padding:0 28px;display:flex}.share-row .btn{border:1.5px solid var(--ink);background:var(--ink);color:var(--paper);font-family:var(--sans);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:11px 18px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.share-row .btn.ghost{color:var(--ink);background:0 0}.pagefoot{text-align:center;background:linear-gradient(#0000,#1f1a140f);margin-top:80px;padding:48px 28px 56px}.pagefoot p{color:var(--ink-2);max-width:480px;margin:0 auto 8px;font-size:14px}.pagefoot .by{font-family:var(--mono);letter-spacing:.18em;color:var(--muted);margin-top:18px;font-size:11px}.pagefoot .by b{color:var(--ink);font-family:var(--sans);font-weight:600}.lvfoot{flex-wrap:wrap;gap:12px;max-width:980px;margin:60px auto 80px;padding:0 28px;display:flex}.bar-back[data-v-7d265a2c]{font-family:var(--mono);letter-spacing:.12em;color:var(--ink-2);font-size:11px;text-decoration:none;transition:color .15s}.bar-back[data-v-7d265a2c]:hover{color:var(--ink)}.top-body[data-v-7d265a2c]{flex-direction:column;gap:40px;width:100%;max-width:720px;margin:0 auto;display:flex}.module-section[data-v-7d265a2c]{flex-direction:column;gap:0;display:flex}.phase-label[data-v-7d265a2c]{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:12px;display:flex}.phase-num[data-v-7d265a2c]{font-family:var(--mono);letter-spacing:.2em;color:var(--paper);background:var(--ink);text-transform:uppercase;border-radius:4px;padding:4px 10px;font-size:11px}.phase-name[data-v-7d265a2c]{font-family:var(--mono);letter-spacing:.12em;color:var(--ink);font-size:12px;font-weight:600}.phase-desc[data-v-7d265a2c]{color:var(--ink-2);margin:0 0 20px;font-size:14px;line-height:1.75}.phase-footer[data-v-7d265a2c]{margin-top:16px}.phase-link[data-v-7d265a2c]{font-family:var(--mono);letter-spacing:.12em;color:var(--accent-2,var(--accent));border-bottom:1px solid;padding-bottom:1px;font-size:11px;text-decoration:none}.phase-link[data-v-7d265a2c]:hover{opacity:.75}.level-card.locked[data-v-7d265a2c]{opacity:.45;cursor:default;pointer-events:none}.arrow.muted[data-v-7d265a2c]{color:var(--muted)}.tag.coming[data-v-7d265a2c]{font-family:var(--mono);letter-spacing:.14em;color:var(--gold,#b08a3e);text-transform:uppercase;border:1px solid;border-radius:999px;padding:3px 8px;font-size:10px}:root{--bg:oklch(98.5% .005 80);--surface:#fff;--surface-2:oklch(97% .005 80);--ink:oklch(18% .01 80);--ink-2:oklch(42% .01 80);--muted:oklch(60% .008 80);--line:oklch(92% .005 80);--line-2:oklch(86% .005 80);--accent:oklch(62% .16 35);--accent-2:oklch(55% .12 35);--accent-soft:oklch(95% .04 35);--ok:oklch(60% .13 150);--ok-soft:oklch(94% .04 150);--warn:oklch(72% .14 70);--err:oklch(58% .18 25);--err-soft:oklch(95% .05 25);--shadow:0 1px 0 oklch(90% .005 80), 0 18px 40px -24px oklch(30% .02 80/.18);--radius:14px;--radius-sm:8px;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans:"Noto Sans TC", "Helvetica Neue", Helvetica, Arial, sans-serif}[data-theme=dark]{--bg:oklch(16% .01 80);--surface:oklch(21% .01 80);--surface-2:oklch(18% .01 80);--ink:oklch(96% .005 80);--ink-2:oklch(78% .005 80);--muted:oklch(60% .008 80);--line:oklch(28% .01 80);--line-2:oklch(34% .01 80);--accent:oklch(74% .16 35);--accent-soft:oklch(32% .06 35);--ok:oklch(74% .14 150);--ok-soft:oklch(30% .06 150);--err:oklch(70% .18 25);--err-soft:oklch(32% .07 25);--shadow:0 1px 0 oklch(28% .01 80), 0 24px 60px -28px oklch(0% 0 0/.6)}[data-theme=paper]{--bg:oklch(96% .018 85);--surface:oklch(98.5% .012 85);--surface-2:oklch(95% .018 85);--ink:oklch(22% .02 60);--ink-2:oklch(42% .02 60);--muted:oklch(58% .015 60);--line:oklch(88% .018 80);--line-2:oklch(80% .02 80);--accent:oklch(55% .14 30);--accent-soft:oklch(92% .04 30)}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;padding:0}button{cursor:pointer;font-family:inherit}button:focus-visible,[role=button]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{grid-template-rows:auto 1fr auto;min-height:100vh;display:grid}.bar{border-bottom:1px solid var(--line);background:var(--bg);z-index:5;justify-content:space-between;align-items:center;gap:16px;padding:16px 28px;display:flex;position:sticky;top:0}.brand{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-2);white-space:nowrap;font-size:11px}.brand b{color:var(--ink);font-weight:600}.brand .sep{color:var(--line-2);margin:0 8px}.share-icon-btn{cursor:pointer;color:var(--ink-2);background:0 0;border:none;border-radius:8px;align-items:center;padding:6px;transition:color .15s,background .15s;display:flex}.share-icon-btn:hover{color:var(--ink);background:var(--line)}.progress{gap:6px;display:flex}.progress span{background:var(--line-2);border-radius:2px;width:24px;height:4px}.progress span.done{background:var(--accent)}.progress span.now{background:var(--ink)}.stats{font-family:var(--mono);color:var(--ink-2);letter-spacing:.04em;gap:18px;font-size:12px;display:flex}.stats .num{color:var(--ink);font-weight:600}.stage{flex-direction:column;gap:24px;width:100%;max-width:980px;margin:0 auto;padding:32px 28px 80px;display:flex}@media (width<=720px){.bar{padding:14px 16px}.stage{gap:18px;padding:22px 16px 100px}.stats{gap:12px}.progress span{width:16px}}.eyebrow{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:11px;display:flex}.eyebrow .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}h1.q-title{letter-spacing:-.01em;text-wrap:balance;margin:0;font-size:clamp(22px,3vw,30px);font-weight:700;line-height:1.25}.q-brief{color:var(--ink-2);text-wrap:pretty;max-width:64ch;margin:0;font-size:15px;line-height:1.55}.btn{appearance:none;border:1px solid var(--ink);background:var(--ink);color:var(--bg);letter-spacing:.02em;white-space:nowrap;border-radius:999px;padding:12px 22px;font-size:14px;font-weight:600;transition:transform .12s,opacity .12s}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.35;cursor:not-allowed;transform:none}.btn.ghost{color:var(--ink);border-color:var(--line-2);background:0 0}.btn.accent{background:var(--accent);border-color:var(--accent);color:#fff}.btn.sm{padding:8px 14px;font-size:13px}.splash{flex-direction:column;justify-content:center;gap:28px;max-width:720px;min-height:70vh;display:flex}.splash .kicker{font-family:var(--mono);letter-spacing:.2em;color:var(--accent);text-transform:uppercase;font-size:12px}.splash h1{letter-spacing:-.02em;margin:0;font-size:clamp(38px,6vw,64px);font-weight:700;line-height:1.04}.splash h1 em{color:var(--ink-2);letter-spacing:0;margin-top:14px;font-size:.42em;font-style:normal;font-weight:400;display:block}.splash p{color:var(--ink-2);text-wrap:pretty;max-width:56ch;margin:0;font-size:16px;line-height:1.65}.splash .meta{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;grid-template-columns:repeat(3,1fr);gap:16px;font-size:11px;display:grid}@media (width<=640px){.splash .meta{grid-template-columns:1fr}}.splash .meta .cell{border-top:1px solid var(--line);padding:14px 0}.splash .meta .cell b{color:var(--ink);letter-spacing:.02em;margin-top:6px;font-size:13px;font-weight:600;display:block}.levels{flex-direction:column;gap:12px;display:flex}.level-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;text-align:left;align-items:center;gap:16px;padding:20px 22px;transition:border-color .15s,transform .15s;display:flex}.level-card:hover{border-color:var(--ink);transform:translateY(-1px)}.level-card .num{font-family:var(--mono);color:var(--accent);min-width:56px;font-size:28px;font-weight:700}.level-card .body{flex:1;min-width:0}.level-card .body h3{letter-spacing:-.005em;margin:0 0 4px;font-size:18px}.level-card .body p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.level-card .arrow{color:var(--muted);font-size:22px}.level-card.disabled{opacity:.5;cursor:not-allowed}.level-card.disabled:hover{border-color:var(--line);transform:none}.level-card .tag{font-family:var(--mono);letter-spacing:.12em;border:1px solid var(--line-2);color:var(--muted);vertical-align:middle;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px;display:inline-block}.brief{flex-direction:column;gap:22px;max-width:760px;display:flex}.brief .scenario-bg{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);white-space:pre-line;padding:18px 20px;font-size:14px;line-height:1.6}.purpose-note{color:var(--ink);quotes:"「" "」";margin:0;padding:0;font-size:14px;font-style:normal;font-weight:700;line-height:1.75}.purpose-note:before{content:open-quote;margin-right:2px}.purpose-note:after{content:close-quote;margin-left:2px}.goals{flex-wrap:wrap;gap:8px;display:flex}.goal-chip{font-family:var(--mono);letter-spacing:.06em;border:1px solid var(--line-2);color:var(--ink-2);background:var(--surface);border-radius:999px;padding:6px 10px;font-size:11px}.scoring-rules{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.scoring-meta{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;flex-wrap:wrap;gap:20px;font-size:11px;display:flex}.scoring-meta b{color:var(--ink);font-weight:600}.scoring-grid{flex-direction:column;gap:7px;display:flex}.sc-row{grid-template-columns:80px 1fr 36px;align-items:center;gap:10px;display:grid}.sc-label{color:var(--ink-2);font-size:12px}.sc-bar{background:var(--line);border-radius:3px;height:6px;overflow:hidden}.sc-fill{background:var(--accent);border-radius:3px;height:100%;display:block}.sc-pts{font-family:var(--mono);color:var(--ink-2);text-align:right;font-size:11px}.sc-note{color:var(--muted);margin:0;font-size:12px;line-height:1.6}.cat-guide{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:12px;padding:16px 18px;display:flex}.cat-intro{color:var(--ink-2);margin:0;font-size:13px;line-height:1.6}.cat-list{flex-direction:column;gap:8px;display:flex}.cat-item{grid-template-columns:88px 1fr;align-items:baseline;gap:10px;display:grid}.cat-name{color:var(--ink);background:var(--accent-soft);border:1px solid var(--accent);text-align:center;white-space:nowrap;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600}.cat-desc{color:var(--ink-2);font-size:13px;line-height:1.5}.stake-list{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width<=720px){.stake-list{grid-template-columns:1fr}}.stake-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;grid-template-columns:56px 1fr;align-items:start;gap:14px;padding:16px 18px;display:grid}.stake-card .avatar{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;grid-row:1/span 4;width:56px;height:56px;overflow:hidden}.stake-card .avatar svg{width:100%;height:100%;display:block}.stake-card .head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.stake-card .name{font-size:16px;font-weight:700}.stake-card .role{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;font-size:11px}.stake-card .desc{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.stake-card .powers{flex-wrap:wrap;gap:6px;display:flex}.power{font-family:var(--mono);letter-spacing:.04em;background:var(--surface-2);border:1px solid var(--line);color:var(--ink-2);border-radius:4px;align-items:center;gap:5px;padding:3px 7px;font-size:10px;display:inline-flex}.power b{color:var(--ink);font-weight:600}.power.high{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2)}.power.high b{color:var(--accent-2)}[data-theme=dark] .power.high,[data-theme=dark] .power.high b{color:var(--accent)}.play{grid-template-columns:280px 1fr;gap:24px;display:grid}@media (width<=880px){.play{grid-template-columns:1fr;gap:18px}}.speaker-rail{flex-direction:column;gap:12px;display:flex}.speaker-rail .rail-title{font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-size:11px}.dlg-area{flex-direction:column;gap:18px;display:flex}.dlg-wrap{grid-template-columns:64px 1fr;align-items:flex-start;gap:16px;display:grid}.dlg-wrap .avatar-lg{background:var(--surface);border:1px solid var(--line);border-radius:14px;flex-shrink:0;width:64px;height:64px;overflow:hidden}.dlg-wrap .avatar-lg svg{width:100%;height:100%;display:block}.dlg-bubble{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);letter-spacing:-.005em;text-wrap:pretty;padding:22px 24px;font-size:18px;line-height:1.55;position:relative}.dlg-wrap .dlg-bubble:before{left:14px}.dlg-bubble:before{content:"";background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);width:12px;height:12px;position:absolute;top:-7px;left:32px;transform:rotate(45deg)}.dlg-bubble .who{font-family:var(--mono);letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:10px;font-size:11px;display:block}.q-block{flex-direction:column;gap:10px;display:flex}.q-label{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:11px}.q-label .opt{color:var(--ink-2);text-transform:none;letter-spacing:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{appearance:none;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:500;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--ink-2)}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chip.correct{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.chip.wrong{background:var(--err-soft);border-color:var(--err);color:var(--err);text-decoration:line-through}.chip.missed{border-style:dashed;border-color:var(--ok);color:var(--ok);background:0 0}.chip .x{font-family:var(--mono);opacity:.7;font-size:10px}.radio-list{flex-direction:column;gap:8px;display:flex}.radio-row{appearance:none;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink);align-items:flex-start;gap:12px;padding:12px 16px;font-size:14px;line-height:1.45;transition:border-color .12s;display:flex}.radio-row:hover:not(:disabled){border-color:var(--ink-2)}.radio-row:disabled{cursor:default}.q-block.locked{opacity:.38;pointer-events:none}.radio-row .key{font-family:var(--mono);color:var(--muted);border:1px solid var(--line-2);text-align:center;border-radius:4px;flex-shrink:0;min-width:22px;padding:1px 6px;font-size:11px}.radio-row.on{border-color:var(--ink);border-width:1.5px}.radio-row.on .key{background:var(--ink);color:var(--bg);border-color:var(--ink)}.radio-row.correct{border-color:var(--ok);background:var(--ok-soft)}.radio-row.correct .key{background:var(--ok);color:var(--bg);border-color:var(--ok)}.radio-row.wrong{border-color:var(--err);background:var(--err-soft)}.opt-text{flex-direction:column;gap:2px;display:flex}.opt-hint{color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.radio-row .quality{font-family:var(--mono);letter-spacing:.12em;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);border-radius:4px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:10px}.radio-row .quality.best{background:var(--ok-soft);color:var(--ok);border-color:var(--ok)}.radio-row .quality.good{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent)}.radio-row .quality.bad{background:var(--err-soft);color:var(--err);border-color:var(--err)}.feedback{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);flex-direction:column;gap:12px;padding:18px 22px;animation:.3s both slide-in;display:flex}.feedback.ok{border-left-color:var(--ok)}.feedback.err{border-left-color:var(--err)}.feedback .verdict{font-family:var(--mono);letter-spacing:.18em;align-items:center;gap:12px;font-size:11px;font-weight:700;display:flex}.feedback.ok .verdict{color:var(--ok)}.feedback.err .verdict{color:var(--err)}.feedback .delta{font-family:var(--mono);color:var(--ink-2);letter-spacing:.04em;font-weight:500}.feedback p{color:var(--ink);margin:0;font-size:14px;line-height:1.65}.feedback .small{color:var(--ink-2);font-size:13px}@keyframes slide-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.spk-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;grid-template-columns:40px 1fr;align-items:start;gap:10px;padding:14px 16px;transition:border-color .15s,opacity .15s;display:grid}.spk-card .avatar{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;grid-row:1/span 4;width:40px;height:40px;overflow:hidden}.spk-card .avatar svg{width:100%;height:100%;display:block}.spk-card.active{border-color:var(--ink);border-width:1.5px}.spk-card.active .avatar{border-color:var(--ink)}.spk-card.dim{opacity:.5}.spk-card .head{align-items:baseline;gap:8px;display:flex}.spk-card .name{font-size:14px;font-weight:700}.spk-card .role{font-family:var(--mono);color:var(--muted);letter-spacing:.06em;font-size:10px}.spk-card .desc{color:var(--ink-2);margin:0;font-size:11px;line-height:1.45}.spk-card .powers{flex-wrap:wrap;gap:4px;display:flex}.spk-card .powers .power{padding:2px 5px;font-size:9px}.result{flex-direction:column;gap:26px;max-width:760px;display:flex}.result .score-row{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.score-inline{display:none}.result .score-row .big{letter-spacing:-.04em;color:var(--ink);font-size:clamp(72px,12vw,120px);font-weight:700;line-height:1}.result .score-row .of{color:var(--muted);font-size:22px;font-family:var(--mono)}.result .rank-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:22px 24px}.result .rank-card .tier{font-family:var(--mono);letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin-bottom:8px;font-size:11px}.result .rank-card h2{letter-spacing:-.01em;margin:0 0 8px;font-size:26px}.result .rank-card p{color:var(--ink-2);margin:0;font-size:14px;line-height:1.6}.bd-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}@media (width<=640px){.bd-grid{grid-template-columns:1fr}}.bd-cell{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);padding:14px 16px}.bd-cell .label{font-family:var(--mono);letter-spacing:.14em;color:var(--muted);text-transform:uppercase;font-size:10px}.bd-cell .val{letter-spacing:-.02em;margin-top:4px;font-size:26px;font-weight:700}.bd-cell .val small{color:var(--muted);margin-left:4px;font-size:13px;font-weight:400}.bd-cell .bar-wrap{background:var(--line);border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.bd-cell .bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .6s}.ref-list{flex-direction:column;gap:10px;display:flex}.ref-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);overflow:hidden}.ref-card.ok{border-left:3px solid var(--ok)}.ref-card.warn{border-left:3px solid var(--accent)}.ref-card.miss{border-left:3px solid var(--err)}.ref-card summary{cursor:pointer;align-items:flex-start;gap:12px;padding:14px 16px;list-style:none;display:flex}.ref-card summary::-webkit-details-marker{display:none}.ref-card .mark{font-family:var(--mono);letter-spacing:.14em;background:var(--surface-2);color:var(--ink-2);border-radius:4px;flex-shrink:0;padding:3px 7px;font-size:10px}.ref-card.ok .mark{background:var(--ok-soft);color:var(--ok)}.ref-card.warn .mark{background:var(--accent-soft);color:var(--accent-2)}.ref-card.miss .mark{background:var(--err-soft);color:var(--err)}.ref-head{flex:1;justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.ref-head .who-said{color:var(--ink);flex:1;min-width:0;font-size:13px;line-height:1.5}.score-pill{font-family:var(--mono);color:var(--ink-2);background:var(--surface-2);border:1px solid var(--line);border-radius:999px;flex-shrink:0;padding:2px 8px;font-size:11px}.ref-body{border-top:1px dashed var(--line);flex-direction:column;gap:8px;padding:14px 16px 16px;display:flex}.ref-body .explain{color:var(--ink-2);margin:0 0 6px;font-size:13px;line-height:1.6}.ref-row{grid-template-columns:92px 1fr;gap:12px;font-size:13px;line-height:1.5;display:grid}.ref-row .k{font-family:var(--mono);letter-spacing:.06em;color:var(--muted);padding-top:2px;font-size:11px}.ref-row .v b{color:var(--ink);font-weight:600}.ref-row .v i{color:var(--err);font-size:12px;font-style:normal;font-family:var(--mono);margin-top:2px;display:block}.notes-list{flex-direction:column;gap:10px;display:flex}.note{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);align-items:flex-start;gap:12px;padding:12px 14px;font-size:13px;line-height:1.55;display:flex}.note .mark{font-family:var(--mono);letter-spacing:.14em;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px}.note.ok .mark{background:var(--ok-soft);color:var(--ok)}.note.miss .mark{background:var(--err-soft);color:var(--err)}.note.warn .mark{background:var(--accent-soft);color:var(--accent-2)}.note .body{flex:1;min-width:0}.note .body b{color:var(--ink)}.note .body .who-said{font-family:var(--mono);color:var(--muted);letter-spacing:.04em;margin-bottom:4px;font-size:11px;display:block}.foot{border-top:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:12px;padding:14px 28px;display:flex;position:sticky;bottom:0}.foot .hint{font-family:var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;font-size:11px}@media (width<=720px){.foot{flex-direction:column-reverse;align-items:stretch;padding:12px 16px}.foot .hint{text-align:center}.foot .foot-btns{flex-direction:column-reverse}.btn{width:100%;padding:14px}}.hr{background:var(--line);height:1px;margin:4px 0}.site-footer{background:var(--ink);color:oklch(85% .005 80);font-family:var(--sans);margin-top:40px;padding:36px 28px 28px}[data-theme=paper] .site-footer{background:oklch(22% .02 60)}[data-theme=dark] .site-footer{background:oklch(10% .005 80)}.site-footer .ft-inner{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:32px;max-width:980px;margin:0 auto;display:flex}.site-footer .ft-brand{flex-direction:row;align-items:center;gap:16px;display:flex}.site-footer .ft-logo{align-items:center;display:flex}.site-footer .ft-logo-img{width:auto;height:28px;display:block}.site-footer .tagline{color:oklch(70% .005 80);letter-spacing:.04em;border-left:1px solid oklch(35% .01 80);padding-left:16px;font-size:12px;line-height:1.5}.site-footer .ft-links{gap:24px;font-size:13px;display:flex}.site-footer .ft-links a{color:oklch(85% .005 80);text-decoration:none;transition:color .15s}.site-footer .ft-links a:hover{color:var(--accent)}.site-footer .ft-bottom{max-width:980px;font-family:var(--mono);color:oklch(60% .005 80);letter-spacing:.06em;border-top:1px solid oklch(30% .01 80);flex-wrap:wrap;justify-content:space-between;gap:16px;margin:24px auto 0;padding-top:16px;font-size:11px;display:flex}@media (width<=640px){.site-footer{padding:28px 16px 20px}.site-footer .ft-inner{flex-direction:column;gap:18px}}.rank-card{grid-template-columns:220px 1fr;align-items:start;gap:28px;padding:22px;display:grid}.rank-card .rank-img{border-radius:var(--radius-sm);border:1px solid var(--line);width:100%;height:auto;display:block}.rank-card .rank-meta .tier{font-family:var(--mono);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;font-size:11px}.rank-card .rank-meta h2{letter-spacing:.04em;margin:8px 0 12px;font-size:clamp(28px,3.6vw,40px)}.rank-card .rank-summary{color:var(--ink-2);margin:0;font-size:14px;line-height:1.7}@media (width<=640px){.rank-card{grid-template-columns:1fr;gap:0;padding:0;overflow:hidden}.rank-card .rank-img{border-top:none;border-left:none;border-right:none;border-radius:0}.rank-card .rank-meta{padding:18px 20px 20px}.score-inline{margin-bottom:4px;display:flex}.result>.score-row{display:none}}.tier-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);color:inherit;flex-direction:column;text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.tier-card:hover{border-color:var(--ink);box-shadow:var(--shadow);transform:translateY(-2px)}.tier-card.current{border-color:var(--accent);border-width:2px}.tier-card.current:after{content:"你的等級";font-family:var(--mono);letter-spacing:.1em;background:var(--accent);color:#fff;z-index:2;border-radius:999px;padding:3px 8px;font-size:10px;position:absolute;top:8px;right:8px}.tier-card .tier-img{aspect-ratio:.42;background:var(--surface-2);filter:saturate(.9);background-position:top;background-size:cover;width:100%}.tier-card.current .tier-img{filter:none}.tier-card.locked .tier-img{filter:grayscale(.8)opacity(.55)}.tier-card .tier-body{flex-direction:column;gap:4px;padding:12px 14px;display:flex}.tier-card .tier-lv{font-family:var(--mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:10px}.tier-card .tier-name{letter-spacing:-.005em;font-size:15px;font-weight:700}.tier-card .tier-min{font-family:var(--mono);color:var(--ink-2);margin-top:2px;font-size:10px}.lv-page{flex-direction:column;gap:28px;max-width:880px;margin:0 auto;padding:32px 24px 64px;display:flex}.lv-page .nav-back{font-family:var(--mono);letter-spacing:.14em;color:var(--ink-2);text-transform:uppercase;font-size:11px;text-decoration:none}.lv-page .nav-back:hover{color:var(--accent)}.lv-hero{grid-template-columns:320px 1fr;align-items:start;gap:32px;display:grid}@media (width<=720px){.lv-hero{grid-template-columns:1fr}}.lv-hero .img-wrap{border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);overflow:hidden}.lv-hero img{width:100%;height:auto;display:block}.lv-hero .info{flex-direction:column;gap:14px;display:flex}.lv-hero .lv-tag{font-family:var(--mono);letter-spacing:.18em;color:var(--accent);text-transform:uppercase;font-size:12px}.lv-hero h1{letter-spacing:-.02em;margin:0;font-size:clamp(32px,5vw,52px);font-weight:700;line-height:1.1}.lv-hero .summary{color:var(--ink-2);margin:0;font-size:16px;line-height:1.65}.lv-hero .score-badge{font-family:var(--mono);color:var(--ink-2);border:1px solid var(--line-2);border-radius:999px;align-self:flex-start;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:inline-flex}.lv-hero .score-badge b{color:var(--ink);font-weight:600}.lv-section{flex-direction:column;gap:12px;display:flex}.lv-section h2{letter-spacing:-.005em;align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;display:flex}.lv-section h2:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px}.lv-section ul{color:var(--ink);margin:0;padding-left:20px;font-size:15px;line-height:1.75}.lv-section ul li{margin-bottom:6px}.lv-section p{color:var(--ink);margin:0;font-size:15px;line-height:1.7}.lv-nav{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:20px;display:flex}.lv-nav a{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:200px;color:inherit;flex-direction:column;flex:1;gap:4px;padding:14px 18px;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.lv-nav a:hover{border-color:var(--ink);transform:translateY(-1px)}.lv-nav a .dir{font-family:var(--mono);letter-spacing:.16em;color:var(--muted);text-transform:uppercase;font-size:10px}.lv-nav a .ttl{font-size:14px;font-weight:600}.lv-nav .next{text-align:right;align-items:flex-end}
