:root{--lacquer: #a41e22;--lacquer-deep: #6e1114;--gold: #d9a441;--gold-soft: #b98a3a;--ink: #121013;--ink-2: #1c171a;--paper: #ece0c8;--paper-dim: #cbbfa4;--jade: #3f7d5d;--dusk: #241a22}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;overflow:hidden;background:var(--ink)}body{font-family:Oswald,sans-serif;color:var(--paper);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.stage{position:fixed;inset:0}canvas{display:block;touch-action:none}.hanzi{font-family:Ma Shan Zheng,cursive;font-weight:400}.mono{font-family:Space Mono,monospace}.grain{position:fixed;inset:0;pointer-events:none;z-index:60;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.16'/%3E%3C/svg%3E")}.vignette{position:fixed;inset:0;pointer-events:none;z-index:59;background:radial-gradient(ellipse at center,transparent 52%,rgba(8,5,8,.55) 100%)}.title-screen{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 20px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#1e121899,#0a070aeb 78%);cursor:pointer;transition:opacity .9s ease,visibility .9s}.title-screen.hidden{opacity:0;visibility:hidden;pointer-events:none}.title-hanzi{font-size:clamp(110px,24vw,230px);line-height:.95;color:var(--paper);text-shadow:0 0 60px rgba(164,30,34,.55);animation:brushIn 1.4s cubic-bezier(.16,1,.3,1) both}.title-hanzi .red{color:var(--lacquer);-webkit-text-stroke:1px rgba(217,164,65,.25)}.title-name{font-size:clamp(20px,3.4vw,34px);letter-spacing:.55em;text-indent:.55em;font-weight:600;color:var(--gold);animation:fadeUp 1s .5s both}.title-sub{font-size:clamp(11px,1.5vw,14px);letter-spacing:.42em;text-indent:.42em;color:var(--paper-dim);animation:fadeUp 1s .7s both;max-width:100%}@media(max-width:900px){.title-sub{letter-spacing:.22em;text-indent:.22em;line-height:1.7}.title-name{letter-spacing:.34em;text-indent:.34em}.title-credit{max-width:90vw;letter-spacing:.14em}}.title-rule{width:180px;height:2px;margin:14px 0 6px;background:linear-gradient(90deg,transparent,var(--lacquer) 30%,var(--gold) 50%,var(--lacquer) 70%,transparent);animation:fadeUp 1s .8s both}.title-begin{margin-top:26px;font-family:Space Mono,monospace;font-size:13px;letter-spacing:.3em;text-indent:.3em;color:var(--paper);border:1px solid rgba(217,164,65,.5);padding:14px 34px;background:#a41e2224;animation:fadeUp 1s 1s both,pulse 2.4s 2s infinite}.title-begin.vb{background:var(--lacquer);border-color:var(--lacquer);color:var(--paper);font-weight:700}.title-credit{position:absolute;bottom:26px;font-family:Space Mono,monospace;font-size:10px;letter-spacing:.2em;color:#cbbfa48c;animation:fadeUp 1s 1.2s both}@keyframes brushIn{0%{opacity:0;transform:scale(1.25);filter:blur(14px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 #a41e2266}50%{box-shadow:0 0 24px 4px #a41e2259}}.select-screen{position:fixed;inset:0;z-index:78;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:radial-gradient(ellipse at 50% 40%,#1e1218b8,#0a070af2 80%);animation:panelBg .6s ease both;padding:20px}.select-kicker{font-size:clamp(12px,2vw,16px);letter-spacing:.5em;text-indent:.5em;color:var(--gold);animation:fadeUp .7s .1s both}.select-cards{display:flex;gap:clamp(14px,3vw,36px);flex-wrap:wrap;justify-content:center}.fighter-card{position:relative;width:min(300px,42vw);background:linear-gradient(170deg,#1e161ce6,#0e0a0ef0);border:2px solid rgba(217,164,65,.25);padding:18px 16px 20px;cursor:pointer;color:var(--paper);text-align:center;transition:transform .25s ease,border-color .25s,box-shadow .25s;animation:fadeUp .7s .25s both}.fighter-card.focus{transform:translateY(-8px) scale(1.03);border-color:var(--gold);box-shadow:0 20px 60px #a41e2266,0 0 0 1px #d9a44166}.fc-hanzi{position:absolute;top:6px;right:12px;font-size:44px;color:#a41e228c}.fc-preview{height:clamp(180px,30vh,260px);margin-bottom:8px}.fc-preview canvas{touch-action:auto!important}.fc-name{font-size:28px;font-weight:600;letter-spacing:.28em;text-indent:.28em}.fc-title{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.3em;color:var(--gold);margin-top:2px}.fc-blurb{font-weight:300;font-size:13px;color:var(--paper-dim);margin:10px 0 12px;line-height:1.5}.fc-stats{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}.fc-stat{display:flex;align-items:center;justify-content:space-between;gap:10px}.fs-k{font-family:Space Mono,monospace;font-size:9px;letter-spacing:.2em;color:var(--paper-dim)}.fs-bar{display:flex;gap:4px;flex:1;justify-content:flex-end;min-width:0}.fs-bar i{flex:1 1 0;min-width:0;max-width:22px;height:6px;background:#ece0c81f;transform:skew(-20deg)}.fc-stat{min-width:0}.fs-bar i.on{background:var(--lacquer);box-shadow:0 0 8px #a41e22cc}.fighter-card.focus .fs-bar i.on{background:var(--gold);box-shadow:0 0 8px #d9a441cc}.fc-cta{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.24em;color:var(--gold);min-height:16px;animation:pulse 1.6s infinite}.select-hint{font-size:10px;letter-spacing:.2em;color:#ece0c880;animation:fadeUp .7s .45s both}.combo{position:absolute;left:clamp(18px,4vw,60px);bottom:30vh;display:flex;align-items:baseline;gap:10px;transform:rotate(-4deg);animation:comboPop .3s cubic-bezier(.17,1.6,.5,1) both;pointer-events:none}.combo-n{font-family:Oswald,sans-serif;font-weight:600;font-style:italic;font-size:clamp(48px,8vw,84px);line-height:1;color:var(--gold);-webkit-text-stroke:2px rgba(110,17,20,.9);text-shadow:4px 4px 0 rgba(110,17,20,.55)}.combo-l{font-family:Space Mono,monospace;font-size:12px;letter-spacing:.3em;font-weight:700;color:var(--paper)}@keyframes comboPop{0%{transform:rotate(-4deg) scale(1.7);opacity:0}to{transform:rotate(-4deg) scale(1);opacity:1}}.enter-prompt.strike-cta{background:var(--lacquer);color:var(--paper)}.boss-bar{position:absolute;top:84px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;animation:fadeUp .5s ease both;pointer-events:none}.bb-name{font-family:Oswald,sans-serif;font-weight:600;font-size:16px;letter-spacing:.34em;color:var(--paper);text-shadow:0 0 14px rgba(255,59,47,.7);display:flex;align-items:center;gap:10px}.bb-name .hanzi{color:#ff3b2f;font-size:24px}.bb-track{display:flex;gap:5px;padding:5px 7px;background:#0c080abf;border:1px solid rgba(255,59,47,.45)}.bb-track i{width:clamp(22px,4.5vw,42px);height:9px;background:#ece0c81a;transform:skew(-18deg);transition:background .25s}.bb-track i.on{background:linear-gradient(180deg,#ff5a3d,#a41e22);box-shadow:0 0 10px #ff3b2fb3}.blocked-flash{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;background:radial-gradient(ellipse at center,rgba(255,59,47,.16) 0%,transparent 65%);animation:blockedIn .7s ease both}.blocked-flash span{font-family:Oswald,sans-serif;font-weight:600;font-style:italic;font-size:clamp(30px,6vw,54px);letter-spacing:.24em;color:var(--paper);-webkit-text-stroke:1.5px var(--lacquer);text-shadow:0 0 30px rgba(255,59,47,.9);transform:rotate(-3deg)}@keyframes blockedIn{0%{opacity:0;transform:scale(1.25)}25%{opacity:1;transform:scale(1)}75%{opacity:1}to{opacity:0}}.hud{position:fixed;inset:0;z-index:70;pointer-events:none;opacity:0;transition:opacity 1s ease .4s}.hud.on{opacity:1}.talisman{position:absolute;top:22px;left:22px;display:flex;align-items:center;gap:14px}.coin{width:86px;height:86px;position:relative;filter:drop-shadow(0 4px 14px rgba(0,0,0,.6))}.coin svg{position:absolute;inset:0;animation:coinSpin 40s linear infinite}@keyframes coinSpin{to{transform:rotate(360deg)}}.coin-year{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:Space Mono,monospace;font-weight:700;font-size:19px;color:var(--paper);text-shadow:0 0 12px rgba(217,164,65,.6)}.coin-year.flip{animation:yearFlip .5s ease}@keyframes yearFlip{0%{transform:scale(1);color:var(--paper)}40%{transform:scale(1.45);color:var(--gold)}to{transform:scale(1);color:var(--paper)}}.talisman-label{display:flex;flex-direction:column;gap:2px}.talisman-label .l1{font-size:15px;letter-spacing:.3em;font-weight:600;color:var(--gold)}.talisman-label .l2{font-family:Space Mono,monospace;font-size:9px;letter-spacing:.24em;color:var(--paper-dim)}.talisman-label .l2.gold{color:var(--gold)}.objective{position:absolute;top:26px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:10px;padding:8px 16px;background:#12101399;border:1px solid rgba(217,164,65,.28);max-width:min(60vw,560px);white-space:nowrap;overflow:hidden}.objective .obj-k{font-size:9px;letter-spacing:.3em;color:var(--lacquer);font-weight:700;flex-shrink:0}.objective .obj-v{font-size:10px;letter-spacing:.18em;color:var(--paper);overflow:hidden;text-overflow:ellipsis}.hud-actions{position:absolute;top:26px;right:22px;display:flex;gap:10px;pointer-events:auto}.hud-btn{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.18em;color:var(--paper);background:#121013b8;border:1px solid rgba(217,164,65,.4);padding:9px 14px;cursor:pointer;text-decoration:none;transition:background .25s,border-color .25s}.hud-btn:hover{background:#a41e2266;border-color:var(--gold)}.audio-ctl{position:relative}.audio-pop{position:absolute;top:calc(100% + 8px);right:0;width:218px;background:#121013eb;border:1px solid rgba(217,164,65,.4);padding:12px;display:flex;flex-direction:column;gap:10px;animation:fadeUp .25s ease both}.ap-row{display:flex;align-items:center;gap:8px;font-family:Space Mono,monospace;font-size:9px;letter-spacing:.16em;color:var(--paper-dim)}.ap-row input[type=range]{flex:1;accent-color:#d9a441;height:4px;cursor:pointer}.ap-btn{flex:1;font-family:Space Mono,monospace;font-size:9px;letter-spacing:.12em;padding:8px 6px;cursor:pointer;background:transparent;color:var(--paper-dim);border:1px solid rgba(236,224,200,.25)}.ap-btn.on{color:var(--paper);border-color:var(--gold);background:#a41e224d}.hud-bottom{position:absolute;bottom:26px;left:50%;transform:translate(-50%);text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px;max-width:92vw}.hud-virtue{display:flex;align-items:baseline;gap:12px;color:var(--paper)}.hud-virtue .h{font-size:40px;color:var(--lacquer);text-shadow:0 0 22px rgba(164,30,34,.7),0 0 2px var(--gold)}.hud-virtue .v{font-size:17px;letter-spacing:.34em;font-weight:600}.hud-virtue .p{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.2em;color:var(--gold)}.hud-hint{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.16em;color:#ece0c89e}.enter-prompt{pointer-events:auto;cursor:pointer;margin-top:4px;font-family:Space Mono,monospace;font-size:11px;letter-spacing:.22em;color:var(--ink);background:var(--gold);border:none;padding:10px 22px;font-weight:700;animation:pulse 2s infinite}.prompt-row{display:flex;gap:10px;align-items:center}.enter-prompt.breathe-cta{background:var(--paper);animation:pulse 1.6s infinite}.enter-prompt.ghost{background:transparent;color:var(--paper);border:1px solid rgba(236,224,200,.55);animation:none}.walk-btn{position:absolute;right:20px;bottom:88px;width:66px;height:66px;border-radius:50%;pointer-events:auto;cursor:pointer;background:#a41e22bf;border:2px solid var(--gold);color:var(--paper);font-size:18px;line-height:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 6px 18px #00000073}.walk-btn span{font-family:Space Mono,monospace;font-size:8px;letter-spacing:.2em}.walk-btn:active{background:var(--lacquer);transform:scale(.94)}.beads{position:absolute;right:26px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:16px;pointer-events:auto}.bead{width:12px;height:12px;transform:rotate(45deg);border:1px solid rgba(217,164,65,.55);background:transparent;cursor:pointer;padding:0;transition:background .3s,box-shadow .3s}.bead.visited{background:#d9a44173}.bead.active{background:var(--lacquer);border-color:var(--gold);box-shadow:0 0 12px #a41e22e6}.panel-wrap{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px;background:#0a070a9e;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:panelBg .35s ease both}@keyframes panelBg{0%{opacity:0}to{opacity:1}}.panel{position:relative;width:min(920px,100%);max-height:min(86vh,780px);overflow:hidden;background:linear-gradient(160deg,#efe4cd,#e6d8ba 55%,#ddcdab);color:var(--ink);border:2px solid var(--lacquer-deep);outline:1px solid rgba(217,164,65,.8);outline-offset:4px;box-shadow:0 30px 90px #000000b3;animation:panelIn .5s cubic-bezier(.16,1,.3,1) both}.panel-scroll{max-height:min(86vh,780px);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(22px,4vw,46px)}@keyframes panelIn{0%{opacity:0;transform:translateY(30px) scale(.97);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0) scale(1);clip-path:inset(0 0 0% 0)}}.panel:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23p)' opacity='0.07'/%3E%3C/svg%3E");mix-blend-mode:multiply}.panel-head{display:flex;align-items:flex-start;gap:clamp(14px,3vw,28px);border-bottom:2px solid rgba(110,17,20,.35);padding-bottom:18px;margin-bottom:20px}.panel-hanzi{font-size:clamp(64px,10vw,104px);line-height:1;color:var(--lacquer);flex-shrink:0}.panel-meta{flex:1;min-width:0}.panel-kicker{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.26em;color:var(--lacquer-deep);margin-bottom:6px}.panel-title{font-size:clamp(26px,5vw,44px);font-weight:600;letter-spacing:.12em;line-height:1.05;color:#241d16;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;clip-path:inset(0 100% 0 0);animation:wipeIn .7s .12s cubic-bezier(.16,1,.3,1) forwards}@keyframes wipeIn{to{clip-path:inset(0 0% 0 0)}}.reveal{opacity:0;animation:textReveal .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes textReveal{0%{opacity:0;transform:translateY(14px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.panel-lead{opacity:0;animation:textReveal .6s .08s cubic-bezier(.16,1,.3,1) forwards}@media(prefers-reduced-motion:reduce){.reveal,.panel-lead,.panel-title{animation:none!important;opacity:1!important;clip-path:none!important}}.panel-role{margin-top:6px;font-size:12px;letter-spacing:.3em;color:#6b5b3d;font-weight:500}.panel-year{flex-shrink:0;font-family:Space Mono,monospace;font-weight:700;font-size:14px;color:var(--paper);background:var(--lacquer);border:1px solid var(--gold);padding:8px 12px;box-shadow:3px 3px #6e111466}.panel-lead{font-family:Oswald,sans-serif;font-weight:400;font-style:italic;font-size:clamp(16px,2vw,19px);line-height:1.5;color:var(--lacquer-deep);border-left:3px solid var(--accent, var(--gold));padding-left:14px;margin-bottom:18px}.panel-watermark{position:absolute;top:40%;right:-10px;font-size:clamp(220px,40vw,420px);line-height:1;color:#6e11140d;pointer-events:none;-webkit-user-select:none;user-select:none}.panel-body{position:relative}.panel-body p{font-family:Oswald,sans-serif;font-weight:300;font-size:clamp(15px,1.8vw,17px);line-height:1.75;color:#2c251c;margin-bottom:14px}.panel-usecases{margin:22px 0 8px;position:relative}.uc-head{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.26em;font-weight:700;color:#241d16;display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid rgba(110,17,20,.25)}.uc-hanzi{font-size:22px;color:var(--lacquer)}.uc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.uc-card{background:#fffaee8c;border:1.5px solid rgba(110,17,20,.3);border-top:3px solid var(--accent, var(--gold));padding:14px 15px}.uc-name{font-family:Oswald,sans-serif;font-weight:600;font-size:14px;letter-spacing:.14em;text-transform:uppercase;color:#241d16;margin-bottom:7px}.uc-desc{font-family:Oswald,sans-serif;font-weight:300;font-size:13.5px;line-height:1.6;color:#40382c}.panel-breathe{display:block;width:100%;margin-top:18px;font-family:Space Mono,monospace;font-size:12px;letter-spacing:.24em;font-weight:700;color:var(--paper);background:var(--ink);border:2px solid var(--gold);padding:16px;cursor:pointer;transition:background .25s}.panel-breathe:hover{background:var(--lacquer-deep)}.panel-media{display:flex;gap:12px;margin:18px 0;flex-wrap:wrap}.panel-media figure{flex:1 1 220px;margin:0;position:relative;cursor:zoom-in}.panel-media figure:hover img{filter:brightness(1.08)}.panel-media img{width:100%;max-height:340px;object-fit:cover;object-position:50% 22%;display:block;border:2px solid var(--lacquer-deep);box-shadow:5px 5px #6e111440}.panel-media video{width:100%;display:block;border:2px solid var(--lacquer-deep);box-shadow:5px 5px #6e111440;background:#000}.panel-media.video-media{display:block}.panel-media figcaption{position:absolute;top:8px;left:8px;font-family:Space Mono,monospace;font-size:9px;letter-spacing:.2em;background:var(--ink);color:var(--gold);padding:4px 8px}.panel-caption{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.18em;color:#6b5b3d;margin:-8px 0 14px}.panel-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.panel-tags span{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.14em;color:var(--paper);background:#241d16;padding:6px 10px}.panel-foot{display:flex;align-items:center;justify-content:space-between;margin-top:26px;padding-top:16px;border-top:2px solid rgba(110,17,20,.35)}.seal{width:52px;height:52px;background:var(--lacquer);color:var(--paper);display:flex;align-items:center;justify-content:center;font-size:28px;box-shadow:2px 2px #6e111480;transform:rotate(-3deg)}.panel-close{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.22em;background:transparent;color:var(--lacquer-deep);border:2px solid var(--lacquer-deep);padding:12px 26px;cursor:pointer;font-weight:700;transition:background .25s,color .25s}.panel-close:hover{background:var(--lacquer);color:var(--paper);border-color:var(--lacquer)}.panel-x{position:absolute;top:10px;right:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--lacquer);border:1px solid var(--gold);font-size:16px;line-height:1;color:var(--paper);cursor:pointer;font-family:Oswald,sans-serif;z-index:3;box-shadow:2px 2px #6e111466}.panel-x:hover{background:var(--lacquer-deep)}.panel-head{padding-right:44px}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:18px}.contact-card{display:block;text-decoration:none;border:2px solid var(--lacquer-deep);padding:14px 16px;background:#fffaee80;transition:background .25s,transform .2s}.contact-card:hover{background:var(--lacquer);transform:translateY(-2px)}.contact-card:hover .cv,.contact-card:hover .cl{color:var(--paper)}.contact-card .cl{font-family:Space Mono,monospace;font-size:9px;letter-spacing:.24em;color:var(--lacquer-deep);display:block;margin-bottom:4px}.contact-card .cv{font-size:16px;letter-spacing:.08em;font-weight:500;color:#241d16}.zoom-wrap{position:fixed;inset:0;z-index:120;background:#080608f0;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:panelBg .25s ease both}.zoom-wrap img{max-width:94vw;max-height:92vh;object-fit:contain;border:2px solid rgba(217,164,65,.6);box-shadow:0 30px 90px #000c}.zoom-x{position:absolute;top:18px;right:18px;font-family:Space Mono,monospace;font-size:11px;letter-spacing:.2em;background:var(--lacquer);color:var(--paper);border:1px solid var(--gold);padding:10px 16px;cursor:pointer}.breathe-wrap{position:fixed;inset:0;z-index:95;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:34px;background:radial-gradient(ellipse at center,#10141a9e,#06080bf2 85%);animation:panelBg 1.4s ease both}.breathe-ring-holder{position:relative;width:min(46vmin,300px);height:min(46vmin,300px);display:flex;align-items:center;justify-content:center}.breathe-ring{width:52%;height:52%;border-radius:50%;border:2px solid var(--gold);box-shadow:0 0 40px #d9a44159,inset 0 0 30px #d9a44126;display:flex;align-items:center;justify-content:center;transform:scale(.72);transition:transform 1s ease}.breathe-ring.in{transform:scale(1.28);transition:transform var(--in, 4s) cubic-bezier(.37,0,.28,1)}.breathe-ring.hold{transform:scale(1.28);transition:transform .3s ease}.breathe-ring.out{transform:scale(.72);transition:transform var(--out, 4.5s) cubic-bezier(.45,0,.4,1)}.breathe-ring-holder.still .breathe-ring{transition:none;transform:scale(1)}.breathe-hanzi{font-size:clamp(44px,9vmin,76px);color:var(--paper);text-shadow:0 0 30px rgba(217,164,65,.5)}.breathe-halo{position:absolute;inset:-12%;border-radius:50%;border:1px solid rgba(207,228,242,.18);transform:scale(.8);transition:transform 1s ease,opacity 1s ease;opacity:.4}.breathe-halo.in{transform:scale(1.15);opacity:.9;transition:transform var(--in, 4s) ease,opacity var(--in, 4s) ease}.breathe-halo.out{transform:scale(.8);opacity:.35;transition:transform var(--out, 4.5s) ease,opacity var(--out, 4.5s) ease}.breathe-label{font-family:Oswald,sans-serif;font-weight:500;font-size:clamp(16px,2.6vw,24px);letter-spacing:.5em;text-indent:.5em;color:var(--paper);animation:fadeUp .9s ease both;text-align:center;max-width:86vw}.breathe-count{font-size:11px;letter-spacing:.3em;color:#d9a441cc}.breathe-skip{position:absolute;top:24px;right:24px;background:none;border:1px solid rgba(236,224,200,.3);color:#ece0c8b3;font-size:10px;letter-spacing:.2em;padding:8px 14px;cursor:pointer}.breathe-skip:hover{border-color:var(--gold);color:var(--paper)}.breathe-final{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:20px;animation:fadeUp 1.4s ease both;max-width:720px}.bf-hanzi{font-size:clamp(80px,16vw,150px);line-height:1;color:var(--paper);text-shadow:0 0 60px rgba(164,30,34,.6)}.bf-title{font-size:clamp(18px,3vw,28px);letter-spacing:.5em;text-indent:.5em;font-weight:600;color:var(--gold)}.bf-sub{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.22em;color:var(--paper-dim)}.bf-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}.bf-links a{font-family:Space Mono,monospace;font-size:10px;letter-spacing:.18em;color:var(--paper);text-decoration:none;border:1px solid rgba(217,164,65,.5);padding:10px 16px;transition:background .25s}.bf-links a:hover{background:var(--lacquer)}.bf-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;justify-content:center}.bf-btn{font-family:Space Mono,monospace;font-size:11px;letter-spacing:.22em;font-weight:700;padding:13px 24px;cursor:pointer;background:transparent;color:var(--paper);border:1px solid rgba(236,224,200,.45);transition:background .25s}.bf-btn.primary{background:var(--gold);color:var(--ink);border-color:var(--gold)}.bf-btn:hover{background:var(--lacquer);color:var(--paper)}.bf-credit{margin-top:18px;font-family:Space Mono,monospace;font-size:9px;letter-spacing:.2em;color:#cbbfa480}@media(max-width:900px){.objective{top:auto;bottom:170px;max-width:86vw;padding:6px 12px}}@media(max-width:640px){.talisman{top:14px;left:14px;gap:10px}.coin{width:60px;height:60px}.coin-year{font-size:14px}.talisman-label .l1,.talisman-label .l2:not(.gold){display:none}.talisman-label .l2.gold{font-size:8px}.hud-actions{top:16px;right:14px;gap:6px}.hud-btn{padding:8px 9px;font-size:8px;letter-spacing:.12em}.enter-prompt{font-size:10px;padding:10px 16px}.prompt-row{flex-direction:column;gap:6px}.beads{right:12px;gap:12px}.bead{width:10px;height:10px}.hud-virtue .h{font-size:30px}.hud-virtue .v{font-size:13px}.panel{max-height:92vh}.panel-head{flex-direction:column;gap:8px;padding-right:40px}.panel-hanzi{font-size:52px}.panel-year{order:-1;align-self:flex-start}.panel-title{font-size:26px;letter-spacing:.02em}.panel-kicker{font-size:10px;letter-spacing:.18em}.panel-role{font-size:11px;letter-spacing:.18em}.panel-lead{font-size:15px}}
