:root{--cream:#f1eedf;--paper:#fcf9ef;--ink:#272537;--muted:#797685;--purple:#7350ae;--purple-dark:#523c78;--lavender:#d4c4e9;--lime:#d3e59c;--gold:#e5bb65;--line:#dcd6cd;--danger:#bf646a;--radius:20px;font-family:"Trebuchet MS",ui-rounded,"Arial Rounded MT Bold",system-ui,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;background:radial-gradient(ellipse at 78% 20%,#e6dfef66,transparent 46%),var(--cream)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #a28ace;outline-offset:4px}button{color:inherit}a{color:inherit}.icon{width:21px;height:21px;display:inline-block;flex-shrink:0;vertical-align:middle}button .icon{pointer-events:none}button,a{touch-action:manipulation}button{border:0}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.035em}input,select{border:1.5px solid var(--line);background:var(--paper);color:var(--ink);border-radius:11px;padding:12px 14px;min-width:0}input::placeholder{color:#98919c}input:focus,select:focus{border-color:var(--purple);outline:none;box-shadow:0 0 0 3px #7350ae18}label{display:block;font-size:12px;font-weight:800;letter-spacing:.025em}label input,label select{display:block;width:100%;margin-top:7px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border-radius:11px;min-height:44px;padding:12px 20px;font-weight:800;font-size:14px;background:var(--paper);border:1.5px solid #dad2cd;white-space:nowrap;text-decoration:none;transition:transform .16s,background .16s,box-shadow .16s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 0 #2725370a}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn-primary{background:var(--purple);border-color:var(--purple-dark);color:var(--paper);box-shadow:0 3px 0 var(--purple-dark)}.btn-primary:hover:not(:disabled){background:#805db9;box-shadow:0 5px 0 var(--purple-dark)}.btn-lime{background:var(--lime);border-color:#9ba878;box-shadow:0 3px 0 #a6b580}.btn-dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ghost{background:transparent;border-color:transparent}.btn-small{min-height:36px;padding:8px 12px;font-size:12px}.btn-round{border-radius:50%;width:40px;height:40px;padding:0}.btn-wide{width:100%}.muted{color:var(--muted)}.eyebrow{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.18em;display:flex;align-items:center;gap:7px}.eyebrow .icon{width:15px;height:15px}.badge{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:800;padding:6px 9px;border:1px solid #d8d3cd;border-radius:7px;background:#f9f6ed}.badge.purple{background:#e9e0f0;border-color:#d7c4e4;color:#6a478f}.badge.lime{background:#e6edcd;border-color:#cddba9;color:#52623c}.badge.gold{background:#f5e6bf;border-color:#e8d39c;color:#8a6929}.badge .icon{width:13px;height:13px}.dot{height:7px;width:7px;display:inline-block;border-radius:50%;background:#8c9b63}.dot.offline{background:#c18d65}.dot.connecting{background:var(--gold);animation:pulse 1s infinite}.topbar{max-width:1280px;margin:0 auto;padding:24px 38px;display:flex;align-items:center;gap:30px}.brand{background:none;display:flex;align-items:center;gap:13px;cursor:pointer;border:0;padding:0}.brand img{height:31px;width:120px;object-fit:contain}.brand-divider{height:26px;width:1px;background:#cec6ca}.brand-sub{font-size:10px;font-weight:900;letter-spacing:.15em;text-align:left;line-height:1.45}.topnav{display:flex;gap:8px;margin:auto}.nav-item{background:none;padding:10px 13px;color:#89828c;font-size:13px;font-weight:800;border-radius:9px}.nav-item.active,.nav-item:hover{color:var(--purple-dark);background:#e3daed8c}.header-actions{display:flex;align-items:center;gap:9px}.coin-pill{display:flex;align-items:center;gap:7px;padding:9px 12px;border:1.5px solid #ddd0b1;border-radius:50px;background:#f9f2de;font-size:13px;font-weight:900}.coin-pill .icon{color:#c19a42;width:19px;height:19px}.coin-pill .add{display:flex;border-radius:50%;width:17px;height:17px;align-items:center;justify-content:center;background:#e5ce94;font-size:15px;margin-left:3px}.avatar{border-radius:50%;background:#d9c7eb;display:flex;align-items:center;justify-content:center;width:35px;height:35px;color:var(--purple-dark);font-size:13px;font-weight:900}.home-content{max-width:1200px;margin:0 auto;padding:26px 38px 36px}.hero-section{display:grid;grid-template-columns:1fr 1.08fr;gap:40px;align-items:center;padding:16px 0 45px}.hero-copy .eyebrow{margin-bottom:21px;color:var(--purple)}.hero-copy h1{font-family:ui-rounded,"Trebuchet MS",sans-serif;font-size:clamp(44px,5.5vw,70px);line-height:1.04;letter-spacing:-.075em;font-weight:1000;max-width:540px}.hero-copy h1 em{font-style:normal;color:var(--purple);position:relative;white-space:nowrap}.hero-copy h1 em:after{content:"";height:5px;border-radius:50%;background:#bbacd3;position:absolute;bottom:0;left:3px;width:97%;transform:rotate(-2deg);z-index:-1}.hero-copy>p{font-size:15px;line-height:1.75;color:#817a85;max-width:415px;margin:22px 0}.hero-cta{display:flex;align-items:center;gap:11px;margin-bottom:18px}.hero-cta .btn{min-height:50px;padding:15px 24px}.hero-note{display:flex;gap:15px;align-items:center;color:#8c8490;font-size:10px;font-weight:700}.hero-note span{display:flex;gap:5px;align-items:center}.hero-note .icon{width:14px;height:14px}.hero-illustration{position:relative;height:365px;isolation:isolate}.hero-illustration:before{content:"";position:absolute;inset:25px 5px;background:#dcd6e5;border-radius:44% 40% 35% 43%;transform:rotate(-7deg);z-index:-2}.hero-illustration:after{content:"";position:absolute;inset:46px -8px 22px 24px;border:1px dashed #b2a3c2;border-radius:45%;transform:rotate(7deg);z-index:-2}.hero-illustration canvas{width:100%;height:100%;display:block}.art-tag{position:absolute;display:flex;align-items:center;gap:7px;background:var(--paper);border:1px solid #d6c8dc;border-radius:9px;padding:9px 12px;font-size:10px;font-weight:800;box-shadow:0 6px 18px #30254412;transform:rotate(-6deg);left:9%;top:7%}.art-tag.bottom{left:auto;top:auto;right:1%;bottom:10%;transform:rotate(4deg);background:var(--lime);border-color:#b4c28a}.art-tag .icon{width:16px;height:16px;color:var(--purple)}.tiny-star{position:absolute;color:#aa92c1;font-size:25px;right:8%;top:3%}.lobby-section{border-top:1px solid #d6ced4;padding-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;gap:12px}.section-heading h2{font-size:22px;letter-spacing:-.045em}.section-heading .eyebrow{color:#9b949e;letter-spacing:.12em;font-size:10px}.section-actions{display:flex;gap:8px;align-items:center}.rooms-layout{display:grid;grid-template-columns:250px 1fr;gap:18px}.play-panel{background:#e5dced;border:1px solid #d5c6e1;border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}.play-panel h3{font-size:17px}.play-panel p{color:#8c7c9b;font-size:11px;line-height:1.6}.play-panel label{color:#7e6b91;font-size:10px}.play-panel input{background:#f5eff9;border-color:#cebedb;font-size:12px;padding:10px 12px}.play-panel .btn{font-size:12px;min-height:39px;padding:9px 12px}.play-panel .or{display:flex;gap:9px;align-items:center;color:#a494b2;font-size:9px;font-weight:800;letter-spacing:.12em}.play-panel .or:before,.play-panel .or:after{content:"";height:1px;background:#d0c1dd;flex:1}.rooms-panel{min-width:0}.room-tools{display:flex;gap:8px;align-items:center;margin-bottom:12px}.room-search{position:relative;flex:1}.room-search input{width:100%;padding-left:35px;font-size:12px;min-height:39px;background:#f8f5eb}.room-search>.icon{position:absolute;left:12px;top:12px;width:14px;height:14px;color:#9c93a0}.room-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-card{background:#f9f6ec;border:1px solid #d9d2cc;border-radius:13px;padding:17px;position:relative;transition:border-color .18s,transform .18s}.room-card:hover{border-color:#b3a1c5;transform:translateY(-2px)}.room-card-head{display:flex;gap:10px;align-items:center}.room-icon{height:37px;width:37px;background:#e6ddee;border-radius:10px;display:grid;place-items:center;color:#8d6ba8}.room-icon .icon{width:22px;height:22px}.room-card h3{font-size:14px;line-height:1.35}.room-code{font-size:9px;letter-spacing:.15em;color:#a297a5;font-family:ui-monospace,monospace;margin-top:4px}.room-card-info{display:flex;justify-content:space-between;align-items:center;margin-top:15px;font-size:10px;color:#8b818c}.room-card-info span{display:flex;align-items:center;gap:4px}.room-card-info .icon{width:13px;height:13px}.room-card .btn{margin-top:14px;width:100%;font-size:11px;min-height:32px;padding:6px}.empty-rooms{background:#f7f3e9;border:1px dashed #cec5d0;border-radius:15px;min-height:223px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:24px;grid-column:1/-1}.empty-rooms>.icon{width:36px;height:36px;color:#ae9bbd;margin-bottom:12px}.empty-rooms h3{font-size:15px;margin-bottom:8px}.empty-rooms p{font-size:12px;color:#988d9b;line-height:1.65;max-width:350px;margin-bottom:15px}.rules-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:30px 0 10px;margin-top:24px;border-top:1px solid #d6ced4}.rule{display:flex;gap:12px}.rule-number{height:32px;min-width:32px;display:grid;place-items:center;border:1px solid #d1c5d9;border-radius:10px;font-size:11px;font-weight:900;color:#8d769f;background:#e8e0ee}.rule h3{font-size:13px;margin-bottom:6px}.rule p{font-size:11px;line-height:1.65;color:#998d9a}.page-footer{display:flex;justify-content:space-between;gap:15px;max-width:1200px;margin:0 auto;padding:18px 38px 25px;font-size:10px;color:#a296a3}.page-footer button{background:none;color:inherit;padding:0;font-size:10px}.page-footer .footer-right{display:flex;gap:16px}.status-note{display:flex;gap:6px;align-items:center}.boot-screen{min-height:100svh;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center}.boot-screen>img{width:180px;max-height:65px;object-fit:contain;margin-bottom:25px}.boot-screen h1{font-size:22px}.boot-screen p{color:var(--muted);font-size:13px}.loading-orb{width:25px;height:25px;background:#d7c7e7;border-radius:50%;border:3px solid var(--purple);border-top-color:transparent;animation:spin 1s linear infinite}.noscript{position:fixed;inset:0;background:var(--cream);display:grid;place-items:center;padding:30px;text-align:center;z-index:999}.error-inline{background:#f6e5de;color:#9a5e5a;padding:13px 15px;border:1px solid #e5c8c1;border-radius:10px;font-size:12px;line-height:1.65;margin:12px 0}.connection-notice{background:#eee5d0;color:#8e754a;font-size:11px;padding:9px 16px;text-align:center}.lobby-wrap{max-width:1040px;margin:20px auto 50px;padding:0 32px}.backline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:24px}.lobby-title-row{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:24px}.lobby-title-row h1{font-size:38px;letter-spacing:-.06em}.lobby-title-row .eyebrow{color:var(--purple);margin-bottom:10px}.lobby-title-row p{font-size:13px;line-height:1.7;color:var(--muted);margin-top:10px}.room-invite{display:flex;align-items:center;gap:9px;padding:10px 12px;border-radius:13px;border:1.5px dashed #bbacc9;background:#f6f0fa}.room-invite strong{font:900 17px ui-monospace,monospace;letter-spacing:.12em}.room-invite small{display:block;font-size:9px;color:#a395ad;text-transform:uppercase;letter-spacing:.12em;margin-bottom:5px}.lobby-columns{display:grid;grid-template-columns:1fr 300px;gap:22px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:23px}.panel-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:12px}.panel-title h2{font-size:17px}.player-list{display:flex;flex-direction:column;gap:9px}.player-row{display:flex;align-items:center;gap:11px;padding:9px 11px;background:#f3eee5;border:1px solid #e6ded5;border-radius:12px}.player-row.self{background:#eee5f5;border-color:#d9c6e8}.player-row canvas{width:40px;height:40px;flex-shrink:0}.player-details{flex:1;min-width:0}.player-details strong{font-size:12px;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-details small{font-size:10px;color:#9c90a2;display:block;margin-top:4px}.player-row .badge{font-size:9px}.empty-slot{padding:17px;border:1px dashed #ded5df;border-radius:12px;font-size:11px;color:#b0a2b3;text-align:center}.lobby-settings{display:flex;flex-direction:column;gap:17px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.lobby-settings label{font-size:10px;color:#88798f}.lobby-settings select{font-size:12px}.select-character{display:flex;gap:12px;align-items:center;padding:12px;border:1px solid #d5c6e2;border-radius:13px;background:#ede4f6}.select-character canvas{width:58px;height:58px}.select-character strong{font-size:13px;display:block}.select-character small{font-size:10px;color:#8c779f;display:block;margin-bottom:5px}.select-character button{font-size:10px;color:var(--purple);border:0;background:none;padding:4px 0;font-weight:900;text-decoration:underline}.lobby-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:21px;border-top:1px solid var(--line);padding-top:18px}.lobby-bottom p{font-size:11px;color:#8d8193;line-height:1.65;max-width:330px}.lobby-hint{display:flex;gap:10px;border-radius:13px;background:#e7ecd5;color:#7c8963;padding:14px;font-size:11px;line-height:1.65;margin-top:16px}.lobby-hint>.icon{width:18px;height:18px;flex-shrink:0;margin-top:2px}.lobby-side{display:flex;flex-direction:column;gap:16px}.lobby-side .panel{padding:20px}.help-label{font-size:10px;color:#a093a7;line-height:1.6}.toggle-option{display:flex;align-items:center;gap:8px;cursor:pointer}.toggle-option input{margin:0;width:17px;height:17px;accent-color:var(--purple)}.toggle-option span{font-size:12px;color:#85738c}.game-screen{height:100svh;min-height:470px;display:flex;flex-direction:column;background:#1c202c;color:#f0eadb;overflow:hidden}.game-topbar{height:66px;min-height:66px;display:flex;align-items:center;padding:10px 22px;gap:16px;background:#292837;border-bottom:1px solid #464152;z-index:2}.game-brand{display:flex;gap:9px;align-items:center;font-size:10px;font-weight:900;letter-spacing:.09em;line-height:1.25}.game-brand img{width:77px;max-height:24px;object-fit:contain;filter:none;opacity:1}.game-divider{height:28px;background:#52465e;width:1px}.game-room-info{min-width:0}.game-room-info strong{font-size:12px;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-room-info small{font-size:9px;color:#b2a5bd;display:block;margin-top:4px;letter-spacing:.08em;text-transform:uppercase}.game-topbar .right{margin-left:auto;display:flex;gap:7px;align-items:center}.game-topbar .btn{background:#353040;border-color:#55485f;color:#c5b7cf;width:34px;height:34px;min-height:34px;padding:0}.game-topbar .badge{font-size:9px;background:#35353b;border-color:#4b5150;color:#bdcd9b}.game-topbar .icon{width:17px;height:17px}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 212px;flex:1;min-height:0;position:relative}.game-stage{display:flex;flex-direction:column;min-width:0;min-height:0;position:relative;isolation:isolate;background:radial-gradient(ellipse,#33343d,#171d28)}.game-hud{position:absolute;top:16px;left:20px;right:20px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;z-index:3}.hero-health{display:flex;flex-direction:column;gap:5px;filter:drop-shadow(0 2px 4px #151321)}.hud-role{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:#e0d0ed}.hud-role .icon{width:12px;height:12px;margin-right:4px;color:#dbc979}.health-track{display:flex;gap:3px}.heart-piece{color:#d48e9b;line-height:0}.heart-piece.empty{color:#544755}.heart-piece.partial{color:#a25d76}.heart-piece .icon{width:17px;height:17px;fill:currentColor;stroke:#f2bac5;stroke-width:1px}.heart-piece.empty .icon{stroke:#a086a7;fill:#59435d}.health-number{font-size:9px;line-height:1;color:#ceb6d6}.hud-loot{display:flex;gap:7px;align-items:start}.hud-counter{background:#262631de;border:1px solid #61536c;border-radius:10px;display:flex;align-items:center;gap:6px;padding:8px 10px;font-size:12px;font-weight:900}.hud-counter .icon{width:16px;height:16px;color:#e6ca7f}.hud-counter.bigkey{opacity:.5;padding:8px}.hud-counter.bigkey.owned{opacity:1;background:#665533cc;border-color:#d5bb74}.hud-counter.bigkey .icon{color:#e4c172}.world-canvas{display:block;width:100%;height:100%;min-height:0;flex:1;touch-action:none;outline:none}.game-sidebar{background:#262533;border-left:1px solid #433a4b;padding:16px;display:flex;flex-direction:column;gap:16px;overflow:auto;scrollbar-width:thin;scrollbar-color:#625275 transparent}.sidebar-eyebrow{font-size:9px;letter-spacing:.13em;color:#b3a2bf;text-transform:uppercase;font-weight:900;display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}.minimap-container{padding:10px;background:#1e202c;border:1px solid #4a3c53;border-radius:12px}.minimap-canvas{width:100%;height:112px;display:block}.map-legend{display:flex;justify-content:space-between;font-size:8px;color:#95839f;margin-top:5px}.map-legend i{display:inline-block;background:#9b77c0;height:5px;width:5px;border-radius:1px;margin-right:3px}.map-legend span:last-child i{background:#d3dd91}.game-roster{display:flex;flex-direction:column;gap:5px}.roster-row{display:flex;gap:6px;align-items:center;padding:6px 0;font-size:10px;color:#bdb0c6}.roster-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500}.roster-row .icon{width:12px;height:12px;color:#9c79b9}.roster-row.hero strong{color:#e5d9aa;font-weight:800}.roster-row.hero .icon{color:#d8bf72}.roster-row.dead{opacity:.4}.roster-row small{font-size:7px;color:#8a7996;text-transform:uppercase;letter-spacing:.08em}.roster-hp{height:4px;border-radius:5px;overflow:hidden;background:#4a3d52;width:25px}.roster-hp i{display:block;background:#a8ba78;height:100%;border-radius:5px}.objective-card{padding:12px;border-radius:12px;background:#3a3542;border:1px solid #55495e;font-size:10px;color:#c4b4cc;line-height:1.65}.objective-card .icon{color:#cfb979;width:16px;height:16px;margin-bottom:5px}.objective-card strong{display:block;color:#e2d3ed;font-size:11px;margin-bottom:4px}.sidebar-bottom{margin-top:auto;font-size:9px;color:#7f6d8f;line-height:1.6}.game-controls{background:#292735;border-top:1px solid #4e4159;min-height:104px;display:flex;align-items:center;padding:12px 22px;gap:20px;z-index:4}.movement-help{display:flex;align-items:center;gap:10px;min-width:125px}.key-cluster{display:grid;grid-template-columns:repeat(3,16px);grid-template-rows:16px 16px;gap:2px}.key-cluster kbd{height:16px;min-width:16px;border:1px solid #695a79;border-radius:4px;color:#a18bb4;background:#332c3d;text-align:center;font-size:8px;line-height:15px}.key-cluster kbd:first-child{grid-column:2}.key-cluster kbd:nth-child(2){grid-column:1}.movement-help strong{display:block;font-size:10px;color:#bfa9cd}.movement-help small{font-size:8px;color:#897495}.ability-controls{display:flex;gap:10px;align-items:center;margin-left:auto}.ability-button{position:relative;isolation:isolate;overflow:hidden;border-radius:14px;border:1.5px solid #7d6792;background:#493759;color:#e3d5eb;min-width:155px;min-height:65px;display:flex;align-items:center;gap:12px;padding:12px 16px;touch-action:none;box-shadow:0 3px 0 #17171e;text-align:left}.ability-button:before{content:"";position:absolute;inset:0;transform:translateX(calc((1 - var(--cooldown,0))*100%));background:#201b3180;z-index:-1;transition:transform .1s linear}.ability-button.primary{background:#cecfa1;border-color:#c3d08d;color:#363946}.ability-button.pressed{transform:translateY(3px);box-shadow:none;filter:brightness(1.1)}.ability-button>.icon{width:26px;height:26px}.ability-button strong{font-size:12px;display:block;line-height:1.2}.ability-button small{font-size:8px;display:block;opacity:.65;margin-top:5px;letter-spacing:.02em}.ability-key{font-size:9px;border:1px solid currentColor;border-radius:4px;min-width:19px;height:19px;display:grid;place-items:center;opacity:.65;margin-left:auto}.mobile-stick{display:none;width:88px;height:88px;border:1.5px solid #6b587a;border-radius:50%;background:radial-gradient(circle,#52415f55,#1f1e2b44);position:relative;touch-action:none;flex-shrink:0}.mobile-stick:after{content:"";position:absolute;inset:12px;border:1px dashed #7b628d44;border-radius:50%}.mobile-stick span{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;border:2px solid #9a80ae;background:#695177;box-shadow:0 4px 0 #24202e;z-index:1;pointer-events:none}.mobile-stick.engaged{border-color:#c0a1cf}.satchel-controls{display:flex;gap:5px;align-items:center}.satchel-item{width:36px;height:37px;background:#3a2f46;border:1px solid #705884;border-radius:8px;padding:0;position:relative}.satchel-item canvas{width:31px;height:31px}.satchel-item .icon{width:15px;height:15px;color:#bda7cd}.satchel-item.empty{opacity:.35;cursor:default}.satchel-label{font-size:8px;letter-spacing:.1em;color:#8c739f;text-transform:uppercase;margin-bottom:5px}.satchel-wrap{min-width:130px}.world-banner{position:absolute;left:50%;transform:translateX(-50%);top:80px;padding:10px 18px;border:1px solid #b89ace;border-radius:11px;background:#3a2b51eb;color:#e6d9ed;font-size:12px;font-weight:800;text-align:center;z-index:3;max-width:85%;box-shadow:0 6px 18px #1115}.world-banner small{display:block;font-size:10px;font-weight:400;color:#baa5cc;margin-top:5px}.world-banner.hidden{display:none}.game-event{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);z-index:2;pointer-events:none;font-size:10px;color:#d0c1da;background:#25202ddb;border:1px solid #554160;padding:7px 12px;border-radius:7px;white-space:nowrap;max-width:90%;overflow:hidden;text-overflow:ellipsis}.network-pill{font-size:8px;color:#9d8eaa;display:flex;gap:5px;align-items:center}.network-pill .dot{width:5px;height:5px}.mobile-only{display:none}.inventory-tools{display:flex;gap:4px;margin-top:6px}.inventory-tools button{font-size:8px;border:1px solid #625071;color:#b29cc0;background:#383040;border-radius:5px;padding:4px 7px}.toasts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:8px;z-index:10000;pointer-events:none;max-width:min(400px,calc(100vw - 36px))}.toast{display:flex;align-items:center;gap:10px;background:#3d304e;color:#f4eafa;border:1px solid #8b73a5;border-radius:13px;padding:14px 18px;box-shadow:0 8px 30px #16112126;font-size:12px;line-height:1.6;animation:toastIn .2s ease-out;pointer-events:auto}.toast .icon{color:#d3df9d;width:18px;height:18px}.toast.error{background:#6f4553;border-color:#ac748a}.toast.error .icon{color:#efbba1}dialog{padding:0;border:1px solid #b7a9c5;border-radius:23px;background:var(--cream);color:var(--ink);width:min(960px,calc(100vw - 32px));max-height:calc(100svh - 40px);box-shadow:0 30px 100px #18102366;overflow:hidden}dialog::backdrop{background:#241d3b99;backdrop-filter:blur(4px)}#modal-content{display:flex;flex-direction:column;max-height:calc(100svh - 42px);overflow:hidden}.modal-head{display:flex;justify-content:space-between;gap:15px;align-items:start;padding:25px 28px 20px;border-bottom:1px solid #d8cddc;flex-shrink:0}.modal-head .eyebrow{color:#9c85ae;margin-bottom:8px;font-size:9px}.modal-head h2{font-size:29px}.modal-head p{font-size:11px;line-height:1.7;color:#94839f;margin-top:8px}.modal-head .btn{background:#e2d7eb;border-color:#d0c1dc;color:#8b729d}.modal-head-actions{display:flex;gap:12px;align-items:center}.modal-scroll{overflow:auto;padding:22px 28px 28px;scrollbar-width:thin;scrollbar-color:#b2a0c4 transparent}.modal-small{max-width:510px;margin:0 auto;width:100%}.modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:17px 28px;border-top:1px solid #d8cddc;background:#e9e1ed;flex-shrink:0;font-size:10px;color:#9882a6}.modal-footer strong{color:#725886}.shop-tabs{display:flex;gap:8px}.shop-tabs .btn{font-size:11px;min-height:36px;padding:8px 13px;border-radius:9px}.shop-tabs .btn.active{background:var(--purple);color:#f4edf8;border-color:#64448f}.collection-tools{display:flex;align-items:center;gap:13px;margin-bottom:18px;flex-wrap:wrap}.collection-tools input{margin-left:auto;min-height:36px;padding:8px 12px;font-size:11px;width:190px}.collection-count{font-size:10px;color:#9e8aa9}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.catalog-card{background:#faf6ed;border:1px solid #d9cdda;border-radius:16px;overflow:hidden;display:flex;flex-direction:column}.catalog-card.owned{border-color:#c2cca4}.catalog-art{height:121px;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 80%,#d3c8d7,#e8dfea00 65%),#eee7f2}.catalog-card.owned .catalog-art{background:radial-gradient(ellipse at 50% 80%,#cbd5b3,#e7edd700 65%),#e9eddb}.catalog-card.rarity-legendary .catalog-art{background:radial-gradient(ellipse at 50% 80%,#debe78,#f3e4bc00 65%),#f1e5c7}.catalog-card.rarity-rare .catalog-art{background:radial-gradient(ellipse at 50% 80%,#9fbbcd,#d9e5ed00 65%),#e1e9eb}.catalog-art canvas{width:116px;height:105px}.catalog-badge{position:absolute;top:10px;left:10px;font-size:8px;padding:4px 6px;background:#faf5eeaa;border:1px solid #d5c9d9;border-radius:5px;color:#9c87ab;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.catalog-owned{position:absolute;right:10px;top:10px;color:#829359}.catalog-owned .icon{width:15px;height:15px}.catalog-content{padding:15px;display:flex;flex-direction:column;flex:1}.catalog-content h3{font-size:16px;margin-bottom:6px}.catalog-content>p{font-size:10px;line-height:1.65;color:#9b8aa3;min-height:33px}.ability-description{display:flex;gap:6px;margin-top:10px}.ability-description>span{border:1px solid #d5c8dd;background:#e9e0ef;border-radius:4px;font-size:8px;color:#8f70a5;height:18px;min-width:18px;display:grid;place-items:center;font-weight:900}.ability-description strong{font-size:10px;display:block;color:#766383}.ability-description small{display:block;font-size:9px;line-height:1.6;color:#a18daa;margin-top:2px}.catalog-stats{display:flex;gap:10px;font-size:8px;color:#a28fad;border-top:1px solid #e4dae5;padding-top:9px;margin-top:12px}.catalog-stats .icon{width:10px;height:10px;margin-right:2px}.catalog-action{margin-top:auto;padding-top:14px}.catalog-action .btn{width:100%;min-height:35px;padding:8px;font-size:11px}.catalog-action .btn.selected{background:#dbe5bd;border-color:#b3c28f;color:#6c7f42;box-shadow:none}.catalog-action .icon{width:14px;height:14px}.coins-intro{display:flex;gap:18px;align-items:center;margin-bottom:24px;background:#e4d9ed;border:1px solid #cfbcdf;border-radius:15px;padding:17px 20px}.coins-intro>.icon{width:38px;height:38px;color:#a584bd}.coins-intro h3{font-size:15px;margin-bottom:5px}.coins-intro p{font-size:11px;line-height:1.7;color:#947ca2}.packs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.pack-card{border:1.5px solid #d6c4df;border-radius:17px;background:#fbf6ec;padding:20px;text-align:center;position:relative;display:flex;flex-direction:column;align-items:center}.pack-card.best{border-color:#9ba86b;background:#f0f1dc;box-shadow:0 3px 0 #bec997}.pack-card .pack-sticker{position:absolute;right:-4px;top:12px;transform:rotate(5deg);background:var(--lime);border:1px solid #b1bd84;padding:5px 7px;border-radius:5px;color:#6f7f44;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.coin-stack{height:58px;width:74px;position:relative;margin:6px 0 12px}.coin-stack i{position:absolute;height:32px;width:32px;border-radius:50%;border:3px solid #b99146;background:#e7c877;box-shadow:inset 0 0 0 2px #f7e1a0,0 3px 0 #a58240;display:grid;place-items:center;font-size:14px;font-style:normal;font-weight:1000;color:#a17a34;left:23px;top:18px;transform:rotate(-13deg)}.coin-stack i:nth-child(2){left:4px;top:23px;transform:rotate(-24deg)}.coin-stack i:nth-child(3){left:39px;top:18px;transform:rotate(14deg)}.coin-stack i:nth-child(4){left:20px;top:2px;transform:rotate(7deg)}.pack-card h3{font-size:27px}.pack-card .pack-name{font-size:10px;color:#a08a9c;margin:5px 0 12px}.pack-card .pack-value{font-size:9px;min-height:20px;color:#958055}.pack-card .btn{margin-top:12px;min-height:37px;width:100%;font-size:12px;padding:9px}.pack-card .pack-price{font-size:10px;color:#8e7b98;margin-top:9px}.store-status{font-size:11px;line-height:1.7;color:#9a849f;margin-top:20px;border-top:1px solid #d8c9dc;padding-top:16px}.form-stack{display:flex;flex-direction:column;gap:18px}.form-stack label{font-size:11px;color:#8f7d9c}.form-stack p{font-size:11px;line-height:1.75;color:#9a849f}.form-stack .btn{margin-top:5px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.help-card{background:#f8f3ea;border:1px solid #d9cdda;padding:18px;border-radius:14px}.help-card h3{font-size:15px;margin-bottom:13px;display:flex;align-items:center;gap:8px}.help-card h3 .icon{color:#9276a4}.help-card p{font-size:11px;line-height:1.8;color:#97819d;margin-bottom:10px}.help-card p:last-child{margin:0}.help-card strong{color:#755e83}.help-key-row{display:flex;gap:7px;align-items:center;font-size:10px;color:#9a85a2;margin-bottom:10px;justify-content:space-between}.help-key-row kbd{background:#e5dbea;border:1px solid #cdbbd8;border-bottom-width:3px;border-radius:5px;font-size:10px;color:#7c618d;padding:4px 7px;min-width:24px;text-align:center}.help-key-row>span:last-child{display:flex;gap:3px}.victory{text-align:center;padding:10px 20px 24px}.victory-art{position:relative;width:150px;height:150px;margin:0 auto 15px}.victory-art:before{position:absolute;content:"";inset:5px;border-radius:50%;background:#dedbb7;border:1px dashed #c4be87}.victory-art canvas{position:relative;width:100%;height:100%}.victory h2{font-size:34px;margin-bottom:12px}.victory>p{font-size:12px;color:#9983a4;line-height:1.8;max-width:370px;margin:0 auto}.victory-loot{display:flex;gap:25px;align-items:center;justify-content:center;padding:22px 0;margin:20px 0;border-top:1px solid #d8cbdc;border-bottom:1px solid #d8cbdc}.victory-loot strong{display:flex;gap:7px;justify-content:center;align-items:center;font-size:24px}.victory-loot small{display:block;font-size:9px;color:#9e89a9;letter-spacing:.1em;text-transform:uppercase;margin-top:5px}.victory-actions{display:flex;gap:10px;justify-content:center}.practice-tag{padding:10px 13px;background:#ebedce;border:1px solid #d0d6a4;border-radius:10px;font-size:10px;color:#8b8d57;line-height:1.7;margin-bottom:15px}.pause-actions{display:flex;flex-direction:column;gap:10px}.profile-line{display:flex;align-items:center;gap:10px;background:#e9e0f0;padding:13px;border:1px solid #d5c5df;border-radius:12px;margin-bottom:17px}.profile-line strong{font-size:13px;display:block}.profile-line small{font-size:10px;display:block;margin-top:4px;color:#9b83a7}.hidden{display:none!important}.skeleton-row{height:102px;border-radius:12px;background:linear-gradient(100deg,#eee7df 30%,#f7f3e9 50%,#eee7df 70%);background-size:200% 100%;animation:shimmer 1.7s infinite}.no-matches{grid-column:1/-1;text-align:center;padding:35px;color:#9983a5;font-size:12px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes toastIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(min-width:1450px){.home-content{padding-top:50px}.hero-section{padding-bottom:60px}.hero-illustration{height:390px}}@media(max-width:1100px){.topbar{padding:20px 26px;gap:15px}.home-content{padding:20px 26px}.hero-section{gap:15px}.hero-copy h1{font-size:56px}.hero-illustration{height:330px}.game-layout{grid-template-columns:minmax(0,1fr) 178px}.game-sidebar{padding:12px}.game-controls{padding:11px 16px;gap:13px}.ability-button{min-width:135px;padding:11px}.movement-help{min-width:105px}.satchel-wrap{min-width:100px}.satchel-item{width:29px;height:31px}.satchel-item canvas{width:26px;height:26px}.satchel-controls{gap:3px}}@media(max-width:850px){.topnav{gap:0}.nav-item{font-size:11px;padding:9px}.brand-sub,.brand-divider{display:none}.hero-copy h1{font-size:47px}.hero-copy>p{font-size:13px}.hero-illustration{height:300px}.hero-cta .btn{font-size:12px;padding:12px 16px}.rooms-layout{grid-template-columns:215px 1fr}.room-grid{grid-template-columns:1fr}.room-card:nth-child(n+4){display:none}.rules-strip{gap:15px}.rule{gap:8px}.rule h3{font-size:11px}.rule p{font-size:10px}.lobby-columns{grid-template-columns:1fr 250px;gap:14px}.game-layout{grid-template-columns:1fr}.game-sidebar{display:none}.game-controls{min-height:100px}.game-hud{top:11px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.catalog-content{padding:12px}.catalog-content h3{font-size:14px}.catalog-art{height:104px}.catalog-art canvas{width:100px;height:90px}.modal-head,.modal-scroll{padding:20px}.modal-footer{padding:15px 20px}}@media(max-width:640px){.topbar{padding:18px 18px;gap:10px;flex-wrap:wrap}.brand img{width:102px;height:27px}.header-actions{margin-left:auto}.topnav{order:3;flex:1;justify-content:center;border-bottom:1px solid #dcd3dc;padding-bottom:8px;margin-bottom:-8px}.nav-item{font-size:11px;padding:9px 16px}.coin-pill{font-size:11px;padding:7px 9px}.coin-pill .icon{width:16px;height:16px}.avatar{width:29px;height:29px;font-size:10px}.header-actions>.btn{width:30px;height:30px;min-height:30px}.home-content{padding:14px 18px}.hero-section{grid-template-columns:1fr;gap:0;padding:16px 0 27px}.hero-copy{max-width:460px;text-align:center;margin:auto}.hero-copy .eyebrow{justify-content:center;margin-bottom:16px;font-size:9px}.hero-copy h1{font-size:46px;letter-spacing:-.065em}.hero-copy>p{font-size:12px;max-width:335px;margin:17px auto;line-height:1.7}.hero-cta{justify-content:center;margin-bottom:14px}.hero-cta .btn{font-size:12px;min-height:45px;padding:12px 20px}.hero-note{font-size:8px;justify-content:center;gap:11px}.hero-note .icon{width:11px;height:11px}.hero-illustration{height:265px;max-width:400px;width:100%;margin:18px auto -10px}.art-tag{font-size:8px;padding:7px 9px}.art-tag.bottom{right:5%}.tiny-star{font-size:20px}.lobby-section{padding-top:19px}.section-heading h2{font-size:20px}.section-heading .eyebrow{font-size:8px}.section-actions .btn{font-size:10px;padding:7px 9px;min-height:32px}.section-actions .btn .icon{width:13px;height:13px}.rooms-layout{grid-template-columns:1fr}.play-panel{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px}.play-panel h3{font-size:15px}.play-panel>p{grid-column:1/-1;font-size:10px;margin-top:-5px}.play-panel>label{grid-column:1/-1}.play-panel>.or{display:none}.play-panel>.btn{min-height:37px;font-size:10px}.play-panel .btn-host{grid-row:4}.room-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.room-card{padding:12px}.room-icon{width:29px;height:29px;border-radius:8px}.room-icon .icon{width:18px;height:18px}.room-card h3{font-size:11px}.room-card-info{font-size:8px;margin-top:12px}.room-code{font-size:8px}.room-card:nth-child(n+4){display:block}.room-card-head{gap:7px}.room-card .btn{font-size:10px}.rules-strip{grid-template-columns:1fr;gap:18px;margin-top:19px;padding-top:22px}.rule-number{height:29px;min-width:29px;font-size:10px}.rule{gap:11px}.rule h3{font-size:12px;margin-bottom:4px}.rule p{font-size:10px;max-width:330px}.page-footer{font-size:8px;padding:15px 18px 24px;align-items:start}.page-footer .footer-right{gap:10px}.page-footer button{font-size:8px}.lobby-wrap{padding:0 18px;margin-top:8px}.lobby-title-row{flex-direction:column;gap:15px}.lobby-title-row h1{font-size:31px}.lobby-title-row p{font-size:11px}.room-invite{width:100%;justify-content:space-between}.lobby-columns{grid-template-columns:1fr}.lobby-side{display:grid;grid-template-columns:1fr}.lobby-bottom{align-items:start;gap:9px}.lobby-bottom .btn{font-size:11px;padding:10px 13px}.lobby-bottom p{font-size:9px}.panel{padding:17px}.game-topbar{min-height:53px;height:53px;padding:8px 12px;gap:10px}.game-brand img{width:60px;max-height:20px}.game-brand>span{display:none}.game-room-info strong{font-size:10px}.game-room-info small{font-size:8px;max-width:180px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.game-topbar .right{gap:5px}.game-topbar .right>.badge{display:none}.game-topbar .btn{width:29px;height:29px;min-height:29px}.game-topbar .icon{width:14px;height:14px}.game-hud{left:12px;right:12px;top:12px}.hud-counter{font-size:10px;padding:7px;border-radius:8px;gap:4px}.hud-counter .icon{width:14px;height:14px}.hud-role{font-size:8px}.heart-piece .icon{width:13px;height:13px}.health-track{gap:1px}.health-number{font-size:8px}.game-controls{gap:9px;padding:10px 13px calc(11px + env(safe-area-inset-bottom));min-height:115px}.movement-help{display:none}.mobile-stick{display:block;width:79px;height:79px}.mobile-only{display:initial}.ability-controls{gap:9px}.ability-button{min-width:88px;min-height:75px;border-radius:17px;padding:9px;gap:5px;flex-direction:column;text-align:center;justify-content:center}.ability-button>.icon{width:23px;height:23px}.ability-button strong{font-size:10px;max-width:90px}.ability-button small{font-size:7px;margin-top:3px;display:none}.ability-key{position:absolute;right:5px;top:5px;font-size:6px;height:13px;min-width:13px;border-radius:3px;opacity:.5}.satchel-wrap{position:absolute;left:12px;bottom:129px;min-width:unset;z-index:3;background:#2c2535da;border:1px solid #5e496d;border-radius:9px;padding:7px}.satchel-label{font-size:6px;margin-bottom:4px}.satchel-item{height:27px;width:27px}.satchel-item canvas{width:24px;height:24px}.satchel-controls{gap:3px}.satchel-controls .empty{display:none}.inventory-tools button{font-size:7px;padding:3px 6px}.game-event{bottom:15px;font-size:8px;max-width:65%;left:auto;right:12px;transform:none}.world-banner{font-size:10px;top:68px;padding:9px 13px}.world-banner small{font-size:8px}.toasts{bottom:15px;right:14px;max-width:calc(100vw - 28px)}.toast{font-size:11px;padding:12px 15px}.modal-head{padding:20px 17px 15px}.modal-head h2{font-size:25px}.modal-head p{font-size:10px}.modal-head .eyebrow{font-size:8px}.modal-head-actions{gap:8px}.modal-head-actions .coin-pill{font-size:9px;padding:6px}.modal-head-actions .coin-pill .icon{width:13px;height:13px}.modal-head-actions .btn{width:31px;height:31px;min-height:31px}.modal-scroll{padding:17px}.modal-footer{padding:12px 17px;font-size:8px;line-height:1.6}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.catalog-content{padding:12px 11px}.catalog-content h3{font-size:13px}.catalog-content>p{font-size:9px;min-height:32px}.catalog-art{height:105px}.catalog-art canvas{width:99px;height:90px}.ability-description strong{font-size:9px}.ability-description small{font-size:8px}.catalog-stats{font-size:7px;gap:7px}.catalog-action .btn{font-size:10px;min-height:34px}.collection-tools{gap:9px}.collection-tools input{width:100%;order:3;margin:0}.shop-tabs{gap:5px}.shop-tabs .btn{font-size:9px;padding:7px 10px;min-height:32px}.collection-count{font-size:9px}.packs-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.pack-card{padding:15px 11px;border-radius:13px}.pack-card h3{font-size:23px}.pack-card .pack-name{font-size:9px}.pack-card .btn{font-size:10px}.pack-card .pack-price{font-size:9px}.pack-card .pack-value{font-size:8px}.pack-card .pack-sticker{font-size:7px;padding:4px}.coins-intro{padding:13px;gap:12px}.coins-intro>.icon{width:27px;height:27px}.coins-intro h3{font-size:13px}.coins-intro p{font-size:9px}.help-grid{grid-template-columns:1fr}.help-card h3{font-size:13px}.help-card p{font-size:10px}.victory{padding:10px 0 18px}.victory h2{font-size:27px}.victory>p{font-size:10px}.victory-art{width:130px;height:130px}.victory-actions .btn{font-size:11px;padding:11px 14px}.backline{margin-bottom:17px}.backline .badge{font-size:9px}}@media(hover:none),(pointer:coarse){.mobile-stick{display:block}.movement-help{display:none}.ability-button{min-height:73px}.ability-key{opacity:.35}.game-controls{gap:14px}.mobile-only{display:initial}.game-stage{touch-action:none}.game-screen{overscroll-behavior:none}}@media(max-height:580px) and (orientation:landscape){body.in-game{height:100svh;overflow:hidden;overscroll-behavior:none}.game-screen{height:100svh;max-height:100svh;min-height:0;position:relative;overflow:hidden}.game-topbar{height:44px;min-height:44px;padding:5px 16px}.game-layout{padding:0 115px;grid-template-columns:minmax(0,1fr);flex:1 1 0;min-height:0;overflow:hidden}.game-stage{height:100%;min-height:0;overflow:hidden}.world-canvas{min-width:0;min-height:0;flex:1 1 0}.game-controls{position:absolute;left:0;right:0;bottom:0;height:0;min-height:0;border:0;padding:0;background:transparent;pointer-events:none}.mobile-stick{display:block;visibility:visible;position:fixed;left:15px;bottom:25px;width:76px;height:76px;pointer-events:auto}.ability-controls{position:fixed;right:12px;bottom:20px;display:flex;flex-direction:column;gap:8px;pointer-events:auto}.ability-button{min-height:65px;width:85px;min-width:85px;padding:7px;flex-direction:column;gap:4px}.ability-button strong{font-size:8px}.ability-button small{display:none}.ability-button>.icon{width:18px;height:18px}.ability-key{position:absolute;right:5px;top:4px;font-size:6px;height:12px;min-width:12px}.movement-help{display:none}.game-sidebar{display:none}.game-hud{top:8px;left:9px;right:9px}.hud-role{font-size:7px}.heart-piece .icon{width:11px;height:11px}.hud-counter{font-size:9px;padding:5px}.hud-counter .icon{width:12px;height:12px}.world-banner{top:58px;font-size:8px;padding:7px 12px}.world-banner small{font-size:7px}.satchel-wrap{position:fixed;bottom:auto;left:12px;top:63px;z-index:5;padding:5px;background:transparent;border:none;max-width:90px;pointer-events:auto}.satchel-controls{flex-wrap:wrap}.satchel-item{width:27px;height:27px}.satchel-item canvas{width:24px;height:24px}.satchel-item.empty{display:none}.satchel-label{font-size:6px}.inventory-tools{flex-wrap:wrap}.inventory-tools button{font-size:7px;padding:4px}.game-event{bottom:10px;font-size:8px}.minimap-container{display:none}.mobile-only{display:initial}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

.hero-cover{position:absolute;inset:12px 0 8px;width:100%;height:calc(100% - 20px);object-fit:cover;object-position:55% 48%;border:4px solid #f5eddc;border-radius:30px 50px 30px 50px;transform:rotate(-3deg);box-shadow:6px 10px 0 #c6b6d4,0 13px 30px #47345322;z-index:0}.hero-illustration .art-tag,.hero-illustration .tiny-star{z-index:1}.hero-illustration .art-tag{left:-2%;top:2%;background:#fcf9ef}.hero-illustration .art-tag.bottom{right:-2%;bottom:0;left:auto;top:auto;background:var(--lime)}@media(max-width:640px){.hero-cover{inset:15px 10px 10px;width:calc(100% - 20px);height:calc(100% - 25px);border-width:3px;border-radius:25px 35px 25px 35px;box-shadow:4px 7px 0 #c6b6d4,0 13px 30px #47345322}.hero-illustration .art-tag{left:0;top:6%}.hero-illustration .art-tag.bottom{right:0;bottom:1%}}

.rivals-catalog{padding:15px 20px}.rivals-catalog .packs-grid{gap:10px}.rivals-pack{min-width:0;overflow:hidden;background:#fff8e9;border:1px solid #bca8c7;border-radius:10px}.rivals-pack img{width:100%;height:auto;display:block;aspect-ratio:17/6}.rivals-pack .btn{display:flex;width:100%;justify-content:space-between;gap:4px;min-height:36px;padding:7px 9px;border-radius:0;box-shadow:none;font-size:12px}.rivals-pack .btn:disabled{background:#ebe3ee;color:#62556b;opacity:1}.rivals-checkout-note{font-size:12px;margin:12px 0 0;color:#6e6073}.page-footer a{font-size:11px;color:inherit}.modal-foot:has([data-action=restore]){justify-content:flex-end;gap:10px}@media(max-width:520px){.rivals-catalog{padding:12px}.rivals-catalog .packs-grid{gap:7px}.rivals-pack .btn{font-size:11px;padding:7px}.rivals-checkout-note{font-size:11px}}
:root{--purple:#7041a2;--purple-dark:#46275f;--cream:#f3ebd9;--paper:#fff9e9;--ink:#30213e;--gold:#efba60}
body:not(.in-game){background-color:#efe4cf;background-image:linear-gradient(110deg,#f5edddf5 5%,#f5edddd9 60%,#e9dcf0d9),url('/.proxy/assets/dungeon-cover.png');background-size:cover,cover;background-position:center;background-attachment:fixed}

.topbar{border-bottom:2px solid #d9c8ad;background:#fff9e9e8;border-radius:0 0 24px 24px;box-shadow:0 5px 0 #8f738516}
.hero-illustration{border:4px solid #6c497c!important;border-radius:28px 58px 28px 58px!important;box-shadow:9px 12px 0 #bba3c5,0 25px 45px #694d711c}
.hero-copy h1{letter-spacing:-.045em;text-shadow:0 3px #fff8e7}.hero-copy h1 em{color:#7349a3}.hero-copy>p{max-width:440px;line-height:1.65}
.lobby-section{background:#fff9e9e8;padding:25px;border:2px solid #dbceb9;border-radius:22px;box-shadow:0 6px 0 #dacbb9}
.catalog-card{font:inherit;text-align:left;padding:0;color:var(--ink);transition:transform .15s,box-shadow .15s}.catalog-card:hover{transform:translateY(-3px);box-shadow:0 6px 0 #c6a6dd}.catalog-card:focus-visible{outline:3px solid #804caa;outline-offset:4px}.catalog-art{background:radial-gradient(ellipse at 50% 65%,#d1badc88,transparent 65%),#f1e6dc!important}.catalog-content h3{font-size:17px}.catalog-price{display:block;font-weight:800;font-size:12px;margin-top:8px;color:#725134}.catalog-view{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:800;color:#8a6a9b;margin-top:14px}.catalog-view .icon{width:15px;height:15px}
.selection-detail{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr);gap:28px;align-items:start}.selection-stage{position:sticky;top:0;background:#20152c;border:3px solid #5b3f76;border-radius:20px;overflow:hidden;box-shadow:0 5px 0 #d7c5df}.selection-preview{width:100%;height:auto;display:block;aspect-ratio:8/5;object-fit:cover}.preview-toggle{margin:12px;background:#523561;color:#fff4db;border:1px solid #9c77af;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:800}.selection-stage-note{font-size:10px;color:#c7afd9}.selection-info{min-width:0}.selection-art{display:flex;align-items:center;gap:16px;margin-bottom:16px}.selection-art canvas{width:130px;height:118px;max-width:50%;background:radial-gradient(ellipse,#dec5e9,transparent 70%)}.selection-description{font-size:16px;line-height:1.6;margin-bottom:20px}.selection-info .ability-description{padding:14px 0;border-top:1px solid #ded0db;align-items:start}.selection-info kbd,.item-controls kbd{display:inline-grid;place-items:center;min-width:30px;min-height:30px;font:900 14px inherit;border:1px solid #7a5295;border-bottom:4px solid #5b3978;border-radius:7px;background:#e8d4f3;color:#4b2968;margin-right:6px}.ability-timing{display:block;color:#987b99;font-size:10px;font-weight:800;margin-top:6px}.context-note{margin:14px 0;color:#806a83;font-size:12px;line-height:1.55}.selection-info .catalog-action{margin-top:22px;display:flex;align-items:center;gap:12px}.selection-footnote{font-size:11px;line-height:1.5;color:#8a758c;margin-top:14px}.item-controls{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;font-weight:700;margin:18px 0}.owned-label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:#627448}
.ability-key{background:#e9d3f3;color:#4d2b68;border:1px solid #846194;border-bottom:4px solid #5e3b77;border-radius:8px;min-width:30px;min-height:34px;display:grid;place-items:center}.game-controls{border-top:3px solid #67417c}.world-canvas{image-rendering:auto}.game-event{border-radius:8px;background:#21162dd6}
@media(max-width:850px){.topbar{padding:18px 20px;gap:12px}.topnav{gap:0}.nav-item{padding:9px;font-size:11px}.selection-detail{grid-template-columns:1fr}.selection-stage{position:static}.selection-info{padding:4px}.selection-preview{max-height:280px}.selection-art{float:right;max-width:130px}.selection-art .badge{display:none}}
@media(max-width:560px){.lobby-section{padding:18px 13px}.selection-detail{gap:18px}.selection-description{font-size:14px}.selection-stage-note{display:none}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px}.catalog-content{padding:12px!important}.catalog-content h3{font-size:14px}.catalog-art{height:135px!important}.catalog-art canvas{height:135px!important}.topnav{display:flex!important;flex-wrap:wrap;order:3;width:100%;justify-content:center}.topbar{flex-wrap:wrap}.hero-illustration{box-shadow:5px 7px 0 #bba3c5}.selection-art{max-width:100px}.selection-art canvas{max-width:100%;width:100px;height:100px}}

/* Active hands and secondary, with passive relics collected silently. */
.equipment-hud{display:flex;gap:6px;align-items:center}.equipment-slot{position:relative;display:flex;align-items:center;gap:4px;max-width:155px;min-height:48px;padding:4px 8px;background:#23172e;border:1px solid #745a86;border-radius:12px;color:#f8edcf;font-size:11px}.equipment-slot canvas{width:40px;height:40px;flex-shrink:0}.equipment-slot kbd{position:absolute;top:-6px;left:5px;font-size:10px;background:#ead9fa;color:#422b50;border-radius:4px;padding:1px 4px}.equipment-slot:not(.occupied){color:#b5a4bf}.equipment-drop{border:1px solid #745a86;background:#372340;color:#f7e8cd;border-radius:12px;min-height:44px;padding:6px 9px;display:flex;align-items:center;gap:4px;font:inherit;font-size:11px}.equipment-drop svg{width:17px}.passive-relics{display:flex;gap:2px;align-items:center;flex-wrap:wrap;max-width:150px}.passive-relic{position:relative;display:inline-flex;align-items:center;border-radius:50%;background:#fff3ce13}.passive-relic canvas{width:30px;height:30px}.passive-relic small{position:absolute;bottom:-3px;right:0;font-size:9px;color:#ffe8b7;background:#2e2038;border-radius:4px}.passive-relic:focus{outline:2px solid #edd38a}
@media(max-width:900px){.equipment-slot{max-width:90px;padding:4px;min-height:40px}.equipment-slot span{font-size:9px;max-width:45px}.equipment-slot canvas{width:30px;height:30px}.passive-relics{max-width:85px}.passive-relic canvas{width:24px;height:24px}.equipment-drop{padding:5px;font-size:10px}.equipment-drop svg{display:none}}
@media(max-width:600px){.equipment-hud{position:absolute;bottom:118px;left:12px}.passive-relics{position:absolute;bottom:118px;right:12px;max-width:128px}.equipment-drop{position:absolute;bottom:170px;left:12px;min-height:38px}.game-controls{position:relative}.equipment-slot{background:#23172ee8}.equipment-slot span{display:none}}

@media(max-width:600px){.equipment-slot{min-width:44px;justify-content:center}.equipment-drop kbd{display:none}.equipment-slot:not(.occupied):after{content:'—';font-size:16px;color:#b8a8c3}}
