/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#111512;--panel:#1c211d;--border:#3b4235;--gold:#c8a96a;--gold-light:#e5c98d;--muted:#92988b;--text:#e1e2d4;--green:#9bb18a;--red:#cf8874;--blue:#8bbaca}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Arial,Helvetica,sans-serif;font-size:14px}body:before{content:"";pointer-events:none;opacity:.11;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.3' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}a,button{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:default}a:focus-visible,button:focus-visible{outline:2px solid var(--gold-light);outline-offset:4px}button{touch-action:manipulation}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin:0}button{transition:border-color .15s,background .15s,transform .15s}button:disabled{opacity:.48}em{color:var(--gold);font-style:normal}.topbar{background:#171c17;border-bottom:1px solid #363b2e;gap:70px;height:86px;padding:0 4%}.brand,.topbar{align-items:center;display:flex}.brand{letter-spacing:5px;gap:11px;font-family:Georgia,serif;font-size:28px;font-weight:700}.brand-sub{letter-spacing:3.9px;color:var(--gold);margin-top:3px;font-family:Arial,sans-serif;font-size:9px;display:block}.brand-emblem{clip-path:polygon(0 0,100% 0,100% 75%,50% 100%,0 75%);color:#d9bc7c;letter-spacing:0;background:#393825;border:2px solid #a68b51;justify-content:center;align-items:center;width:38px;height:45px;font-size:28px;display:flex}.topbar nav{gap:28px;height:100%;display:flex}.topbar nav button{color:#a5ab9c;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 4px;font-size:13px}.topbar nav .nav-active{border-color:var(--gold);color:var(--gold-light)}.topbar nav button span{border:1px solid #454b3b;margin-left:5px;padding:3px 5px;font-size:10px}.local-badge{letter-spacing:1px;color:#acbd9c;border:1px solid #3d4a36;margin-left:auto;padding:9px 12px;font-family:monospace;font-size:11px}.local-badge i,.status-dot{background:#a3bb7b;width:6px;height:6px;margin-right:8px;display:inline-block;box-shadow:0 0 8px #a3bb7b33}.main-wrap{max-width:1510px;margin:auto;padding:36px 4% 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:2px;color:#a6ae94;margin-bottom:10px;font-family:monospace;font-size:10px}.eyebrow span{color:#686f5c;padding:0 8px}h1{letter-spacing:.5px;color:#eee6cf;font-family:Georgia,serif;font-size:36px;font-weight:400}.heading-star{vertical-align:middle;color:var(--gold);margin-left:18px;font-size:17px}.subtitle{color:var(--muted);margin-top:8px;font-size:12px}.heading-actions{flex-direction:column;align-items:flex-end;gap:14px;display:flex}.version-badge{color:#9d9579;letter-spacing:1px;font-family:monospace;font-size:9px}.quiet-button{color:#aeb6a1;background:0 0;border:1px solid #454b3b;padding:9px 13px;font-size:11px}.quiet-button:hover{color:#e0c38a;border-color:#a68b51}.stone-panel{background:var(--panel);border:1px solid var(--border);box-shadow:0 5px 24px #0002,inset 0 0 0 3px #ffffff02}.battle-layout{grid-template-columns:minmax(0,1fr) 260px;gap:22px;display:grid}.arena{background-color:#22281f;background-image:linear-gradient(90deg,#11170f18 1px,#0000 0),linear-gradient(#11170f18 1px,#0000 0),radial-gradient(at 50% 30%,#7a805111,#0000 70%);background-size:48px 48px,48px 48px,auto;padding:0 24px;position:relative;overflow:hidden}.arena:after,.arena:before{content:"◆";color:#aaa57c04;pointer-events:none;font-size:150px;position:absolute;top:40%}.arena:before{left:-50px}.arena:after{right:-50px}.arena-topline{letter-spacing:1px;color:#abb394;border-bottom:1px solid #434a353f;justify-content:space-between;align-items:center;height:37px;font-family:monospace;font-size:9px;display:flex}.match-code{color:#858d78;font-size:8px}.thinking{background:#b198ca;animation:pulse 1s infinite}.hero-row{justify-content:space-between;gap:12px;min-height:110px}.hero,.hero-row{align-items:center;display:flex}.hero{text-align:left;min-width:210px;color:var(--text);background:0 0;border:1px solid #0000;gap:13px;padding:6px}.hero:disabled{opacity:1}.hero-portrait{background:radial-gradient(#55624766,#1d2519);border:2px solid #8e8a60;flex-shrink:0;width:68px;height:76px;display:block;position:relative;box-shadow:0 0 0 3px #343b2b,0 0 0 4px #575f40}.enemy-hero .hero-portrait{background:radial-gradient(#65507a77,#252130);border-color:#86718f;box-shadow:0 0 0 3px #37333d,0 0 0 4px #52485c}.hero-portrait svg{width:100%;height:100%;image-rendering:pixelated;transform:scale(1.13)}.hero-level{color:#d3dbb9;background:#333d2c;border:1px solid #788359;padding:3px 6px;font-family:monospace;font-size:8px;position:absolute;bottom:-9px;left:50%;transform:translate(-50%)}.enemy-hero .hero-level{color:#d4bcdf;background:#3f334d;border-color:#7a628c}.hero-info{flex-direction:column;gap:5px;display:flex}.hero-name{letter-spacing:.3px;color:#dddcca;font-family:Georgia,serif;font-size:22px}.hero-title{letter-spacing:1px;color:#929a82;font-family:monospace;font-size:7px}.hero-stats{gap:13px;margin-top:3px;font-family:monospace;display:flex}.hero-stats b{font-size:14px;font-weight:500}.hero-stats small{opacity:.65;font-size:10px}.hp-stat{color:#d9927e}.attack-stat{color:#dfc580}.armor-stat{color:#c1c7b5}.mana-stat{color:#7eb5cc}.hp-track{background:#11160e;width:130px;height:4px;margin-top:1px;display:block}.hp-track i{background:#a85d4d;height:100%;transition:width .3s;display:block}.enemy-hand{text-align:center;color:#8c9382;align-self:center;font-family:monospace;font-size:9px}.card-backs{min-height:53px;margin-bottom:9px;padding-left:8px}.card-back,.card-backs{justify-content:center;display:flex}.card-back{color:#9b8e6a;background:repeating-linear-gradient(45deg,#343b2b 0 3px,#3f4534 3px 5px);border:2px solid #665e45;outline:1px solid #20291b;align-items:center;width:35px;height:50px;margin-left:-8px;font-size:20px;box-shadow:inset 0 0 0 3px #303527}.vocation-mark{color:#a0987044;text-align:center;min-width:120px;font-size:32px}.vocation-mark small{letter-spacing:1px;color:#8f9677;font-family:monospace;font-size:7px;display:block}.field-label{color:#8a937e;letter-spacing:1.2px;justify-content:space-between;margin:5px 0 10px;font-family:monospace;font-size:8px;display:flex}.unit-field{z-index:1;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid;position:relative}.empty-slot{color:#626f4c38;background:#19201532;border:1px solid #808c5830;justify-content:center;align-items:center;height:124px;font-size:25px;display:flex;box-shadow:inset 0 0 0 4px #20271c5c}.empty-slot:disabled{opacity:1}.summon-slot{color:var(--gold);background:#c5ad5f0c;border:1px dashed #c7b26f;font-size:32px}.summon-slot:hover{background:#c5ad5f20}.battle-divider{color:#93825a;letter-spacing:2px;align-items:center;gap:18px;margin:19px 0;font-family:monospace;font-size:10px;display:flex}.battle-divider>span{background:linear-gradient(90deg,#0000,#747d4c66);flex:1;height:1px}.battle-divider>span:last-child{transform:rotate(180deg)}.battle-divider b{color:#c0bd96;padding:0 10px;font-weight:400}.own-label{margin:10px 0 0}.own-row{min-height:110px}.turn-controls{flex-direction:column;align-items:flex-end;gap:15px;display:flex}.mana-crystals{gap:6px;display:flex}.mana-crystals i{clip-path:polygon(50% 0,100% 30%,100% 70%,50% 100%,0 70%,0 30%);background:#111a16;width:10px;height:12px;box-shadow:0 0 1px #45615c}.mana-crystals .filled{background:linear-gradient(135deg,#a1d8dc,#4f9fb5 60%,#296179)}.mana-crystals .spent{background:#34505a}.gold-button{color:#1c2018;letter-spacing:.25px;background:linear-gradient(#b9a16a,#9b844f);border:1px solid #d4bd83;min-height:40px;padding:11px 22px;font-size:11px;font-weight:700;box-shadow:inset 0 0 0 2px #8b744642,0 3px 8px #0002}.gold-button:hover:not(:disabled){background:linear-gradient(#d7bd80,#b59b62);transform:translateY(-1px)}.gold-button:disabled{opacity:.4;filter:saturate(.4)}.selection-hint{color:#a4b18c;text-align:center;background:#171e1444;border-top:1px solid #58614340;border-bottom:1px solid #58614340;min-height:36px;padding:11px 3px;font-size:11px}.hand-area{background:#151b13a8;margin:0 -24px;padding:14px 20px 17px}.hand-heading{color:#89967e;letter-spacing:1px;justify-content:space-between;margin-bottom:13px;font-family:monospace;font-size:9px;display:flex}.hand-heading b{border:1px solid #3c4832;margin-left:5px;padding:2px 4px;font-size:8px;font-weight:400}.hand-cards{scrollbar-color:#535e42 #1b2117;scrollbar-width:thin;gap:8px;min-height:163px;padding:6px 3px 10px;display:flex;overflow:auto hidden}.game-card{text-align:center;color:#e4dfc5;background:#31382a;border:1px solid #737c53;flex-direction:column;align-items:center;width:112px;min-width:112px;min-height:150px;padding:7px;display:flex;position:relative;box-shadow:inset 0 0 0 3px #20291c,0 3px 6px #0003}.game-card:hover:not(:disabled){border-color:#b3b585}.game-card:disabled{opacity:1}.game-card.selected{border-color:#e2c487;transform:translateY(-4px);box-shadow:0 0 0 2px #c7a56166}.game-card.playable{border-bottom:3px solid #aebc80}.card-cost{z-index:1;color:#d8f0f2;clip-path:polygon(50% 0,100% 20%,100% 80%,50% 100%,0 80%,0 20%);background:#36576a;border:1px solid #789fb0;width:22px;height:24px;font-family:Georgia,serif;font-size:16px;position:absolute;top:5px;left:5px}.card-art,.card-cost{justify-content:center;align-items:center;display:flex}.card-art{background:radial-gradient(at 50% 85%,#6b785244,#0000),linear-gradient(#1a251b,#3b4830);border:1px solid #737b4a55;width:100%;height:76px}.card-art .pixel-sprite{filter:drop-shadow(3px 4px #0003);width:73px;height:73px}.art-sorcerer{background:radial-gradient(at bottom,#66507133,#0000),linear-gradient(#23252c,#3b3546)}.art-knight{background:radial-gradient(at bottom,#9b855433,#0000),linear-gradient(#25281e,#494b30)}.card-name{justify-content:center;align-items:center;width:100%;min-height:25px;padding-top:4px;font-family:Georgia,serif;font-size:11px;line-height:1.1;display:flex}.card-description{color:#c3c6b3;margin:8px 2px 12px;font-size:11px;line-height:1.55}.card-footer{border-top:1px solid #626d4544;justify-content:space-between;width:100%;margin-top:auto;padding-top:5px;font-family:monospace;font-size:12px;display:flex}.spell-label{letter-spacing:1.4px;color:#bab89e;margin:auto;font-size:8px}.replace-card{filter:sepia(.4)}.replace-label{color:#fff0d4;letter-spacing:1px;background:#8d4739ee;border:1px solid #c58d68;padding:6px 10px;font-family:monospace;position:absolute;top:40%;transform:rotate(-9deg)}.empty-hand{color:#8e9981;margin:auto;font-size:12px}.unit{background:radial-gradient(#6b765b22,#0000),#283022;border:1px solid #727e50;flex-direction:column;justify-content:flex-end;align-items:center;height:124px;padding:7px 7px 5px;display:flex;position:relative;box-shadow:inset 0 0 0 3px #323b29}.unit:disabled{opacity:1}.unit .pixel-sprite{filter:drop-shadow(3px 4px #0003);width:67px;height:67px;position:absolute;top:6px}.unit-name{z-index:1;margin-bottom:7px;font-family:Georgia,serif;font-size:10px;line-height:1.15}.unit-stats{justify-content:space-between;width:100%;font-family:monospace}.unit-badges,.unit-stats{z-index:1;font-size:12px;display:flex}.unit-badges{color:#c6d79e;gap:2px;position:absolute;top:3px;right:4px}.unit-ready{border-bottom:3px solid #9ab76d;box-shadow:inset 0 0 0 3px #323b29,0 0 10px #9ab76d18}.ready-mark{letter-spacing:1px;color:#c5d6a3;z-index:1;background:#3e512e;border:1px solid #7c9556;padding:2px 5px;font-family:monospace;font-size:6px;position:absolute;top:-7px}.unit.selected{border:2px solid #dec085;box-shadow:0 0 15px #cbb47422}.targetable{cursor:crosshair!important;border:2px solid #dbb179!important;box-shadow:0 0 12px #e0b36b25!important}.targetable:hover{background-color:#a1853633}.frozen{background:#253c3e;border-color:#699aa2}.wounded{color:#ed846c}.battle-sidebar{flex-direction:column;gap:17px;display:flex}.panel-title{letter-spacing:1px;color:#adb398;border-bottom:1px solid #3b4232;padding:14px 15px;font-family:monospace;font-size:9px}.detail-panel{min-height:300px;padding-bottom:16px}.detail-card{width:170px;min-height:235px;margin:17px auto 12px;padding:10px}.detail-card .card-art{height:98px}.detail-card .card-art svg{width:92px;height:92px}.detail-card .card-name{min-height:32px;font-size:15px}.detail-card .card-cost{width:26px;height:29px;font-size:19px}.detail-meta{color:#939f7b;justify-content:space-between;margin:0 18px;font-family:monospace;font-size:8px;display:flex}.play-card-button{width:calc(100% - 32px);margin:15px auto 0;display:block}.detail-note{color:#a7b28f;text-align:center;padding:12px 16px 0;font-size:10px;line-height:1.5}.detail-placeholder{text-align:center;color:#a4ac95;flex-direction:column;align-items:center;gap:12px;padding:33px 25px;display:flex}.detail-placeholder>span{color:#8b94624d;font-size:52px}.detail-placeholder p{color:#bdc3aa;font-family:Georgia,serif;font-size:16px}.detail-placeholder small{color:#7e8973;font-size:11px;line-height:1.7}.journal-panel{flex:1;min-height:220px}.journal-panel .panel-title{letter-spacing:.4px;align-items:center;gap:7px;display:flex}.journal-panel .panel-title>span{color:#9aab83;border:1px solid #48543b;margin-left:auto;padding:3px;font-size:7px}.journal{scrollbar-color:#4c583e #1b2117;scrollbar-width:thin;height:280px;padding:5px 13px 15px;overflow:auto}.journal-entry{color:#a7af99;border-bottom:1px solid #414b322c;gap:10px;padding:10px 0;font-size:10px;line-height:1.6;display:flex}.journal-entry>span{color:#67735c;margin-top:1px;font-family:monospace;font-size:9px}.event-turn-start p{color:#d0bd87}.event-play p{color:#b9c89e}.event-death p{color:#cb9480}.event-result p{color:#e3c37b}.concede-button{color:#828c76;border:0;align-self:center;font-size:10px}.page-footer{color:#727c66;letter-spacing:.5px;border-top:1px solid #363e2d;justify-content:space-between;gap:20px;margin-top:25px;padding:20px 0;font-family:monospace;font-size:8px;display:flex}.page-footer>span:first-child{color:#a2a886;letter-spacing:1.2px}.error-banner{color:#e4bc9d;background:#482f26;border:1px solid #926448;justify-content:space-between;margin-bottom:20px;padding:12px;display:flex}.error-banner button{color:#f3d5a7;background:0 0;border:0;text-decoration:underline}.lobby{text-align:center;background:radial-gradient(at 50% 20%,#50583a55,#0000),#20281d;min-height:610px;padding:50px 25px 36px;position:relative;overflow:hidden}.duel-portraits,.lobby-note,.lobby>.eyebrow,.lobby>h2,.start-button{z-index:1;position:relative}.lobby h2{color:#eee4cb;font-family:Georgia,serif;font-size:52px;font-weight:400;line-height:1.17}.lobby-landscape{background:linear-gradient(#1a251c66,#1c251b33);position:absolute;inset:0;overflow:hidden}.moon{clip-path:polygon(20% 0,80% 0,100% 20%,100% 80%,80% 100%,20% 100%,0 80%,0 20%);background:#b6b78e22;width:65px;height:65px;top:50px;right:18%;box-shadow:0 0 0 10px #aeb48205,0 0 0 25px #aeb48205}.moon,.mountain{position:absolute}.mountain{clip-path:polygon(0 100%,0 65%,7% 65%,7% 55%,15% 55%,15% 40%,25% 40%,25% 26%,33% 26%,33% 12%,45% 12%,45% 24%,53% 24%,53% 37%,64% 37%,64% 48%,76% 48%,76% 62%,86% 62%,86% 82%,100% 82%,100% 100%);background:#323c2866;width:70%;height:65%;bottom:0}.mountain-one{left:-20%}.mountain-two{background:#3c452b55;height:52%;right:-24%;transform:scaleX(-1)}.castle{color:#121c1277;font-size:350px;line-height:1;position:absolute;bottom:-60px;left:10%}.duel-portraits{justify-content:center;align-items:center;gap:50px;margin:28px 0 30px;display:flex}.duel-portraits>div{flex-direction:column;align-items:center;gap:8px;width:170px;display:flex}.duel-portraits svg{filter:drop-shadow(5px 5px #1118);background:radial-gradient(#6d795d55,#0000 65%);width:105px;height:105px}.duel-portraits>div:last-child svg{background:radial-gradient(#71577d55,#0000 65%)}.duel-portraits strong{letter-spacing:3px;color:#dbd9be;font-family:Georgia,serif;font-size:15px;font-weight:400}.duel-portraits small{color:#a0ac8e;font-size:10px}.duel-portraits>span{color:#9f9a71;font-family:Georgia,serif;font-size:22px;font-style:italic}.start-button{min-width:240px;padding:14px 40px;font-size:13px}.lobby-note{color:#8f9a80;margin-top:17px;font-size:10px}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:30;background:#090d09dc;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog{background:#242b20;border:1px solid #777d54;width:100%;max-width:580px;max-height:90dvh;padding:40px;position:relative;overflow:auto;box-shadow:0 20px 80px #0009,inset 0 0 0 5px #181f15}.dialog h2{color:#e7dab5;margin-bottom:18px;font-family:Georgia,serif;font-size:30px;font-weight:400}.dialog>p:not(.eyebrow){color:#b0b99f;font-size:12px;line-height:1.8}.close-button{color:#b2ba9c;background:0 0;border:0;width:32px;height:32px;font-size:26px;position:absolute;top:12px;right:14px}.rules-content{color:#b8c0aa;font-size:12px;line-height:1.8}.rules-content p{margin:14px 0}.rules-content b{color:#d5c28f}.catalog-dialog{max-width:1000px}.catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:25px;display:grid}.catalog-grid .game-card{cursor:default;width:100%;min-width:0;min-height:260px}.catalog-grid .card-description{font-size:10px}.catalog-grid .card-art{height:95px}.result-dialog{text-align:center;max-width:520px}.result-emblem{color:#cfb276;margin-bottom:14px;font-size:65px;display:block}.result-stats{color:#98a481;justify-content:center;gap:35px;margin:30px 0;font-family:monospace;font-size:9px;display:flex}.result-stats b{color:#d4c495;margin-bottom:8px;font-family:Georgia,serif;font-size:27px;font-weight:400;display:block}.result-dialog>.gold-button{width:100%;margin-bottom:12px}.result-dialog>.quiet-button{border:0}.dialog-actions{justify-content:flex-end;gap:15px;margin-top:30px;display:flex}@keyframes pulse{50%{opacity:.5}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (min-width:1450px){.empty-slot,.unit{height:140px}.unit .pixel-sprite{width:80px;height:80px}.unit-name{font-size:12px}.journal{height:315px}}@media (max-width:1100px){.battle-layout{grid-template-columns:minmax(0,1fr) 220px;gap:14px}.main-wrap{padding:25px 2.5% 0}.arena{padding:0 16px}.hand-area{margin:0 -16px;padding-left:14px;padding-right:14px}.topbar{gap:40px;padding:0 2.5%}.unit-field{gap:8px}.vocation-mark{display:none}.hero{min-width:190px}.hero-name{font-size:20px}.unit .pixel-sprite{width:58px;height:58px;top:10px}.unit-name{font-size:9px}.empty-slot,.unit{height:116px}.panel-title{padding:13px 10px;font-size:8px}.journal-panel .panel-title>span{font-size:6px}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:850px){.battle-layout{grid-template-columns:minmax(0,1fr)}.battle-sidebar{grid-template-columns:1fr 1fr;gap:14px;display:grid}.detail-panel{min-height:260px}.detail-placeholder{padding:25px}.detail-card{width:160px}.journal{height:260px}.concede-button{grid-column:1/-1;justify-self:center}.page-heading{margin-bottom:20px}.topbar{gap:40px;height:74px}.brand{font-size:23px}.brand-sub{letter-spacing:3px;font-size:8px}.brand-emblem{width:32px;height:37px}.local-badge{padding:7px;font-size:9px}.page-footer span:last-child{display:none}.unit .pixel-sprite{width:74px;height:74px;top:3px}.unit-name{font-size:11px}.empty-slot,.unit{height:130px}.hero-row{min-height:112px}.hand-cards{min-height:165px}.vocation-mark{display:block}.catalog-grid{gap:12px}}@media (max-width:580px){.topbar{flex-wrap:wrap;gap:0;height:66px;padding:0 15px}.brand{letter-spacing:3px;gap:8px;font-size:21px}.brand-sub{letter-spacing:2.5px;font-size:7px}.brand-emblem{width:29px;height:34px;font-size:23px}.topbar nav{gap:16px;height:100%;margin-left:auto}.topbar nav button{padding:0;font-size:10px}.local-badge,.topbar nav button span{display:none}.main-wrap{padding:23px 12px 0}.page-heading{align-items:flex-start;gap:6px}h1{font-size:29px}.eyebrow{letter-spacing:1.5px;font-size:8px}.subtitle{max-width:230px;font-size:10px;line-height:1.6}.heading-star{margin-left:12px;font-size:12px}.version-badge{letter-spacing:0;text-align:right;max-width:90px;font-size:6px;line-height:1.7}.heading-actions{gap:8px;padding-top:3px}.heading-actions .quiet-button{padding:7px;font-size:8px}.arena{padding:0 10px}.arena-topline{letter-spacing:.5px;height:30px;font-size:7px}.match-code{font-size:6px}.hero-row{gap:5px;min-height:104px}.hero{gap:10px;min-width:0;padding:6px 3px}.hero-portrait{width:49px;height:59px;box-shadow:0 0 0 2px #343b2b,0 0 0 3px #575f40}.hero-name{font-size:19px}.hero-title{letter-spacing:.6px;font-size:6px}.hero-stats{gap:9px}.hero-stats b{font-size:11px}.hero-stats small{font-size:8px}.hp-track{width:102px;height:3px}.hero-level{padding:2px 5px;font-size:6px;bottom:-7px}.hero-info{gap:4px}.vocation-mark{display:none}.card-backs{min-height:39px;margin-bottom:8px;padding-left:6px}.card-back{border-width:1px;width:25px;height:38px;margin-left:-9px;font-size:14px;box-shadow:inset 0 0 0 2px #303527}.enemy-hand small{font-size:7px}.unit-field{gap:5px}.empty-slot,.unit{min-width:0;height:104px}.unit{padding:4px}.unit .pixel-sprite{width:56px;max-width:100%;height:56px;top:8px}.unit-name{align-items:center;min-height:17px;margin-bottom:3px;font-size:8px;display:flex}.unit-badges,.unit-stats{font-size:9px}.unit-badges{top:2px;right:2px}.ready-mark{letter-spacing:.5px;padding:2px 3px;font-size:5px}.field-label{margin:3px 0 8px;font-size:6px}.battle-divider{letter-spacing:1px;gap:8px;margin:16px 0;font-size:8px}.battle-divider b{padding:0 5px}.own-label{margin:8px 0 0}.turn-controls{gap:11px}.mana-crystals{gap:3px}.mana-crystals i{width:8px;height:10px}.turn-controls .gold-button{min-width:130px;max-width:150px;min-height:36px;padding:9px 11px;font-size:9px}.selection-hint{min-height:34px;padding:9px 6px;font-size:9px;line-height:1.6}.hand-area{margin:0 -10px;padding:11px 9px 8px}.hand-heading{margin-bottom:9px;font-size:7px}.hand-heading b{font-size:7px}.hand-cards{gap:6px;min-height:151px;padding:6px 2px 10px}.hand-cards .game-card{width:95px;min-width:95px;min-height:138px;padding:6px}.hand-cards .card-art{height:68px}.hand-cards .card-art svg{width:62px;height:62px}.hand-cards .card-name{font-size:10px}.card-cost{width:20px;height:22px;font-size:15px;top:4px;left:4px}.card-footer{font-size:11px}.battle-sidebar{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.detail-panel{min-height:250px;padding-bottom:12px}.detail-card{width:calc(100% - 22px);min-width:0;min-height:220px;margin:12px auto;padding:8px}.detail-card .card-art{height:75px}.detail-card .card-art svg{width:70px;height:70px}.detail-card .card-name{min-height:28px;font-size:12px}.detail-card .card-description{font-size:10px}.detail-meta{margin:0 12px;font-size:6px}.play-card-button{width:calc(100% - 22px);min-height:35px;padding:9px 4px;font-size:9px}.panel-title{letter-spacing:.2px;padding:12px 8px;font-size:7px}.journal-panel .panel-title>span{display:none}.journal{height:260px;padding:5px 8px 10px}.journal-entry{gap:6px;padding:8px 0;font-size:9px}.journal-entry>span{font-size:8px}.detail-placeholder{gap:10px;padding:25px 15px}.detail-placeholder small{font-size:10px}.detail-placeholder p{font-size:14px;line-height:1.5}.page-footer{gap:15px;margin-top:17px;padding:15px 0;font-size:6px;line-height:1.6}.page-footer span:first-child{white-space:nowrap;letter-spacing:.5px}.page-footer span:nth-child(2){text-align:right;max-width:180px}.lobby{min-height:580px;padding:42px 15px 30px}.lobby h2{font-size:44px}.duel-portraits{gap:22px;margin:30px 0}.duel-portraits>div{width:120px}.duel-portraits svg{width:94px;height:94px}.duel-portraits strong{letter-spacing:2px;font-size:13px}.duel-portraits small{font-size:8px}.duel-portraits>span{font-size:18px}.lobby-note{max-width:260px;margin:17px auto 0;font-size:9px;line-height:1.8}.dialog{max-height:88dvh;padding:35px 23px}.dialog h2{font-size:26px}.modal-backdrop{padding:14px}.catalog-dialog{padding:35px 15px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-grid .game-card{min-height:250px;padding:8px}.dialog-actions{flex-direction:column-reverse;gap:12px}.result-stats{gap:25px}.result-stats b{font-size:24px}.error-banner{gap:10px;font-size:11px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}