:root{--gold: #c9a55c;--gold-light: #f1dca7;--paper: #f3ece0;--ink: #0b0a09;--muted: #a99d88;--font-serif: "Noto Serif TC", "Songti TC", "PMingLiU", serif;--font-sans: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--touch-min: 88px}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#000;color:var(--paper);overflow:hidden;font-family:var(--font-sans);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#app{position:fixed;top:0;right:0;bottom:0;left:0}#game{position:absolute;top:0;right:0;bottom:0;left:0}#ui-layer{position:fixed;left:0;top:0;transform-origin:0 0;pointer-events:none}#ui-layer button,#ui-layer .is-interactive{pointer-events:auto}.btn-primary{min-height:var(--touch-min);padding:0 56px;font-family:var(--font-serif);font-size:30px;letter-spacing:.3em;color:var(--gold-light);background:#14100a8c;border:1px solid rgba(201,165,92,.7);border-radius:2px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background .3s,transform .15s}.btn-primary:active{transform:scale(.97);background:#c9a55c40}.setup-panel{position:absolute;left:50%;top:470px;width:1240px;transform:translate(-50%);text-align:center}.setup-title{font-family:var(--font-serif);font-weight:600;font-size:56px;letter-spacing:.2em;margin:0 0 8px;color:var(--gold-light)}.setup-sub{margin:0 0 28px;color:var(--muted);font-size:22px;letter-spacing:.08em}.setup-list{list-style:none;padding:0;margin:0 0 32px;text-align:left;display:inline-block;font-size:22px;line-height:1.7}.setup-list .pass{color:#cfe3c0}.setup-list .fail{color:#ffb4a6}#ui-layer .pad-focus{outline:5px solid var(--gold-light);outline-offset:6px;box-shadow:0 0 0 10px #f1dca72e,0 0 40px #f1dca78c}.title-screen{position:absolute;top:0;right:0;bottom:0;left:0;width:1920px;height:1080px}.title-presenter{position:absolute;left:72px;top:58px;display:flex;align-items:center;gap:18px;opacity:0;transition:opacity 1.6s ease .4s}.title-presenter-line{width:44px;height:1px;background:var(--gold)}.title-presenter-name{font-family:var(--font-serif);font-size:26px;letter-spacing:.3em;color:var(--paper)}.title-presenter-en{font-size:13px;letter-spacing:.32em;color:var(--muted)}.is-sub-in .title-presenter{opacity:.9}.btn-icon{position:absolute;right:64px;top:36px;min-width:88px;min-height:88px;padding:0 22px;display:flex;align-items:center;gap:10px;color:var(--gold-light);background:#0c0a0859;border:1px solid rgba(201,165,92,.35);border-radius:44px;font-family:var(--font-sans);font-size:20px;letter-spacing:.15em;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity 1.2s ease,background .25s}.btn-icon svg{width:40px;height:40px}.btn-icon[aria-pressed=false]{color:var(--muted)}.btn-icon:active{background:#c9a55c33}.is-actions-in .btn-icon{opacity:1}.title-block{position:absolute;left:0;right:0;top:628px;text-align:center}.title-main{margin:0;font-family:var(--font-serif);font-weight:700;font-size:128px;line-height:1.05;letter-spacing:.32em;padding-left:.32em}.title-char{display:inline-block;background:linear-gradient(180deg,#fff6dc,#e8c98a 55%,#a9813f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 24px rgba(232,190,110,.35)) blur(14px);opacity:0;transform:translateY(18px) scale(1.04);transition:opacity 1.4s ease,transform 1.8s cubic-bezier(.2,.7,.2,1),filter 1.6s ease;transition-delay:calc(var(--i) * .16s)}.is-title-in .title-char{opacity:1;transform:none;filter:drop-shadow(0 0 24px rgba(232,190,110,.35)) blur(0)}.title-ornament{display:flex;align-items:center;justify-content:center;gap:16px;margin:14px auto 12px;opacity:0;transition:opacity 1.2s ease}.title-ornament span{width:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transition:width 1.6s ease}.title-ornament i{width:8px;height:8px;border:1px solid var(--gold);transform:rotate(45deg)}.is-sub-in .title-ornament{opacity:1}.is-sub-in .title-ornament span{width:180px}.title-sub,.title-en{margin:0;opacity:0;transform:translateY(10px);transition:opacity 1.4s ease,transform 1.6s ease}.title-sub{font-family:var(--font-serif);font-size:44px;letter-spacing:.62em;padding-left:.62em;color:var(--paper)}.title-en{margin-top:18px;font-size:18px;font-weight:300;letter-spacing:.55em;padding-left:.55em;color:var(--muted);transition-delay:.35s}.is-sub-in .title-sub,.is-sub-in .title-en{opacity:1;transform:none}.title-actions{position:absolute;left:0;right:0;top:944px;display:flex;justify-content:center;gap:36px;opacity:0;transform:translateY(14px);transition:opacity 1.2s ease,transform 1.2s ease}.is-actions-in .title-actions{opacity:1;transform:none}.btn-start{position:relative;overflow:hidden;min-width:400px}.btn-start:after{content:"";position:absolute;top:0;bottom:0;width:120px;left:-160px;background:linear-gradient(100deg,transparent,rgba(255,240,200,.28),transparent);animation:shine 4.5s ease-in-out 1.5s infinite}@keyframes shine{0%,60%{left:-160px}to{left:110%}}.is-ready .btn-start{animation:breathe 3.2s ease-in-out infinite}@keyframes breathe{0%,to{box-shadow:0 0 #e8be6e00}50%{box-shadow:0 0 36px #e8be6e47}}.btn-ghost{min-height:var(--touch-min);min-width:280px;padding:0 44px;font-family:var(--font-serif);font-size:26px;letter-spacing:.3em;color:var(--paper);background:transparent;border:1px solid rgba(243,236,224,.28);border-radius:2px;cursor:pointer;transition:background .25s,border-color .25s}.btn-ghost:active{background:#f3ece014;border-color:#f3ece099}.is-skip *{transition-delay:0s!important;transition-duration:.5s!important}.title-screen>*{transition:opacity .9s ease}.is-leaving>*{opacity:0!important;pointer-events:none}.modal{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#04030299;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .35s ease;pointer-events:auto}.modal.is-open{opacity:1!important}.modal-panel{width:980px;padding:64px 80px 56px;background:linear-gradient(180deg,#1e1912eb,#0e0c09f2);border:1px solid rgba(201,165,92,.4);box-shadow:0 40px 120px #0009;transform:translateY(16px);transition:transform .45s cubic-bezier(.2,.7,.2,1);text-align:center}.modal.is-open .modal-panel{transform:none}.modal-title{margin:0 0 36px;font-family:var(--font-serif);font-weight:600;font-size:44px;letter-spacing:.4em;color:var(--gold-light)}.help-steps{list-style:none;margin:0 0 32px;padding:0;text-align:left;counter-reset:s}.help-steps li{counter-increment:s;display:grid;grid-template-columns:64px 110px 1fr;align-items:baseline;padding:18px 0;border-bottom:1px solid rgba(201,165,92,.15);font-size:26px;line-height:1.5}.help-steps li:before{content:"0" counter(s);font-family:var(--font-serif);color:var(--gold);font-size:22px;letter-spacing:.1em}.help-steps b{font-family:var(--font-serif);font-weight:600;color:var(--gold-light);letter-spacing:.2em}.help-meta{margin:0 0 10px;font-size:22px;letter-spacing:.15em;color:var(--paper)}.help-note{margin:0 0 36px;font-size:18px;line-height:1.7;color:var(--muted)}.tt-stub{position:absolute;left:0;right:0;top:400px;text-align:center}.tt-stub-label{margin:0;font-size:18px;letter-spacing:.5em;color:var(--gold)}.tt-stub-title{margin:16px 0 56px;font-family:var(--font-serif);font-size:64px;letter-spacing:.3em;color:var(--paper)}.level-select-panel{width:1240px;max-width:none}.level-select-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-bottom:24px}.level-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-height:164px;padding:22px 30px;background:#140f0ab8;border:1px solid rgba(201,165,92,.55);color:var(--paper);font-family:inherit;text-align:left;cursor:pointer;transition:border-color .25s,background .25s,transform .2s}.level-card:hover,.level-card:focus-visible{border-color:var(--gold-light);background:#402e16cc;outline:none}.level-card:active{transform:scale(.985)}.level-card-kicker{font-size:20px;letter-spacing:.3em;color:var(--gold)}.level-card-title{font-family:var(--font-serif);font-weight:600;font-size:40px;letter-spacing:.12em}.level-card-era{font-size:19px;letter-spacing:.08em;color:var(--muted)}.level-select-back{min-width:240px}.tt-qr{position:absolute;right:64px;bottom:56px;display:flex;align-items:center;gap:22px;padding:18px 26px 18px 18px;border-radius:22px;background:#0c0a08d1;border:1px solid rgba(201,165,92,.55);box-shadow:0 18px 50px #00000073;opacity:0;transition:opacity .8s}.title-screen.is-actions-in .tt-qr{opacity:1}.title-screen.is-leaving .tt-qr{opacity:0}.tt-qr.is-off{display:none}.tt-qr-img{width:196px;height:196px;display:block;border-radius:10px;background:#fff}.tt-qr-text{display:flex;flex-direction:column;gap:10px;max-width:290px;font-family:var(--font-sans)}.tt-qr-text b{font-family:var(--font-serif);font-size:30px;letter-spacing:.08em;color:var(--gold-light)}.tt-qr-status{font-size:21px;line-height:1.5;color:var(--paper);opacity:.85}.tt-qr.is-connected{border-color:#6fd39a}.tt-qr.is-connected .tt-qr-img{opacity:.35}.tt-qr.is-connected .tt-qr-status{color:#8fe3b2;opacity:1;font-weight:700}.is-hidden{opacity:0!important;pointer-events:none!important}.is-interactive{pointer-events:auto}.skip-btn{position:absolute;right:64px;bottom:56px;min-width:220px;transition:opacity .5s}.year-roll{position:absolute;left:0;right:0;top:340px;text-align:center;opacity:0;transition:opacity .8s ease}.year-roll.is-visible{opacity:1}.year-roll-label{margin:0;font-size:20px;letter-spacing:.6em;padding-left:.6em;color:var(--gold)}.year-roll-num{font-family:var(--font-serif);font-weight:700;font-size:240px;line-height:1.1;letter-spacing:.08em;color:#fff6de;text-shadow:0 0 40px rgba(255,210,140,.55),0 0 120px rgba(255,190,110,.35);font-variant-numeric:tabular-nums}.year-roll-place{margin:0;font-family:var(--font-serif);font-size:34px;letter-spacing:.5em;padding-left:.5em;color:var(--paper);opacity:0;transition:opacity 1s ease .2s}.year-roll.is-landed .year-roll-num{animation:land 1.2s ease}.year-roll.is-landed .year-roll-place{opacity:.9}@keyframes land{0%{transform:scale(1.12)}to{transform:scale(1)}}.subtitle{position:absolute;left:260px;right:260px;bottom:150px;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .6s ease}.subtitle.is-visible{opacity:1;transform:none}.subtitle-text{display:inline-block;margin:0;padding:14px 34px;font-family:var(--font-serif);font-size:36px;line-height:1.6;letter-spacing:.12em;color:#fbf4e6;text-shadow:0 2px 6px rgba(0,0,0,.9),0 0 24px rgba(0,0,0,.6);background:radial-gradient(ellipse at center,#00000073,#0000 72%)}.hud>*{opacity:0;transition:opacity 1s ease}.hud.is-visible>*{opacity:1}.hud.is-dimmed>*{opacity:0!important}.hud-chapter{position:absolute;left:72px;top:30px;display:flex;align-items:baseline;gap:18px}.hud-chapter-kicker{font-size:18px;letter-spacing:.3em;color:var(--gold)}.hud-chapter-title{font-family:var(--font-serif);font-weight:600;font-size:36px;letter-spacing:.25em;color:var(--paper)}.hud-chapter-era{font-size:18px;letter-spacing:.2em;color:var(--muted)}.hud-progress{position:absolute;right:72px;top:34px;display:flex;align-items:center;gap:16px}.hud-progress-label{font-size:20px;letter-spacing:.25em;color:var(--muted)}.hud-dots{display:flex;gap:10px}.hud-dots i{width:14px;height:14px;border:1.5px solid var(--gold);transform:rotate(45deg);transition:background .5s,box-shadow .5s}.hud-dots i.on{background:var(--gold-light);box-shadow:0 0 14px #f1dca7cc}.hud-count{font-family:var(--font-serif);font-size:26px;color:var(--gold-light);min-width:70px;text-align:right}.hud-seals{position:absolute;right:36px;top:300px;display:flex;flex-direction:column;gap:18px;align-items:center}.hud-seal{display:flex;flex-direction:column;align-items:center;gap:4px;color:#c9a55c59;transition:color .8s}.hud-seal svg{width:68px;height:68px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.7))}.hud-seal-name{font-size:14px;letter-spacing:.3em;padding-left:.3em;color:#f3ece073;text-shadow:0 1px 4px #000}.hud-seal.is-filled{color:var(--gold-light)}.hud-seal.is-filled .hud-seal-name{color:var(--paper)}.hud-seal.is-new svg{animation:sealPop 1.2s ease}@keyframes sealPop{0%{transform:scale(1.5);filter:drop-shadow(0 0 30px rgba(255,220,150,1))}to{transform:scale(1)}}.seal-fill{fill:#14100a8c}.is-filled .seal-fill,.seal-big .seal-fill{fill:#c9a55c38}.seal-char{font-family:var(--font-serif);font-weight:700;font-size:44px;fill:currentColor}.hud-hint{position:absolute;left:380px;right:380px;bottom:30px;margin:0;text-align:center;font-size:26px;letter-spacing:.15em;color:var(--paper);opacity:0!important;transition:opacity .6s ease!important}.hud-hint.is-visible{opacity:.92!important}.hud-home{position:absolute;left:56px;bottom:11px;min-width:180px;font-size:22px}.dialogue{position:absolute;right:150px;top:230px;width:780px;padding:34px 48px 36px;background:linear-gradient(180deg,#120e09d1,#0a0806e6);border-top:1px solid rgba(201,165,92,.55);box-shadow:0 20px 60px #0009;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .6s ease;pointer-events:none}.dialogue.is-visible{opacity:1;transform:none;pointer-events:auto}.dialogue:not(.is-visible){pointer-events:none!important}.dialogue-head{display:flex;align-items:baseline;gap:18px;margin-bottom:10px}.dialogue-name{font-family:var(--font-serif);font-weight:600;font-size:28px;letter-spacing:.25em;color:var(--gold-light)}.dialogue-note{font-size:15px;letter-spacing:.1em;color:var(--muted)}.dialogue-text{margin:0 0 28px;min-height:160px;font-family:var(--font-serif);font-size:34px;line-height:1.6;letter-spacing:.08em;color:#fbf4e6}.dialogue-next{display:block;margin-left:auto;min-width:230px;padding:0 30px;font-size:26px}.chapter-card{position:absolute;left:0;right:0;top:380px;text-align:center;opacity:0;transition:opacity 1.2s ease}.chapter-card.is-open{opacity:1}.chapter-card-kicker{margin:0;font-size:22px;letter-spacing:.7em;padding-left:.7em;color:var(--gold)}.chapter-card-title{margin:16px 0 18px;font-family:var(--font-serif);font-weight:700;font-size:120px;letter-spacing:.3em;padding-left:.3em;color:#fff3d8;text-shadow:0 4px 30px rgba(0,0,0,.7),0 0 60px rgba(255,200,130,.35)}.chapter-card-era{margin:0;font-size:28px;letter-spacing:.4em;padding-left:.4em;color:var(--paper);text-shadow:0 2px 10px #000}.clue-card{position:absolute;top:190px;width:640px;padding:46px 52px 40px;background:linear-gradient(180deg,#1a150ee6,#0c0a07f0);border:1px solid rgba(201,165,92,.45);box-shadow:0 30px 90px #000000a6;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:auto}.clue-card.is-right{right:150px}.clue-card.is-left{left:110px}.clue-card.is-open{opacity:1;transform:none}.clue-kicker{margin:0 0 18px;font-size:18px;letter-spacing:.35em;color:var(--gold)}.clue-prop{margin:0 0 6px;font-size:22px;letter-spacing:.15em;color:var(--muted)}.clue-date{font-family:var(--font-serif);font-weight:700;font-size:72px;line-height:1.15;color:var(--gold-light);letter-spacing:.04em}.clue-title{margin:8px 0 18px;font-family:var(--font-serif);font-weight:600;font-size:36px;letter-spacing:.12em;color:var(--paper)}.clue-text{margin:0 0 20px;font-size:26px;line-height:1.75;color:#efe6d6}.clue-source{margin:0 0 30px;font-size:16px;letter-spacing:.05em;color:var(--muted)}.clue-btn{width:100%}.puzzle{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;background:radial-gradient(ellipse at center,#0e0b07b8,#040302e0);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .7s ease}.puzzle.is-open{opacity:1}.puzzle-kicker{margin:170px 0 10px;font-size:20px;letter-spacing:.6em;padding-left:.6em;color:var(--gold)}.puzzle-message{margin:0 0 56px;font-family:var(--font-serif);font-size:40px;letter-spacing:.12em;color:var(--paper);transition:color .4s}.puzzle-message.is-retry{color:#ffcf9a}.puzzle-track{display:flex;justify-content:center;align-items:center;gap:22px}.puzzle-slot{position:relative;width:440px;height:210px;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(201,165,92,.45);background:#c9a55c0a;pointer-events:auto;transition:border-color .3s,background .3s,box-shadow .3s}.puzzle-slot.is-target{border-color:var(--gold-light);background:#c9a55c1a}.puzzle-slot.is-correct{border-style:solid;border-color:var(--gold-light);box-shadow:0 0 40px #f1dca759}.puzzle-slot-label{position:absolute;top:-34px;left:0;right:0;font-size:18px;letter-spacing:.3em;color:var(--muted)}.puzzle-arrow{font-size:36px;color:var(--gold)}.puzzle-tray{display:flex;justify-content:center;gap:40px;min-height:190px;margin-top:70px}.puzzle-card{width:400px;height:176px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#2a2216,#17120c);border:1px solid rgba(201,165,92,.6);box-shadow:0 16px 40px #0000008c;color:var(--paper);cursor:grab;touch-action:none;transition:box-shadow .25s,border-color .25s,transform .25s}.puzzle-slot .puzzle-card{width:420px;height:190px;box-shadow:none}.puzzle-card.is-selected{border-color:var(--gold-light);box-shadow:0 0 0 3px #f1dca780,0 16px 40px #0000008c;transform:translateY(-6px)}.puzzle-card.is-dragging{transition:none;z-index:5;position:relative;cursor:grabbing;box-shadow:0 30px 60px #000000b3}.puzzle-card.is-wrong{border-color:#e0806a;animation:shake .5s ease}@keyframes shake{0%,to{translate:0}20%,60%{translate:-10px 0}40%,80%{translate:10px 0}}.puzzle-card-date{font-family:var(--font-serif);font-weight:700;font-size:46px;color:var(--gold-light);letter-spacing:.04em}.puzzle-card-title{font-size:26px;letter-spacing:.12em}.puzzle-help{margin-top:44px;font-size:20px;letter-spacing:.15em;color:var(--muted)}.showcase{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000e6;opacity:0;transition:opacity .9s ease}.showcase.is-open{opacity:1}.showcase-counter{position:absolute;right:80px;top:44px;font-family:var(--font-serif);font-size:24px;letter-spacing:.2em;color:var(--muted)}.showcase-frame{position:absolute;left:50%;top:70px;width:1160px;height:690px;margin:0 0 0 -580px;overflow:hidden;background:#0c0b09;box-shadow:0 40px 120px #000c,0 0 0 1px #c9a55c40;transition:opacity .55s ease}.showcase-img{width:100%;height:100%;object-fit:contain;transform-origin:50% 50%;filter:sepia(.12) contrast(1.02)}.showcase-frame.is-moving .showcase-img{animation:kenburns 14s ease-out forwards}@keyframes kenburns{0%{transform:scale(1) translate(0)}to{transform:scale(1.08) translate(-1.5%,-1%)}}.showcase-badge{position:absolute;left:20px;top:20px;padding:8px 16px;font-size:18px;letter-spacing:.15em;color:#1a1408;background:#f1dca7eb}.showcase-caption{position:absolute;left:380px;right:620px;top:800px;display:flex;gap:44px;align-items:flex-start;transition:opacity .55s ease,transform .7s ease}.showcase-yearbox{flex:none;padding-right:44px;border-right:1px solid rgba(201,165,92,.45);text-align:right}.showcase-year{font-family:var(--font-serif);font-weight:700;font-size:92px;line-height:1;color:var(--gold-light)}.showcase-date{margin-top:8px;font-size:20px;letter-spacing:.15em;color:var(--muted)}.showcase-title{margin:0 0 10px;font-family:var(--font-serif);font-weight:600;font-size:38px;letter-spacing:.15em;color:var(--paper)}.showcase-sub{margin:0 0 12px;font-family:var(--font-serif);font-size:28px;line-height:1.6;color:#efe6d6}.showcase-source{margin:0;font-size:16px;letter-spacing:.06em;color:var(--muted)}.showcase-tag{display:inline-block;white-space:nowrap;margin:4px 0 0 14px;padding:2px 10px;border:1px solid rgba(201,165,92,.5);color:var(--gold);font-size:14px}.showcase-actions{position:absolute;right:80px;bottom:56px;display:flex;gap:24px}.showcase-actions .btn-primary{min-width:220px}.showcase-actions .btn-ghost{min-width:200px;font-size:22px}.showcase.is-switching .showcase-frame,.showcase.is-switching .showcase-caption{opacity:0}.showcase.is-switching .showcase-caption{transform:translateY(10px)}.seal-reveal{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;opacity:0;transition:opacity .9s ease}.seal-reveal.is-open{opacity:1}.seal-burst{position:absolute;left:50%;top:400px;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(from 0deg,#ffdc9629,#ffdc9629 4deg,#ffdc9600 4deg,#ffdc9600 18deg);-webkit-mask-image:radial-gradient(circle,#000 10%,transparent 68%);mask-image:radial-gradient(circle,#000 10%,transparent 68%);animation:spin 24s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.seal-big{position:absolute;left:50%;top:250px;width:300px;height:300px;margin-left:-150px;color:var(--gold-light);filter:drop-shadow(0 0 40px rgba(255,210,140,.7));animation:sealIn 1.6s cubic-bezier(.2,.7,.2,1);transition:transform 1.05s cubic-bezier(.6,0,.3,1),opacity 1.05s ease}.seal-big svg{width:100%;height:100%}@keyframes sealIn{0%{transform:scale(.4) rotate(-40deg);opacity:0}to{transform:none;opacity:1}}.seal-name{position:absolute;left:0;right:0;top:600px;margin:0;font-family:var(--font-serif);font-weight:700;font-size:72px;letter-spacing:.4em;padding-left:.4em;color:#fff3d8;text-shadow:0 0 40px rgba(255,200,130,.5)}.seal-line{position:absolute;left:0;right:0;top:710px;margin:0;font-size:28px;letter-spacing:.2em;color:var(--paper)}.seal-reveal.is-leaving .seal-burst,.seal-reveal.is-leaving .seal-name,.seal-reveal.is-leaving .seal-line{opacity:0;transition:opacity .6s}.chapter-complete{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 1s ease}.chapter-complete.is-open{opacity:1}.chapter-complete-panel{width:1000px;padding:64px 90px 60px;text-align:center;background:linear-gradient(180deg,#1a150ee6,#0a0806f2);border:1px solid rgba(201,165,92,.45);box-shadow:0 40px 120px #000000b3}.chapter-complete-kicker{margin:0;font-size:22px;letter-spacing:.6em;padding-left:.6em;color:var(--gold)}.chapter-complete-title{margin:14px 0 40px;font-family:var(--font-serif);font-weight:700;font-size:84px;letter-spacing:.3em;padding-left:.3em;color:#fff3d8}.chapter-stats{display:grid;grid-template-columns:repeat(4,1fr);margin:0 0 36px;border-top:1px solid rgba(201,165,92,.25);border-bottom:1px solid rgba(201,165,92,.25)}.chapter-stat{padding:26px 0}.chapter-stat+.chapter-stat{border-left:1px solid rgba(201,165,92,.18)}.chapter-stat dt{font-size:18px;letter-spacing:.25em;color:var(--muted)}.chapter-stat dd{margin:10px 0 0;font-family:var(--font-serif);font-weight:600;font-size:34px;color:var(--gold-light)}.chapter-next{margin:0 0 32px;font-size:22px;letter-spacing:.12em;color:var(--paper)}.confirm-panel{width:760px}.confirm-text{margin:0 0 40px;font-size:26px;color:var(--paper)}.confirm-actions,.chapter-actions{display:flex;justify-content:center;gap:28px}.chapter-actions button{min-width:300px}.showcase-frame.is-print{top:110px;width:780px;height:600px;margin-left:-390px;padding:20px 20px 48px;background:#ece6d8;transform:rotate(-.6deg);box-shadow:0 40px 100px #000c,0 0 0 1px #0006}.showcase-frame.is-print .showcase-img{filter:contrast(1.03) saturate(.92)}.showcase-frame.is-print .showcase-badge{left:30px;top:30px}.match{position:absolute;top:0;right:0;bottom:0;left:0;text-align:center;background:radial-gradient(ellipse at center,#080e10c7,#020405eb);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .7s ease}.match.is-open{opacity:1}.match-kicker{margin:130px 0 8px;font-size:20px;letter-spacing:.6em;padding-left:.6em;color:var(--gold)}.match-message{margin:0;font-family:var(--font-serif);font-size:36px;letter-spacing:.1em;color:var(--paper);transition:color .4s}.match-message.is-retry{color:#ffcf9a}.match-tray{display:flex;justify-content:center;gap:28px;min-height:124px;margin:30px 0 36px}.match-card{width:330px;height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:linear-gradient(180deg,#24262a,#15171a);border:1px solid rgba(201,165,92,.6);box-shadow:0 16px 40px #0000008c;color:var(--paper);cursor:grab;touch-action:none;pointer-events:auto;transition:box-shadow .25s,border-color .25s,transform .25s}.match-card-kicker{font-size:15px;letter-spacing:.4em;padding-left:.4em;color:var(--muted)}.match-card-title{font-family:var(--font-serif);font-weight:700;font-size:36px;letter-spacing:.12em;color:var(--gold-light)}.match-card-note{font-size:17px;letter-spacing:.08em;color:var(--muted)}.match-card.is-selected{border-color:var(--gold-light);box-shadow:0 0 0 3px #f1dca780,0 16px 40px #0000008c;transform:translateY(-6px)}.match-card.is-dragging{transition:none;z-index:5;position:relative;cursor:grabbing;box-shadow:0 30px 60px #000000b3}.match-card.is-wrong{border-color:#e0806a;animation:shake .5s ease}.match-card.is-locked{cursor:default}.match-card:disabled{opacity:1}.match-stations{display:flex;justify-content:center;gap:28px}.match-station{width:390px;height:430px;padding:24px 24px 20px;display:flex;flex-direction:column;text-align:left;background:linear-gradient(180deg,#161c1ee0,#0a0d0ef0);border:1px solid rgba(201,165,92,.35);pointer-events:auto;transition:border-color .3s,box-shadow .4s,background .3s}.match-station.is-target,.match-station.is-hover{border-color:var(--gold-light);background:linear-gradient(180deg,#28241ae6,#100e0af0)}.match-station.is-wrong{border-color:#e0806a;animation:shake .5s ease}.match-station.is-matched{border-color:var(--gold-light);box-shadow:0 0 40px #f1dca747}.match-station-head{display:flex;align-items:center;gap:16px}.match-icon{flex:none;width:64px;height:64px;color:var(--gold-light)}.match-icon svg{width:100%;height:100%}.match-names{display:flex;flex-direction:column;gap:4px}.match-resource{font-family:var(--font-serif);font-weight:600;font-size:30px;letter-spacing:.1em;color:var(--paper)}.match-unit{font-size:17px;letter-spacing:.1em;color:var(--muted)}.match-slot{margin:18px 0 16px;height:130px;flex:none;display:flex;align-items:center;justify-content:center;border:2px dashed rgba(201,165,92,.4);background:#c9a55c0a}.match-slot-hint{font-size:18px;letter-spacing:.2em;color:var(--muted)}.match-slot .match-card{width:100%;height:100%;box-shadow:none;border-color:var(--gold-light);background:linear-gradient(180deg,#2c2618,#19150d)}.match-fact{opacity:0;transform:translateY(8px);transition:opacity .6s ease .2s,transform .6s ease .2s}.match-station.is-matched .match-fact{opacity:1;transform:none}.match-fact-text{margin:0 0 8px;font-size:20px;line-height:1.6;color:#efe6d6}.match-fact-source{margin:0;font-size:15px;letter-spacing:.06em;color:var(--muted)}.match-help{margin:26px 0 0;font-size:20px;letter-spacing:.15em;color:var(--muted)}.match-disclaimer{margin:18px auto 0;max-width:1400px;padding-top:14px;border-top:1px solid rgba(201,165,92,.2);font-size:18px;letter-spacing:.06em;color:#d9cfbf}.milestones{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000e6;opacity:0;transition:opacity .8s ease}.milestones.is-open{opacity:1}.milestones-kicker{position:absolute;left:0;right:0;top:150px;margin:0;text-align:center;font-size:22px;letter-spacing:.7em;padding-left:.7em;color:var(--gold)}.milestones-counter{position:absolute;right:80px;top:44px;margin:0;font-family:var(--font-serif);font-size:24px;letter-spacing:.2em;color:var(--muted)}.milestones-card{position:absolute;left:260px;right:260px;top:260px;text-align:center;transition:opacity .45s ease,transform .6s ease}.milestones.is-switching .milestones-card{opacity:0;transform:translateY(12px)}.milestones-date{font-family:var(--font-serif);font-weight:700;font-size:140px;line-height:1.1;letter-spacing:.04em;color:var(--gold-light);text-shadow:0 0 50px rgba(255,210,140,.35);font-variant-numeric:tabular-nums}.milestones-text{margin:30px auto 0;max-width:1200px;font-family:var(--font-serif);font-size:36px;line-height:1.7;letter-spacing:.06em;color:#fbf4e6}.milestones-rail{position:absolute;left:420px;right:420px;top:790px;display:flex;justify-content:space-between}.milestones-rail:before{content:"";position:absolute;left:7px;right:7px;top:7px;height:1px;background:#c9a55c66}.milestones-tick{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:20px;letter-spacing:.1em;color:var(--muted);transition:color .5s}.milestones-tick i{width:14px;height:14px;border:1.5px solid var(--gold);background:#000;transform:rotate(45deg);transition:background .5s,box-shadow .5s}.milestones-tick.is-on{color:var(--gold-light)}.milestones-tick.is-on i{background:var(--gold-light);box-shadow:0 0 14px #f1dca7cc}.milestones-source{position:absolute;left:0;right:0;top:880px;margin:0;text-align:center;font-size:16px;letter-spacing:.08em;color:var(--muted)}.milestones-actions{position:absolute;right:80px;bottom:56px;display:flex;gap:24px}.milestones-actions .btn-primary{min-width:220px}.milestones-actions .btn-ghost{min-width:200px;font-size:22px}.picker{position:absolute;top:140px;width:860px;padding:40px 48px 30px;background:linear-gradient(180deg,#1a160feb,#0c0a07f2);border:1px solid rgba(201,165,92,.45);box-shadow:0 30px 90px #0009;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .6s cubic-bezier(.2,.7,.2,1)}.picker.is-right{right:110px}.picker.is-left{left:110px}.picker.is-open{opacity:1;transform:none}.picker-kicker{margin:0 0 10px;font-size:18px;letter-spacing:.35em;color:var(--gold)}.picker-name{margin:0;font-family:var(--font-serif);font-weight:600;font-size:40px;letter-spacing:.14em;color:var(--paper)}.picker-need{margin:10px 0 18px;font-family:var(--font-serif);font-size:28px;line-height:1.6;color:#efe6d6}.picker-question{margin:0 0 20px;font-size:24px;letter-spacing:.08em;color:var(--gold-light);transition:color .3s}.picker-question.is-retry{color:#ffcf9a}.picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.picker-grid.is-gone{display:none}.picker-card{min-height:118px;padding:16px 22px;display:flex;align-items:center;gap:18px;text-align:left;background:linear-gradient(180deg,#2a2418,#18140d);border:1px solid rgba(201,165,92,.5);color:var(--paper);cursor:pointer;pointer-events:auto;transition:border-color .25s,transform .2s,box-shadow .25s}.picker-card:active{transform:scale(.98)}.picker-card.is-wrong{border-color:#e0806a;animation:shake .5s ease}.picker-icon{flex:none;width:60px;height:60px;color:var(--gold-light)}.picker-icon svg{width:100%;height:100%}.picker-names{display:flex;flex-direction:column;gap:4px}.picker-service{font-family:var(--font-serif);font-weight:600;font-size:30px;letter-spacing:.1em;color:var(--paper)}.picker-unit{font-size:18px;letter-spacing:.1em;color:var(--muted)}.picker-result{display:none}.picker-result.is-visible{display:block;animation:fadeUp .6s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.picker-result-head{display:flex;align-items:center;gap:18px}.picker-date{margin-top:14px;font-family:var(--font-serif);font-weight:700;font-size:56px;line-height:1.1;color:var(--gold-light)}.picker-fact{margin:14px 0 12px;font-size:25px;line-height:1.7;color:#efe6d6}.picker-source{margin:0 0 22px;font-size:16px;letter-spacing:.05em;color:var(--muted)}.picker-btn{width:100%}.picker-disclaimer{margin:20px 0 0;padding-top:12px;border-top:1px solid rgba(201,165,92,.2);font-size:16px;line-height:1.6;color:#cfc5b4}.dialogue.is-left{right:auto;left:150px}.match-card-title.is-long{font-size:28px;letter-spacing:.06em}.match-slot .match-card-title.is-long{font-size:26px}.chapter-next{white-space:pre-line}.world3d-canvas{position:absolute;display:block;touch-action:none}.world3d-post{position:absolute;pointer-events:none;overflow:hidden;--bar: 110px}.world3d-post>*{position:absolute;top:0;right:0;bottom:0;left:0}.w3-grade{background:#2a160824;mix-blend-mode:multiply}.w3-vignette{background:radial-gradient(ellipse at center,#0000 55%,#0a06028c)}.w3-grain{top:-64px;right:-64px;bottom:-64px;left:-64px;opacity:.07;mix-blend-mode:overlay;background-size:128px 128px;animation:grain .5s steps(4) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-37px,21px)}50%{transform:translate(29px,-43px)}75%{transform:translate(-17px,-11px)}}.w3-bar{background:#000;inset:auto 0 auto 0;height:var(--bar)}.w3-bar.top{top:0}.w3-bar.bottom{bottom:0}.w3-dim{background:#000;opacity:0}.w3-fade{opacity:0;background:#fff6e4}.explore-ui{position:absolute;top:0;right:0;bottom:0;left:0;transition:opacity .4s ease}.explore-ui.is-hidden{opacity:0}.explore-ui.is-hidden *{pointer-events:none!important}.joy{position:absolute;left:70px;bottom:140px;width:250px;height:250px;touch-action:none}.joy-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:radial-gradient(circle,#14100a40,#14100a80);border:2px solid rgba(201,165,92,.55);box-shadow:0 0 30px #00000059}.joy-knob{position:absolute;left:50%;top:50%;width:110px;height:110px;margin:-55px 0 0 -55px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffecbed9,#c9a55cbf);box-shadow:0 6px 20px #00000073;pointer-events:none}.joy.is-active .joy-ring{border-color:var(--gold-light)}.explore-interact{position:absolute;right:150px;bottom:170px;width:220px;height:220px;border-radius:50%;font-size:34px;letter-spacing:.2em;padding-left:.2em;opacity:.45;transition:opacity .3s,box-shadow .3s,transform .2s}.explore-interact.is-ready{opacity:1;box-shadow:0 0 40px #f1dca78c;animation:pulseBtn 1.6s ease-in-out infinite}@keyframes pulseBtn{50%{box-shadow:0 0 60px #f1dca7d9}}.explore-prompt{position:absolute;left:0;top:0;display:flex;align-items:center;gap:12px;padding:10px 18px;background:#0e0b07d1;border:1px solid rgba(201,165,92,.6);color:var(--paper);font-size:24px;letter-spacing:.08em;white-space:nowrap;opacity:0;transition:opacity .25s}.explore-prompt.is-visible{opacity:1}.explore-prompt-key{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--gold);color:var(--gold-light);font-size:18px}.explore-map{position:absolute;right:150px;top:130px;width:260px;height:196px}.explore-help{position:absolute;left:380px;right:380px;bottom:140px;margin:0;text-align:center;font-size:22px;letter-spacing:.08em;color:var(--paper);text-shadow:0 2px 8px #000;transition:opacity .8s}.explore-help.is-gone{opacity:0}.explore-toast{position:absolute;left:50%;top:170px;transform:translate(-50%);padding:12px 30px;background:#0e0b07d9;border:1px solid rgba(201,165,92,.6);color:var(--gold-light);font-family:var(--font-serif);font-size:28px;letter-spacing:.15em;opacity:0}.explore-toast.is-visible{animation:toast 2.6s ease forwards}@keyframes toast{0%{opacity:0;transform:translate(-50%,10px)}12%{opacity:1;transform:translate(-50%)}80%{opacity:1}to{opacity:0}}.explore-map.is-strip{right:auto;left:700px;top:122px;width:520px;height:64px}.explore-map.is-strip~.explore-toast{top:214px}.explore-map.is-world{right:128px;top:120px;width:345px;height:auto}.quiz-options{display:flex;flex-direction:column;gap:14px;margin-top:18px}.quiz-option{min-height:88px;font-size:26px;text-align:left;padding:0 26px}.quiz-option.is-right{border-color:var(--gold-light);color:var(--gold-light)}.quiz-option.is-wrong{opacity:.55}.quiz-note{min-height:62px;margin:16px 0 0;font-size:22px;line-height:1.5;color:var(--paper)}.chapter-complete.is-final .chapter-complete-title{font-size:50px;line-height:1.5;letter-spacing:.1em;padding-left:.1em}:root{--hub-paper: #fbf7ec;--hub-ink: #24423a;--hub-muted: #62786f;--hub-green: #2f8a6e;--hub-green-dark: #236e58;--hub-sun: #f4b63f;--hub-font: "Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif}.hub-ui{position:absolute;top:0;right:0;bottom:0;left:0;width:1920px;height:1080px;font-family:var(--hub-font);color:var(--hub-ink);transition:opacity .25s}.hub-ui.is-hidden{opacity:0}.hub-ui.is-hidden *{pointer-events:none!important}.hub-head,.hub-stats,.hub-hint{position:absolute;background:#fbf7eced;box-shadow:0 6px 22px #1e3c3238}.hub-head{left:32px;top:26px;display:flex;flex-direction:column;gap:2px;padding:14px 34px 16px;border-radius:24px}.hub-head-kicker{font-size:20px;font-weight:500;letter-spacing:.14em;color:var(--hub-green)}.hub-head-title{font-size:40px;font-weight:700;letter-spacing:.08em}.hub-stats{right:32px;top:26px;display:flex;gap:30px;margin:0;padding:18px 32px;border-radius:24px}.hub-stat{display:flex;align-items:baseline;gap:10px}.hub-stat dt{font-size:20px;color:var(--hub-muted)}.hub-stat dd{margin:0;font-size:32px;font-weight:700;color:var(--hub-green)}.hub-hint{left:50%;bottom:26px;margin:0;padding:14px 36px;transform:translate(-50%);border-radius:999px;font-size:32px;font-weight:800;letter-spacing:.08em;color:var(--hub-paper);background:var(--hub-ink)}.hub-btn{min-height:88px;padding:0 44px;font-family:var(--hub-font);font-size:26px;font-weight:600;letter-spacing:.08em;color:var(--hub-green-dark);background:var(--hub-paper);border:2px solid rgba(47,138,110,.45);border-radius:999px;cursor:pointer;box-shadow:0 6px 18px #1e3c3233;transition:transform .15s,background .2s}.hub-btn:active{transform:scale(.97)}.hub-btn.is-primary{color:#fff;background:var(--hub-green);border-color:var(--hub-green)}.hub-btn.is-primary:active{background:var(--hub-green-dark)}.hub-bar{position:absolute;left:32px;bottom:22px;display:flex;gap:14px}.hub-pin{position:absolute;display:flex;align-items:center;gap:12px;min-height:88px;padding:8px 26px 8px 10px;transform:translate(-50%);font-family:var(--hub-font);color:var(--hub-ink);background:var(--hub-paper);border:3px solid transparent;border-radius:999px;cursor:pointer;box-shadow:0 8px 22px #1e3c3252;white-space:nowrap}.hub-pin:before{content:"";position:absolute;left:50%;top:-11px;width:22px;height:22px;margin-left:-11px;background:inherit;transform:rotate(45deg);border-left:inherit;border-top:inherit}.hub-pin:active{transform:translate(-50%) scale(.97)}.hub-pin.is-above{transform:translate(-50%,-100%)}.hub-pin.is-above:active{transform:translate(-50%,-100%) scale(.97)}.hub-pin.is-above:before{z-index:-1;top:auto;bottom:-11px;border-left:0;border-top:0;border-right:inherit;border-bottom:inherit;border-right-style:solid;border-bottom-style:solid;border-right-width:3px;border-bottom-width:3px;border-right-color:var(--hub-sun);border-bottom-color:var(--hub-sun)}.hub-pin-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px}.hub-pin-name{font-size:34px;font-weight:800;letter-spacing:.04em;line-height:1.15;white-space:nowrap}.hub-pin-status{font-size:21px;font-weight:600;color:var(--hub-muted);white-space:nowrap}.hub-pin .hub-icon{width:66px;height:66px}.hub-pin .hub-icon svg{width:40px;height:40px}.hub-pin.is-open{border-color:var(--pin, var(--hub-sun));animation:hubPinPulse 2.4s ease-in-out infinite}.hub-pin.is-open .hub-icon{color:#fff;background:var(--pin, var(--hub-green));border-color:var(--pin, var(--hub-green))}.hub-pin.is-open .hub-pin-status{color:var(--hub-green-dark)}.hub-pin.is-soon{min-height:88px;opacity:.92}.hub-pin.is-soon .hub-pin-name{font-size:22px;font-weight:500;color:var(--hub-muted)}.hub-pin.is-soon .hub-icon{width:52px;height:52px;margin-left:6px}.hub-pin.is-soon .hub-icon svg{width:32px;height:32px}@keyframes hubPinPulse{0%,to{box-shadow:0 8px 22px #1e3c3252,0 0 #f4b63f99}50%{box-shadow:0 8px 22px #1e3c3252,0 0 0 14px #f4b63f00}}.hub-icon{display:inline-flex;flex:none;width:84px;height:84px;align-items:center;justify-content:center;color:var(--hub-green);background:#2f8a6e1a;border:2px solid rgba(47,138,110,.3);border-radius:50%}.hub-icon svg{width:50px;height:50px}.hub-chip{padding:6px 18px;font-size:19px;font-weight:600;color:var(--hub-green-dark);background:#2f8a6e21;border-radius:999px;white-space:nowrap}.hub-chip.is-coming_soon,.hub-chip.is-maintenance{color:var(--hub-muted);background:#62786f21}.hub-chip.is-done{color:#7a5412;background:#f4b63f4d}.modal.hub-theme{font-family:var(--hub-font);background:#24423a6b;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:auto}.modal.hub-theme .modal-panel{color:var(--hub-ink);background:var(--hub-paper);border:0;border-radius:34px;box-shadow:0 24px 70px #1432286b;text-align:left}.hub-intro-panel{width:900px;max-width:900px}.hub-intro-head{display:flex;align-items:center;gap:24px}.hub-intro-titles{flex:1;min-width:0}.hub-intro-title{margin:0;font-size:50px;font-weight:700;letter-spacing:.08em}.hub-intro-sub{margin:4px 0 0;font-size:24px;color:var(--hub-muted)}.hub-intro-text{margin:30px 0 12px;font-size:27px;line-height:1.75}.hub-intro-meta{margin:0 0 30px;font-size:21px;color:var(--hub-muted)}.hub-intro-actions{display:flex;justify-content:flex-end;gap:18px}.hub-intro-actions button{min-width:230px}.hub-menu-panel{width:960px;max-width:960px}.hub-menu-title{margin:0;font-size:42px;font-weight:700;letter-spacing:.08em}.hub-menu-list{display:flex;flex-direction:column;gap:12px;margin:24px 0 14px}.hub-menu-card{display:flex;align-items:center;gap:20px;width:100%;min-height:100px;padding:8px 26px 8px 12px;font-family:var(--hub-font);color:var(--hub-ink);text-align:left;background:#fff;border:2px solid rgba(47,138,110,.35);border-radius:24px;cursor:pointer}.hub-menu-card:active{transform:scale(.99)}.hub-menu-card.is-locked{background:#ffffff80;border-color:#62786f33}.hub-menu-card.is-locked .hub-icon{color:var(--hub-muted);background:#62786f1a;border-color:#62786f38}.hub-menu-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.hub-menu-name{font-size:30px;font-weight:700}.hub-menu-place{font-size:20px;color:var(--hub-muted)}.hub-menu-note{margin:0 0 20px;font-size:20px;color:var(--hub-muted)}.hub-menu-actions{display:flex;justify-content:flex-end;gap:18px}.hub-menu-close,.hub-menu-attract{min-width:220px}.chapter-actions button{white-space:nowrap;padding-inline:10px}.title-screen .btn-hub{position:absolute;left:72px;bottom:56px;min-width:220px;opacity:0;pointer-events:none;transition:opacity .8s}.title-screen.is-actions-in .btn-hub{opacity:1;pointer-events:auto}.title-screen.is-leaving .btn-hub{opacity:0;pointer-events:none}.hub-notice{position:absolute;left:50%;top:40px;transform:translate(-50%);max-width:80%;padding:16px 28px;font-family:var(--hub-font);font-size:26px;font-weight:700;color:#fff;background:#963228f0;border-radius:18px;z-index:5}.hub-stats[hidden]{display:none}.hub-attract{--attract: #ffb020;position:absolute;top:0;right:0;bottom:0;left:0;width:1920px;height:1080px;overflow:hidden;pointer-events:auto;font-family:var(--hub-font);color:#fff8e8;opacity:0;transition:opacity .4s}.hub-attract.is-open{opacity:1}.hub-attract-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#05100cf7 0,#05100cf0 55%,#05100c14 66%)}.hub-attract-spot{position:absolute;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;background:radial-gradient(circle,var(--attract) 0,transparent 66%);mix-blend-mode:screen;opacity:.5;pointer-events:none;animation:hubAttractSpot 1.5s ease-in-out infinite}@keyframes hubAttractSpot{0%,to{transform:scale(.82)}50%{transform:scale(1.18)}}.hub-attract-brand{position:absolute;left:48px;top:38px;font-size:27px;font-weight:800;letter-spacing:.06em}.hub-attract-brand small,.hub-attract-brand span{display:block}.hub-attract-brand small{margin-bottom:3px;font-size:17px;font-weight:600;letter-spacing:.14em;opacity:.8}.hub-attract-clip{position:absolute;right:62px;top:40px;width:930px;height:523px;overflow:hidden;background:#000;border:7px solid #fff8e8;border-radius:24px;box-shadow:0 24px 70px #000000a6;transition:opacity .4s,transform .6s cubic-bezier(.2,.9,.2,1)}.hub-attract-clip[hidden]{display:none}.hub-attract-media{width:100%;height:100%;object-fit:cover;animation:hubAttractPan 9s linear infinite alternate}video.hub-attract-media{animation:none}@keyframes hubAttractPan{0%{transform:scale(1)}to{transform:scale(1.14) translate(-2%,-2%)}}.hub-attract-real{position:absolute;left:18px;bottom:18px;padding:6px 15px;font-size:21px;font-weight:800;color:#fff;background:#d8263a;border-radius:9px}.hub-attract-note{position:absolute;right:62px;top:572px;width:930px;font-size:18px;color:#fff8e8;text-align:right;text-shadow:0 1px 6px #000}.hub-attract-panel{position:absolute;left:84px;top:232px;width:800px;transition:opacity .28s}.hub-attract.is-swapping .hub-attract-panel,.hub-attract.is-swapping .hub-attract-note{opacity:0}.hub-attract.is-swapping .hub-attract-clip{opacity:0;transform:translate(40px) rotate(1deg)}.hub-attract-kicker{display:inline-block;margin-bottom:22px;padding:7px 18px;font-size:24px;font-weight:800;color:#14100a;background:var(--attract);border-radius:999px}.hub-attract-title{font-size:104px;font-weight:900;line-height:1.08;text-shadow:0 5px 26px rgba(0,0,0,.55)}.hub-attract-title.is-long{font-size:90px}.hub-attract-hook{margin-top:24px;font-size:50px;font-weight:800;line-height:1.28;color:#fff}.hub-attract-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.hub-attract-tags span{padding:8px 20px;font-size:26px;font-weight:700;border:2px solid rgba(255,248,232,.5);border-radius:999px}.hub-attract-cta{margin-top:38px;padding:24px 56px;font-family:var(--hub-font);font-size:44px;font-weight:900;color:#14100a;background:var(--attract);border:0;border-radius:26px;box-shadow:0 12px #00000047;cursor:pointer;animation:hubAttractBob 1.2s ease-in-out infinite}@keyframes hubAttractBob{50%{transform:translateY(-8px)}}.hub-attract-tabs{position:absolute;left:0;right:0;bottom:30px;display:flex;justify-content:center;gap:16px}.hub-attract-tab{position:relative;min-height:72px;padding:0 30px;overflow:hidden;font-family:var(--hub-font);font-size:25px;font-weight:800;color:#fff8e8;background:#141e1ab8;border:2px solid rgba(255,255,255,.28);border-radius:16px;cursor:pointer}.hub-attract-tab.is-on{background:#28342eeb;border-color:var(--attract)}.hub-attract-tab i{position:absolute;left:0;bottom:0;width:0;height:6px;background:var(--attract)}.hub-attract-tab.is-on i{animation:hubAttractFill var(--hold) linear forwards}@keyframes hubAttractFill{to{width:100%}}.mc-screen{--mc-ink: #26313f;--mc-sub: #4d5a6a;--mc-teal: #23867a;--mc-teal-dark: #1b6a60;--mc-teal-soft: #d8f0eb;--mc-coral: #e0745f;--mc-coral-soft: #fde6df;--mc-gold: #f0b43c;--mc-paper: #ffffff;--mc-line: #d9e2e8;--mc-shadow: 0 10px 26px rgba(38, 49, 63, .14);position:absolute;top:0;right:0;bottom:0;left:0;width:1920px;height:1080px;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;color:var(--mc-ink);letter-spacing:.02em}.mc-screen *{box-sizing:border-box}.mc-screen button{font-family:inherit;cursor:pointer;border:0;-webkit-tap-highlight-color:transparent}.mc-page{position:absolute;top:0;right:0;bottom:0;left:0;animation:mc-fade .5s ease both}@keyframes mc-fade{0%{opacity:0}to{opacity:1}}.mc-btn{min-height:100px;padding:0 64px;border-radius:999px;font-size:42px;font-weight:700;letter-spacing:.12em;background:var(--mc-paper);color:var(--mc-teal-dark);box-shadow:inset 0 0 0 4px var(--mc-teal),var(--mc-shadow);transition:transform .15s ease,background .2s ease}.mc-btn-primary{background:var(--mc-teal);color:#fff;box-shadow:0 8px 0 var(--mc-teal-dark),var(--mc-shadow)}.mc-btn:active{transform:translateY(4px)}.mc-btn-primary:active{box-shadow:0 4px 0 var(--mc-teal-dark),var(--mc-shadow)}.mc-btn-small{min-height:84px;padding:0 38px;font-size:32px;letter-spacing:.06em}.mc-btn-quiet{background:#ffffffd9;color:var(--mc-sub);box-shadow:inset 0 0 0 3px var(--mc-line)}.mc-btn.is-ready{animation:mc-breathe 2.6s ease-in-out infinite}@keyframes mc-breathe{50%{transform:scale(1.04)}}.mc-toggles{display:flex;gap:16px}.mc-toggle{min-height:84px;min-width:170px;padding:0 26px;border-radius:999px;font-size:30px;font-weight:700;background:var(--mc-paper);box-shadow:inset 0 0 0 3px var(--mc-line),var(--mc-shadow);display:inline-flex;align-items:center;justify-content:center;gap:10px}.mc-toggle[aria-pressed=true]{color:var(--mc-teal-dark);box-shadow:inset 0 0 0 3px var(--mc-teal),var(--mc-shadow)}.mc-toggle[aria-pressed=false]{color:#8a96a3}.mc-toggle svg{width:38px;height:38px}.mc-top{position:absolute;top:36px;left:56px;right:56px;display:flex;justify-content:space-between;align-items:center}.mc-title-main{position:absolute;left:130px;top:200px;width:980px}.mc-kicker{margin:0 0 18px;font-size:32px;font-weight:700;letter-spacing:.3em;color:var(--mc-teal)}.mc-title-main h1{margin:0;font-size:150px;line-height:1.1;font-weight:900;letter-spacing:.08em;color:var(--mc-teal-dark)}.mc-sub{margin:18px 0 40px;font-size:52px;font-weight:700;color:var(--mc-ink)}.mc-howto{margin:0 0 54px;padding:26px 34px;border-radius:26px;background:#ffffffdb;box-shadow:var(--mc-shadow);font-size:36px;line-height:1.6;max-width:900px}.mc-title-art{position:absolute;left:1150px;top:210px;width:640px;height:520px}.mc-title-art .mc-card{position:absolute;width:240px;height:300px;pointer-events:none}.mc-title-art .mc-card:nth-child(1){left:20px;top:60px;transform:rotate(-10deg)}.mc-title-art .mc-card:nth-child(2){left:200px;top:10px;transform:rotate(2deg);z-index:1}.mc-title-art .mc-card:nth-child(3){left:380px;top:70px;transform:rotate(11deg)}.mc-screen .tt-qr{opacity:1;right:56px;bottom:48px;background:#fffffff0;border:3px solid var(--mc-line);box-shadow:var(--mc-shadow)}.mc-screen .tt-qr-text{max-width:360px}.mc-screen .tt-qr-text b{font-family:inherit;color:var(--mc-teal-dark);font-size:30px;white-space:nowrap}.mc-screen .tt-qr-status{color:var(--mc-sub);opacity:1;font-size:24px}.mc-screen .tt-qr.is-connected{border-color:var(--mc-teal)}.mc-screen .tt-qr.is-connected .tt-qr-status{color:var(--mc-teal-dark)}.mc-card{position:relative;padding:0;background:none;perspective:1400px;border-radius:26px}.mc-card-inner{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transition:transform .5s ease;border-radius:26px}.mc-card.is-up .mc-card-inner{transform:rotateY(180deg)}.mc-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:26px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:var(--mc-shadow)}.mc-back{border:5px solid #fff}.mc-back svg{width:100%;height:100%;display:block}.mc-front{transform:rotateY(180deg);background:var(--mc-paper);border:5px solid #fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px}.mc-front svg{width:84%;height:auto;max-height:76%}.mc-name{font-size:30px;font-weight:800;line-height:1.2;text-align:center;color:var(--mc-ink)}.mc-card.is-matched .mc-front{border-color:#8ed3a8;background:#f2fbf5}.mc-card.is-matched:after{content:"✓";position:absolute;right:12px;top:10px;width:48px;height:48px;border-radius:50%;background:#3fa66b;color:#fff;font-size:32px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 8px #0000002e}.mc-card.is-wrong .mc-front{border-color:#f2b39f;background:#fff6f2}.mc-card.is-right .mc-front{border-color:#3fa66b}.mc-card:not(.is-up):not(:disabled):hover .mc-back{border-color:#ffe7a3}.mc-tut h2{position:absolute;left:0;right:0;top:150px;margin:0;text-align:center;font-size:76px;font-weight:900;color:var(--mc-teal-dark);letter-spacing:.1em}.mc-tut-hint{position:absolute;left:0;right:0;top:262px;margin:0;text-align:center;font-size:40px;font-weight:700}.mc-tut-hint.is-done{color:#2f8f58}.mc-steps{position:absolute;left:140px;top:360px;width:420px;display:flex;flex-direction:column;gap:22px}.mc-step{display:flex;align-items:center;gap:20px;padding:18px 24px;border-radius:22px;background:#ffffffe0;box-shadow:var(--mc-shadow);font-size:32px;font-weight:700;line-height:1.35}.mc-step b{flex:none;width:64px;height:64px;border-radius:50%;background:var(--mc-teal);color:#fff;font-size:34px;display:flex;align-items:center;justify-content:center}.mc-practice{position:absolute;left:640px;top:360px;width:1140px;height:420px;display:grid;grid-template-columns:repeat(4,1fr);gap:36px}.mc-tut-actions{position:absolute;left:0;right:0;bottom:96px;display:flex;justify-content:center;gap:36px}.mc-tut-note{position:absolute;left:0;right:0;bottom:46px;margin:0;text-align:center;font-size:26px;color:var(--mc-sub)}.mc-demo-hand{position:absolute;width:90px;height:90px;pointer-events:none;z-index:3;transition:left .9s ease,top .9s ease,opacity .4s;filter:drop-shadow(0 4px 6px rgba(0,0,0,.25))}.mc-head{position:absolute;top:18px;left:40px;right:40px;height:104px;display:flex;align-items:center;gap:24px}.mc-head-title{font-size:44px;font-weight:900;color:var(--mc-teal-dark);letter-spacing:.08em}.mc-progress{margin:0 auto;padding:12px 40px;border-radius:999px;background:var(--mc-paper);box-shadow:var(--mc-shadow);font-size:40px;font-weight:800}.mc-progress b{font-size:54px;color:var(--mc-teal-dark)}.mc-board{position:absolute;left:40px;top:138px;width:1400px;height:918px;display:grid;gap:20px}.mc-side{position:absolute;left:1470px;top:138px;width:410px;height:918px;display:flex;flex-direction:column;gap:20px}.mc-toast{height:96px;border-radius:24px;display:flex;align-items:center;justify-content:center;font-size:38px;font-weight:800;background:#fff9;color:transparent;transition:background .3s,color .3s}.mc-toast.is-good{background:#e3f6ea;color:#2f8f58}.mc-toast.is-soft{background:var(--mc-coral-soft);color:#b8533e}.mc-tip{flex:1;border-radius:28px;background:var(--mc-paper);box-shadow:var(--mc-shadow);padding:30px 30px 24px;display:flex;flex-direction:column;align-items:center;text-align:center}.mc-tip h3{margin:0 0 14px;font-size:36px;font-weight:900;color:var(--mc-teal-dark);letter-spacing:.1em}.mc-tip-art{width:200px;height:200px}.mc-tip-art svg{width:100%;height:100%}.mc-tip-name{margin:10px 0 8px;font-size:36px;font-weight:800}.mc-tip-text{margin:0;font-size:32px;line-height:1.6;color:var(--mc-ink);text-align:left}.mc-tip-text.is-idle{color:var(--mc-sub);text-align:center;margin-top:40px}.mc-review{margin-top:auto;font-size:22px;color:#8a96a3}.mc-tip.is-new{animation:mc-pop .6s ease}@keyframes mc-pop{0%{transform:scale(.97)}60%{transform:scale(1.01)}to{transform:none}}.mc-result-left{position:absolute;left:90px;top:70px;width:940px}.mc-result-left h1{margin:0 0 30px;font-size:92px;font-weight:900;color:var(--mc-teal-dark);letter-spacing:.06em}.mc-stats{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:30px}.mc-stat{padding:22px 30px;border-radius:24px;background:var(--mc-paper);box-shadow:var(--mc-shadow)}.mc-stat span{display:block;font-size:32px;font-weight:700;color:var(--mc-sub)}.mc-stat b{font-size:66px;font-weight:900;color:var(--mc-ink)}.mc-stat small{font-size:34px;font-weight:700;color:var(--mc-sub);margin-left:6px}.mc-desc{margin:0 0 14px;font-size:34px;line-height:1.6}.mc-result-actions{display:flex;gap:28px;margin-top:34px}.mc-result-right{position:absolute;left:1090px;top:110px;width:760px;display:flex;flex-direction:column;gap:24px}.mc-box{border-radius:28px;padding:28px 34px;font-size:32px;line-height:1.65;box-shadow:var(--mc-shadow)}.mc-box h3{margin:0 0 10px;font-size:38px;font-weight:900}.mc-box p{margin:0}.mc-reminder{background:#eaf7ef}.mc-reminder h3{color:#2f8f58}.mc-disclaimer{background:#fff8e6;box-shadow:inset 0 0 0 4px #f0c96a,var(--mc-shadow);font-size:29px;font-weight:700}.mc-disclaimer h3{color:#a2700a;font-size:34px}.mc-detail-btn{align-self:flex-start}.mc-screen .modal{background:#26313f61;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.mc-modal-panel{width:900px;padding:56px 64px 48px;border-radius:34px;background:#fff;box-shadow:0 24px 60px #00000040;text-align:center}.mc-modal-panel h2{margin:0 0 18px;font-size:54px;font-weight:900;color:var(--mc-ink)}.mc-modal-panel p{margin:0 0 40px;font-size:34px;color:var(--mc-sub)}.mc-modal-actions{display:flex;justify-content:center;gap:30px}#ui-layer .mc-screen .pad-focus{outline:7px solid #1b6a60;outline-offset:6px;box-shadow:0 0 0 14px #23867a38}.mc-detail-panel{width:1500px;padding:44px 56px 40px;text-align:left}.mc-detail-panel h2{text-align:center;margin-bottom:8px}.mc-detail-sub{margin:0 0 22px!important;font-size:28px!important;text-align:center}.mc-detail-list{list-style:none;margin:0 0 22px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px 18px}.mc-detail-list li{display:flex;align-items:center;gap:12px;padding:10px 16px;border-radius:18px;background:#f4f8f9}.mc-detail-art{flex:none;width:64px;height:64px}.mc-detail-art svg{width:100%;height:100%}.mc-detail-name{flex:1;font-size:28px;white-space:nowrap;font-weight:700;line-height:1.25;color:var(--mc-ink)}.mc-detail-list b{font-size:32px;font-weight:900;color:var(--mc-teal-dark);white-space:nowrap}.mc-detail-notes{display:flex;gap:24px;justify-content:center;margin-bottom:26px}.mc-detail-notes p{margin:0!important;padding:12px 22px;border-radius:16px;background:#fff8e6;font-size:26px!important;color:var(--mc-ink)!important}.mc-detail-close{display:block;margin:0 auto}.mc-diff-label{margin:0 0 16px;font-size:32px;font-weight:800;color:var(--mc-sub)}.mc-diffs{display:flex;gap:22px}.mc-diff{min-width:250px;min-height:128px;padding:14px 26px;border-radius:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;box-shadow:0 8px #0000002e,var(--mc-shadow);transition:transform .15s ease}.mc-diff b{font-size:50px;font-weight:900;letter-spacing:.16em;line-height:1}.mc-diff span{font-size:26px;font-weight:700;opacity:.95}.mc-diff:active{transform:translateY(4px)}.mc-diff-easy{background:#3fa66b}.mc-diff-normal{background:var(--mc-teal)}.mc-diff-hard{background:#d9773a}.mc-chip{display:inline-block;padding:6px 20px;border-radius:999px;font-size:30px;font-weight:800;color:#fff;vertical-align:middle;letter-spacing:.1em}.mc-result-left h1 .mc-chip{margin-left:22px;font-size:34px;position:relative;top:-10px}.mc-chip-easy{background:#3fa66b}.mc-chip-normal{background:var(--mc-teal)}.mc-chip-hard{background:#d9773a}.mc-game.d-hard .mc-board{width:1500px;gap:14px}.mc-game.d-hard .mc-side{left:1560px;width:320px}.mc-game.d-hard .mc-name{font-size:24px}.mc-game.d-hard .mc-front svg{width:90%;max-height:70%}.mc-game.d-hard .mc-tip{padding:24px 20px 18px}.mc-game.d-hard .mc-tip-art{width:160px;height:160px}.mc-game.d-hard .mc-tip-text{font-size:28px}.mc-game.d-hard .mc-toast{font-size:32px}.mc-game.d-easy .mc-board{gap:28px}.mc-game.d-easy .mc-name{font-size:40px}
