:root{--ink:#fff4d7;--muted:#dcc38d;--gold:#d7a94d;--gold-bright:#ffe7a2;--wood:#2a1408;--wood-dark:#0e0704;--felt:#103c24;--felt-dark:#062315;--red:#bd2219;--blue:#1e5f9f}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;background:radial-gradient(circle at 50% -10%,#ffd37833,#0000 32rem),radial-gradient(circle at 15% 110%,#0c4c2b75,#0000 28rem),linear-gradient(135deg,#070302,#2b1306 48%,#090403)}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:44px}button:disabled{cursor:not-allowed}.nested-game-actions{z-index:90;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));pointer-events:auto;align-items:flex-start;gap:8px;display:flex;position:fixed}.nested-game-home-button,.nested-game-share-button{color:#f8fafc;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#070c14c7;border:1px solid #ffffff1f;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:38px;padding:8px 14px;font-size:.875rem;font-weight:800;line-height:1.25rem;text-decoration:none;display:inline-flex;box-shadow:0 12px 28px #0000003d}.nested-game-share-button:hover,.nested-game-share-button[aria-expanded=true],.nested-game-home-button:hover{color:#67e8f9;background:#070c14f0;border-color:#22d3ee4d}.nested-game-action-icon{flex:none;width:18px;height:18px}.nested-game-share-menu{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#070c14f5;border:1px solid #94a3b838;border-radius:12px;gap:4px;min-width:162px;padding:8px;display:none;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 18px 42px #00000057}.nested-game-share-menu.is-open{display:grid}.nested-game-share-option{color:#e2e8f0;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;min-height:36px;padding:8px 10px;font-size:.82rem;font-weight:800;text-decoration:none;display:flex}.nested-game-share-option:hover{color:#67e8f9;background:#22d3ee24}@media (width<=520px){.nested-game-actions{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));gap:6px}.nested-game-home-button,.nested-game-share-button{min-height:36px;padding:7px 10px;font-size:.78rem}}.game-shell{place-items:center;min-height:100dvh;padding:10px;display:grid}.phone-frame{background:linear-gradient(90deg,#ffffff12,#0000 23%,#0000003d),repeating-linear-gradient(95deg,#ffdd9a0b 0 1px,#0000 1px 10px),linear-gradient(135deg,#351908,#170903 55%,#2a1105);border:1px solid #ffe09185;border-radius:28px;width:min(100%,430px);min-height:min(844px,100dvh - 20px);max-height:920px;padding:13px 11px 86px;position:relative;overflow:hidden;box-shadow:0 32px 90px #000000a3}.phone-frame:before{content:"";pointer-events:none;border:1px solid #ffda853d;border-radius:23px;position:absolute;inset:6px;box-shadow:inset 0 0 0 1px #4d2209c7}.game-header,.header-actions,.player-panel,.round-chip,.opponent-hand,.table-utilities,.pile,.message-bar,.action-bar,.bottom-sheet header,.score-total,.score-row,.setting-row,.result-score{align-items:center;display:flex}.game-header{z-index:2;justify-content:space-between;gap:10px;position:relative}.eyebrow{color:#d9c28b;margin:0 0 2px;font-size:11px;line-height:1.2}h1,h2,h3,p{margin:0}h1{color:#ffe8a6;letter-spacing:0;text-shadow:0 2px 8px #000000b8;font-size:28px;line-height:1.05}.header-actions{gap:6px}.header-actions button,.opponent-capture-summary,.action-bar button,.bottom-sheet header button,.start-panel button,.reset-button,.result-modal button{color:#fff8df;background:linear-gradient(#ffffff1f,#0000 42%),linear-gradient(#9a7030,#5a3510);border:1px solid #ffe39a7a;border-radius:8px;box-shadow:inset 0 1px #ffffff38,inset 0 -2px #27100473,0 7px 14px #00000052}.header-actions button{white-space:nowrap;min-height:38px;padding:0 10px;font-size:13px;font-weight:900}.player-panel{z-index:2;background:linear-gradient(100deg,#0b4326f0,#291708f5),#180d06f5;border:1px solid #ffdd8f7a;border-radius:9px;gap:9px;min-height:60px;margin:10px 0;padding:8px 9px;position:relative;box-shadow:inset 0 0 14px #00000059,0 7px 14px #0000003d}.player-panel.player{background:linear-gradient(100deg,#371c08fa,#09361feb),#180d06f5;margin:8px 0 0}.avatar{color:#1b0f08;background:radial-gradient(circle at 38% 24%,#fff3ce,#0000 23%),radial-gradient(circle at 50% 65%,#73411c,#0000 58%),linear-gradient(#e1ae64,#70401e);border:1px solid #ffe7a694;border-radius:50%;flex:0 0 43px;place-items:center;width:43px;height:43px;font-size:14px;font-weight:950;display:grid;box-shadow:inset 0 -5px 10px #00000047}.player-copy{flex:1;gap:2px;min-width:0;display:grid}.player-copy strong{color:#fff4d7;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-copy span,.round-chip span{color:var(--muted);font-size:12px}.round-chip{color:#9fe06e;flex-direction:column;align-items:flex-end;gap:1px;font-size:13px}.felt-board{background:radial-gradient(circle at 50% 51%, #edc15c24, transparent 94px), radial-gradient(circle at 50% 51%, transparent 72px, #ffe7a113 74px, transparent 76px), linear-gradient(145deg, #ffffff12, transparent 38%), repeating-linear-gradient(27deg, #ffffff06 0 1px, transparent 1px 5px), linear-gradient(180deg, #17482b, var(--felt-dark));border:2px solid #7f541d;border-radius:17px;min-height:404px;padding:10px 8px 13px;position:relative;overflow:hidden;box-shadow:inset 0 0 38px #0000009e,inset 0 0 0 7px #0f311db3,0 10px 22px #00000057}.felt-board:before{content:"";pointer-events:none;border:1px solid #e1b34e47;border-radius:12px;position:absolute;inset:8px}.board-engraving{pointer-events:none;color:#ffe08f14;font-family:Georgia,serif;font-size:122px;position:absolute;top:49%;left:50%;transform:translate(-50%,-50%)}.opponent-hand{z-index:1;justify-content:center;height:58px;position:relative}.card-back{background:radial-gradient(circle,#e8ba4df5 0 15%,#0000 16%),repeating-linear-gradient(45deg,#ffdc7d29 0 4px,#0000 4px 8px),linear-gradient(135deg,#d53a2b,#86140e);border:2px solid #7d150d;border-radius:7px;width:45px;height:66px;margin-left:-16px;position:relative;overflow:hidden;box-shadow:0 6px 11px #0006}.card-back span,.flight-card-back{border:1px solid #ffdb7a94;border-radius:50%;position:absolute;inset:8px}.card-back span:before,.flight-card-back:before{content:"";background:radial-gradient(circle,#ffdc69e6,#0000 62%);border-radius:50%;position:absolute;inset:6px}.card-back:first-child{margin-left:0}.card-back.compact{width:40px;height:58px}.opponent-capture-summary{z-index:2;color:#f9df91;min-height:34px;padding:0 9px;font-size:12px;font-weight:850;position:absolute;top:72px;right:10px}.opponent-capture-summary b{color:#9fe06e}.table-utilities{z-index:1;justify-content:space-between;min-height:82px;margin:0 2px 3px;position:relative}.pile{color:#ecd188;flex-direction:column;gap:5px;font-size:12px;font-weight:900}.deck-pile .card-back{animation:2.8s ease-in-out infinite deckBreath}.empty-card{color:#fff0cdbf;border:1px dashed #eecd808c;border-radius:7px;place-items:center;width:48px;height:68px;font-size:11px;display:grid}.pair-banner{z-index:3;color:#ffe7a2;text-overflow:ellipsis;white-space:nowrap;background:#100804c2;border:1px solid #ffe6968c;border-radius:999px;width:max-content;max-width:calc(100% - 18px);margin:-6px auto 7px;padding:5px 11px;font-size:12px;font-weight:900;position:relative;overflow:hidden;box-shadow:0 8px 18px #00000057}.field-grid{z-index:1;grid-template-columns:repeat(4,56px);justify-content:center;gap:9px;min-height:173px;padding-top:4px;display:grid;position:relative}.hwatu-card{color:#21140c;background:linear-gradient(145deg,#fff8e8 0 58%,#e8ddc6),#fff8e8;border:2px solid #cf3025;border-radius:7px;flex:0 0 56px;width:56px;height:80px;padding:0;transition:transform .16s,box-shadow .16s,border-color .16s,filter .16s;position:relative;overflow:hidden;box-shadow:0 7px 12px #00000061}.hwatu-card:before{content:"";pointer-events:none;border:1px solid #2413081f;border-radius:4px;position:absolute;inset:4px}.hwatu-card:disabled{cursor:default}.hwatu-card.compact{flex-basis:49px;width:49px;height:69px}.hwatu-card b,.hwatu-card i,.card-art,.stem,.blossom,.leaf,.animal-mark,.ribbon-mark,.gwang-seal,.match-badge{z-index:1;position:absolute}.hwatu-card b{color:#d20e0e;font-size:12px;line-height:1;top:5px;left:5px}.hwatu-card i{color:#1a100a;font-size:10px;font-style:normal;font-weight:950;bottom:4px;right:5px}.card-art{inset:8px 5px}.stem{background:#151009;border-radius:999px;width:4px}.stem-one{height:57px;top:9px;left:23px;transform:rotate(25deg)}.stem-two{opacity:.78;height:40px;top:15px;left:29px;transform:rotate(-25deg)}.blossom{background:radial-gradient(circle at 50% 54%,#ffdd8d 0 11%,#0000 12%),radial-gradient(circle at 32% 30%,#ed4a3a 0 27%,#0000 28%),radial-gradient(circle at 68% 30%,#d2181b 0 27%,#0000 28%),radial-gradient(circle at 32% 70%,#b90e14 0 27%,#0000 28%),radial-gradient(circle at 68% 70%,#e2332c 0 27%,#0000 28%);border-radius:50% 50% 45% 45%;width:18px;height:18px;box-shadow:0 1px #71100d}.blossom-one{top:21px;left:17px}.blossom-two{top:43px;left:5px;transform:scale(.84)}.blossom-three{top:34px;right:4px;transform:scale(.9)}.leaf{background:#11100c;border-radius:100% 0;width:18px;height:10px}.leaf-one{top:33px;left:8px;transform:rotate(18deg)}.leaf-two{top:48px;right:9px;transform:rotate(-35deg)}.animal-mark{color:#7a4c0d;background:#e39d2747;border-radius:50%;place-items:center;width:24px;height:20px;font-size:12px;font-weight:950;display:grid;top:30px;right:3px}.gwang-seal{color:#ffe9a6;background:#d11118;border-radius:50%;place-items:center;width:17px;height:17px;font-size:9px;font-weight:950;display:grid;bottom:14px;right:5px}.ribbon-mark{color:#130808;background:#d7131a;border-radius:2px;width:36px;padding:2px 0;font-size:10px;font-weight:950;top:27px;left:9px;transform:rotate(-20deg)}.ribbon-cheongdan .ribbon-mark{color:#06101f;background:#1f62ad}.ribbon-chodan .ribbon-mark{background:#d9b046}.symbol-moon .blossom,.symbol-rain .blossom{background:#fff7df;border-radius:50%;box-shadow:0 0 0 2px #b3121029}.symbol-rain .stem{background:#111}.symbol-rain .stem-one{height:62px;transform:rotate(0)}.symbol-rain .stem-two{transform:rotate(28deg)}.symbol-iris .blossom,.symbol-wisteria .blossom{background:radial-gradient(circle at 50% 54%,#ffeb9a 0 11%,#0000 12%),radial-gradient(circle at 32% 30%,#7c4bd4 0 27%,#0000 28%),radial-gradient(circle at 68% 30%,#5130ac 0 27%,#0000 28%),radial-gradient(circle at 32% 70%,#31206f 0 27%,#0000 28%),radial-gradient(circle at 68% 70%,#875fe4 0 27%,#0000 28%)}.symbol-deer .blossom,.symbol-boar .blossom,.symbol-cup .blossom{background:radial-gradient(circle at 50% 54%,#ffeb9a 0 11%,#0000 12%),radial-gradient(circle at 32% 30%,#f2a737 0 27%,#0000 28%),radial-gradient(circle at 68% 30%,#d7811d 0 27%,#0000 28%),radial-gradient(circle at 32% 70%,#b95812 0 27%,#0000 28%),radial-gradient(circle at 68% 70%,#f0bf41 0 27%,#0000 28%)}.type-pi .stem-two,.type-pi .animal-mark{display:none}.hwatu-card.selected{border-color:#ffe08a;transform:translateY(-10px)scale(1.055);box-shadow:0 0 0 3px #ffe08a5c,0 12px 20px #00000075}.hwatu-card.strong-match{border-color:#a8ff6e;animation:1s ease-in-out infinite matchGlow}.match-badge{color:#baff7a;background:#103b1c;border-radius:999px;padding:1px 4px;font-size:9px;font-weight:950;top:4px;right:4px}.captured-card{transform:none}.message-bar{color:#f3d894;text-align:center;background:#00000040;border:1px solid #d5a64a4d;border-radius:8px;justify-content:center;min-height:34px;margin-top:8px;padding:6px 8px;font-size:13px;font-weight:750}.hand-zone{margin-top:5px}.hand-scroll{overscroll-behavior-x:contain;scrollbar-width:none;gap:8px;min-height:96px;padding:12px 4px 7px;display:flex;overflow-x:auto}.hand-scroll::-webkit-scrollbar{display:none}.action-bar{z-index:3;gap:6px;position:absolute;bottom:9px;left:9px;right:9px}.action-bar button{color:#fff8df;flex:1;min-width:0;padding:0 4px;font-size:13px;font-weight:950}.action-bar .primary{background:linear-gradient(#ffffff1f,#0000 42%),linear-gradient(#2d74bb,#163f78)}.action-bar .danger{background:linear-gradient(#ffffff1a,#0000 42%),linear-gradient(#c83229,#74130d)}.action-bar button:disabled{opacity:.46;filter:grayscale(.36)}.pulse{animation:1.25s ease-in-out infinite actionPulse}.start-panel{z-index:4;text-align:center;background:radial-gradient(circle at 50% 0,#ffe08a2e,#0000 70%),#140b06e6;border:1px solid #ffe08a7a;border-radius:10px;gap:8px;padding:14px;display:grid;position:absolute;inset:auto 16px 23px;box-shadow:0 14px 30px #00000075}.start-panel strong{color:#ffe49a}.start-panel span{color:#ead2a0;font-size:13px}.start-panel button,.result-modal button,.reset-button{width:100%;font-weight:950}.sheet-backdrop,.modal-backdrop{z-index:20;background:#0000009e;align-items:flex-end;animation:.16s both fadeIn;display:flex;position:absolute;inset:0}.bottom-sheet{background:linear-gradient(#2c1d0cfc,#120a05fc),#160d07;border:1px solid #d5a64a94;border-radius:18px 18px 0 0;width:100%;max-height:72%;padding:10px 14px 16px;animation:.19s both sheetUp;overflow-y:auto;box-shadow:0 -20px 42px #0000008c}.sheet-handle{background:#ffe7a973;border-radius:999px;width:46px;height:4px;margin:0 auto 10px}.bottom-sheet header{justify-content:space-between;gap:12px;margin-bottom:12px}.bottom-sheet h2{color:#ffe4a1;font-size:20px}.bottom-sheet header button{min-height:36px;padding:0 10px;font-size:13px}.score-total{color:#9fe06e;justify-content:space-between;gap:8px;margin-bottom:10px;font-weight:950}.score-table{gap:7px;display:grid}.score-row{background:#fff4d814;border:1px solid #d5a64a3d;border-radius:8px;grid-template-columns:54px 1fr 44px;align-items:center;gap:8px;min-height:46px;padding:7px;display:grid}.score-row strong{color:#ffcf62}.score-row span{color:#ead2a0;font-size:12px}.score-row b{color:#fff4d8;text-align:right}.capture-group{margin-top:11px}.capture-group h3{color:#f4d786;justify-content:space-between;margin-bottom:8px;font-size:15px;display:flex}.capture-group h3 span,.empty-copy{color:var(--muted);font-size:13px}.captured-grid{grid-template-columns:repeat(auto-fill,minmax(49px,1fr));justify-items:center;gap:8px;display:grid}.settings-sheet{gap:10px;display:grid}.setting-row{color:#f9e2a3;border:1px solid #d5a64a3d;border-radius:8px;justify-content:space-between;min-height:48px;padding:0 10px}.setting-row input{accent-color:#d5a64a;width:46px;height:26px}.reset-button{background:linear-gradient(#b9342b,#6d130e)}.modal-backdrop{justify-content:center;align-items:center;padding:20px}.result-modal{text-align:center;background:radial-gradient(circle at 50% 0,#d5a64a3d,#0000 70%),#1b0f08;border:1px solid #ffe08a99;border-radius:14px;width:min(100%,320px);padding:22px 18px;animation:.19s both modalPop;box-shadow:0 24px 70px #000000a3}.result-modal p{color:#9fe06e;font-weight:950}.result-modal h2{margin:4px 0 14px;font-size:25px}.result-score{color:#f2d38b;justify-content:center;gap:10px;margin-bottom:16px;font-weight:850}.card-flight{z-index:8;pointer-events:none;text-align:center;width:84px;min-height:92px;animation:.62s cubic-bezier(.16,.84,.34,1) both flyFromPlayer;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.card-flight.opponent{animation-name:flyFromOpponent}.flight-card-back{background:radial-gradient(circle,#e8ba4df5 0 15%,#0000 16%),repeating-linear-gradient(45deg,#ffdc7d29 0 4px,#0000 4px 8px),linear-gradient(135deg,#d53a2b,#86140e);border:2px solid #7d150d;border-radius:7px;width:50px;height:72px;margin:0 auto 4px;display:block;position:relative;box-shadow:0 12px 24px #00000085}.card-flight strong,.card-flight em{color:#ffe7a2;text-overflow:ellipsis;text-shadow:0 2px 8px #000c;white-space:nowrap;font-size:11px;font-style:normal;font-weight:950;display:block;overflow:hidden}.card-flight em{color:#b9ff84}.capture-flash{z-index:9;pointer-events:none;color:#ffe99a;text-shadow:0 3px 10px #000000c7;font-size:25px;font-weight:950;animation:.7s both scorePop;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.capture-flash:empty{display:none}@keyframes deckBreath{50%{transform:translateY(-2px)}}@keyframes actionPulse{0%,to{box-shadow:inset 0 1px #fff3,0 0 #ffe08a00}50%{box-shadow:inset 0 1px #fff3,0 0 18px #ffe08a80}}@keyframes matchGlow{0%,to{box-shadow:0 0 0 2px #a8ff6e66,0 8px 15px #00000061}50%{box-shadow:0 0 0 4px #a8ff6e9e,0 0 18px #a8ff6e61}}@keyframes flyFromPlayer{0%{opacity:0;transform:translate(-50%,245%)rotate(-8deg)scale(.85)}28%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(8deg)scale(1.05)}}@keyframes flyFromOpponent{0%{opacity:0;transform:translate(-50%,-285%)rotate(8deg)scale(.85)}28%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(-8deg)scale(1.05)}}@keyframes fadeIn{0%{opacity:0}}@keyframes sheetUp{0%{transform:translateY(26px)}}@keyframes modalPop{0%{opacity:0;transform:scale(.94)translateY(8px)}}@keyframes scorePop{0%{opacity:0;transform:translate(-50%,-30%)scale(.82)}35%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}to{opacity:0;transform:translate(-50%,-70%)scale(1)}}@media (width<=374px){.game-shell{padding:0}.phone-frame{border-radius:0;min-height:100dvh;padding-inline:9px}h1{font-size:25px}.header-actions button{padding:0 8px;font-size:12px}.felt-board{min-height:390px;padding-inline:6px}.field-grid{grid-template-columns:repeat(4,53px);gap:7px}.hwatu-card{flex-basis:53px;width:53px;height:78px}.action-bar{gap:5px}.action-bar button{font-size:12px}}@media (width>=720px){.phone-frame{min-height:844px}}.phone-frame{background:linear-gradient(#06030214,#06030233),url(/assets/hwatu-board-skin.png) 50%/cover no-repeat;border:0;box-shadow:0 34px 96px #000000b8}.phone-frame:before{border-color:#ffe29638;inset:8px;box-shadow:inset 0 0 26px #00000057}.game-header,.player-panel,.message-bar{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:linear-gradient(110deg,#0f0804c7,#2313078a),#12080370;border-color:#ffe19661}.game-header{border:1px solid #ffe19633;border-radius:10px;margin:-1px 2px 0;padding:7px 8px}.felt-board{background:radial-gradient(circle at 50% 54%,#ffe08f14,#0000 96px),#0522142e;border-color:#ffd67942;box-shadow:inset 0 0 32px #0000005c,0 10px 22px #00000042}.felt-board:before,.board-engraving{opacity:.25}.card-back{background:url(/assets/hwatu-card-back.png) 50%/cover no-repeat;border:0;box-shadow:0 7px 14px #0000007a}.card-back span,.card-back span:before,.flight-card-back:before{display:none}.flight-card-back{background:url(/assets/hwatu-card-back.png) 50%/cover no-repeat;border:0}.hwatu-card{background-image:url(/assets/hwatu-card-faces.png);background-repeat:no-repeat;background-size:400% 300%;border:1px solid #690b08e6;box-shadow:inset 0 0 0 1px #ffebbe38,0 8px 14px #0000006b}.hwatu-card:before{border-color:#fff6da1f}.month-1{background-position:0 0}.month-2{background-position:33.333% 0}.month-3{background-position:66.666% 0}.month-4{background-position:100% 0}.month-5{background-position:0}.month-6{background-position:33.333%}.month-7{background-position:66.666%}.month-8{background-position:100%}.month-9{background-position:0 100%}.month-10{background-position:33.333% 100%}.month-11{background-position:66.666% 100%}.month-12{background-position:100% 100%}.card-art,.stem,.blossom,.leaf,.animal-mark,.ribbon-mark,.gwang-seal{display:none}.hwatu-card b,.hwatu-card i{background:#fff8e5cc;border-radius:999px;padding:1px 4px;box-shadow:0 1px 4px #00000038}.hwatu-card b{color:#b90010}.hwatu-card i{color:#251006}.bottom-sheet,.result-modal,.start-panel{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 0,#ffe08a2e,#0000 65%),linear-gradient(#2a1809f5,#0c0603f5)}.hwatu-card{background-color:#f5dfb9;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;overflow:hidden}.hwatu-card.month-1{background-image:url(/assets/cards/month-01.png)}.hwatu-card.month-2{background-image:url(/assets/cards/month-02.png)}.hwatu-card.month-3{background-image:url(/assets/cards/month-03.png)}.hwatu-card.month-4{background-image:url(/assets/cards/month-04.png)}.hwatu-card.month-5{background-image:url(/assets/cards/month-05.png)}.hwatu-card.month-6{background-image:url(/assets/cards/month-06.png)}.hwatu-card.month-7{background-image:url(/assets/cards/month-07.png)}.hwatu-card.month-8{background-image:url(/assets/cards/month-08.png)}.hwatu-card.month-9{background-image:url(/assets/cards/month-09.png)}.hwatu-card.month-10{background-image:url(/assets/cards/month-10.png)}.hwatu-card.month-11{background-image:url(/assets/cards/month-11.png)}.hwatu-card.month-12{background-image:url(/assets/cards/month-12.png)}.hwatu-card b,.hwatu-card i,.match-badge{z-index:2;position:relative}.countdown-panel{z-index:24;pointer-events:none;color:#fff3ce;text-shadow:0 2px 8px #000000bf;border:1px solid #ffde8bb8;align-items:center;gap:10px;display:flex;position:absolute;box-shadow:0 16px 36px #00000080,inset 0 0 18px #ffdc8229}.countdown-panel.turn{background:linear-gradient(135deg,#152b34eb,#060e16f0),#000000b8;border-radius:999px;padding:7px 10px 7px 8px;animation:.18s ease-out both timerSlideIn;top:158px;right:18px}.countdown-panel.decision{background:radial-gradient(circle at 50% 10%,#ffdb703b,#0000 58%),linear-gradient(145deg,#780f0cf5,#140804fa 58%,#0c251bf5);border-radius:18px;justify-content:center;width:min(88%,336px);padding:18px;animation:.24s ease-out both decisionPop,.9s ease-in-out infinite decisionTension;top:43%;left:50%;transform:translate(-50%,-50%)}.countdown-ring{background:conic-gradient(#ffe39a,#cf1f18,#245f99,#ffe39a),#000000ad;border-radius:999px;flex:none;place-items:center;width:46px;height:46px;display:grid;position:relative}.countdown-ring:before{content:"";border-radius:inherit;background:radial-gradient(circle at 50% 35%,#3a1607,#090302 74%);position:absolute;inset:5px;box-shadow:inset 0 0 10px #ffe7a233}.countdown-ring span{z-index:1;color:#ffe7a2;font-size:24px;font-weight:900;line-height:1;position:relative}.countdown-panel.decision .countdown-ring{width:88px;height:88px;animation:1s ease-in-out infinite countdownPulse;box-shadow:0 0 28px #cf1f1880}.countdown-panel.decision .countdown-ring span{font-size:46px}.countdown-text{gap:2px;min-width:0;display:grid}.countdown-text strong{color:#fff5d6;font-size:15px;line-height:1.05}.countdown-text em{color:#e9c778;font-size:11px;font-style:normal;line-height:1.15}.countdown-panel.decision .countdown-text strong{font-size:21px}.countdown-panel.decision .countdown-text em{color:#ffd9a0;font-size:13px}@keyframes timerSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes decisionPop{0%{opacity:0;transform:translate(-50%,-46%)scale(.92)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes decisionTension{0%,to{box-shadow:0 16px 36px #00000085,0 0 #cf1f1800}50%{box-shadow:0 18px 42px #00000094,0 0 26px #cf1f186b}}@keyframes countdownPulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.event-log{z-index:3;gap:5px;margin:6px 2px;display:grid;position:relative}.event-toast{color:#ffe7a2;text-align:center;background:linear-gradient(135deg,#7a140fd1,#1b0f07e6),#0009;border:1px solid #ffde8b6b;border-radius:999px;min-height:28px;padding:6px 10px;font-size:12px;font-weight:800;box-shadow:0 8px 18px #00000047}.event-history{white-space:nowrap;gap:5px;display:flex;overflow:hidden}.event-history span,.combo-list span,.multiplier-list span{color:#dec487;background:#00000042;border:1px solid #ffde8b3d;border-radius:999px;padding:3px 7px;font-size:10px}.go-stop-action-wrap{z-index:25;width:min(100%,430px);position:fixed;bottom:0;right:50%;transform:translate(50%)}.go-stop-action-wrap .action-bar{width:100%;position:static;transform:none}.go-stop-hint{color:#f8df9b;background:#0f0603e0;border:1px solid #ffde8b6b;border-radius:10px;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:6px;margin:0 10px 5px;padding:7px 9px;font-size:11px;display:grid;box-shadow:0 8px 22px #00000057}.go-stop-hint strong{color:#ffe7a2}.score-detail-card{background:#0000002e;border:1px solid #ffde8b33;border-radius:10px;gap:8px;margin-top:10px;padding:10px;display:grid}.score-detail-card h3{color:#ffe7a2;margin:0;font-size:14px}.compact-score-table{gap:4px}.compact-score-table .score-row{min-height:28px;padding:5px 7px}.score-formula,.combo-list,.multiplier-list,.result-breakdown{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.score-formula span,.score-formula b,.result-breakdown span,.result-breakdown b,.result-breakdown em{color:#f8df9b;background:#ffe7a21a;border-radius:8px;padding:5px 7px;font-size:11px;font-style:normal}.score-formula b,.result-breakdown b{color:#fff4d7;background:#be22196b}.capture-progress{color:#d8bd7d;margin:-3px 0 7px;font-size:11px}.reset-button.secondary{background:linear-gradient(#2b5b8bf2,#102e52f2);margin-top:8px}.event-burst{z-index:42;pointer-events:none;place-items:center;width:min(98vw,390px);max-width:calc(100% - 10px);animation:2.5s cubic-bezier(.2,.72,.18,1) both eventCutInLife;display:grid;position:absolute;top:43%;left:50%;transform:translate(-50%,-50%)}.event-burst:before{content:"";filter:blur(15px);background:linear-gradient(90deg,#0000,#ffed846b,#0000),radial-gradient(circle,#ffe88f7a,#ca201638 48%,#0000 74%);border-radius:36px;animation:2.5s ease-in-out both eventCutInGlow;position:absolute;inset:18% 4%;transform:skew(-8deg)}.event-burst img{z-index:1;aspect-ratio:19/7;object-fit:contain;filter:drop-shadow(0 22px 30px #0000009e)drop-shadow(0 0 18px #ffd56a80);border-radius:0;width:100%;display:block;position:relative}@keyframes eventCutInLife{0%{opacity:0;transform:translate(64%,-50%)scale(.92)rotate(-1deg)}12%{opacity:1;transform:translate(-56%,-50%)scale(1.05)rotate(.7deg)}21%{transform:translate(-50%,-50%)scale(1)rotate(0)}74%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-162%,-50%)scale(.96)rotate(-1.2deg)}}@keyframes eventCutInGlow{0%{opacity:0;transform:scaleX(.4)skew(-8deg)}18%,74%{opacity:1;transform:scaleX(1.06)skew(-8deg)}to{opacity:0;transform:scaleX(.7)skew(-8deg)}}body{font-family:var(--font-geist-sans), "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;background:radial-gradient(circle at 50% 12%,#5232126b,#0000 31rem),repeating-linear-gradient(96deg,#ffdd9b05 0 1px,#0000 1px 8px),linear-gradient(135deg,#050302,#241006 52%,#080403);overflow-x:hidden}.game-shell{min-height:100dvh;padding:8px}.phone-frame{background:linear-gradient(#0904020d,#09040224),url(/assets/hwatu-board-skin.png) 50%/100% 100% no-repeat;border-radius:22px;width:min(100%,430px);height:min(920px,100dvh - 16px);min-height:min(844px,100dvh - 16px);padding:10px 10px 78px;box-shadow:0 34px 90px #000000c2,0 0 0 1px #eabc532e}.phone-frame:before{border-color:#ffdd8933;border-radius:18px;inset:5px;box-shadow:inset 0 0 30px #0000006b}.game-header{background:linear-gradient(#1c4324f0,#092617f5),#0c2f1c;border:1px solid #e1b55175;border-radius:6px;grid-template-columns:48px 1fr 48px;gap:8px;min-height:54px;margin:0 8px 5px;padding:5px 7px;display:grid;box-shadow:inset 0 0 0 2px #0a170eb8,inset 0 1px #ffebaf24,0 5px 12px #00000057}.title-plaque{text-align:center;min-width:0}.title-plaque .eyebrow{color:#cdb77f;margin-bottom:0;font-size:9px;font-weight:700}.title-plaque h1{color:#fff1c6;font-family:Georgia,Malgun Gothic,serif;font-size:23px;line-height:1.05}.header-tool{color:#f8de91;background:radial-gradient(circle at 50% 8%,#ffeeb62e,#0000 55%),linear-gradient(#72511f,#33200d);border:1px solid #f1cd6f80;border-radius:5px;min-height:40px;font-size:11px;font-weight:900;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #180a04b8}.header-tool:before{color:#fff0bd;font-size:14px;line-height:1;display:block}.score-tool:before{content:"表"}.capture-tool:before{content:"牌"}.player-panel{background:linear-gradient(90deg,#110904fa,#32200bf0),#1c0d05;border-color:#e7be5b8f;border-radius:6px;gap:8px;min-height:72px;margin:5px 8px;padding:5px 7px;box-shadow:inset 0 0 0 2px #090402c7,inset 0 0 16px #d4a64814,0 5px 12px #00000052}.player-panel.player{background:linear-gradient(90deg,#231206fa,#08301bf0),#1c0d05;min-height:68px;margin-top:5px;margin-bottom:3px}.avatar{background-image:url(/assets/hwatu-players-v2.png);background-position:0 24%;background-repeat:no-repeat;background-size:200%;border:1px solid #ffe1919e;border-radius:4px;flex:0 0 54px;width:54px;height:60px;box-shadow:inset 0 0 12px #00000047,0 3px 8px #00000057}.player-panel.player .avatar{background-position:right 24%}.player-copy{gap:0}.panel-kicker{font-weight:800;color:#c7a862!important;font-size:9px!important}.player-copy>strong{color:#fff0c1;margin-top:1px;font-size:14px;line-height:1.1}.player-scoreline{align-items:center;gap:5px;display:flex}.player-scoreline b{color:#ffd66f;font-family:Georgia,Malgun Gothic,serif;font-size:18px;line-height:1.1}.status-badge{background:#ffffff0f;border:1px solid #ffe5a233;border-radius:999px;padding:1px 5px;font-weight:850;color:#cdb982!important;font-size:9px!important}.status-생각중{box-shadow:0 0 8px #86d55b3d;color:#9fe06e!important}.match-lights{gap:4px;margin-top:3px;display:flex}.match-lights i{background:#17120b;border:1px solid #dabe7738;border-radius:50%;width:8px;height:8px;box-shadow:inset 0 1px 3px #000c}.match-lights i.active{background:radial-gradient(circle at 34% 30%,#ffb067,#e6221a 45%,#720b08 82%);border-color:#ff6a4c;box-shadow:0 0 7px #ea2a1c85}.round-chip{border-left:1px solid #deb75740;align-items:flex-end;min-width:83px;padding-left:9px}.round-chip span{color:#ae9560;font-size:9px}.round-chip b{color:#a8e071;font-family:Georgia,Malgun Gothic,serif;font-size:16px}.round-chip em{color:#d6c08a;white-space:nowrap;font-size:9px;font-style:normal}.felt-board{background:radial-gradient(circle at 50% 58%,#e2be621c,#0000 105px),repeating-linear-gradient(24deg,#ffffff05 0 1px,#0000 1px 5px),linear-gradient(#104326f0,#052a17f5);border:1px solid #d6a84694;border-radius:10px;min-height:392px;margin:0 7px;padding:7px 7px 9px;box-shadow:inset 0 0 34px #00000085,inset 0 0 0 5px #0826168f,0 6px 16px #00000057}.felt-board:before{opacity:1;border-color:#e7be5b33;border-radius:7px;inset:5px}.board-engraving{color:#e8cd7e11;opacity:1;font-size:136px;top:58%}.opponent-hand{justify-content:center;width:calc(100% - 116px);height:66px;padding-top:14px}.zone-caption{color:#d6c18a;font-size:9px;font-weight:800;position:absolute;top:0;left:9px}.opponent-hand .card-back{border-radius:4px;width:34px;height:50px;margin-left:-13px}.opponent-hand .card-back:first-of-type{margin-left:0}.opponent-capture-summary{background:linear-gradient(#2c220feb,#0e0b06f0),#211408;border-color:#ebc3636b;border-radius:5px;gap:4px;width:104px;min-height:57px;padding:5px 6px;display:grid;top:8px;right:8px;box-shadow:inset 0 0 0 1px #070402bf,0 5px 10px #00000047}.opponent-capture-summary>strong{color:#efd27f;text-align:center;font-size:9px}.capture-counts{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.capture-counts i{color:#c6ad72;text-align:center;gap:1px;font-size:8px;font-style:normal;display:grid}.capture-counts i b{color:#fff0bf;font-size:11px}.table-utilities{min-height:78px;margin:0 7px}.pile{gap:2px;min-width:58px}.pile .card-back,.pile .hwatu-card,.empty-card{border-radius:5px;flex-basis:42px;width:42px;height:60px}.pile small{color:#dbc37d;font-size:9px}.pile small b{color:#a7e16f}.field-title{color:#b9a66f;place-items:center;min-width:82px;font-size:9px;display:grid}.field-title:before,.field-title:after{content:"";background:linear-gradient(90deg,#0000,#e2be6380,#0000);width:58px;height:1px}.field-title b{color:#f4d98b;font-size:13px}.pair-banner{color:#c5ff98;background:#03190de0;border-color:#abff738c;border-radius:5px;margin:-4px auto 4px;padding:4px 9px;font-size:10px;box-shadow:0 0 14px #76d94b2e}.field-grid{grid-template-columns:repeat(4,52px);align-content:center;gap:7px 8px;min-height:164px;padding:2px 0 4px}.hwatu-card{border:2px solid #b51d16;border-radius:5px;flex-basis:54px;width:54px;height:78px;box-shadow:inset 0 0 0 1px #fff0cb3d,0 5px 9px #00000073}.hwatu-card:after{content:"";pointer-events:none;border:1px solid #fff5d429;border-radius:2px;position:absolute;inset:2px}.hwatu-card.compact,.field-grid .hwatu-card{flex-basis:52px;width:52px;height:75px}.hwatu-card b{color:#b40c11;background:#fff7dee0;border:1px solid #740d0842;border-radius:3px;padding:2px 3px;font-size:9px;line-height:1;position:absolute;top:3px;left:3px}.hwatu-card i{color:#241007;white-space:nowrap;background:#fff8e4db;border-radius:3px;max-width:calc(100% - 6px);padding:1px 3px;font-size:8px;line-height:1.15;position:absolute;bottom:3px;right:3px}.hwatu-card.matchable{box-shadow:0 0 0 2px #83e6559e,0 0 15px #83e65557,0 6px 10px #00000070}.hwatu-card.strong-match{border-color:#d9ffab}.match-badge{color:#caff9f;background:#08391bf0;border:1px solid #cfff9f80;border-radius:3px;padding:2px 4px;font-size:8px;position:absolute;top:auto;bottom:16px;right:2px}.start-panel{background:radial-gradient(circle at 50% 0,#f5c95c2e,#0000 60%),linear-gradient(#281809f7,#0c0703f7);border-radius:6px;gap:6px;padding:13px 14px;inset:auto 22px 22px}.start-panel button{color:#fff1c6;background:linear-gradient(#b08331,#674313);border-color:#e2b552;min-height:46px}.message-bar{color:#e2c988;background:#0b0703b8;border-color:#d6ae5247;border-radius:4px;min-height:28px;margin:4px 8px 0;padding:4px 7px;font-size:10px;line-height:1.25}.event-log{z-index:18;pointer-events:none;margin:0;position:absolute;top:47%;left:28px;right:28px}.event-toast{background:linear-gradient(90deg,#2a0f05f0,#74160ff0,#2a0f05f0);border-radius:5px;min-height:25px;padding:5px 9px;font-size:10px}.event-history{display:none}.hand-zone{margin:0 8px}.hand-zone-label{justify-content:space-between;align-items:center;padding:1px 3px 0;display:flex}.hand-zone-label span{color:#f2d78c;font-size:11px;font-weight:900}.hand-zone-label em{color:#9e8a5b;font-size:8px;font-style:normal}.hand-scroll{gap:0;min-height:91px;padding:10px 3px 4px;scroll-padding-inline:8px}.hand-scroll .hwatu-card{z-index:1;flex:0 0 54px}.hand-scroll .hwatu-card+.hwatu-card{margin-left:-15px}.hand-scroll .hwatu-card:hover,.hand-scroll .hwatu-card.selected{z-index:8}.hand-scroll .hwatu-card.selected{transform:translateY(-8px)scale(1.05)}.go-stop-action-wrap{width:auto;position:absolute;bottom:8px;left:10px;right:10px;transform:none}.go-stop-action-wrap .action-bar{background:linear-gradient(#2c1808fa,#110803fc),#1a0c04;border:1px solid #e2b75470;border-radius:7px;grid-template-columns:46px minmax(92px,1fr) 58px 66px 46px;gap:5px;padding:5px;display:grid;box-shadow:inset 0 0 0 1px #0a0402cc,0 -8px 22px #00000061}.action-bar button{border-radius:6px;place-content:center;gap:1px;min-height:54px;padding:3px 4px;font-size:11px;display:grid}.action-bar button strong{font-size:14px;line-height:1.05}.action-bar button small{color:#fff5d8b8;text-overflow:ellipsis;white-space:nowrap;font-size:7px;line-height:1.1;overflow:hidden}.action-bar .utility-action{background:linear-gradient(#493019,#201207);border-color:#e5bf6252}.utility-action>span{color:#f4d98d;font-family:Georgia,serif;font-size:18px;line-height:1}.action-bar .primary{background:linear-gradient(#ffffff1f,#0000 36%),linear-gradient(#2c72ae,#123b6d);border-color:#5f9dd4}.action-bar .go-action{background:linear-gradient(#ffffff21,#0000 36%),linear-gradient(#a97a27,#59400f);border-color:#e1b656}.action-bar .danger{background:linear-gradient(#ffffff1a,#0000 36%),linear-gradient(#b92e24,#66100c);border-color:#e05a49}.go-stop-hint{background:#0e0703f0;border-radius:6px;grid-template-columns:1fr 1fr;gap:5px;margin:0 3px 5px;padding:6px}.go-stop-hint span{color:#d7c28d;text-align:center;font-size:9px}.go-stop-hint b{color:#ffe093}.countdown-panel.turn{top:144px;right:24px}.countdown-panel.decision{border-radius:8px;top:46%}.bottom-sheet{border-radius:10px 10px 0 0}.result-modal{border-radius:8px}@media (width<=374px){.game-shell{padding:0}.phone-frame{border-radius:0;width:100%;height:100dvh;min-height:100dvh;padding-inline:7px}.game-header,.player-panel,.hand-zone,.message-bar{margin-inline:6px}.felt-board{min-height:382px;margin-inline:5px;padding-inline:5px}.field-grid{grid-template-columns:repeat(4,49px);gap:6px 7px}.field-grid .hwatu-card,.hwatu-card.compact{flex-basis:49px;width:49px;height:71px}.opponent-hand .card-back{width:31px;height:47px}.go-stop-action-wrap{left:6px;right:6px}.go-stop-action-wrap .action-bar{grid-template-columns:42px minmax(82px,1fr) 54px 62px 42px;gap:4px}.action-bar button strong{font-size:13px}}@media (width>=720px){.phone-frame{min-height:844px}.nested-game-actions{right:calc(50% + 230px)}}@media (prefers-reduced-motion:reduce){.hwatu-card,.card-flight,.event-burst,.countdown-panel,.pulse{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}}.title-plaque .eyebrow{justify-content:center;align-items:center;gap:5px;display:flex}.adult-rating-mini{color:#fff8df;background:linear-gradient(#cf3428,#86130e);border:1px solid #ffe0bcb3;border-radius:3px;align-items:center;min-height:15px;padding:1px 4px;font-size:8px;line-height:1;display:inline-flex;box-shadow:0 0 7px #cf342861}.start-panel{text-align:left;gap:9px;padding:14px;inset:auto 15px 16px}.age-gate-title{align-items:center;gap:10px;display:flex}.age-gate-title>div{gap:2px;min-width:0;display:grid}.age-gate-title strong{color:#ffe49a;font-size:16px}.age-gate-title span:not(.adult-rating-seal){color:#d9c18b;font-size:11px}.adult-rating-seal{color:#fff;background:linear-gradient(145deg,#d53428,#8a120e);border:3px solid #fff6df;border-radius:50%;flex:0 0 44px;place-items:center;width:44px;height:44px;font-family:Georgia,serif;font-size:21px;font-weight:950;display:grid;box-shadow:0 0 0 2px #a51d16,0 5px 12px #00000073}.age-select-label{gap:5px;display:grid}.age-select-label>span{color:#e8cf8a;font-size:11px;font-weight:900}.age-select-label select{color:#2c1709;background:linear-gradient(#fff8e6,#e9d8ae);border:1px solid #e8c26594;border-radius:6px;outline:0;width:100%;min-height:46px;padding:0 12px;font-size:14px;font-weight:850;box-shadow:inset 0 1px #fffc,0 4px 10px #00000052}.age-select-label select:focus{border-color:#ffe094;box-shadow:0 0 0 3px #ffd56e3b,0 4px 10px #00000052}.age-gate-message{color:#cdbb8d;background:#ffffff0e;border:1px solid #ffde8b33;border-radius:5px;align-items:center;min-height:27px;padding:5px 8px;font-size:10px;font-weight:750;display:flex}.age-gate-message.adult{color:#bdf095;background:#2d69202e;border-color:#94e0656b}.age-gate-message.under19{color:#ffb09f;background:#84130d3d;border-color:#ff5d487a}.start-panel button:disabled{cursor:not-allowed;color:#fff4d87a;box-shadow:none;background:linear-gradient(#5a4b31,#30271a);border-color:#ddbe763d}.start-panel>small{color:#a99364;text-align:center;font-size:9px;line-height:1.35}@media (width<=374px){.start-panel{padding:12px;inset-inline:11px}.age-gate-title strong{font-size:15px}}.game-fx-layer{--fx-color:#f6d56b;--fx-color-soft:#f6d56b47;--fx-origin-x:50%;--fx-origin-y:49%;z-index:16;pointer-events:none;border-radius:inherit;contain:paint;position:absolute;inset:0;overflow:hidden}.game-fx-layer.fx-select{--fx-color:#b8ff83;--fx-color-soft:#78e64d40;--fx-origin-y:83%}.game-fx-layer.fx-play{--fx-color:#f7e5ae;--fx-color-soft:#f7e5ae2e;--fx-origin-y:54%}.game-fx-layer.fx-match,.game-fx-layer.fx-sweep{--fx-color:#baff88;--fx-color-soft:#7fe24e4d}.game-fx-layer.fx-capture,.game-fx-layer.fx-combo,.game-fx-layer.fx-special{--fx-color:#ffe58a;--fx-color-soft:#ffcf4b57}.game-fx-layer.fx-bak,.game-fx-layer.fx-bomb,.game-fx-layer.fx-stop{--fx-color:#ff644a;--fx-color-soft:#d826195c}.game-fx-layer.fx-go{--fx-color:#7bc8ff;--fx-color-soft:#3181d352}.game-fx-layer.fx-shake{--fx-color:#f1bd5b;--fx-color-soft:#dc9e314d}.game-fx-layer.fx-nagari{--fx-color:#9ba7b8;--fx-color-soft:#4c596852}.fx-vignette,.fx-ring,.fx-slash,.fx-wave,.fx-core,.fx-particles,.fx-particles i{position:absolute}.fx-vignette{opacity:0;background:radial-gradient(circle at var(--fx-origin-x) var(--fx-origin-y), transparent 25%, var(--fx-color-soft) 64%, #00000070 100%);animation:1.45s ease-out both fxVignette;inset:0}.fx-ring{left:var(--fx-origin-x);top:var(--fx-origin-y);border:2px solid var(--fx-color);opacity:0;width:42px;height:42px;box-shadow:0 0 20px var(--fx-color-soft), inset 0 0 18px var(--fx-color-soft);border-radius:50%;transform:translate(-50%,-50%)scale(.2)}.fx-ring-one{animation:.86s cubic-bezier(.14,.68,.23,1) both fxRing}.fx-ring-two{animation:1.05s cubic-bezier(.14,.68,.23,1) .12s both fxRing}.fx-core{left:var(--fx-origin-x);top:var(--fx-origin-y);width:12px;height:12px;box-shadow:0 0 12px 4px var(--fx-color), 0 0 38px 15px var(--fx-color-soft);background:#fff9d4;border-radius:50%;animation:.62s ease-out both fxCore;transform:translate(-50%,-50%)}.fx-particles{left:var(--fx-origin-x);top:var(--fx-origin-y);width:1px;height:1px}.fx-particles i{--particle-angle:calc(var(--particle-index) * 18deg);background:linear-gradient(#fffbe3, var(--fx-color));width:4px;height:12px;box-shadow:0 0 8px var(--fx-color);opacity:0;transform:rotate(var(--particle-angle)) translateY(-8px) scaleY(.5);transform-origin:50% 0;border-radius:999px;animation:1.05s ease-out both fxParticle}.fx-select .fx-particles i,.fx-play .fx-particles i{display:none}.fx-select .fx-ring{width:28px;height:28px}.fx-play .fx-core,.fx-play .fx-vignette,.fx-play .fx-ring-two{display:none}.fx-slash{background:linear-gradient(90deg, transparent, #fff8d6 25%, var(--fx-color) 50%, #fff8d6 75%, transparent);width:125%;height:4px;filter:drop-shadow(0 0 9px var(--fx-color));opacity:0;border-radius:50%;display:none;top:47%;left:50%}.fx-bak .fx-slash,.fx-bomb .fx-slash,.fx-stop .fx-slash{display:block}.fx-slash-one{animation:.58s ease-out both fxSlashOne;transform:translate(-50%,-50%)rotate(-16deg)scaleX(.1)}.fx-slash-two{animation:.65s ease-out .1s both fxSlashTwo;transform:translate(-50%,-50%)rotate(17deg)scaleX(.1)}.fx-wave{background:linear-gradient(90deg, transparent, var(--fx-color-soft), #ffffffad, var(--fx-color-soft), transparent);filter:blur(2px);opacity:0;width:160%;height:70px;display:none;top:50%;left:-30%;transform:translate(-45%)skew(-18deg)}.fx-sweep .fx-wave,.fx-go .fx-wave{animation:1s ease-in-out both fxSweepWave;display:block}.fx-nagari .fx-core,.fx-nagari .fx-particles,.fx-nagari .fx-ring{display:none}.fx-nagari .fx-vignette{background:radial-gradient(circle at 50% 48%,#0000 4%,#080f12ad 58%,#000000e0 100%);animation-duration:1.8s}.fx-board-bomb,.fx-board-bak,.fx-board-stop{animation:.48s cubic-bezier(.2,.72,.2,1) boardImpact}.fx-board-shake{animation:.58s ease-in-out boardRattle}.fx-board-combo{animation:1.8s ease-out boardGlow}.card-flight{perspective:500px;width:74px;min-height:96px;top:51%}.card-flight .hwatu-card{pointer-events:none;margin:0 auto 4px;display:block;transform:rotateY(0);box-shadow:0 13px 25px #00000094,0 0 11px #ffdd8333}.card-flight.player .hwatu-card{animation:.62s ease-out both cardFaceTilt}.card-flight.opponent .hwatu-card{animation:.62s ease-out both cardFaceTiltOpponent}.draw-reveal{z-index:13;pointer-events:none;perspective:600px;width:54px;animation:.88s cubic-bezier(.14,.72,.2,1) both drawRevealPlayer;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)}.draw-reveal.opponent{animation-name:drawRevealOpponent}.draw-reveal .hwatu-card{pointer-events:none;transform-origin:50%;animation:.72s ease-out both cardFlipFace;box-shadow:0 16px 28px #0000009e,0 0 18px #ffe08a57}.draw-trail{z-index:-1;filter:blur(2px);background:linear-gradient(90deg,#0000,#ffe4958a);border-radius:50%;width:100px;height:5px;position:absolute;top:31px;left:-82px}.capture-flash{color:#fff0a3;text-shadow:0 2px 5px #000,0 0 14px #ffca45;background:linear-gradient(90deg,#39200700,#70460de0,#39200700);border:1px solid #ffe99b8a;border-radius:5px;padding:5px 24px;font-size:22px;top:52%}.hand-scroll .hwatu-card.selected:after{border-color:#deffb1e6;animation:.9s ease-in-out infinite selectedCardShimmer;box-shadow:inset 0 0 13px #b1ff6b47}.field-grid .hwatu-card.strong-match:after{border-color:#c5ff97db;animation:.82s ease-in-out infinite matchCardFrame}.volume-row{grid-template-columns:115px 1fr;gap:10px;display:grid}.volume-row span{gap:2px;display:grid}.volume-row span b{color:#ffe39a;font-size:10px}.volume-row input[type=range]{accent-color:#d9aa49;width:100%;height:34px}.sound-preview-button{color:#eef8ff;background:linear-gradient(#2b6f9f,#173b66);border:1px solid #6cb8e07a;border-radius:7px;width:100%;font-weight:900}.sound-preview-button:disabled{opacity:.4}@keyframes fxVignette{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes fxRing{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)}18%{opacity:.95}to{opacity:0;transform:translate(-50%,-50%)scale(6.8)}}@keyframes fxCore{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)}24%{opacity:1;transform:translate(-50%,-50%)scale(1.2)}to{opacity:0;transform:translate(-50%,-50%)scale(2.8)}}@keyframes fxParticle{0%{opacity:0;transform:rotate(var(--particle-angle)) translateY(-6px) scaleY(.4)}20%{opacity:1}to{opacity:0;transform:rotate(var(--particle-angle)) translateY(-142px) scaleY(1.15)}}@keyframes fxSlashOne{0%{opacity:0;transform:translate(-50%,-50%)rotate(-16deg)scaleX(.08)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(-16deg)scaleX(1)}}@keyframes fxSlashTwo{0%{opacity:0;transform:translate(-50%,-50%)rotate(17deg)scaleX(.08)}25%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)rotate(17deg)scaleX(1)}}@keyframes fxSweepWave{0%{opacity:0;transform:translate(-45%)skew(-18deg)}25%{opacity:.9}to{opacity:0;transform:translate(45%)skew(-18deg)}}@keyframes boardImpact{0%,to{transform:translate(0)}18%{transform:translate(-4px,2px)rotate(-.25deg)}36%{transform:translate(4px,-2px)rotate(.25deg)}54%{transform:translate(-2px,-1px)}72%{transform:translate(2px,1px)}}@keyframes boardRattle{0%,to{transform:rotate(0)}20%{transform:rotate(-.45deg)}40%{transform:rotate(.45deg)}60%{transform:rotate(-.3deg)}80%{transform:rotate(.3deg)}}@keyframes boardGlow{0%,to{filter:brightness()}24%{filter:brightness(1.18)saturate(1.12)}58%{filter:brightness(1.06)saturate(1.08)}}@keyframes cardFaceTilt{0%{transform:rotateY(-72deg)rotate(-8deg)}to{transform:rotateY(0)rotate(3deg)}}@keyframes cardFaceTiltOpponent{0%{transform:rotateY(72deg)rotate(8deg)}to{transform:rotateY(0)rotate(-3deg)}}@keyframes drawRevealPlayer{0%{opacity:0;transform:translate(-295%,-86%)scale(.72)rotate(-10deg)}22%{opacity:1}70%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(3deg)}to{opacity:0;transform:translate(-40%,-46%)scale(1)rotate(0)}}@keyframes drawRevealOpponent{0%{opacity:0;transform:translate(-295%,-185%)scale(.72)rotate(10deg)}22%{opacity:1}70%{opacity:1;transform:translate(-50%,-50%)scale(1.08)rotate(-3deg)}to{opacity:0;transform:translate(-40%,-46%)scale(1)rotate(0)}}@keyframes cardFlipFace{0%{filter:brightness(.55);transform:rotateY(92deg)}48%{transform:rotateY(92deg)}to{filter:brightness(1.08);transform:rotateY(0)}}@keyframes selectedCardShimmer{0%,to{opacity:.42}50%{opacity:1}}@keyframes matchCardFrame{0%,to{opacity:.48}50%{opacity:1;box-shadow:inset 0 0 12px #b1ff6b59}}@media (prefers-reduced-motion:reduce){.game-fx-layer *,.draw-reveal,.draw-reveal .hwatu-card,.fx-board-bomb,.fx-board-bak,.fx-board-stop,.fx-board-shake,.fx-board-combo{animation-duration:1ms!important;animation-iteration-count:1!important}}
