:root{--bg:#f4f1e9;--bg-elev:#eae5d8;--ink:#201d19;--ink-dim:#6b6558;--line:#d8d2c2;--gold:#a97c3d;--jade:#4f7365;--font-display:"Songti TC", "STSong", "Noto Serif TC", serif;--font-body:-apple-system, BlinkMacSystemFont, "PingFang TC", "Helvetica Neue", sans-serif;--shadow-sm:0 1px 3px color-mix(in srgb, var(--ink) 8%, transparent);--shadow-md:0 6px 20px color-mix(in srgb, var(--ink) 10%, transparent)}@media (prefers-color-scheme:dark){:root{--bg:#10121a;--bg-elev:#191c28;--ink:#ece7dc;--ink-dim:#9a9cae;--line:#2a2e40;--gold:#c79a56;--jade:#6e9284;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 8px 24px #0006}}:root[data-theme=dark]{--bg:#10121a;--bg-elev:#191c28;--ink:#ece7dc;--ink-dim:#9a9cae;--line:#2a2e40;--gold:#c79a56;--jade:#6e9284;--shadow-sm:0 1px 3px #00000059;--shadow-md:0 8px 24px #0006}:root[data-theme=light]{--bg:#f4f1e9;--bg-elev:#eae5d8;--ink:#201d19;--ink-dim:#6b6558;--line:#d8d2c2;--gold:#a97c3d;--jade:#4f7365;--shadow-sm:0 1px 3px color-mix(in srgb, var(--ink) 8%, transparent);--shadow-md:0 6px 20px color-mix(in srgb, var(--ink) 10%, transparent)}*{box-sizing:border-box}html{height:100%;font-size:18px}html,body{background:var(--bg);max-width:100vw;color:var(--ink);font-family:var(--font-body);min-height:100%;margin:0;padding:0;overflow-x:hidden}.glow{z-index:0;background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--gold) 14%, transparent), transparent 55%), radial-gradient(circle at 75% 75%, color-mix(in srgb, var(--jade) 12%, transparent), transparent 55%);pointer-events:none;animation:26s ease-in-out infinite alternate drift;position:fixed;inset:-20%}@keyframes drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-2%,2%)scale(1.06)}}@media (prefers-reduced-motion:reduce){.glow{animation:none}}.visit-badge{z-index:2;letter-spacing:.04em;color:var(--ink-dim);background:color-mix(in srgb, var(--bg-elev) 85%, transparent);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:999px;padding:.4rem .9rem;font-size:.85rem;position:fixed;top:1.2rem;right:1.2rem}.stage{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:10vh 6vw;display:flex;position:relative}.scene{text-align:center;width:100%;max-width:40rem}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim);margin:0 0 2rem;font-size:.85rem}h1.title{font-family:var(--font-display);letter-spacing:.02em;text-wrap:balance;margin:0 0 1.8rem;font-size:clamp(2.2rem,5.5vw,3rem);font-weight:500;line-height:1.45}p.lede{color:var(--ink-dim);text-wrap:pretty;max-width:30rem;margin:0 auto 2.6rem;font-size:1.15rem;line-height:1.85}.btn-label{font-family:var(--font-display);letter-spacing:.04em;color:var(--ink);margin:0 0 1rem;font-size:1.2rem}.btn{appearance:none;border:1px solid var(--gold);color:var(--ink);font-family:var(--font-body);letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:999px;padding:1rem 2.6rem;font-size:1.05rem;font-weight:500;transition:background .35s,color .35s,transform .2s,box-shadow .35s}.btn:hover{background:var(--gold);color:var(--bg);box-shadow:var(--shadow-md)}.btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn:disabled:hover{color:var(--ink);box-shadow:none;background:0 0}.btn-ghost{border-color:var(--line);color:var(--ink-dim);background:0 0}.btn-ghost:hover{background:var(--bg-elev);color:var(--ink);box-shadow:none}.btn-row{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.6rem;display:flex}.prompt{font-family:var(--font-display);text-wrap:balance;margin:0 0 2.2rem;font-size:clamp(1.5rem,3.6vw,1.9rem);line-height:1.75}.thought-echo{font-family:var(--font-display);color:var(--gold);border-bottom:1px solid var(--gold);padding-bottom:.1rem;display:inline-block}textarea.field,input.field{background:var(--bg-elev);border:1px solid var(--line);width:100%;color:var(--ink);font-family:var(--font-body);border-radius:.9rem;margin:0 0 1.6rem;padding:1rem 1.2rem;font-size:1.1rem;line-height:1.75;transition:box-shadow .25s,border-color .25s}textarea.field{resize:vertical;min-height:6.5rem}textarea.field::placeholder,input.field::placeholder{color:var(--ink-dim)}textarea.field:focus-visible,input.field:focus-visible{border-color:var(--jade);box-shadow:0 0 0 3px color-mix(in srgb, var(--jade) 20%, transparent);outline:none}.yn-row{justify-content:center;gap:1rem;margin-bottom:.8rem;display:flex}.chip{appearance:none;border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);font-family:var(--font-body);cursor:pointer;border-radius:999px;padding:.8rem 2rem;font-size:1.05rem;transition:border-color .25s,transform .15s,box-shadow .25s}.chip:hover{border-color:var(--gold);box-shadow:var(--shadow-sm)}.chip:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.chip:active{transform:scale(.97)}.chip.chosen{border-color:var(--jade);color:var(--jade);box-shadow:var(--shadow-sm)}.reveal{text-align:left;border-top:1px solid var(--line);opacity:0;margin-top:2.2rem;padding-top:1.8rem;animation:.8s forwards rise;transform:translateY(8px)}@keyframes rise{to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none;transform:none}}.reveal p{font-family:var(--font-display);color:var(--ink);margin:0 0 1rem;font-size:1.25rem;line-height:1.95}.reveal p strong{color:var(--gold);font-weight:700}.reveal .tag{font-family:var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--jade);margin-bottom:1rem;font-size:.78rem;display:block}.reveal .loading{font-family:var(--font-display);color:var(--ink-dim);font-style:italic}.companion-loading{align-items:center;gap:.6rem;display:inline-flex}.companion-loading.compact{gap:.2rem}.companion-figures{gap:.35rem;display:inline-flex}.companion-figures .fig{font-size:1.15rem;animation:1.4s ease-in-out infinite companion-float;display:inline-block}.companion-figures .fig-1{animation-delay:0s}.companion-figures .fig-2{animation-delay:.2s}.companion-figures .fig-3{animation-delay:.4s}@keyframes companion-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.companion-text{display:inline-flex}.companion-text span{animation:1s ease-in-out infinite companion-bounce;display:inline-block}.companion-text span:first-child{animation-delay:0s}.companion-text span:nth-child(2){animation-delay:.15s}.companion-text span:nth-child(3){animation-delay:.3s}@keyframes companion-bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-5px)}}@media (prefers-reduced-motion:reduce){.companion-figures .fig,.companion-text span{animation:none}}.turn-card{text-align:center;border:1px solid var(--gold);background:var(--bg-elev);box-shadow:var(--shadow-md);border-radius:1.1rem;margin:0 0 2rem;padding:2.2rem 1.8rem}.turn-card .tag{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;font-size:.78rem;display:block}.turn-input{text-align:center;border:none;border-bottom:1px dashed var(--line);width:100%;color:var(--gold);font-family:var(--font-display);background:0 0;margin-bottom:.5rem;padding:.5rem .2rem;font-size:clamp(1.5rem,3.8vw,1.9rem)}.turn-input:focus-visible{border-bottom-color:var(--gold);outline:none}.turn-hint{color:var(--ink-dim);text-wrap:pretty;margin:0;font-size:.88rem;line-height:1.6}.turn-intro{color:var(--ink-dim);text-wrap:pretty;margin:0;font-size:1.08rem;line-height:1.85}.teach{text-align:left;border:1px solid var(--line);background:var(--bg-elev);box-shadow:var(--shadow-sm);border-radius:1rem;margin:0 0 2rem;padding:1.6rem 1.8rem}.teach-title{font-family:var(--font-display);margin:0;font-size:1.2rem}.teach-body{margin-top:1.2rem}.teach-body h4{font-family:var(--font-display);color:var(--jade);margin:1.4rem 0 .5rem;font-size:1.05rem;font-weight:500}.teach-body h4:first-child{margin-top:0}.teach-body p{color:var(--ink-dim);margin:0 0 .6rem;font-size:.95rem;line-height:1.8}.teach-body input.field{margin-bottom:.8rem;font-size:1rem}.evidence-list{text-align:left;margin-bottom:2rem}.evidence-list p.lead{color:var(--ink-dim);margin:0 0 1.1rem;font-size:.95rem;line-height:1.85}.evidence-row{align-items:center;gap:.8rem;margin-bottom:.8rem;display:flex}.evidence-row .num{font-family:var(--font-display);color:var(--gold);flex-shrink:0;width:1.6rem;font-size:1.1rem}.evidence-row input.field{margin:0}.link-btn{appearance:none;color:var(--ink-dim);font-family:var(--font-body);text-underline-offset:3px;cursor:pointer;background:0 0;border:none;margin:1.3rem auto 0;font-size:.92rem;text-decoration:underline;display:block}.link-btn:hover{color:var(--gold)}.judge-form{text-align:left;margin-bottom:2rem}.judge-item{margin-bottom:1.8rem}.judge-q{font-family:var(--font-display);color:var(--ink);text-wrap:pretty;margin:0 0 .7rem;font-size:1.08rem;line-height:1.75}.judge-stem{font-family:var(--font-display);color:var(--gold);margin-bottom:.5rem;font-size:1.08rem;display:block}.choice-field{border:1px solid var(--line);background:var(--bg-elev);border-radius:.9rem;margin:1.6rem 0;padding:1rem 1.2rem;transition:box-shadow .25s,border-color .25s}.choice-field .judge-q{margin:0 0 .8rem}.choice-field textarea.field-plain{width:100%;color:var(--ink);font-family:var(--font-body);resize:vertical;background:0 0;border:none;min-height:4rem;margin:0;padding:0;font-size:1.1rem;line-height:1.75;display:block}.choice-field textarea.field-plain::placeholder{color:var(--ink-dim)}.choice-field textarea.field-plain:focus-visible{outline:none}.choice-field:focus-within{border-color:var(--jade);box-shadow:0 0 0 3px color-mix(in srgb, var(--jade) 20%, transparent)}textarea.judge-blank{min-height:4.5rem}.pick-list{text-align:left;flex-direction:column;gap:.9rem;margin-bottom:2rem;display:flex}.pick-item{appearance:none;border:1px solid var(--line);background:var(--bg-elev);color:var(--ink);font-family:var(--font-display);text-align:left;cursor:pointer;border-radius:.9rem;padding:1.1rem 1.4rem;font-size:1.1rem;line-height:1.8;transition:border-color .25s,background .25s,box-shadow .25s}.pick-item:hover{border-color:var(--gold);background:color-mix(in srgb, var(--gold) 8%, var(--bg-elev));box-shadow:var(--shadow-sm)}.pick-item:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.promo-footer{z-index:1;text-align:center;border-top:1px solid var(--line);padding:3rem 6vw 3.2rem;position:relative}.promo-header{text-align:left;align-items:center;gap:1.2rem;max-width:32rem;margin:0 auto 1.6rem;display:flex}.promo-logo{object-fit:cover;box-shadow:var(--shadow-sm);border-radius:.7rem;flex-shrink:0}.promo-text{min-width:0}.promo-title{font-family:var(--font-display);color:var(--ink);margin:0 0 .35rem;font-size:1.15rem;font-weight:600;line-height:1.5}.promo-note{color:var(--ink-dim);margin:0;font-size:.92rem;line-height:1.7}.promo-desc{color:var(--ink-dim);margin:0;font-size:.82rem;line-height:1.75}.promo-links{flex-wrap:wrap;justify-content:center;gap:1.3rem;display:flex}.promo-links a{letter-spacing:.04em;color:var(--gold);border-bottom:1px solid #0000;font-size:.88rem;text-decoration:none}.promo-links a:hover{border-bottom-color:var(--gold)}.promo-links a:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (max-width:30rem){.promo-header{text-align:center;flex-direction:column}}.fade-in{animation:.7s both fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.fade-in{animation:none}}
