:root{color-scheme:dark;font-family:system-ui,sans-serif;--ink: #e6e8ec;--panel: #1e222a;--edge: #3a4048;--frame: #6b5836;--gold: #ffd166;--green: #6ee7a8;--red: #ff6b6b;--blue: #7fb2ff;--ink-dark: #2b1d12;--ink-mute: #6a563f;--brass: #b8862b;--font-title: Cinzel, Georgia, "Times New Roman", serif;--gem-digit-shadow: 0 1px 2px rgba(0, 0, 0, .95), 0 0 4px rgba(0, 0, 0, .85);--craft-chip-h: max(18px, calc(22 * var(--ui)));--craft-chip-gap: max(3px, calc(4 * var(--ui)));--font-body: "Cormorant Garamond", Georgia, "Times New Roman", serif;--ui: clamp(.42px, min(100vh / 900, 100vw / 1440), 1px);--ui: clamp(.42px, min(100dvh / 900, 100vw / 1440), 1px);--hero-w: calc(118 * var(--ui));--hero-h: calc(178 * var(--ui));--hero-strip-h: calc(112 * var(--ui));--token-w: calc(84 * var(--ui));--token-h: calc(116 * var(--ui));--card-w: calc(168 * var(--ui));--card-h: calc(236 * var(--ui));--hand-reveal: .6;--foe-card-w: calc(104 * var(--ui));--foe-card-h: calc(154 * var(--ui));--foe-reveal: .42}body{margin:0;background:#14161a;color:var(--ink)}html,body{height:100%;overflow:hidden;overscroll-behavior:none}[id=root]{height:100%}.quiet-scroll{scrollbar-width:none}.quiet-scroll::-webkit-scrollbar{display:none}.app{display:grid;height:100dvh;box-sizing:border-box;grid-template-columns:1fr calc(var(--log-w, 220px) + env(safe-area-inset-right));transition:grid-template-columns .22s cubic-bezier(.2,.85,.3,1)}.app.log-collapsed{--log-w: 34px}.table{display:flex;gap:calc(10 * var(--ui));position:relative;overflow:hidden;background-image:linear-gradient(#0a0c1047,#0a0c1047),var(--board, none);background-size:100% 100%;background-position:center;--playfield-inset-x: 9%;--playfield-inset-y: 2.2%;padding-top:calc(var(--playfield-inset-y) + env(safe-area-inset-top));padding-right:var(--playfield-inset-x);padding-bottom:calc(var(--playfield-inset-y) + env(safe-area-inset-bottom));padding-left:calc(var(--playfield-inset-x) + env(safe-area-inset-left))}.ambient{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.ambient-motes{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.ambient-drift{position:absolute;left:-30%;top:-25%;width:70%;height:150%;background:radial-gradient(ellipse 50% 50% at 50% 50%,#ffd6961a,#ffd69600 70%);animation:fx-light-drift 46s ease-in-out infinite}@keyframes fx-light-drift{0%,to{transform:translate(0);opacity:.5}50%{transform:translate(210%);opacity:1}}.table:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse 76% 70% at 50% 50%,#0000 40%,#0405084d 76%,#0203059e)}.field{position:relative;z-index:1;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:2px}.rail{position:absolute;right:calc(var(--playfield-inset-x) * .5);top:calc(var(--playfield-inset-y) + env(safe-area-inset-top));bottom:calc(var(--playfield-inset-y) + env(safe-area-inset-bottom));width:max(68px,calc(78 * var(--ui)));display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2px 0;z-index:6}.rail-actions{display:flex;flex-direction:column;gap:calc(6 * var(--ui));align-items:stretch}.history{position:absolute;left:calc(var(--playfield-inset-x) * .62 + env(safe-area-inset-left));top:calc(var(--playfield-inset-y) + env(safe-area-inset-top));display:flex;flex-direction:column;gap:calc(4 * var(--ui));z-index:6;pointer-events:auto}.history-slot{position:relative;width:calc(46 * var(--ui));height:calc(48 * var(--ui));padding:0;border:none;background:none;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.7));transition:transform .13s ease,filter .13s ease}@media(hover:hover){.history-slot:hover{transform:translate(3px) scale(1.08);z-index:2}}.history-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.history-window{position:absolute;overflow:hidden;z-index:1;background:#14100c}.history-art{width:100%;height:100%;object-fit:cover;display:block}.history-blank{background:linear-gradient(#39424f,#22262f)}.history-slot.played .history-art{filter:saturate(1.05)}.history-slot.died .history-art{filter:grayscale(.85) brightness(.55)}.history-slot.died{filter:drop-shadow(0 2px 4px rgba(0,0,0,.7)) drop-shadow(0 0 4px rgba(255,90,90,.45))}.deck{display:flex;flex-direction:column;align-items:center;gap:calc(3 * var(--ui))}.deck-stack{position:relative;width:calc(54 * var(--ui));height:calc(74 * var(--ui))}.deck-stack:before{content:"";position:absolute;inset:calc(-9 * var(--ui)) calc(-11 * var(--ui));border-radius:10px;background:#0000006b;box-shadow:inset 0 0 12px #000000bf;border:1px solid rgba(255,205,130,.13);pointer-events:none}.deck-card{position:absolute;left:calc(var(--layer, 0) * 1.5 * var(--ui));top:calc(var(--layer, 0) * -2 * var(--ui));width:calc(54 * var(--ui));height:calc(74 * var(--ui));object-fit:cover;border-radius:5px;border:1px solid #241c14;box-shadow:0 2px 5px #0000008c}.deck-out{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;border:1px dashed rgba(230,232,236,.2);border-radius:5px;font-size:10px;opacity:.5}.deck-count{font-size:max(11px,calc(13 * var(--ui)));font-weight:800;color:#e8dcc0;padding:1px 9px;border-radius:999px;background:#0a0805b3;border:1px solid rgba(255,214,150,.22);text-shadow:0 1px 3px rgba(0,0,0,.9)}.foe-hand{display:flex;justify-content:center;align-items:flex-start;height:calc(var(--foe-card-h) * var(--foe-reveal));min-height:calc(var(--foe-card-h) * var(--foe-reveal));margin-top:calc(var(--playfield-inset-y) * -1)}.foe-card{flex:0 0 var(--foe-card-w);width:var(--foe-card-w);height:var(--foe-card-h);object-fit:cover;border-radius:7px;border:1px solid #241c14;margin-top:calc(var(--foe-card-h) * (var(--foe-reveal) - 1));transform-origin:50% -70%;transform:rotate(var(--fan-rot, 0deg));box-shadow:0 3px 8px #0009}.foe-card+.foe-card{margin-left:min(calc(6 * var(--ui)),calc((100% - var(--n, 1) * var(--foe-card-w)) / (var(--n, 2) - 1)))}.gem{position:absolute;width:calc(26 * var(--ui));height:calc(26 * var(--ui));border-radius:50%;display:grid;place-items:center;font-size:calc(14 * var(--ui));font-weight:800;z-index:4;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.55)}.gem.atk,.gem.hp{background-position:center;background-repeat:no-repeat;background-size:contain;border:none;filter:drop-shadow(0 2px 3px rgba(0,0,0,.85));text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.85)}.gem.atk{left:calc(-5 * var(--ui));bottom:calc(2 * var(--ui));width:calc(30 * var(--ui));height:calc(30 * var(--ui));background-image:url(/art/ui/gem-attack.webp);color:#fff3d4}.gem.hp{right:calc(-5 * var(--ui));bottom:calc(2 * var(--ui));width:calc(30 * var(--ui));height:calc(30 * var(--ui));background-image:url(/art/ui/gem-health.webp);color:#ffe9e9}.gem.hp.hurt{filter:drop-shadow(0 2px 3px rgba(0,0,0,.85)) brightness(.78) saturate(1.25)}.hero{height:var(--hero-strip-h);display:grid;grid-template-columns:minmax(0,1fr) var(--orb) auto var(--orb) minmax(0,1fr);--orb: max(44px, calc(86 * var(--ui)));align-items:center;gap:calc(10 * var(--ui));font-size:max(11px,calc(13 * var(--ui)))}.hero.active{color:var(--gold)}.hero:before{content:"";grid-column:2}.hero>*,.hero:before{grid-row:1}.hero-top .piece-hero{margin-bottom:calc(var(--hero-strip-h) - var(--hero-h))}.hero-bottom .piece-hero{margin-top:calc(var(--hero-strip-h) - var(--hero-h))}.hero .hero-id{grid-column:1;justify-self:end;text-align:right}.hero .piece-hero{grid-column:3}.hero .power-orb{grid-column:4;position:relative}.hero .mana-bar{grid-column:5;justify-self:start;position:relative}.piece-hero{flex:0 0 auto;display:inline-flex}.piece-hero:before{content:"";position:absolute;left:50%;top:50%;width:150%;height:122%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#ffcd8221 34%,#ffcd820d 52%,#0000 68%),radial-gradient(circle,#0000008c 44%,#0000 62%);pointer-events:none;z-index:-1}.hero.active .piece-hero:before{background:radial-gradient(circle,#ffd16638 34%,#ffd16614 52%,#0000 68%),radial-gradient(circle,#0000008c 44%,#0000 62%)}.hero .portrait{position:relative;width:var(--hero-w);height:var(--hero-h);padding:0;border:none;background:none;color:inherit;cursor:pointer;filter:drop-shadow(0 3px 8px rgba(0,0,0,.7));transition:filter .14s ease}.hero.active .portrait{filter:drop-shadow(0 3px 8px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(255,209,102,.9))}.portrait-art{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.hero .token-window{border-radius:48% 48% 12% 12%/40% 40% 8% 8%}.hp-gem,.armor-gem{position:absolute;width:calc(28 * var(--ui));height:calc(28 * var(--ui));border-radius:50%;display:grid;place-items:center;font-size:calc(13 * var(--ui));font-weight:800;pointer-events:none;z-index:4;text-shadow:0 1px 2px rgba(0,0,0,.6)}.hp-gem,.armor-gem{font-size:calc(15 * var(--ui));background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.85));text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.85)}.hp-gem{right:calc(-6 * var(--ui));bottom:calc(4 * var(--ui));width:calc(42 * var(--ui));height:calc(42 * var(--ui));background-image:url(/art/ui/gem-health.webp);color:#ffe9e9}.armor-gem{left:calc(-6 * var(--ui));bottom:calc(4 * var(--ui));width:calc(40 * var(--ui));height:calc(40 * var(--ui));background-image:url(/art/ui/gem-armor.webp);color:#eef3fa}.hero-id{display:flex;flex-direction:column;gap:1px;min-width:0;align-items:flex-end}.hero-id strong{font-size:max(11px,calc(17 * var(--ui)));letter-spacing:.02em;text-shadow:0 2px 4px rgba(0,0,0,.9)}.hero-sub{font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.5}.hero .song-slots{grid-column:2;justify-self:center}.song-slots{position:relative;display:flex;align-items:flex-start;justify-content:center;--song-gap: calc(6 * var(--ui));--song-pip-h: calc(7 * var(--ui));--song-track: var(--orb, max(44px, calc(86 * var(--ui))));--song-max-w: calc(38 * var(--ui));--song-n: 2;--song-w: min(var(--song-max-w), calc((var(--song-track) - (var(--song-n) - 1) * var(--song-gap)) / var(--song-n)));--song-socket: var(--song-w);--song-leave: .3s;--song-slide: .16s;gap:var(--song-gap);height:calc(var(--song-w) + var(--song-pip-h))}.song-socket{position:relative;width:var(--song-socket);display:flex;flex-direction:column;align-items:center;gap:calc(3 * var(--ui))}.song-socket:empty:before{content:"";width:var(--song-w);height:var(--song-w);border-radius:50%;border:1px solid rgba(226,214,190,.15);background:radial-gradient(circle at 50% 40%,#00000073,#00000026);box-shadow:inset 0 2px 5px #000000a6}.song-medallion{position:relative;flex:0 0 auto;display:block;width:var(--song-w);height:var(--song-w);padding:0;border:none;background:none;cursor:pointer;filter:drop-shadow(0 2px 4px rgba(0,0,0,.75));animation:song-breathe 3.6s ease-in-out infinite}@media(hover:hover){.song-medallion:hover{filter:drop-shadow(0 2px 4px rgba(0,0,0,.75)) drop-shadow(0 0 7px rgba(255,209,102,.9))}}@keyframes song-breathe{0%,to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.75)) drop-shadow(0 0 2px rgba(255,209,102,.25))}50%{filter:drop-shadow(0 2px 4px rgba(0,0,0,.75)) drop-shadow(0 0 7px rgba(255,209,102,.55))}}.song-medallion.song-in{animation:song-arrive .25s cubic-bezier(.2,1.3,.4,1)}.song-medallion.song-in.song-in-after{animation-delay:calc(var(--song-leave) + var(--song-slide));animation-fill-mode:backwards}@keyframes song-arrive{0%{transform:translateY(10px) scale(.2);opacity:0}to{transform:none;opacity:1}}.song-socket.song-shift{animation:song-slide var(--song-slide) ease var(--song-leave) backwards}@keyframes song-slide{0%{transform:translate(calc(var(--song-shift, 0) * (var(--song-socket) + var(--song-gap))))}to{transform:none}}.song-pips{display:flex;gap:calc(2 * var(--ui))}.song-pip{width:calc(4 * var(--ui));height:calc(4 * var(--ui));border-radius:50%;background:#e2d6be2e;box-shadow:inset 0 0 1px #000c}.song-pip.lit{background:#f0c874;box-shadow:0 0 4px #ffd166d9}.song-pip.spent{animation:song-pip-out .42s ease-out}@keyframes song-pip-out{0%{background:#ffe6b0;box-shadow:0 0 8px #ffe2b0;transform:scale(1.9)}to{background:#e2d6be2e;box-shadow:none;transform:scale(1)}}.song-ripple{position:absolute;left:50%;top:50%;width:42vw;height:42vw;max-width:760px;max-height:760px;margin:-21vw 0 0 -21vw;border-radius:50%;border:2px solid rgba(255,209,102,.55);pointer-events:none;z-index:6;opacity:0;animation:song-ripple-out .62s cubic-bezier(.15,.7,.35,1)}@keyframes song-ripple-out{0%{transform:scale(.04);opacity:.95;border-width:3px}70%{opacity:.35}to{transform:scale(1);opacity:0;border-width:1px}}.song-flare{position:absolute;inset:calc(-5 * var(--ui));border-radius:50%;background:radial-gradient(circle,#ffe9b0f2,#ffd16600 70%);pointer-events:none;opacity:0;animation:song-flare-pass .38s ease-out;animation-delay:calc(var(--wave, 0) * 55ms)}@keyframes song-flare-pass{0%{opacity:0;transform:scale(.7)}35%{opacity:1;transform:scale(1.25)}to{opacity:0;transform:scale(1)}}.gem.atk.lifted{filter:drop-shadow(0 2px 3px rgba(0,0,0,.85)) drop-shadow(0 0 6px rgba(255,209,102,.75)) saturate(1.15);color:#fff6df}.song-ghosts{position:absolute;left:0;top:0;pointer-events:none}.song-ghost{position:absolute;top:0;left:calc(var(--song-slot, 0) * (var(--song-socket) + var(--song-gap)) + (var(--song-socket) - var(--song-w)) / 2);width:var(--song-w);height:var(--song-w);animation:song-leave var(--song-leave) ease-in both}@keyframes song-leave{0%{opacity:1;filter:none;transform:scale(1)}to{opacity:0;filter:grayscale(1);transform:scale(.72)}}.mana-bar{display:flex;align-items:center;gap:calc(2 * var(--ui));--rail-h: calc(36 * var(--ui));--cap: 1.5188;height:var(--rail-h);box-sizing:border-box;padding:0 calc(4 * var(--ui));border-style:solid;border-width:0 calc(var(--rail-h) * var(--cap));border-image-source:url(/art/ui/chrome-rail.webp);border-image-slice:0 243 0 243 fill;border-image-repeat:stretch}.crystal{width:calc(20 * var(--ui));height:calc(23 * var(--ui));background:url(/art/ui/gem-mana.webp) center / contain no-repeat;transition:filter .18s ease,opacity .18s ease}.crystal.full{filter:drop-shadow(0 0 5px rgba(127,178,255,.9))}.crystal.spent{filter:grayscale(.55) brightness(.62);opacity:.95}.crystal.locked{filter:grayscale(.9) brightness(.5);opacity:.6}.mana-text{position:absolute;left:calc(var(--rail-h) * var(--cap) * -.72);font-size:calc(13 * var(--ui));font-weight:800;color:#eaf4ff;text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.8);pointer-events:none}.power-orb{flex:0 0 auto;width:var(--orb, max(44px, calc(86 * var(--ui))));height:var(--orb, max(44px, calc(86 * var(--ui))));padding:0;border:none;background:none;color:var(--gold);font:inherit;cursor:pointer;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:transform .12s ease,filter .14s ease}.orb-face{position:absolute;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 36% 26%,#4a5570,#262d3c 58%,#12161d);box-shadow:inset 0 -3px 8px #0009;z-index:1}@media(hover:hover){.power-orb:not(:disabled):hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 9px rgba(255,209,102,.95))}}.power-orb:not(:disabled):active{transform:scale(.93)}.power-icon{width:54%;height:54%;fill:#f0c874;filter:drop-shadow(0 1px 2px rgba(0,0,0,.9));pointer-events:none}.power-orb:disabled .power-icon{fill:#7e8899}.power-cost{position:absolute;z-index:3;top:calc(-6 * var(--ui));left:calc(-6 * var(--ui));width:calc(28 * var(--ui));height:calc(28 * var(--ui));display:grid;place-items:center;font-size:calc(13 * var(--ui));font-weight:800;color:#eaf4ff;background:url(/art/ui/gem-mana.webp) center / contain no-repeat;filter:drop-shadow(0 2px 3px rgba(0,0,0,.85));text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 4px rgba(0,0,0,.85);pointer-events:none}.power-spent{position:absolute;inset:calc(4 * var(--ui));z-index:3;border-radius:50%;background:linear-gradient(120deg,transparent 44%,rgba(230,236,245,.6) 46%,rgba(230,236,245,.6) 54%,transparent 56%);pointer-events:none}.board{position:relative;display:flex;flex-direction:column;justify-content:center;flex:1;gap:2px}.board:before{content:"";position:absolute;top:-6%;right:-3%;bottom:-6%;left:-3%;border-radius:50%;background:radial-gradient(ellipse 58% 52% at 50% 50%,#96764a33,#96764a00 72%),radial-gradient(ellipse 46% 40% at 50% 50%,#d6b2741a,#0000 78%);pointer-events:none}.board>*{position:relative}.board-divider{height:2px;margin:2px 6%;border-radius:2px;background:linear-gradient(90deg,#ffd16600,#ffd16647,#ffd16661,#ffd16647,#ffd16600)}.row{display:flex;gap:calc(10 * var(--ui));align-items:center;justify-content:center;min-height:calc(var(--token-h) + 10 * var(--ui))}.piece-slot{flex:0 0 0;width:0;min-width:0;overflow:hidden;transition:flex-basis .17s ease,width .17s ease,margin .17s ease}.row:not(.placing) .piece-slot .slot{display:none}.row.placing .piece-slot{flex:0 0 calc(34 * var(--ui));width:calc(34 * var(--ui))}.piece-slot .slot{width:calc(34 * var(--ui));height:calc(var(--token-h) - 34 * var(--ui));border:2px dashed rgba(110,231,168,.45);border-radius:10px;background:#6ee7a812;cursor:pointer;padding:0}@media(hover:hover){.piece-slot .slot:hover{border-color:var(--green);background:#6ee7a829}}.minion{position:relative;width:var(--token-w);height:var(--token-h);padding:0;border:none;background:none;color:inherit;font:inherit;cursor:pointer;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:transform .13s ease,filter .13s ease}.token-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.token-window{position:absolute;border-radius:50%;overflow:hidden;z-index:1;background:#14100c}@media(hover:hover){.minion:hover{transform:translateY(-3px) scale(1.05)}}@media(pointer:coarse){.minion:active{transform:translateY(-3px) scale(1.05)}}.token-art{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;pointer-events:none}.token-blank{background:linear-gradient(#39424f,#22262f)}.token-name{position:absolute;left:50%;bottom:calc(-13 * var(--ui));transform:translate(-50%);font-size:11px;font-weight:600;letter-spacing:.01em;max-width:calc(var(--token-w) + 26 * var(--ui));overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;color:#e8dcc0;opacity:.92;text-shadow:0 1px 3px rgba(0,0,0,.98),0 0 6px rgba(0,0,0,.8);pointer-events:none}.guard-shield{position:absolute;inset:calc(-8 * var(--ui));border-radius:50%;border:3px solid #8ea3c2;box-shadow:0 0 12px #8caad273;pointer-events:none}.minion.can-act{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 5px rgba(110,231,168,.95))}.minion.selected{animation:fx-armed .9s ease-in-out infinite;z-index:9}@keyframes fx-armed{0%,to{transform:translateY(-4px) scale(1.04);filter:drop-shadow(0 6px 10px rgba(0,0,0,.8)) drop-shadow(0 0 8px rgba(255,209,102,.9))}50%{transform:translateY(-8px) scale(1.06);filter:drop-shadow(0 8px 12px rgba(0,0,0,.8)) drop-shadow(0 0 16px rgba(255,209,102,1))}}.minion.targetable,.hero .portrait.targetable{animation:fx-target .7s ease-in-out infinite}@keyframes fx-target{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(255,107,107,.85))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 15px rgba(255,107,107,1))}}.minion.golem{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 5px rgba(159,200,255,.85))}.counters{position:absolute;top:calc(-6 * var(--ui));right:calc(-6 * var(--ui));z-index:4;font-size:11px;font-weight:800;color:#2a1a02;background:radial-gradient(circle at 35% 28%,#ffe3a3,#c98a1e);border:1px solid #6d4708;border-radius:10px;padding:1px 5px}.hand{display:flex;justify-content:center;align-items:flex-start;height:calc(var(--card-h) * var(--hand-reveal));min-height:calc(var(--card-h) * var(--hand-reveal));padding:0 calc(84 * var(--ui))}.hand .card+.card{margin-left:min(calc(14 * var(--ui)),calc((100% - var(--n, 1) * var(--card-w)) / (var(--n, 2) - 1)))}.hand .card{transform-origin:50% 125%;transform:rotate(var(--fan-rot, 0deg)) translateY(var(--fan-dip, 0px))}.hand .card.selected{transform:rotate(0) translateY(calc(var(--card-h) * (var(--hand-reveal) - 1) - 18 * var(--ui))) scale(1.14);z-index:10}@media(hover:hover){.hand .card:hover{transform:rotate(0) translateY(calc(var(--card-h) * (var(--hand-reveal) - 1) - 18 * var(--ui))) scale(1.14);z-index:10}}.card,.preview{position:relative;color:inherit;font:inherit;padding:0;border:none;background:none;cursor:pointer}.card{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6))}.card{width:var(--card-w);height:var(--card-h);flex:0 0 var(--card-w);font-size:calc(var(--card-w) / 13)}.frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.card-window{position:absolute;border-radius:50%;overflow:hidden;z-index:1;background:#14100c}.card-art{width:100%;height:100%;object-fit:cover;display:block}.card-blank{background:linear-gradient(#39424f,#22262f)}.slot{position:absolute;box-sizing:border-box;z-index:3;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;pointer-events:none;line-height:1.15}.slot-cost,.slot-atk,.slot-hp{font-weight:800;font-size:1.05em;z-index:5;background-position:center;background-repeat:no-repeat;background-size:contain;filter:drop-shadow(0 2px 3px rgba(0,0,0,.9));text-shadow:var(--gem-digit-shadow)}.slot-cost{background-image:url(/art/ui/gem-mana.webp)}.slot-atk{background-image:url(/art/ui/gem-attack.webp)}.slot-hp{background-image:url(/art/ui/gem-health.webp)}.slot-cost{color:#eaf4ff}.slot-atk{color:#fff3d4}.slot-hp{color:#ffe9e9}.slot-hp.hurt{filter:drop-shadow(0 2px 3px rgba(0,0,0,.9)) brightness(.78) saturate(1.25)}.slot-ribbon{z-index:4;border-radius:4px/50%;background:linear-gradient(#5a4322,#2e2011 60%,#241a0f),linear-gradient(#5a4322,#241a0f);border-top:1px solid rgba(255,214,150,.4);border-bottom:1px solid rgba(0,0,0,.7);box-shadow:0 2px 6px #000000a6;color:#f8e7bd;font-weight:700;font-size:.92em;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.95);padding:0 4%;white-space:nowrap}.slot-text{flex-direction:column;gap:.3em;color:#e3d6bb;font-size:.86em;line-height:1.28;padding:0 9%;text-align:center;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4}.slot-plaque{z-index:4;border-radius:999px;background:linear-gradient(#4a3620,#241a0f);border:1px solid rgba(255,214,150,.35);box-shadow:0 2px 5px #0009;color:#d9b877;font-size:.66em;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:0 3%}.kw-row{display:flex;gap:4px;flex-wrap:wrap;justify-content:center}.kw{font-size:.85em;text-transform:uppercase;letter-spacing:1px;padding:1px 6px;border-radius:8px;border:1px solid rgba(255,209,102,.45);color:var(--gold)}.card.rarity-rare{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 5px rgba(77,127,196,.85))}.card.rarity-epic{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(154,99,208,.9))}.card.rarity-legendary{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 8px rgba(224,145,47,.95))}.card.playable{filter:drop-shadow(0 5px 10px rgba(0,0,0,.6)) drop-shadow(0 0 6px rgba(110,231,168,.9))}.card.selected{filter:drop-shadow(0 8px 16px rgba(0,0,0,.7)) drop-shadow(0 0 9px rgba(255,209,102,1))}.preview{position:fixed;z-index:100;pointer-events:none}.preview .slot-plaque{font-size:.52em;letter-spacing:.1em}.preview:before{content:"";position:absolute;top:4%;right:6%;bottom:4%;left:6%;border-radius:12px;background:linear-gradient(#241a12,#100b08);box-shadow:0 18px 40px #000000d9,0 0 0 1px #0009;z-index:0}@keyframes fx-preview{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.preview-plate{gap:4px;padding:6px 10px}.preview-cost{top:-10px;left:-10px;width:44px;height:44px;font-size:22px;border-width:3px}.preview-name{font-size:16px;font-weight:700;color:#f8e7bd;text-shadow:0 1px 3px rgba(0,0,0,.95)}.preview-kind{font-size:9px;letter-spacing:1.2px;text-transform:uppercase;color:#c9a464}.preview-text{font-size:12px;line-height:1.35;color:#e2d6bd}.preview-keywords{display:flex;gap:5px;flex-wrap:wrap;justify-content:center}.kw{font-size:10px;text-transform:uppercase;letter-spacing:1px;padding:2px 7px;border-radius:9px;border:1px solid rgba(255,209,102,.45);color:var(--gold)}.preview-gem-atk{left:-8px;bottom:10px;width:42px;height:42px;font-size:21px;z-index:5}.preview-gem-hp{right:-8px;bottom:10px;width:42px;height:42px;font-size:21px;z-index:5}.end-turn{--plaque-h: max(44px, calc(52 * var(--ui)));--plaque-cap: .41;min-height:var(--plaque-h);box-sizing:border-box;padding:calc(12 * var(--ui)) calc(4 * var(--ui));border-style:solid;border-width:0 calc(var(--plaque-h) * var(--plaque-cap));border-image-source:url(/art/ui/chrome-plaque.webp);border-image-slice:0 82 0 82 fill;border-image-repeat:stretch;background:none;color:var(--gold);font:inherit;font-weight:800;font-size:max(11px,calc(13 * var(--ui)));letter-spacing:.06em;text-transform:uppercase;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.8);filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:filter .14s ease,transform .1s ease}.end-turn:not(:disabled){animation:fx-endturn-idle 2.4s ease-in-out infinite}@media(hover:hover){.end-turn:not(:disabled):hover{animation:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 14px rgba(255,209,102,1));transform:scale(1.04)}}.end-turn:not(:disabled):active{transform:scale(.97) translateY(1px)}@keyframes fx-endturn-idle{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(255,209,102,.45))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 15px rgba(255,209,102,.9))}}.rail-toggles{display:flex;gap:calc(6 * var(--ui));justify-content:center}.rail-toggle{flex:0 0 auto;position:relative;width:calc(34 * var(--ui));height:calc(34 * var(--ui));padding:0;display:grid;place-items:center;border:none;border-radius:50%;background:radial-gradient(circle at 38% 28%,#4a5570,#262d3c 58%,#12161d);box-shadow:inset 0 -2px 5px #000000a6,0 0 0 1px #9678468c,0 2px 5px #0000008c;color:var(--gold);cursor:pointer;transition:transform .11s ease,box-shadow .14s ease,color .14s ease}@media(hover:hover){.rail-toggle:hover{color:#fff0d6;box-shadow:inset 0 -2px 5px #000000a6,0 0 0 1px #ffd166d9,0 0 11px #ffd16680}}.rail-toggle:active{transform:scale(.92)}.rail-icon{width:calc(19 * var(--ui));height:calc(19 * var(--ui));display:block}.rail-icon path{fill:currentColor}.rail-icon path[fill=none]{stroke:currentColor}.concede{margin-top:4px;padding:4px 8px;cursor:pointer;font:inherit;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e2d6be85;background:linear-gradient(180deg,#2e271eeb,#14120ff2);border:1px solid rgba(150,120,70,.42);border-radius:5px;box-shadow:0 1px 3px #0000008c,inset 0 1px #ffe2aa14;transition:color .13s ease,border-color .13s ease,transform 90ms ease,box-shadow .14s ease}.concede:active:not(:disabled){transform:translateY(1px)}.game-over{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:6px;background:#080a0ec7;font-size:max(11px,calc(26 * var(--ui)));letter-spacing:2px;color:var(--gold);z-index:40}.game-over span{font-size:max(11px,calc(14 * var(--ui)));letter-spacing:0;color:var(--ink)}.log{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding-top:env(safe-area-inset-top);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom);background:linear-gradient(180deg,#221d16f5,#0f0e0dfa);box-shadow:inset 1px 0 #a0804a59,inset 8px 0 22px #0000008c}.log-toggle{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:6px;--rail-h: 30px;--cap: 1.5188;height:var(--rail-h);box-sizing:border-box;padding:0 2px;border-style:solid;border-width:0 calc(var(--rail-h) * var(--cap));border-image-source:url(/art/ui/chrome-rail.webp);border-image-slice:0 243 0 243 fill;border-image-repeat:stretch;background:none;color:var(--gold);font:inherit;font-size:9.5px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.95)}@media(hover:hover){.log-toggle:hover{color:#fff0d6}}.log-title{overflow:hidden;text-overflow:ellipsis}.log-caret{flex:0 0 auto;width:0;height:0;border:4px solid transparent;border-left-color:currentColor;transform:rotate(90deg);transition:transform .2s ease}.log-shut .log-caret{transform:rotate(0)}.log-shut .log-toggle{height:100%;flex:1 1 auto;flex-direction:column;justify-content:flex-start;gap:12px;padding:12px 0;border:none;background:linear-gradient(180deg,#2c251cf2,#12100efa);letter-spacing:.3em}.log-shut .log-title{writing-mode:vertical-rl}.log-body{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 9px 16px;display:flex;flex-direction:column;gap:1px}.log-page{position:relative;flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:clip}.log-page:after{content:"";position:absolute;left:0;right:0;bottom:0;height:28px;pointer-events:none;opacity:0;background:linear-gradient(180deg,#0f0e0d00,#0f0e0deb)}.log-page[data-more=true]:after{opacity:1}.log-row{font-size:max(11px,calc(11.5 * var(--ui)));line-height:1.5;color:#cec3ae;opacity:max(.42,1 - var(--age, 0) * .042);transition:opacity .18s ease}.log-body:hover .log-row,.log-body:focus-within .log-row{opacity:1}.log-who{font-weight:700}.log-who.p0{color:#9ce7bb}.log-who.p1{color:#ff9d92}.log-chip{display:inline-flex;align-items:center;gap:4px;max-width:100%;margin:0 1px;padding:1px 5px 1px 1px;vertical-align:-3px;border:1px solid rgba(160,128,74,.55);border-radius:9px;background:linear-gradient(180deg,#3e3322e6,#1d1913f2);box-shadow:0 1px 2px #0009,inset 0 1px #ffe2aa1f;color:#f0dcae;font:inherit;font-size:10.5px;font-weight:600;line-height:1.3;cursor:pointer;transition:border-color .13s ease,transform .11s ease,box-shadow .14s ease}.log-chip:hover,.log-chip:focus-visible{outline:none;transform:translateY(-1px);border-color:#ffd166e6;box-shadow:0 2px 6px #000000a6,0 0 9px #ffd1666b}.log-chip-art{flex:0 0 auto;width:15px;height:15px;border-radius:50%;object-fit:cover;display:block;box-shadow:0 0 0 1px #786038e6}.log-chip-blank{background:linear-gradient(#39424f,#22262f)}.log-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.log-row.log-turn{margin:8px 0 3px;opacity:1}.log-rule{display:flex;align-items:center;gap:8px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#ffd166e0;white-space:nowrap}.log-rule>span{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.log-rule:before,.log-rule:after{content:"";flex:1 1 6px;height:1px}.log-rule:before{background:linear-gradient(90deg,transparent,rgba(180,145,84,.8))}.log-rule:after{background:linear-gradient(90deg,rgba(180,145,84,.8),transparent)}.log-row.log-result{margin:7px 0;padding:4px 6px;opacity:1;text-align:center;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#241a0e;background:linear-gradient(180deg,#f0cd84,#c9954a);border-radius:4px}.log-row.log-result .log-who{color:inherit}.log-row.log-illegal{color:#ff8c82c7;font-size:10.5px;font-style:italic}.log-body>.log-row:first-child{animation:fx-log-in .24s cubic-bezier(.2,.9,.3,1)}@keyframes fx-log-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}button:disabled{opacity:.4;cursor:default}.piece{position:relative;display:flex;flex:0 0 auto}.fx-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:20}.fx-float{position:absolute;left:50%;top:2px;margin-left:calc(var(--fx-i, 0) * 18 * var(--ui));font-weight:800;font-size:max(11px,calc(22 * var(--ui)));line-height:1;white-space:nowrap;text-shadow:0 2px 5px rgba(0,0,0,.95),0 0 2px rgba(0,0,0,.9);animation:fx-float-up .7s ease-out both;animation-delay:calc(.14s + var(--fx-i, 0) * .13s)}@keyframes fx-float-up{0%{opacity:0;transform:translate(-50%,6px) scale(.7)}18%{opacity:1;transform:translate(-50%,-6px) scale(1.15)}70%{opacity:1;transform:translate(-50%,-26px) scale(1)}to{opacity:0;transform:translate(-50%,-40px) scale(.95)}}.fx-float.fx-float-damage{animation-name:fx-float-hit;font-size:26px}@keyframes fx-float-hit{0%{opacity:0;transform:translate(-50%,10px) scale(.35)}11%{opacity:1;transform:translate(-50%,-3px) scale(1.55)}24%{opacity:1;transform:translate(-50%,-8px) scale(.96)}36%{opacity:1;transform:translate(-50%,-13px) scale(1.08)}70%{opacity:1;transform:translate(-50%,-28px) scale(1)}to{opacity:0;transform:translate(-50%,-44px) scale(.95)}}.fx-float-damage{color:var(--red)}.fx-float-heal{color:var(--green)}.fx-float-armor{color:#9ec5ff}.fx-float-buff{color:var(--gold);font-size:max(11px,calc(16 * var(--ui)))}.piece.fx-attacking{animation:fx-lunge .28s ease-out;z-index:10}@keyframes fx-lunge{0%{transform:translateY(0)}35%{transform:translateY(-24px) scale(1.08)}55%{transform:translateY(-16px)}to{transform:translateY(0)}}.fx-burst{position:absolute;left:50%;top:50%;width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;background:radial-gradient(circle,#fffffff2,#ffc880d9 32%,#ff60487a 60%,#ff3c2800 78%);animation:fx-burst .22s ease-out both;animation-delay:calc(.12s + var(--fx-i, 0) * .13s)}@keyframes fx-burst{0%{opacity:0;transform:scale(.3)}20%{opacity:1;transform:scale(2.6)}to{opacity:0;transform:scale(4.4)}}.fx-burst-ring{position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:50%;border:2px solid rgba(255,214,160,.9);animation:fx-burst-ring .26s cubic-bezier(.1,.7,.3,1) both;animation-delay:calc(.12s + var(--fx-i, 0) * .13s)}@keyframes fx-burst-ring{0%{opacity:.95;transform:scale(.4);border-width:3px}to{opacity:0;transform:scale(4.2);border-width:.5px}}.fx-hit{animation:fx-hit .32s ease-out .12s both}@keyframes fx-hit{0%{filter:brightness(1);box-shadow:0 0 #ff505000}12%{filter:brightness(2.4) saturate(.5);box-shadow:0 0 0 4px #ff5a5ae6,0 0 22px 6px #ff3c3c80}to{filter:brightness(1);box-shadow:0 0 #ff505000}}.fx-healed{animation:fx-healed .38s ease-out .1s both}@keyframes fx-healed{0%{filter:brightness(1);box-shadow:0 0 #6ee7a800}20%{filter:brightness(1.5);box-shadow:0 0 0 4px #6ee7a8d9,0 0 18px 4px #6ee7a866}to{filter:brightness(1);box-shadow:0 0 #6ee7a800}}.fx-buffed{animation:fx-buffed .42s ease-out .1s both}@keyframes fx-buffed{0%{filter:brightness(1);box-shadow:0 0 #ffd16600}25%{filter:brightness(1.6) saturate(1.3);box-shadow:0 0 0 4px #ffd166e6,0 0 24px 6px #ffd16673}to{filter:brightness(1);box-shadow:0 0 #ffd16600}}.piece.fx-summoning{animation:fx-summon .32s cubic-bezier(.2,1.4,.4,1)}@keyframes fx-summon{0%{opacity:0;transform:scale(.4) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.piece.fx-summoning.from-hand{animation:fx-play-in .4s cubic-bezier(.2,.9,.3,1)}@keyframes fx-play-in{0%{opacity:.85;transform:translate(var(--fly-x, 0),var(--fly-y, 0)) scale(1.5)}to{opacity:1;transform:translate(0) scale(1)}}.card.flying{animation:fx-fly-in .62s cubic-bezier(.18,.9,.26,1) backwards;animation-delay:calc(var(--deal-i, 0) * 38ms);z-index:6}@keyframes fx-fly-in{0%{opacity:.15;transform:translate(var(--fly-x, 0),var(--fly-y, 0)) scale(.4) rotateY(180deg) rotate(-16deg)}18%{opacity:1}82%{transform:translateY(-9px) scale(1.07) rotateY(0) rotate(2deg)}to{transform:translate(0) scale(1) rotateY(0) rotate(0)}}.card.dealt{animation:fx-draw .26s ease-out}@keyframes fx-draw{0%{opacity:0;transform:translateY(18px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.deck.dealing .deck-stack{animation:fx-deal .42s ease-out}@keyframes fx-deal{0%{transform:translateY(0) scale(1)}30%{transform:translateY(3px) scale(.96)}to{transform:translateY(0) scale(1)}}.card{transition:transform .18s cubic-bezier(.2,.85,.3,1),filter .13s ease}.minion.ghost{pointer-events:none;border-color:#6b2b2b;animation:fx-death .34s ease-in .18s both}@keyframes fx-death{0%{opacity:1;transform:scale(1) rotate(0);filter:grayscale(0) brightness(1)}to{opacity:0;transform:scale(.6) rotate(-12deg);filter:grayscale(1) brightness(.35)}}.table.shake{animation:fx-shake .38s ease-out}@keyframes fx-shake{0%,to{transform:translate(0)}15%{transform:translate(-5px,3px)}30%{transform:translate(5px,-3px)}45%{transform:translate(-4px,-2px)}60%{transform:translate(4px,2px)}80%{transform:translate(-2px,1px)}}.turn-banner{position:absolute;left:0;right:0;top:46%;display:grid;place-items:center;pointer-events:none;z-index:30;animation:fx-banner 1.4s ease-out both}.turn-banner span{padding:calc(7 * var(--ui)) calc(30 * var(--ui));font-size:max(11px,calc(19 * var(--ui)));font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);background:linear-gradient(90deg,#0a0c1000,#0a0c10d9 22%,#0a0c10d9 78%,#0a0c1000);text-shadow:0 2px 8px rgba(0,0,0,.95)}@keyframes fx-banner{0%{opacity:0;transform:translate(-40px)}14%{opacity:1;transform:translate(0)}72%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(40px)}}.minion.can-act{animation:fx-ready 2.6s ease-in-out infinite}@keyframes fx-ready{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 4px rgba(110,231,168,.55))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 11px rgba(110,231,168,1))}}.hero.active .portrait{animation:fx-hero-active 3.4s ease-in-out infinite}@keyframes fx-hero-active{0%,to{filter:drop-shadow(0 3px 8px rgba(0,0,0,.7)) drop-shadow(0 0 6px rgba(255,209,102,.55))}50%{filter:drop-shadow(0 3px 8px rgba(0,0,0,.7)) drop-shadow(0 0 13px rgba(255,209,102,.95))}}.power-orb:not(:disabled){animation:fx-orb-ready 3s ease-in-out infinite}@keyframes fx-orb-ready{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 4px rgba(255,209,102,.4))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 12px rgba(255,209,102,.85))}}.crystal.full{animation:fx-crystal 2.2s ease-in-out infinite}@keyframes fx-crystal{0%,to{filter:drop-shadow(0 0 4px rgba(127,178,255,.75))}50%{filter:drop-shadow(0 0 9px rgba(160,205,255,1))}}@media(hover:hover){.hand .card.playable:not(:hover):not(.selected):not(.flying):not(.dealt){animation:fx-playable 3.2s ease-in-out infinite}}@media(hover:none){.hand .card.playable:not(.selected):not(.flying):not(.dealt){animation:fx-playable 3.2s ease-in-out infinite}}@keyframes fx-playable{0%,to{transform:rotate(var(--fan-rot, 0deg)) translateY(var(--fan-dip, 0px))}50%{transform:rotate(var(--fan-rot, 0deg)) translateY(calc(var(--fan-dip, 0px) - 5px))}}.history-slot{animation:fx-history-in .26s cubic-bezier(.2,.9,.3,1)}@keyframes fx-history-in{0%{opacity:0;transform:translate(-16px) scale(.8)}to{opacity:1;transform:translate(0) scale(1)}}.card,.minion,.portrait{touch-action:none}.card,.minion,.portrait,.power-orb,.song-medallion,.history-slot,.token-name,.card-art,.token-art,.portrait-art{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.app.dragging{cursor:grabbing}.hand .card.dragging{opacity:.2;filter:grayscale(.65);transform:rotate(var(--fan-rot, 0deg)) translateY(var(--fan-dip, 0px))}.drag-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.drag-card{position:absolute;left:clamp(calc(.6 * var(--card-w) + 4px),var(--drag-x, 50%),calc(100% - .6 * var(--card-w) - 4px));top:clamp(calc(.66 * var(--card-h) + 4px),var(--drag-y, 50%),calc(100% - .5 * var(--card-h) - 4px));width:var(--card-w);height:var(--card-h);transform:translate(-50%,-58%) scale(1.12) rotate(-3deg);font-size:calc(var(--card-w) / 13);filter:drop-shadow(0 18px 22px rgba(0,0,0,.55));transition:filter .14s ease-out}.drag-card.legal{filter:drop-shadow(0 18px 22px rgba(0,0,0,.55)) drop-shadow(0 0 15px rgba(126,240,156,.85))}.attack-arrow{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.arrow-line{fill:none;stroke:#ecb25ceb;stroke-width:7;stroke-linecap:round;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6))}.arrow-head{fill:#ecb25cf2;filter:drop-shadow(0 2px 5px rgba(0,0,0,.6))}.attack-arrow.legal .arrow-line{stroke:#7ef09cf2}.attack-arrow.legal .arrow-head{fill:#7ef09cfa}.minion.drop-hover,.hero .portrait.drop-hover{animation:fx-drop-lock .56s ease-in-out infinite}@keyframes fx-drop-lock{0%,to{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 8px rgba(126,240,156,.9))}50%{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 20px rgba(126,240,156,1))}}.piece-slot .slot.drop-hover{border-color:var(--green);border-style:solid;background:#7ef09c42;box-shadow:inset 0 0 12px #7ef09c80}.hero .thinking{display:flex;align-items:center;gap:5px;margin-top:4px;animation:fx-thinking-in .24s ease-out}@keyframes fx-thinking-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.thinking-label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#e2b25cd9}.hero .thinking .dot{width:5px;height:5px;border-radius:50%;background:var(--gold, #e2b25c);animation:fx-think-pulse 1.1s ease-in-out infinite}.hero .thinking .dot:nth-child(2){animation-delay:.16s}.hero .thinking .dot:nth-child(3){animation-delay:.32s}@keyframes fx-think-pulse{0%,to{opacity:.25;transform:scale(.75)}50%{opacity:1;transform:scale(1.2)}}.foe-card.considering{transform:rotate(var(--fan-rot, 0deg)) translateY(26px) scale(1.06);filter:drop-shadow(0 6px 14px rgba(0,0,0,.6)) drop-shadow(0 0 10px rgba(226,178,92,.55));z-index:3}.foe-card{transition:transform .2s cubic-bezier(.2,.9,.3,1),filter .2s ease-out}.held-card{position:fixed;left:50%;top:34%;width:calc(var(--card-w) * 1.18);height:calc(var(--card-h) * 1.18);transform:translate(-50%,-50%);font-size:calc(var(--card-w) * 1.18 / 13);z-index:150;pointer-events:none;filter:drop-shadow(0 22px 30px rgba(0,0,0,.7));animation:fx-held .26s cubic-bezier(.15,.9,.25,1)}@keyframes fx-held{0%{opacity:0;transform:translate(-50%,-50%) translateY(-40px) scale(.72) rotateX(35deg)}to{opacity:1;transform:translate(-50%,-50%) translateY(0) scale(1) rotateX(0)}}.hand.locked{opacity:.62;filter:saturate(.75)}.hand.locked .card{cursor:default}.setup{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 35%,#30241a8c,#080605f0),var(--board, #0b0908);background-size:cover;background-position:center;overflow:auto;padding:24px}.setup-panel{position:relative;z-index:1;width:min(760px,100%);display:flex;flex-direction:column;gap:18px;padding:26px 30px 30px;border-radius:14px;background:linear-gradient(180deg,#16100bd1,#0a0806e6);-webkit-backdrop-filter:blur(10px) saturate(.9);backdrop-filter:blur(10px) saturate(.9);border:1px solid rgba(226,178,92,.3);box-shadow:0 30px 70px #000000b3,inset 0 1px #ffe2b01a}.pick{display:flex;gap:10px;flex-wrap:wrap}.pick-tier{flex:1 1 190px;display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px;cursor:pointer;border-radius:10px;border:1px solid rgba(226,178,92,.22);background:#1e1610b3;color:#ece0cee6;transition:border-color .14s,background .14s,transform .14s}.pick-tier{align-items:flex-start;text-align:left}.pick-tier:hover{border-color:#e2b25c99;transform:translateY(-2px)}.pick-tier.chosen{border-color:var(--gold, #e2b25c);background:#3c2c1ad9;box-shadow:0 0 16px #e2b25c59}.pick-name{font-size:14px;letter-spacing:.06em}.pick-sub{font-size:11px;color:#e2d6be99}.pick-tiers{gap:8px}.pick-tier{gap:4px;padding:11px 13px;border-radius:8px;border-color:#e2b25c1f;background:#0e0b088c;color:#ece0cead}.pick-tier.chosen{border-color:#e2b25c99;background:#342616b8;box-shadow:0 0 14px #e2b25c2e;color:#f3e6cc}.pick-tier .pick-name{letter-spacing:.1em;text-transform:uppercase;font-size:12px}.pick-tier.chosen .pick-name{color:var(--gold, #e2b25c)}.pick-tier .pick-sub{line-height:1.45}@media(max-width:620px){.setup{padding:12px}.setup-panel{padding:20px 14px 22px}}@media(hover:hover){.concede:hover:not(:disabled){color:#ffa096f2;border-color:#ff786e99}}.concede.armed{color:#ffe1dc;border-color:#ff6b6be6;background:linear-gradient(180deg,#8a2620d9,#481411e6);box-shadow:0 0 10px #ff5a5073,inset 0 1px #ffc8be24}.concede:disabled{opacity:.25;cursor:default}.game-over .again{align-self:center;margin-top:4px;padding:11px 40px;cursor:pointer;font-size:15px;letter-spacing:.16em;text-transform:uppercase;color:#241a0e;border:none;border-radius:8px;background:linear-gradient(180deg,#f0cd84,#c9954a);box-shadow:0 5px 16px #00000080}@media(hover:hover){.game-over .again:hover{filter:brightness(1.1)}}.begin{align-self:center;margin-top:6px;min-width:240px}.game-over .again{margin-top:12px}.history-slot{position:relative}.history-slot:after{content:"";position:absolute;left:0;top:14%;bottom:14%;width:3px;border-radius:2px;pointer-events:none}.history-slot.mine:after{background:#7ef09cd9}.history-slot.theirs:after{background:#ff7a6ed9}.turn-clock{display:flex;align-items:center;gap:6px;width:100%;margin-top:6px}.clock-track{flex:1;height:5px;border-radius:3px;overflow:hidden;background:#00000080;border:1px solid rgba(226,178,92,.25)}.clock-fill{height:100%;transform-origin:left center;background:linear-gradient(90deg,#7ef09c,#e2b25c)}.turn-clock.urgent .clock-fill{background:linear-gradient(90deg,#ff9a5c,#ff5f52);animation:fx-rope .7s ease-in-out infinite}@keyframes fx-rope{0%,to{filter:brightness(1)}50%{filter:brightness(1.55)}}.clock-seconds{min-width:calc(18 * var(--ui));font-size:max(11px,calc(12 * var(--ui)));font-weight:700;text-align:right;color:#ff9a8f;font-variant-numeric:tabular-nums}.coinflip{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#080605d1;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fx-flip-in .22s ease-out}@keyframes fx-flip-in{0%{opacity:0}to{opacity:1}}.coin{width:calc(112 * var(--ui));height:calc(112 * var(--ui));border-radius:50%;transform-style:preserve-3d;box-shadow:0 12px 34px #0009}.coin-face{width:100%;height:100%;border-radius:50%;display:block;object-fit:cover}.coin.spinning{animation:fx-coin-spin .42s linear infinite}@keyframes fx-coin-spin{0%{transform:rotateY(0) translateY(0)}50%{transform:rotateY(180deg) translateY(-26px)}to{transform:rotateY(360deg) translateY(0)}}.coin.you,.coin.them{animation:fx-coin-land .42s cubic-bezier(.2,1.4,.4,1) both}.coin.you{box-shadow:0 0 34px #7ef09cbf,0 12px 30px #0009}.coin.them{box-shadow:0 0 34px #ff7a6eb3,0 12px 30px #0009}@keyframes fx-coin-land{0%{transform:rotateY(720deg) scale(1.15)}to{transform:rotateY(720deg) scale(1)}}.coinflip-text{margin:0;font-size:max(11px,calc(20 * var(--ui)));letter-spacing:.16em;text-transform:uppercase;color:var(--gold, #e2b25c)}.coinflip-sub{margin:0;font-size:max(11px,calc(12 * var(--ui)));color:#e2d6be9e}.coinflip-skip{margin-top:10px;padding:5px 18px;cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#e2d6be8c;background:transparent;border:1px solid rgba(226,214,190,.22);border-radius:6px}@media(hover:hover){.coinflip-skip:hover{color:#fff0d6f2;border-color:#e2b25c99}}@media(prefers-reduced-motion:reduce){.piece.fx-attacking,.piece.fx-summoning,.piece.fx-summoning.from-hand,.card.dealt,.card.flying,.table.shake,.minion.ghost,.deck.dealing .deck-stack,.preview{animation:none}.minion.selected,.minion.targetable,.hero .portrait.targetable,.minion.drop-hover,.hero .portrait.drop-hover,.hero .thinking,.hero .thinking .dot,.held-card,.foe-card.considering,.coin,.coin.spinning,.coinflip,.turn-clock.urgent .clock-fill,.minion.can-act,.hero.active .portrait,.power-orb:not(:disabled),.crystal.full,.hand .card.playable,.history-slot,.end-turn:not(:disabled){animation:none}.song-medallion,.song-medallion.song-in,.song-pip.spent,.song-socket.song-shift{animation:none}.song-ripple,.song-flare,.song-ghost{display:none}.card:hover,.minion:hover,.minion:active,.log-chip:hover{transform:none}.ambient-drift{animation:none;opacity:.55}.fx-burst{animation:fx-burst-still .24s ease-out both;transform:scale(2.2)}.fx-burst-ring{display:none}@keyframes fx-burst-still{0%,to{opacity:0}30%{opacity:.9}}.log-body>.log-row:first-child{animation:none}.fx-float{animation-duration:.7s}.minion.ghost{opacity:.35;filter:grayscale(1)}.turn-banner{animation:fx-banner-still 1.4s ease-out both}@keyframes fx-banner-still{0%,68%{opacity:1}to{opacity:0}}}.shell{height:100dvh;box-sizing:border-box;overflow-y:auto;display:flex;flex-direction:column;background:radial-gradient(ellipse at 50% 0%,#30241a80,#080605f5),#0b0908}.chrome{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid rgba(226,178,92,.18);background:linear-gradient(180deg,#0a0806b8,#0a080600)}.chrome-brand{font-size:15px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold, #e2b25c);text-decoration:none}.shell-main{position:relative;z-index:0;flex:1;display:flex;justify-content:center;padding:40px 24px}.legal-footer{position:relative;z-index:1;padding:18px 24px 24px;text-align:center;font-size:12px;color:#e2d6be80}.legal-link{color:inherit}.gate{height:100dvh;box-sizing:border-box;overflow-y:auto;display:flex;flex-direction:column;padding:24px;background:radial-gradient(ellipse at 50% 35%,#30241a8c,#080605f0),#0b0908}.gate-panel{position:relative;z-index:1;width:min(460px,100%);margin:auto;display:flex;flex-direction:column;align-items:center;gap:16px;padding:34px 30px 22px;border-radius:14px;background:linear-gradient(180deg,#16100bd1,#0a0806e6);-webkit-backdrop-filter:blur(10px) saturate(.9);backdrop-filter:blur(10px) saturate(.9);border:1px solid rgba(226,178,92,.3);box-shadow:0 30px 70px #000000b3,inset 0 1px #ffe2b01a;text-align:center}.gate-title{margin-bottom:2px}.gate-line{margin:0;font-size:14px;color:#e2d6beb8}.gate-play{width:min(280px,100%);margin:2px auto 0;font-size:16px}.gate-signin{width:100%}.google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:12px;height:44px;padding:0 12px;border-radius:22px;border:1px solid #8e918f;background:#131314;color:#e3e3e3;font-family:Roboto,system-ui,sans-serif;font-size:14px;font-weight:500;letter-spacing:.01em;text-decoration:none;box-sizing:border-box}.google-mark{width:18px;height:18px;flex:0 0 18px}.google-btn:disabled{opacity:.5}.gate-note{margin:8px 0 0;font-size:12px;color:#e2d6be80}@media(max-height:520px){.gate{padding-block:8px}.gate-panel{padding-top:20px;padding-bottom:16px}}.gate-account{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px 0}.gate-handle{font-size:15px;letter-spacing:.04em;color:var(--gold, #e2b25c);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gate-handle-missing{color:#e2d6beb8;font-style:italic}.gate-signout{flex:0 0 auto;padding:7px 14px;border-radius:8px;border:1px solid rgba(226,178,92,.35);background:transparent;color:#ece0cedb;font-size:13px}.page-form{display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%}.page{width:min(620px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:14px}.page-title{margin:0;font-size:26px;letter-spacing:.1em;color:var(--gold, #e2b25c)}.page-body{margin:0;font-size:15px;line-height:1.6;color:#ece0cedb}.page-note{margin:0;font-size:12px;color:#e2d6be80}.page-status{margin:0;font-size:15px;color:#ece0cedb}.page-action{margin-top:6px;padding:11px 20px;border-radius:8px;border:1px solid rgba(226,178,92,.45);background:#3c2c1ab3;color:#f6e6c4;font-size:14px;text-decoration:none}.page-action:disabled{opacity:.45}.setup-back{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:44px;min-width:44px;padding:0 10px;font-family:var(--font-title);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:inherit;opacity:.68;text-decoration:none;border-bottom:1px solid currentColor}.setup-back:hover,.setup-back:active{opacity:1}.form-field{display:flex;flex-direction:column;gap:6px;width:min(320px,100%)}.form-label{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#e2d6be99}.form-input{padding:10px 12px;border-radius:8px;border:1px solid rgba(226,178,92,.28);background:#0c0907cc;color:var(--ink);font-size:15px}.form-input[aria-invalid=true]{border-color:var(--red, #ff6b6b)}.form-help{margin:0;font-size:12px;line-height:1.5;color:#e2d6be8c}.shell-main .setup{position:static;min-height:0;width:100%;padding:0;background:none}.gate-panel,.setup-panel{box-sizing:border-box;min-width:0}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none}.menu-scene{position:absolute;top:-5%;right:-5%;bottom:-5%;left:-5%;background:url(/art/ui/menu-forge.jpg) center / cover no-repeat;transform:scale(1.06);filter:blur(6px) saturate(.95) brightness(.78)}.menu-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 66% at 50% 44%,#0000,#0605083d 56%,#020204d1),linear-gradient(180deg,#0806053d,#06050475)}.wordmark{margin:0;text-align:center;font-size:clamp(30px,4.4vw,44px);font-weight:700;line-height:1.12;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;background:linear-gradient(176deg,#fff4d8 2%,#ecc87e 26%,#b98c3f 48%,#f6e0a8 60%,#a2762f 82%,#d8b169);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 10px rgba(255,142,46,.26));animation:fx-wordmark-breathe 9s ease-in-out infinite}@media(max-width:620px){.wordmark{letter-spacing:.16em;text-indent:.16em}}@keyframes fx-wordmark-breathe{0%,to{filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 8px rgba(255,142,46,.2))}50%{filter:drop-shadow(0 1px 1px rgba(0,0,0,.9)) drop-shadow(0 0 22px rgba(255,152,58,.48))}}.plaque{--plaque-h: 56px;--plaque-cap: .41;display:block;min-height:var(--plaque-h);box-sizing:border-box;padding:16px 8px;border-style:solid;border-width:0 calc(var(--plaque-h) * var(--plaque-cap));border-image-source:url(/art/ui/chrome-plaque.webp);border-image-slice:0 82 0 82 fill;border-image-repeat:stretch;background:none;color:var(--gold);font:inherit;font-weight:800;font-size:15px;letter-spacing:.2em;text-transform:uppercase;text-align:center;text-decoration:none;cursor:pointer;text-shadow:0 1px 2px rgba(0,0,0,.95),0 0 5px rgba(0,0,0,.8);filter:drop-shadow(0 3px 6px rgba(0,0,0,.7));transition:filter .14s ease,transform .1s ease}.leaf-pin .plaque:not(:disabled){position:relative}.leaf-pin .plaque:not(:disabled):after{content:"";position:absolute;inset:0 calc(-1 * var(--plaque-h) * var(--plaque-cap));border-radius:calc(var(--plaque-h) / 2);box-shadow:0 0 14px 3px #ffd1668c;opacity:0;pointer-events:none;animation:plaque-breathe 2.8s ease-in-out infinite}@keyframes plaque-breathe{0%,to{opacity:0}50%{opacity:1}}.plaque:hover{filter:drop-shadow(0 3px 6px rgba(0,0,0,.7)) drop-shadow(0 0 14px rgba(255,209,102,1));transform:scale(1.03)}.plaque:active{transform:scale(.98) translateY(1px)}.settings-scrim{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;background:#06080c9e;z-index:45;animation:settings-scrim-in .13s ease-out both}.settings-panel{min-width:234px;padding:15px 17px 13px;display:flex;flex-direction:column;gap:7px;background:linear-gradient(180deg,#2e271ef7,#12100dfa);border:1px solid rgba(150,120,70,.5);border-radius:10px;box-shadow:0 18px 44px #000000b8,inset 0 1px #ffe2aa17;animation:settings-panel-in .17s cubic-bezier(.2,.85,.3,1) both}.settings-heading{margin:0 0 4px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;text-align:center;color:var(--gold)}.settings-switch{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:7px 10px;cursor:pointer;font:inherit;color:#e2d6bedb;background:#ffe2aa0d;border:1px solid rgba(150,120,70,.34);border-radius:6px;transition:color .13s ease,border-color .13s ease,background .13s ease}@media(hover:hover){.settings-switch:hover{color:#ffe9c2;border-color:#ffd16699}}.settings-switch .rail-icon{width:20px;height:20px}.settings-name{font-size:12px;letter-spacing:.04em;text-align:left}.settings-state{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}.settings-switch[aria-checked=false],.settings-switch[aria-checked=false] .settings-state{color:#e2d6be70}.settings-panel .concede{margin-top:6px;display:block;width:100%;box-sizing:border-box}.settings-close{margin-top:2px;min-width:44px;padding:5px 8px;cursor:pointer;font:inherit;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e2d6be9e;background:transparent;border:1px solid rgba(226,214,190,.22);border-radius:6px}@media(hover:hover){.settings-close:hover{color:#ffe9c2;border-color:#e2b25c99}}@keyframes settings-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes settings-panel-in{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}::view-transition{background:#0b0908}::view-transition-old(*),::view-transition-new(*){mix-blend-mode:normal}::view-transition-group(*){animation:none}::view-transition-old(root){animation:none}::view-transition-new(root){animation:screen-in .24s ease both}::view-transition-new(*):only-child{animation:screen-in .24s ease both}::view-transition-old(*):only-child{animation:screen-out .24s ease both}@keyframes screen-in{0%{opacity:0}}@keyframes screen-out{to{opacity:0}}.book-top{view-transition-name:book-top}.book-gutter{view-transition-name:book-gutter}.book-leaf-left{view-transition-name:book-leaf-left}.book-leaf-right{view-transition-name:book-leaf-right}.book-leaf-one{view-transition-name:book-leaf-one}::view-transition-old(book-top),::view-transition-old(book-gutter){animation:none;opacity:0}::view-transition-new(book-top),::view-transition-new(book-gutter){animation:none}:root{--book-way: 1}:root[data-book-move=back],:root[data-book-move=out]{--book-way: -1}:root[data-book-move]::view-transition-old(root),:root[data-book-move]::view-transition-new(root){animation:none}:root[data-book-move]::view-transition-old(book-leaf-left){animation:none}:root[data-book-move]::view-transition-new(book-leaf-left){animation:leaf-fade .18s ease both}:root[data-book-move]::view-transition-group(book-leaf-right){overflow:clip}:root[data-book-move]::view-transition-old(book-leaf-right),:root[data-book-move]::view-transition-new(book-leaf-right){transform-origin:left center;backface-visibility:hidden}:root[data-book-move=forward]::view-transition-old(book-leaf-right),:root[data-book-move=into]::view-transition-old(book-leaf-right){z-index:1;animation:leaf-away .26s ease-in both}:root[data-book-move=forward]::view-transition-new(book-leaf-right),:root[data-book-move=into]::view-transition-new(book-leaf-right){z-index:0;animation:none}:root[data-book-move=back]::view-transition-old(book-leaf-right),:root[data-book-move=out]::view-transition-old(book-leaf-right){z-index:0;animation:none}:root[data-book-move=back]::view-transition-new(book-leaf-right),:root[data-book-move=out]::view-transition-new(book-leaf-right){z-index:1;animation:leaf-in .26s ease-out both}:root[data-book-move=swap]::view-transition-old(book-leaf-left),:root[data-book-move=swap]::view-transition-new(book-leaf-left){animation:none}:root[data-book-move=swap]::view-transition-old(book-leaf-right){z-index:0;animation:none}:root[data-book-move=swap]::view-transition-new(book-leaf-right){z-index:1;animation:leaf-fade .18s ease both}:root[data-book-move]::view-transition-old(book-leaf-one){animation:leaf-slide-out .3s ease-in-out both}:root[data-book-move]::view-transition-new(book-leaf-one){animation:leaf-slide-in .3s ease-in-out both}@keyframes leaf-fade{0%{opacity:0}}@keyframes leaf-away{to{transform:perspective(1600px) rotateY(calc(-80deg * var(--book-way)))}}@keyframes leaf-in{0%{transform:perspective(1600px) rotateY(calc(80deg * var(--book-way)))}}@keyframes leaf-slide-out{to{transform:translate(calc(-100% * var(--book-way)))}}@keyframes leaf-slide-in{0%{transform:translate(calc(100% * var(--book-way)))}}@keyframes camera-in-old{to{transform:scale(1.08);opacity:0}}@keyframes camera-in-new{0%{transform:scale(.985);opacity:0}}@keyframes camera-out-old{to{transform:scale(.985);opacity:0}}@keyframes camera-out-new{0%{transform:scale(1.08);opacity:0}}@media(max-width:900px){.app{grid-template-columns:1fr}.table{padding-right:calc(var(--playfield-inset-x) + env(safe-area-inset-right))}.rail{right:calc(var(--playfield-inset-x) * .5 + env(safe-area-inset-right))}.log{position:fixed;right:env(safe-area-inset-right);top:env(safe-area-inset-top);bottom:env(safe-area-inset-bottom);width:var(--log-w, 34px);padding:0;z-index:44}.app:not(.log-collapsed) .log{width:min(320px,76vw)}.gem.atk,.gem.hp{width:max(20px,calc(30 * var(--ui)));height:max(20px,calc(30 * var(--ui)));font-size:max(9.5px,calc(14 * var(--ui)))}.hp-gem{width:max(26px,calc(42 * var(--ui)));height:max(26px,calc(42 * var(--ui)))}.armor-gem{width:max(25px,calc(40 * var(--ui)));height:max(25px,calc(40 * var(--ui)))}.hp-gem,.armor-gem{font-size:max(9.5px,calc(15 * var(--ui)))}.mana-text{font-size:max(9px,calc(13 * var(--ui)))}.power-cost{width:max(20px,calc(28 * var(--ui)));height:max(20px,calc(28 * var(--ui)));font-size:max(9px,calc(13 * var(--ui)))}.slot-cost,.slot-atk,.slot-hp{font-size:max(9px,1.05em)}}@media(pointer:coarse){.minion:after,.rail-toggle:after,.log-shut .log-toggle:after{content:"";position:absolute;left:50%;top:50%;width:max(44px,100%);height:max(44px,100%);transform:translate(-50%,-50%);z-index:3}.log-shut .log-toggle{position:relative}.log-shut .log-toggle:after{left:auto;right:0;transform:translateY(-50%)}.row.placing .piece-slot{flex:0 0 max(44px,calc(34 * var(--ui)));width:max(44px,calc(34 * var(--ui)))}.settings-switch,.settings-panel .concede,.settings-close{min-height:44px;box-sizing:border-box;font-size:12px}.settings-panel .concede,.settings-close{display:grid;place-content:center}}html.match-route,html.match-route body{overscroll-behavior:none;touch-action:pan-x pan-y}.rotate-plaque{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:grid;place-content:center;justify-items:center;gap:14px;padding:32px;text-align:center;background:radial-gradient(ellipse at 50% 40%,#30241ab8,#080605f7),var(--board, #0b0908);background-size:cover;background-position:center;color:var(--gold, #e2b25c)}.rotate-icon{width:64px;height:64px;color:#e2b25cd9;animation:fx-rotate-hint 2.8s ease-in-out infinite}@keyframes fx-rotate-hint{0%,45%,to{transform:rotate(0)}70%,90%{transform:rotate(-90deg)}}.rotate-line{margin:0;font-size:19px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 8px rgba(0,0,0,.95)}.rotate-note{margin:0;font-size:12px;letter-spacing:.04em;color:#e2d6be9e}.rotate-plaque .turn-clock{width:min(260px,70vw);margin-top:4px}@font-face{font-family:Cinzel;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/cinzel-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cinzel;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/cinzel-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/cormorant-garamond-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:400 500;font-display:swap;src:url(/fonts/cormorant-garamond-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/cormorant-garamond-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:400 500;font-display:swap;src:url(/fonts/cormorant-garamond-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}.book-room{position:relative;height:100dvh;--leaf-gap: max(6px, calc(14 * var(--ui)));--leaf-pad-y: max(14px, calc(52 * var(--ui)));--leaf-pad-x: max(12px, calc(46 * var(--ui)));--leaf-bleed: calc(.5 * var(--leaf-pad-x));display:flex;flex-direction:column;overflow:clip;background:#0b0908;color:var(--ink-dark);font-family:var(--font-body);padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);box-sizing:border-box}.book-scene{position:absolute;top:0;right:0;bottom:0;left:0;overflow:clip}.book-scene:before{content:"";position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;background:url(/art/ui/menu-forge.jpg) center / cover no-repeat;filter:blur(5px) brightness(.5) saturate(.9)}.book-candle{position:absolute;left:calc(-140 * var(--ui));top:calc(-120 * var(--ui));width:calc(620 * var(--ui));height:calc(620 * var(--ui));border-radius:50%;pointer-events:none;background:radial-gradient(circle,#ff963c52,#ff78281a 38%,#0000 70%);animation:book-candle 4.6s ease-in-out infinite}@keyframes book-candle{0%,to{opacity:.85;transform:scale(1)}40%{opacity:1;transform:scale(1.05)}70%{opacity:.8;transform:scale(.98)}}.book-veil{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 50% 48%,#0000 40%,#050302c7)}.book-top{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:calc(10 * var(--ui));padding:0 max(10px,calc(28 * var(--ui)));min-height:max(44px,calc(56 * var(--ui)))}.book-crumb{margin:0;display:flex;align-items:center;gap:calc(8 * var(--ui));font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.14em;text-transform:uppercase;color:#b8a888}.book-crumb-sep{color:var(--frame)}.book-wordmark{display:block;margin:0;font-size:max(14px,calc(20 * var(--ui)));white-space:nowrap}.book-who{margin:0;justify-self:end;display:flex;align-items:center;gap:max(8px,calc(14 * var(--ui)));font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.1em;color:#d9c9a3}.book-handle{transition:color .14s ease;max-width:calc(220 * var(--ui));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.book-handle-missing{color:var(--gold)}.book-signout{min-height:44px;min-width:44px;padding:0 max(8px,calc(10 * var(--ui)));font:inherit;letter-spacing:inherit;color:#9a8a6a;background:none;border:0;cursor:pointer;transition:color .14s ease}.book-signout:hover,.book-signout:active{color:var(--gold)}.book-signin{width:auto;padding:0 16px}.book-account{position:relative}.book-account .book-handle{max-width:none}.book-account-open{display:flex;align-items:center;gap:max(6px,calc(8 * var(--ui)));min-height:44px;min-width:44px;padding:0 max(6px,calc(8 * var(--ui)));cursor:pointer;list-style:none}.book-account-open::-webkit-details-marker{display:none}.book-account-open:after{content:"▾";font-size:max(10px,calc(11 * var(--ui)));color:#9a8a6a}.book-account[open] .book-account-open:after{content:"▴"}.book-account-menu{position:absolute;right:0;top:100%;z-index:4;display:flex;flex-direction:column;padding:0 max(8px,calc(10 * var(--ui)));background:linear-gradient(180deg,#2b1d12,#1b1109);border-radius:calc(3 * var(--ui));box-shadow:0 calc(4 * var(--ui)) calc(10 * var(--ui)) #0009}.book-room .chrome-banner{position:relative;z-index:2;margin:0 max(10px,calc(96 * var(--ui)));padding:max(6px,calc(7 * var(--ui))) calc(18 * var(--ui));font-family:var(--font-title);font-size:max(12px,calc(13 * var(--ui)));letter-spacing:.08em;color:#f0dfba;background:linear-gradient(180deg,#2b1d12,#1b1109);border:0;border-radius:calc(3 * var(--ui));box-shadow:0 calc(3 * var(--ui)) calc(6 * var(--ui)) #00000073}.book-room .chrome-banner-update{color:#ffcf9a;background:linear-gradient(180deg,#4a1c10,#2a0f08)}.book{position:relative;z-index:1;flex:1 1 auto;min-height:0;display:flex;margin:max(6px,calc(14 * var(--ui))) max(8px,calc(96 * var(--ui))) max(6px,calc(18 * var(--ui)))}.book-leather{position:absolute;left:calc(-22 * var(--ui));right:calc(-22 * var(--ui));top:calc(-18 * var(--ui));bottom:calc(-22 * var(--ui));border-radius:calc(10 * var(--ui));background:linear-gradient(180deg,#3a1a1c,#24100f 60%,#1a0b0b);box-shadow:inset 0 0 0 2px #5a3a2a,inset 0 0 calc(40 * var(--ui)) #0009,0 calc(30 * var(--ui)) calc(40 * var(--ui)) #000000bf}.book-corner{position:absolute;width:calc(58 * var(--ui));height:calc(58 * var(--ui));clip-path:polygon(0 0,100% 0,0 100%);background:linear-gradient(135deg,#f3d38a,#b8862b 45%,#6b5836)}.book-corner-tl{left:calc(-22 * var(--ui));top:calc(-18 * var(--ui))}.book-corner-tr{right:calc(-22 * var(--ui));top:calc(-18 * var(--ui));transform:rotate(90deg)}.book-corner-br{right:calc(-22 * var(--ui));bottom:calc(-22 * var(--ui));transform:rotate(180deg)}.book-corner-bl{left:calc(-22 * var(--ui));bottom:calc(-22 * var(--ui));transform:rotate(270deg)}.book-leaf{position:relative;flex:1 1 0;min-width:0;overflow:hidden;background:url(/art/ui/menu/parchment.jpg) center / cover;box-shadow:inset 0 0 calc(60 * var(--ui)) #5a3c1e59;transform-style:preserve-3d}.book-leaf-left{border-radius:calc(6 * var(--ui)) 0 0 calc(6 * var(--ui))}.book-leaf-right{border-radius:0 calc(6 * var(--ui)) calc(6 * var(--ui)) 0}.book-leaf-one{border-radius:calc(6 * var(--ui))}.book-gutter{position:absolute;left:50%;top:0;bottom:0;width:calc(70 * var(--ui));transform:translate(-50%);pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000,#3c230f59 45%,#140a058c,#3c230f59 55%,#0000)}.book-rule{position:absolute;left:calc(20 * var(--ui));right:calc(20 * var(--ui));top:calc(20 * var(--ui));bottom:calc(20 * var(--ui));border:1.5px solid rgba(90,60,30,.35);border-radius:calc(3 * var(--ui));pointer-events:none}.book-rule:before{content:"";position:absolute;inset:calc(6 * var(--ui));border:1px solid rgba(90,60,30,.22)}.book-inner{position:relative;z-index:1;height:100%;box-sizing:border-box;padding:var(--leaf-pad-y) var(--leaf-pad-x);display:flex;flex-direction:column;gap:var(--leaf-gap)}.leaf-page{position:relative;flex:1 1 auto;min-width:0;min-height:0;display:flex;flex-direction:column;margin-inline:calc(-1 * var(--leaf-bleed));overflow:clip}.leaf-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-inline:var(--leaf-bleed);display:flex;flex-direction:column;gap:var(--leaf-gap)}.leaf-page:after{content:"";position:absolute;left:0;right:0;bottom:0;height:max(18px,calc(34 * var(--ui)));pointer-events:none;opacity:0;background:linear-gradient(180deg,#e2d1ae00,#decba5b8 60%,#d8c39af2)}.leaf-page[data-more=true]:after{opacity:1}.leaf-page[data-scrolled=true]:after{transition:opacity .16s ease}.list-page{position:relative;min-height:0;display:flex;flex-direction:column;overflow:clip}.list-page:after{content:"";position:absolute;left:0;right:0;bottom:0;height:max(18px,calc(34 * var(--ui)));pointer-events:none;opacity:0;background:linear-gradient(180deg,#e2d1ae00,#decba5b8 60%,#d8c39af2)}.list-page[data-more=true]:after{opacity:1}.manifest-page{flex:1 1 auto;min-height:max(120px,calc(180 * var(--ui)))}.leaf-pin{position:relative;z-index:1;flex:none;margin-top:auto;display:flex;flex-direction:column;gap:var(--leaf-gap)}.leaf-strip{flex:none;display:flex;align-items:center;gap:max(8px,calc(14 * var(--ui)));padding-bottom:max(6px,calc(10 * var(--ui)));border-bottom:1px solid rgba(90,60,30,.3)}.strip-lines{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;overflow:hidden}.book-dogear{position:absolute;left:0;top:0;z-index:3;width:max(44px,calc(78 * var(--ui)));height:max(44px,calc(78 * var(--ui)));text-decoration:none}.book-dogear:before{content:"";position:absolute;inset:calc(-10 * var(--ui));background:radial-gradient(circle at 36% 36%,#ffbe5a99,#ffbe5a00 62%);opacity:0;transition:opacity .14s ease;pointer-events:none}.book-dogear:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#d9c39a,#d9c39a 50%,#0000 50%);filter:drop-shadow(2px 2px 2px rgba(0,0,0,.25));pointer-events:none}.book-dogear-label{position:absolute;z-index:1;left:36%;top:36%;transform:translate(-50%,-50%) rotate(-45deg);white-space:nowrap;font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.1em;color:#5a3f22}.book-dogear:hover:before,.book-dogear:active:before{opacity:1}.book-foot{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:max(10px,calc(14 * var(--ui)));padding:0 max(10px,calc(28 * var(--ui)));min-height:max(28px,calc(30 * var(--ui)));font-family:var(--font-title);font-size:max(12px,calc(10 * var(--ui)));letter-spacing:.12em;color:#7a6d55}.book-build{text-transform:uppercase}.book-foot .legal-footer{padding:0;font-size:inherit;color:inherit}.chapter-title{margin:0;font-family:var(--font-title);font-weight:700;font-size:max(16px,calc(30 * var(--ui)));letter-spacing:.06em;line-height:1.1;color:var(--ink-dark)}.chapter-sub{margin:0;font-style:italic;font-size:max(13px,calc(18 * var(--ui)));color:var(--ink-mute)}.ink-hr{height:1px;background:linear-gradient(90deg,#2b1d1200,#2b1d128c 20%,#2b1d128c 80%,#2b1d1200)}.inklink{display:inline-flex;align-items:center;justify-content:center;align-self:center;min-height:44px;min-width:44px;padding:0 calc(6 * var(--ui));font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.12em;color:var(--ink-mute);background:none;border:0;border-bottom:1px solid rgba(106,86,63,.5);border-radius:0;cursor:pointer;transition:color .14s ease,border-bottom-color .14s ease}.inklink:hover,.inklink:active{color:var(--ink-dark);border-bottom-color:var(--ink-dark)}.leaf-line{margin:0;font-size:max(13px,calc(16 * var(--ui)));line-height:1.5;color:var(--ink-mute)}.leaf-form .form-label{color:var(--ink-mute)}.leaf-form .form-input{background:#fffbf08c;border-color:#2b1d1257;color:var(--ink-dark)}.leaf-form .form-help{color:var(--ink-mute)}.consent-line{display:flex;gap:10px;align-items:flex-start;min-height:44px;max-width:36em;margin-top:10px;font-size:14px;line-height:1.45;color:var(--ink-dark);cursor:pointer}.consent-line input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:#6a4410}.consent-link{color:#6a4410;text-decoration:underline}.book .lobby-open-code{color:#6a4410}.ink-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:max(6px,calc(10 * var(--ui)));font-size:max(13px,calc(17 * var(--ui)));color:var(--ink-mute)}.ink-list li{border-bottom:1px dashed rgba(43,29,18,.28);padding-bottom:calc(4 * var(--ui))}.book .plaque{align-self:center;min-width:max(160px,calc(258 * var(--ui)))}.book .page-problem{font-family:var(--font-body);font-size:max(12px,calc(15 * var(--ui)))}.book .page-status{color:var(--ink-mute)}.crest{display:flex;flex-direction:column;align-items:center;gap:max(4px,calc(8 * var(--ui)));text-align:center}.crest-portrait{position:relative;display:block;width:var(--hero-w);height:var(--hero-h);flex:none}.crest-name{margin:0;font-family:var(--font-title);font-weight:700;font-size:max(14px,calc(22 * var(--ui)));letter-spacing:.08em;color:var(--ink-dark)}.crest-meta{margin:0;font-style:italic;font-size:max(12px,calc(17 * var(--ui)));line-height:1.3;color:var(--ink-mute)}.crest-compact{flex:1 1 auto;min-width:0;flex-direction:row;align-items:center;gap:max(8px,calc(12 * var(--ui)));text-align:left}.crest-compact .crest-portrait{width:calc(var(--hero-w) * .6);height:calc(var(--hero-h) * .6)}.book-hold-title{font-size:max(15px,calc(24 * var(--ui)))}.book-chapters{display:flex;flex-direction:column;gap:max(2px,calc(2 * var(--ui)))}.book-leaf-one .book-chapters{flex:1 1 auto;justify-content:space-evenly}.book-ribbon{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:calc(4 * var(--ui)) calc(10 * var(--ui)) calc(5 * var(--ui)) calc(12 * var(--ui));border-radius:calc(4 * var(--ui));text-decoration:none;color:var(--ink-dark)}.book-ribbon-title{font-family:var(--font-title);font-weight:700;font-size:max(14px,calc(22 * var(--ui)));letter-spacing:.08em;line-height:1.05;transition:color .14s ease}.book-ribbon:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;border-radius:inherit;background:linear-gradient(90deg,#ffd16638,#ffd16600);opacity:0;transition:opacity .14s ease;pointer-events:none}.book-ribbon-gloss{font-style:italic;font-size:max(12px,calc(13 * var(--ui)));color:var(--ink-mute)}.book-ribbon-tail{position:absolute;--tail-out: min(calc(44 * var(--ui)), var(--leaf-bleed));right:calc(-1 * var(--tail-out));top:50%;margin-top:calc(-10 * var(--ui));width:calc(56 * var(--ui));height:calc(20 * var(--ui));clip-path:polygon(0 0,100% 0,88% 50%,100% 100%,0 100%);box-shadow:0 calc(3 * var(--ui)) calc(4 * var(--ui)) #00000059;transition:transform .2s ease}.book-inner:has(.book-chapters){--leaf-bleed: var(--leaf-pad-x)}.book-ribbon-play .book-ribbon-tail{background:linear-gradient(180deg,#d84a4a,#8a1f22)}.book-ribbon-decks .book-ribbon-tail{background:linear-gradient(180deg,#6d9be0,#2f4f8e)}.book-ribbon-cards .book-ribbon-tail{background:linear-gradient(180deg,#5fc28e,#1f6b47)}.book-ribbon-vault .book-ribbon-tail{background:linear-gradient(180deg,#ff9d4a,#9a4a12)}.book-ribbon-settings .book-ribbon-tail{background:linear-gradient(180deg,#f0cf7a,#a67c2a)}.book-ribbon:hover:before,.book-ribbon:active:before{opacity:1}.book-ribbon:hover .book-ribbon-title,.book-ribbon:active .book-ribbon-title{color:#8a5a10}.book-ribbon:hover .book-ribbon-tail,.book-ribbon:active .book-ribbon-tail{transform:translate(calc(14 * var(--ui)))}.deckpick{display:flex;flex-direction:column;align-items:center;gap:max(4px,calc(8 * var(--ui)))}.deck-tome{position:relative;display:block;width:max(44px,calc(190 * var(--ui)))}.deck-tome-strip{width:max(34px,calc(52 * var(--ui)))}.deck-cover{display:block;width:100%;filter:drop-shadow(0 calc(14 * var(--ui)) calc(12 * var(--ui)) rgba(0,0,0,.5)) drop-shadow(0 0 calc(16 * var(--ui)) rgba(255,190,90,.45))}.deck-medal{position:absolute;left:50%;top:46%;width:calc(var(--hero-w) * .52);height:calc(var(--hero-h) * .52);transform:translate(-50%,-50%)}.deck-name{margin:0;font-family:var(--font-title);font-weight:600;font-size:max(13px,calc(18 * var(--ui)));letter-spacing:.06em;color:var(--ink-dark)}.deck-size{margin:0;font-style:italic;font-size:max(12px,calc(16 * var(--ui)));color:var(--ink-mute)}.begin-block{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:max(4px,calc(8 * var(--ui)))}.begin-note{margin:0;font-style:italic;font-size:max(12px,calc(15 * var(--ui)));color:var(--ink-mute);text-align:center}.mode{position:relative;display:flex;flex-direction:column;gap:max(4px,calc(6 * var(--ui)));padding:max(8px,calc(14 * var(--ui))) max(8px,calc(16 * var(--ui)));border:1.5px solid rgba(43,29,18,.35);border-radius:calc(6 * var(--ui));background:#ffffff14}.mode-title{display:block;margin:0;font-family:var(--font-title);font-weight:700;font-size:max(14px,calc(24 * var(--ui)));letter-spacing:.1em;color:var(--ink-dark)}.mode-gloss{display:block;margin:0;font-style:italic;font-size:max(12px,calc(17 * var(--ui)));line-height:1.2;color:var(--ink-mute)}.mode-arm{display:flex;flex-direction:column;gap:max(3px,calc(5 * var(--ui)));min-height:44px;padding:0;font:inherit;text-align:left;color:inherit;background:none;border:0;cursor:pointer}.mode-arm:hover .mode-title,.mode-arm:active .mode-title{color:#6a4410}.mode-chosen{border-color:#b8862b;background:#ffe1a029;box-shadow:0 0 0 2px #ffd16659,0 0 calc(22 * var(--ui)) #ffbe5a59}.mode-sealed .mode-title,.mode-sealed .mode-gloss{color:#7a6a55}.mode-acts{display:flex;align-items:center;gap:max(8px,calc(14 * var(--ui)));flex-wrap:wrap}.book .mode-plaque{align-self:auto;min-width:max(150px,calc(190 * var(--ui)))}.book .join-label{font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.1em;color:var(--ink-mute);opacity:1}.book .join-code{min-height:44px;min-width:44px;font-family:var(--font-title);font-weight:700;font-size:max(16px,calc(22 * var(--ui)));letter-spacing:.28em;color:var(--ink-dark);background:#ffffff24;border:0;border-bottom:2px solid rgba(43,29,18,.6);border-radius:0}.book .join-go{min-width:max(96px,calc(110 * var(--ui)))}.pills{display:flex;flex-wrap:wrap;gap:max(6px,calc(10 * var(--ui)))}.pill{display:inline-flex;align-items:center;min-height:44px;min-width:44px;padding:0 max(12px,calc(14 * var(--ui)));border:1.5px solid rgba(43,29,18,.55);border-radius:999px;font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dark);background:#ffffff1a;cursor:pointer;transition:border-color .14s ease,background-color .14s ease,color .14s ease}.pill-on{background:var(--ink-dark);color:var(--gold);border-color:var(--ink-dark)}.pill:hover,.pill:active{border-color:var(--brass)}.heroes{display:flex;justify-content:center;align-items:flex-end;gap:max(6px,calc(18 * var(--ui)));padding-top:calc(14 * var(--ui))}.pick-hero{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;gap:max(3px,calc(6 * var(--ui)));padding:0;font:inherit;color:inherit;text-align:center;background:none;border:0;cursor:pointer;filter:saturate(.45) brightness(.82);opacity:.8;transition:filter .18s ease,opacity .18s ease,translate .16s ease-out}.pick-hero:hover{filter:saturate(.8) brightness(.95);opacity:1}.pick-hero.chosen{filter:none;opacity:1;translate:0 calc(-12 * var(--ui))}.pick-portrait{position:relative;width:var(--hero-w);height:var(--hero-h);filter:drop-shadow(0 calc(8 * var(--ui)) calc(8 * var(--ui)) rgba(0,0,0,.45))}.pick-hero.chosen .pick-portrait{animation:fx-hero-active 3.4s ease-in-out infinite}.pick-hero .pick-name{font-family:var(--font-title);font-weight:700;font-size:max(12px,calc(17 * var(--ui)));letter-spacing:.03em;color:var(--ink-dark)}.pick-hero.chosen .pick-name{color:#6a4410}.pick-hero .pick-sub{font-style:italic;font-size:max(12px,calc(14 * var(--ui)));line-height:1.25;color:var(--ink-mute)}.unknown-foe{margin:0;font-style:italic;font-size:max(12px,calc(17 * var(--ui)));color:var(--ink-mute)}.wax{position:relative;display:flex;align-items:center;gap:max(8px,calc(14 * var(--ui)));min-height:44px}.wax-seal{flex:none;width:max(44px,calc(96 * var(--ui)));height:max(44px,calc(96 * var(--ui)));background:url(/art/ui/menu/seal.webp) center / contain no-repeat;filter:drop-shadow(0 calc(6 * var(--ui)) calc(8 * var(--ui)) rgba(0,0,0,.5));transform:rotate(-9deg)}.wax-line{margin:0;font-style:italic;font-size:max(12px,calc(16 * var(--ui)));line-height:1.25;color:var(--ink-mute)}.wax-small{flex-direction:column;align-items:center;text-align:center;gap:calc(4 * var(--ui))}.wax-small .wax-seal{width:max(44px,calc(56 * var(--ui)));height:max(44px,calc(56 * var(--ui)))}.wax-small .wax-line{font-size:max(12px,calc(13 * var(--ui)))}.shelf{display:flex;align-items:flex-end;justify-content:center;gap:max(6px,calc(14 * var(--ui)));flex-wrap:wrap;padding-bottom:calc(14 * var(--ui));border-bottom:max(3px,calc(6 * var(--ui))) solid #5a3a22;box-shadow:0 calc(8 * var(--ui)) 0 calc(-4 * var(--ui)) #3c230f59}.shelf-tome{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(6 * var(--ui));width:max(96px,calc(120 * var(--ui)));padding:0;border:0;background:none;color:inherit;font:inherit;cursor:pointer;transition:transform .16s ease-out}.shelf-cover{display:block;width:100%;filter:drop-shadow(0 calc(12 * var(--ui)) calc(12 * var(--ui)) rgba(0,0,0,.5))}.shelf-medal{position:absolute;left:50%;top:42%;width:calc(var(--hero-w) * .36);height:calc(var(--hero-h) * .36);transform:translate(-50%,-50%)}.shelf-label{overflow-wrap:break-word;font-family:var(--font-title);font-weight:600;font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.06em;color:var(--ink-dark);text-align:center;line-height:1.25}.shelf-meta{font-style:italic;font-size:max(12px,calc(14 * var(--ui)));color:var(--ink-mute);margin-top:calc(-4 * var(--ui))}.shelf-tome-chosen{transform:translateY(calc(-12 * var(--ui)))}.shelf-tome-chosen .shelf-cover{filter:drop-shadow(0 calc(18 * var(--ui)) calc(14 * var(--ui)) rgba(0,0,0,.55)) drop-shadow(0 0 calc(10 * var(--ui)) rgba(255,209,102,.95)) drop-shadow(0 0 calc(26 * var(--ui)) rgba(255,160,60,.7))}.shelf-tome-chosen .shelf-label{color:#6a4410}.shelf-tome:hover,.shelf-tome:active{transform:translateY(calc(-6 * var(--ui)))}.shelf-tome-chosen:hover,.shelf-tome-chosen:active{transform:translateY(calc(-14 * var(--ui)))}.shelf-tome-empty{align-self:flex-end}.shelf-slot{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:102 / 172;border:2px dashed rgba(90,60,30,.5);border-radius:calc(8 * var(--ui));color:var(--ink-mute)}.shelf-slot svg{width:40%;height:40%}.deck-head{display:flex;align-items:baseline;justify-content:space-between;gap:max(8px,calc(12 * var(--ui)));flex-wrap:wrap}.deck-stats{margin:0;display:flex;flex-wrap:wrap;gap:max(8px,calc(24 * var(--ui)));font-style:italic;font-size:max(12px,calc(17 * var(--ui)));color:var(--ink-mute)}.deck-stats b{font-style:normal;font-family:var(--font-title);font-size:max(12px,calc(14 * var(--ui)));color:var(--ink-dark)}.curve{display:flex;align-items:flex-end;gap:max(4px,calc(10 * var(--ui)));height:max(56px,calc(96 * var(--ui)));padding:0 calc(4 * var(--ui))}.curve-bar{flex:1 1 0;height:100%;display:grid;grid-template-rows:auto 1fr auto;justify-items:center;align-items:end;gap:calc(4 * var(--ui));font-family:var(--font-title);font-size:max(12px,calc(11 * var(--ui)));color:var(--ink-mute)}.curve-bar b{color:var(--ink-dark);font-size:max(12px,calc(12 * var(--ui)))}.curve-bar i{display:block;width:100%;min-height:2px;background:linear-gradient(180deg,#4a6fb0,#2b3d6e);border:1.5px solid var(--ink-dark);border-radius:calc(3 * var(--ui)) calc(3 * var(--ui)) 0 0}.keys{display:flex;gap:max(6px,calc(10 * var(--ui)));margin:0;padding:0;list-style:none}.key{width:max(44px,calc(54 * var(--ui)));height:max(44px,calc(54 * var(--ui)));border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--brass),0 calc(4 * var(--ui)) calc(8 * var(--ui)) #0006}.key img,.key-blank{width:100%;height:100%;object-fit:cover;display:block}.key-blank{background:linear-gradient(#39424f,#22262f)}.acts-sealed{opacity:.85}.acts-row{margin:0;display:flex;flex-wrap:wrap;gap:max(8px,calc(22 * var(--ui)));font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.12em;text-transform:uppercase;color:#7a6a55}.acts-row span{border-bottom:1px solid rgba(122,106,85,.4);padding-bottom:2px}.deck-play{margin-top:auto;display:flex;justify-content:flex-end}.book .deck-play .plaque{align-self:auto}.filters{display:flex;flex-direction:column;gap:max(4px,calc(6 * var(--ui)))}.filter-label{margin:0;font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.filter-row{display:flex;flex-wrap:wrap;gap:max(6px,calc(8 * var(--ui)))}.filter-count{margin:0;font-style:italic;font-size:max(12px,calc(16 * var(--ui)));color:var(--ink-mute)}.gem-pick{position:relative;z-index:0;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;cursor:pointer;font-family:var(--font-title);font-weight:800;font-size:max(12px,calc(15 * var(--ui)));color:#eaf4ff;text-shadow:var(--gem-digit-shadow)}.gem-pick:before{content:"";position:absolute;z-index:-1;width:max(30px,calc(34 * var(--ui)));height:max(34px,calc(39 * var(--ui)));background:url(/art/ui/gem-mana.webp) center / contain no-repeat;opacity:.45;transition:opacity .14s ease}.gem-pick:after{content:"";position:absolute;z-index:-2;width:max(34px,calc(40 * var(--ui)));height:max(34px,calc(40 * var(--ui)));border-radius:50%;background:radial-gradient(closest-side,#7fb2ff59,#7fb2ff00);box-shadow:0 0 0 2px var(--gold);opacity:0;transition:opacity .14s ease}.gem-pick-on:before{opacity:1}.gem-pick-on:after{opacity:1}.gem-pick:hover:before,.gem-pick:active:before{opacity:1}.grid{display:grid;grid-template-columns:repeat(var(--grid-of, 3),minmax(0,1fr));gap:max(max(8px,calc(14 * var(--ui))),calc(var(--craft-chip-gap) + var(--craft-chip-h) + var(--craft-chip-gap))) calc(8 * var(--ui));justify-items:center;align-content:start}.grid-of-6{--grid-of: 3}.grid-empty{grid-column:1 / -1}.grid-fit{--card-max: var(--card-w);--card-floor: min(var(--card-w), 70px);--fit-row-gap: max(max(8px, calc(14 * var(--ui))), calc(var(--craft-chip-gap) + var(--craft-chip-h) + var(--craft-chip-gap)));--fit-col-gap: calc(8 * var(--ui));row-gap:var(--fit-row-gap);column-gap:var(--fit-col-gap);padding-bottom:max(0px,calc(22px - var(--craft-chip-gap) - var(--craft-chip-h) / 2));box-sizing:border-box;container-type:size;flex:1 1 0;min-height:calc(2 * var(--card-floor) / .712 + 2 * var(--fit-row-gap) + max(0px,calc(22px - var(--craft-chip-gap) - var(--craft-chip-h) / 2)))}.grid-fit .grid-cell{--card-w: clamp( var(--card-floor), min(calc((50cqh - var(--fit-row-gap)) * .712), calc((100cqw - 2 * var(--fit-col-gap)) / 3)), var(--card-max) );--card-h: calc(var(--card-w) / .712)}.grid-card{cursor:pointer}.grid-card-open{filter:drop-shadow(0 0 calc(12 * var(--ui)) rgba(255,190,90,.7))}.owned{position:absolute;right:calc(-6 * var(--ui));top:18%;width:max(20px,calc(26 * var(--ui)));height:max(20px,calc(26 * var(--ui)));border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:4;background:var(--ink-dark);color:var(--gold);font-family:var(--font-title);font-weight:700;font-size:max(11px,calc(12 * var(--ui)));box-shadow:0 0 0 2px var(--brass)}.card-locked .card-art{filter:grayscale(1) brightness(.55)}.card-locked .slot{opacity:.55}.card-lock{position:absolute;left:50%;top:24%;transform:translate(-50%);z-index:4;width:max(44px,calc(44 * var(--ui)));height:max(44px,calc(44 * var(--ui)));border-radius:50%;display:flex;align-items:center;justify-content:center;background:#140c08c7;box-shadow:0 0 0 2px var(--frame);color:var(--gold)}.card-lock svg{width:58%;height:58%}.craft{position:absolute;left:50%;top:calc(100% + var(--craft-chip-gap) + var(--craft-chip-h) / 2);transform:translate(-50%,-50%);z-index:4;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0;border:0;background:none;cursor:pointer}.craft-chip{display:inline-flex;align-items:center;gap:calc(5 * var(--ui));box-sizing:border-box;height:var(--craft-chip-h);padding:0 calc(10 * var(--ui));border-radius:999px;white-space:nowrap;background:var(--ink-dark);color:#ffb257;font-family:var(--font-title);font-weight:700;font-size:max(12px,calc(10 * var(--ui)));letter-spacing:.1em;box-shadow:0 0 0 1.5px var(--brass);position:relative;transition:color .14s ease}.craft-chip:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;box-shadow:0 0 0 1.5px var(--gold);opacity:0;transition:opacity .14s ease;pointer-events:none}.craft:hover .craft-chip,.craft:active .craft-chip{color:var(--gold)}.craft:hover .craft-chip:after,.craft:active .craft-chip:after{opacity:1}.pager{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:max(8px,calc(10 * var(--ui)));font-family:var(--font-title);font-size:max(12px,calc(11 * var(--ui)));letter-spacing:.14em;text-transform:uppercase;color:var(--ink-mute)}.pager .inklink{padding:0 calc(4 * var(--ui))}.pager .inklink:disabled{opacity:.4;cursor:default;border-bottom-color:transparent}.pager-at{white-space:nowrap}.vault{display:flex;align-items:flex-end;justify-content:center;gap:max(8px,calc(18 * var(--ui)))}.vault-pack{width:max(44px,calc(170 * var(--ui)));filter:drop-shadow(0 calc(16 * var(--ui)) calc(16 * var(--ui)) rgba(0,0,0,.55))}.vault-dust{width:max(44px,calc(90 * var(--ui)))}.vault-rules{display:flex;flex-direction:column;gap:max(6px,calc(8 * var(--ui)));margin:0;padding:0;list-style:none;font-style:italic;font-size:max(12px,calc(15 * var(--ui)));color:var(--ink-mute)}.vault-rules b{font-style:normal;font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.08em;color:var(--ink-dark)}.vault-note{margin:0;font-style:italic;font-size:max(12px,calc(15 * var(--ui)));color:var(--ink-mute)}.fan{display:flex;justify-content:center}.fan-card{width:max(44px,calc(110 * var(--ui)));border-radius:calc(6 * var(--ui));transition:transform .14s ease;filter:drop-shadow(0 calc(10 * var(--ui)) calc(10 * var(--ui)) rgba(0,0,0,.5))}.fan-card:first-child{transform:rotate(-9deg) translateY(calc(6 * var(--ui)))}.fan-card:last-child{transform:rotate(9deg) translateY(calc(6 * var(--ui)))}.fan-card+.fan-card{margin-left:calc(-26 * var(--ui))}.vault-packwrap{position:relative;display:inline-block;line-height:0}.vault-badge{position:absolute;right:calc(-6 * var(--ui));top:calc(-8 * var(--ui));min-width:max(24px,calc(30 * var(--ui)));height:max(24px,calc(30 * var(--ui)));padding:0 calc(6 * var(--ui));border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--ink-dark);color:var(--gold);font-family:var(--font-title);font-weight:800;font-size:max(12px,calc(15 * var(--ui)));line-height:1;box-shadow:0 0 0 2px var(--brass),0 0 calc(10 * var(--ui)) #ffbe5a8c}.vault-burst{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;border-radius:50%;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffd68cd9,#ff8c2873,#ff781400 70%)}.vault-tearing .vault-pack{animation:vault-tear .62s ease-out}.vault-tearing .vault-burst{animation:vault-burst .62s ease-out}@keyframes vault-tear{0%{transform:none}22%{transform:rotate(-4deg) scale(1.05)}55%{transform:rotate(3deg) scale(1.02)}to{transform:none}}@keyframes vault-burst{0%{opacity:0;transform:scale(.5)}25%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.5)}}.vault-vial{position:relative;display:flex;align-items:center;gap:calc(8 * var(--ui))}.vault-balance{font-family:var(--font-title);font-weight:700;font-size:max(14px,calc(20 * var(--ui)));color:var(--ink-dark);white-space:nowrap}.vault-balance small{font-size:max(10px,calc(11 * var(--ui)));letter-spacing:.14em;color:var(--ink-mute)}.vault-flight{position:absolute;left:calc(14 * var(--ui));top:calc(-14 * var(--ui));font-family:var(--font-title);font-size:max(12px,calc(15 * var(--ui)));color:#ffb257;animation:vault-fly .26s ease-out infinite}@keyframes vault-fly{0%{opacity:.2;transform:translateY(calc(-8 * var(--ui)))}to{opacity:1;transform:none}}.vault-acts{display:flex;flex-direction:column;align-items:center;gap:max(4px,calc(8 * var(--ui)))}.book .vault-acts .plaque{align-self:auto}.vault-count,.vault-gain{margin:0;font-style:italic;font-size:max(12px,calc(15 * var(--ui)));color:var(--ink-mute)}.vault-gain{color:#8a5a12;font-style:normal;font-family:var(--font-title)}.spill{--spread-card: calc(168 * var(--ui));--spread-card-h: calc(var(--spread-card) / .712);--spread-step: calc(1.16 * var(--spread-card));--spread-drop: calc(1.08 * var(--spread-card-h));position:relative;margin-inline:calc(-1 * var(--leaf-bleed));flex:1 1 auto;min-height:calc(var(--spread-drop) + var(--spread-card-h));contain:layout}.reveal-head{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:max(8px,calc(14 * var(--ui)))}.spill-in .spilled{animation:spill-in .35s ease-out}@keyframes spill-in{0%{transform:translateY(calc(-46 * var(--ui))) scale(.88)}to{transform:none}}.spilled{position:absolute;left:calc(50% + var(--h, 0) * var(--spread-step) / 2 - var(--spread-card) / 2);top:calc(50% + (var(--row, 0) - .5) * var(--spread-drop) - var(--spread-card-h) / 2);display:flex;align-items:flex-start;justify-content:center;width:var(--spread-card);height:var(--spread-card-h);min-width:44px;min-height:44px;padding:0;border:0;background:none;cursor:pointer;rotate:calc(var(--tilt, 0) * 1deg);perspective:900px;transition:translate .14s ease}.spilled:not(.spilled-face):hover,.spilled:not(.spilled-face):active{translate:0 calc(-10 * var(--ui))}.spilled.spilled-face{z-index:calc(2 + var(--turn, 0))}.spilled-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d}.spilled-side{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;-webkit-backface-visibility:hidden;backface-visibility:hidden}.spilled-front{transform:rotateY(180deg)}.spilled.spilled-face .spilled-flip{transform:rotateY(180deg);animation:spilled-turn .42s cubic-bezier(.45,.05,.25,1)}@keyframes spilled-turn{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}.spilled:before{content:"";position:absolute;inset:calc(-1 * var(--bloom-reach, 0px));z-index:-1;border-radius:14%;pointer-events:none;background:radial-gradient(closest-side,#ffd678f2 72%,#ffc45a80,#ffaa3200);opacity:0}.spilled-bloom{--bloom-ms: .9s;--bloom-reach: calc(20 * var(--ui))}.spilled-bloom-epic{--bloom-ms: 1.3s;--bloom-reach: calc(30 * var(--ui))}.spilled-bloom-legendary{--bloom-ms: 1.7s;--bloom-reach: calc(40 * var(--ui))}.spilled-bloom:before{animation:spilled-bloom var(--bloom-ms) ease-out .82s}@keyframes spilled-bloom{0%{opacity:0;transform:scale(.9)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}.spill .spilled.spilled-leaving{animation:spilled-leave .35s ease-in both;animation-delay:calc((var(--h, 0) + 2) * 60ms);pointer-events:none}@keyframes spilled-leave{0%{transform:none;opacity:1}to{transform:translate(calc(-.35 * var(--spread-card)),calc(-.3 * var(--spread-card))) scale(.82);opacity:0}}.spilled-card{--card-w: var(--spread-card);--card-h: var(--spread-card-h)}.spilled .fan-card{width:100%;height:auto}.leaf-dim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,#180e061f,#180e063d 42%,#180e063d);animation:leaf-dim-in .32s ease-out}@keyframes leaf-dim-in{0%{opacity:0}to{opacity:1}}.leaf-dim.leaf-dim-lifting{animation:leaf-dim-out .59s ease-out both}@keyframes leaf-dim-out{0%{opacity:1}to{opacity:0}}.leaf-dim~.leaf-page .chapter-sub,.leaf-dim~.leaf-pin .chapter-sub{color:var(--ink-dark)}.spilled-card .slot-ribbon{font-size:max(9px,.92em)}.tag{position:absolute;left:7%;right:7%;bottom:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;padding:.05em .2em;border-radius:.35em;overflow:hidden;background:linear-gradient(#140c06f0,#0a0603f7);box-shadow:0 0 0 1px #ffd69647,0 .15em .4em #000000b3;color:#e8dcc6;font-family:var(--font-title);font-weight:700;font-size:max(9px,.85em);letter-spacing:.08em}.tag i{font-style:normal;opacity:.85}.tag-gold{color:var(--gold);box-shadow:0 0 0 1px var(--brass),0 .15em .4em #000000b3}.claim{display:flex;flex-direction:column;align-items:center;gap:max(6px,calc(10 * var(--ui)))}.book .claim .plaque{align-self:auto}.claim-take:disabled{opacity:.45;cursor:default}.claim.claim-leaving{overflow:hidden;animation:claim-leave .35s ease-in both}@keyframes claim-leave{0%{opacity:1;height:var(--claim-h)}to{opacity:0;height:0}}.spares{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:max(4px,calc(6 * var(--ui)));overflow-y:auto}.spare{display:flex;align-items:center;flex-wrap:wrap;gap:max(6px,calc(10 * var(--ui)));min-height:44px;border-bottom:1px dashed rgba(43,29,18,.28)}.spare-gem{flex:none;width:max(22px,calc(26 * var(--ui)));height:max(22px,calc(26 * var(--ui)));border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1d2c47;color:#cfe3ff;font-family:var(--font-title);font-weight:800;font-size:max(11px,calc(13 * var(--ui)))}.spare-name{flex:1 1 auto;font-size:max(13px,calc(17 * var(--ui)));color:var(--ink-dark)}.spare-copies{font-family:var(--font-title);font-size:max(12px,calc(14 * var(--ui)));color:var(--ink-mute)}.spare-rare .spare-gem{box-shadow:0 0 0 2px #4d7fc4e6}.spare-epic .spare-gem{box-shadow:0 0 0 2px #9a63d0e6}.spare-legendary .spare-gem{box-shadow:0 0 0 2px #e0912ff2}.wax-live{align-items:center;flex-wrap:wrap}.wax-break{position:relative;display:flex;flex-direction:column;align-items:center;gap:calc(2 * var(--ui));min-width:44px;min-height:44px;padding:0;border:0;background:none;cursor:pointer}.wax-break .wax-seal{width:max(44px,calc(72 * var(--ui)));height:max(44px,calc(72 * var(--ui)));transition:transform .14s ease-out}.wax-break:hover .wax-seal,.wax-break:active .wax-seal{transform:rotate(-14deg) scale(1.06)}.wax-break-label{font-family:var(--font-title);font-size:max(12px,calc(11 * var(--ui)));letter-spacing:.1em;text-transform:uppercase;color:#7a2c18;text-align:center}.wax-break:disabled{cursor:default;opacity:.6}.wax-said{display:flex;flex-direction:column;gap:calc(2 * var(--ui));flex:1 1 40%}.wax-keep{align-self:flex-start}.grid-cell{position:relative;display:flex;justify-content:center}.card-spent{opacity:.5}.craft-quiet{opacity:.85}.compendium-dust{margin:0;font-family:var(--font-title);font-size:max(12px,calc(16 * var(--ui)));color:var(--ink-mute)}.deck-rename{flex:1 1 40%;min-height:44px;min-width:44px;padding:0 calc(8 * var(--ui));font-family:var(--font-title);font-weight:700;font-size:max(14px,calc(18 * var(--ui)));letter-spacing:.04em;color:var(--ink-dark);background:#ffffff24;border:0;border-bottom:2px solid rgba(43,29,18,.6);border-radius:0}.acts-danger{color:#7a2c18;border-bottom-color:#7a2c1880}.acts-danger:hover,.acts-danger:active{color:#5c1f10;border-bottom-color:#5c1f10}.headline{display:flex;align-items:center;flex-wrap:wrap;gap:max(6px,calc(10 * var(--ui)))}.counter{margin-left:auto;font-family:var(--font-title);font-weight:800;font-size:max(16px,calc(26 * var(--ui)));color:var(--ink-dark);white-space:nowrap}.counter small{font-size:max(11px,calc(14 * var(--ui)));color:var(--ink-mute)}.manifest{margin:0;padding:0;list-style:none;flex:1 1 auto;min-height:max(120px,calc(180 * var(--ui)));overflow-y:auto}.manifest .row{border-bottom:1px dashed rgba(43,29,18,.24)}.row-out{width:100%;min-height:44px;display:flex;align-items:center;gap:max(8px,calc(12 * var(--ui)));padding:0 calc(4 * var(--ui));border:0;background:none;cursor:pointer;text-align:left}.row-out:hover,.row-out:active{background:#2b1d120f}.row-name{flex:1 1 auto;font-size:max(13px,calc(17 * var(--ui)));color:var(--ink-dark)}.row-x{font-family:var(--font-title);font-size:max(12px,calc(14 * var(--ui)));color:var(--ink-mute)}.gem.sm{position:static;flex:none;width:max(22px,calc(26 * var(--ui)));height:max(22px,calc(26 * var(--ui)));border-radius:50%;display:flex;align-items:center;justify-content:center;background:#1d2c47;color:#cfe3ff;font-family:var(--font-title);font-weight:800;font-size:max(11px,calc(13 * var(--ui)));box-shadow:0 0 0 1.5px #7fb2ff80}.row-new .row-out{animation:ink-write .42s ease-out}@keyframes ink-write{0%{background:#ffd16647}to{background:#ffd16600}}.curve-small{height:max(44px,calc(64 * var(--ui)))}.build-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:max(8px,calc(12 * var(--ui)));flex-wrap:wrap}.book .build-foot .plaque{align-self:auto}.plaque-dim{opacity:.5}.build-done:disabled{cursor:default}.leaf-section{display:flex;flex-direction:column;gap:max(4px,calc(8 * var(--ui)))}.leaf-heading{margin:0;font-family:var(--font-title);font-weight:700;font-size:max(13px,calc(18 * var(--ui)));letter-spacing:.08em;color:var(--ink-dark)}.leaf-row,.book-switch{display:flex;align-items:center;justify-content:space-between;gap:max(8px,calc(12 * var(--ui)));margin:0;min-height:44px;padding:0 calc(2 * var(--ui));border:0;border-bottom:1px dashed rgba(43,29,18,.28);background:none;color:inherit;text-align:left}.book-switch{cursor:pointer;width:100%}.leaf-section>.inklink{align-self:flex-start}.book-switch-name{font-family:var(--font-title);font-size:max(12px,calc(14 * var(--ui)));letter-spacing:.06em;color:var(--ink-dark)}.book-switch-track{position:relative;flex:0 0 auto;width:40px;height:20px;margin-left:auto;border-radius:10px;border:1px solid rgba(43,29,18,.42);background:#2b1d121f;box-shadow:inset 0 1px 2px #2b1d1238;transition:background .14s ease,border-color .14s ease}.book-switch-knob{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#f3e6cd;box-shadow:0 1px 2px #2b1d1280;transition:transform .14s ease,background .14s ease}.book-switch[aria-checked=true] .book-switch-track{background:#9a681873;border-color:#6a4410b3}.book-switch[aria-checked=true] .book-switch-knob{transform:translate(20px);background:#ffeec4}.book-switch-state{flex:0 0 auto;min-width:3ch;text-align:right;font-style:italic;font-size:max(12px,calc(16 * var(--ui)));color:var(--ink-mute)}.book-switch-read{flex:0 0 auto;padding:2px max(6px,calc(8 * var(--ui)));border:1px solid rgba(43,29,18,.24);border-radius:3px;font-family:var(--font-title);font-size:max(11px,calc(12 * var(--ui)));letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute)}.leaf-act{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;min-height:44px;min-width:44px;padding:0 calc(6 * var(--ui));font-family:var(--font-title);font-size:max(12px,calc(13 * var(--ui)));letter-spacing:.12em;color:var(--ink-dark);background:none;border:0;border-bottom:1.5px solid var(--ink-dark);border-radius:0;cursor:pointer}.leaf-act:hover,.leaf-act:active{color:#6a4410;border-bottom-color:#6a4410}.book-switch[aria-checked=true] .book-switch-state{color:#6a4410}.book-switch:hover .book-switch-state,.book-switch:active .book-switch-state{color:var(--ink-dark)}.leaf-note{margin:0;font-style:italic;font-size:max(12px,calc(14 * var(--ui)));line-height:1.3;color:var(--ink-mute)}.about{display:grid;grid-template-columns:auto 1fr;gap:calc(2 * var(--ui)) max(8px,calc(14 * var(--ui)));margin:0;font-size:max(12px,calc(15 * var(--ui)));color:var(--ink-mute)}.about dt{font-family:var(--font-title);font-size:max(12px,calc(12 * var(--ui)));letter-spacing:.06em;color:var(--ink-dark)}.about dd{margin:0}.about-id{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:max(11px,calc(12 * var(--ui)));overflow-wrap:anywhere}.wall-leaf{display:flex;flex-direction:column;align-items:center;gap:max(8px,calc(12 * var(--ui)));text-align:center}.wall-leaf .wall-title{font-family:var(--font-title);font-size:max(15px,calc(26 * var(--ui)));color:var(--ink-dark)}.wall-leaf .gate-line,.wall-leaf .gate-note,.wall-leaf .wall-legal{font-size:max(12px,calc(16 * var(--ui)));color:var(--ink-mute)}.wall-leaf .wall-legal-link,.wall-leaf .gate-line a{color:#8a5a10}.wall-leaf .google-btn{width:auto;min-width:max(200px,calc(260 * var(--ui)))}@media(max-width:900px),(max-height:520px){.book-room{--leaf-pad-y: max(8px, calc(30 * var(--ui)));--leaf-pad-x: max(10px, calc(30 * var(--ui)))}.book-crumb{display:none}.spill{--spread-card: calc(158 * var(--ui))}.book-foot{min-height:max(20px,calc(30 * var(--ui)))}.book-leaf-back .book-inner{padding-top:max(14px,calc(52 * var(--ui)));padding-left:max(34px,calc(46 * var(--ui)))}.book{margin:max(4px,calc(10 * var(--ui))) max(6px,calc(30 * var(--ui))) max(4px,calc(12 * var(--ui)))}.pill{padding:0 8px;letter-spacing:.04em}.mode .join-row,.mode .pills{flex-wrap:nowrap}.mode .join-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.shelf-tome-empty{width:max(76px,calc(96 * var(--ui)))}.shelf-slot{aspect-ratio:4 / 5}.acts{display:flex;flex-wrap:wrap;align-items:center;column-gap:max(8px,calc(14 * var(--ui)))}.acts>.leaf-note{flex:1 1 12em;min-width:0}}@media(max-height:520px){.chapter-sub{display:none}.deckpick{display:grid;grid-template-columns:auto auto;grid-template-rows:1fr auto auto auto 1fr;justify-content:center;align-items:center;column-gap:max(10px,calc(20 * var(--ui)));row-gap:max(4px,calc(6 * var(--ui)))}.deckpick .deck-tome{grid-column:1;grid-row:1 / -1}.deckpick>:not(.deck-tome){grid-column:2;justify-self:start}.deckpick .deck-name{grid-row:2}.deckpick .deck-size{grid-row:3}.deckpick .inklink{grid-row:4}.mode-gloss{display:none}.ways-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.mode-sealed{flex-direction:row;align-items:center;padding:0;border-color:transparent;background:none}.mode-sealed .wax{flex:1 1 auto;min-width:0}.mode:not(.mode-sealed){flex-direction:row;flex-wrap:wrap;align-items:center;padding-block:max(4px,calc(6 * var(--ui)))}.mode-acts{display:contents}.mode .join-row,.mode .pills{flex:1 1 100%}.about+.leaf-note{display:none}.vault-pack{width:max(44px,calc(130 * var(--ui)))}.vault-acts{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:center;justify-items:start;column-gap:max(10px,calc(16 * var(--ui)));row-gap:0}.vault-acts:has(>.vault-dustall)>.vault-open{grid-row:span 2}.vault-acts:has(>.vault-dustall)>.vault-count{align-self:end}.vault-acts:has(>.vault-dustall)>.vault-dustall{align-self:start}.vault-acts>:not(.vault-open,.vault-count,.vault-dustall){grid-column:1 / -1;justify-self:center}}@media(min-width:1180px)and (min-height:740px){.book-room-tome .book-scene{inset:auto;left:50%;top:calc(45 * var(--ui));width:calc(1440 * var(--ui));height:calc(810 * var(--ui));margin-left:calc(-720 * var(--ui))}.book-room-tome .book-scene:before{top:0;right:0;bottom:0;left:0;background:url(/art/ui/menu/tome.jpg) center / 100% 100% no-repeat;filter:none}.book-room-tome .book-veil{background:radial-gradient(ellipse 60% 55% at 50% 50%,#0000 45%,#080503b3)}.book-room-tome .book-leather,.book-room-tome .book-corner,.book-room-tome .book-gutter,.book-room-tome .book-rule{display:none}.book-room-tome .book{position:absolute;left:50%;top:0;width:calc(1440 * var(--ui));height:calc(900 * var(--ui));margin:0 0 0 calc(-720 * var(--ui));filter:none}.book-room-tome .book-leaf{position:absolute;background:none;box-shadow:none;overflow:visible;transform-origin:0 0}.book-room-tome .book-leaf-left{left:calc(292 * var(--ui));top:calc(236 * var(--ui));width:calc(400 * var(--ui));height:calc(300 * var(--ui));transform:perspective(1500px) rotateY(11deg) rotateX(16deg) rotate(-9.5deg)}.book-room-tome .book-leaf-right{left:calc(790 * var(--ui));top:calc(152 * var(--ui));width:calc(340 * var(--ui));height:calc(300 * var(--ui));transform:perspective(1500px) rotateY(-9deg) rotateX(13deg) rotate(-6deg)}.book-room-tome .book-inner{padding:0;height:auto;--leaf-gap: calc(6 * var(--ui));--leaf-bleed: 0px}.book-room-tome .book-hold-title{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.book-room-tome .book-chapters{gap:0}.book-room-tome .book-ribbon-gloss{font-size:calc(12 * var(--ui))}.book-room-tome .book-ribbon-tail{--tail-out: min(calc(30 * var(--ui)), var(--leaf-bleed))}.book-room-tome .book-inner:has(.book-chapters){--leaf-bleed: calc(46 * var(--ui))}.book-room-tome .book-foot{position:absolute;left:0;right:0;bottom:max(6px,calc(10 * var(--ui)))}:root[data-book-move=into] .book-leaf,:root[data-book-move=into] .book-gutter,:root[data-book-move=out] .book-leaf,:root[data-book-move=out] .book-gutter{view-transition-name:none}:root[data-book-move=into]::view-transition-old(root){animation:camera-in-old .14s ease-in both}:root[data-book-move=into]::view-transition-new(root){animation:camera-in-new .26s ease-out .12s both}:root[data-book-move=out]::view-transition-old(root){animation:camera-out-old .14s ease-in both}:root[data-book-move=out]::view-transition-new(root){animation:camera-out-new .26s ease-out .12s both}}@media(prefers-reduced-motion:reduce){.wordmark,.leaf-pin .plaque:not(:disabled):after,.pick-hero.chosen .pick-portrait{animation:none}.rotate-icon{animation:none}.plaque:hover,.pick-tier:hover{transform:none}.settings-scrim,.settings-panel,.book-candle{animation:none}.leaf-page[data-scrolled=true]:after{transition:none}.book-ribbon:hover .book-ribbon-tail,.book-ribbon:active .book-ribbon-tail{transform:none}.vault-tearing .vault-pack,.vault-tearing .vault-burst,.vault-flight,.spill-in .spilled,.spilled.spilled-face .spilled-flip{animation:none}.spilled-bloom:before{animation:none}.spill .spilled.spilled-leaving,.leaf-dim.leaf-dim-lifting,.claim.claim-leaving{animation:none}.spilled:not(.spilled-face):hover,.spilled:not(.spilled-face):active{translate:none}.leaf-dim,.row-new .row-out{animation:none}.wax-break:hover .wax-seal,.wax-break:active .wax-seal{transform:rotate(-9deg)}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),::view-transition-old(root),::view-transition-new(root){animation:none}.book-room *,.book-room *:before,.book-room *:after{transition:none!important}}.lobby-code{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:40px;letter-spacing:.22em;text-indent:.22em;color:var(--gold, #e2b25c);margin:0 0 4px}.lobby-code-label{text-transform:uppercase;letter-spacing:.14em;font-size:11px;opacity:.65;margin:0}.lobby-panel{align-items:center}.lobby-seats{display:flex;gap:12px;width:100%}.lobby-seat{flex:1 1 0;display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid rgb(255 255 255 / .12);border-radius:6px;background:#00000040}.lobby-seat.chosen{border-color:var(--gold, #e2b25c)}.lobby-seat-empty{opacity:.55;border-style:dashed}.lobby-actions{display:flex;gap:12px;align-items:center;justify-content:center}.join-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.join-label{font-size:13px;opacity:.8}.join-code{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;font-size:20px;letter-spacing:.16em;text-transform:uppercase;width:8em;padding:6px 10px;background:#00000059;border:1px solid rgb(255 255 255 / .18);border-radius:4px;color:inherit}.join-go{min-width:96px}.gate-friend{display:flex;flex-direction:column;align-items:center;gap:4px}.gate-friend-link{font-size:15px;letter-spacing:.06em}.lobby-open-code{font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Menlo,monospace;letter-spacing:.12em;color:var(--gold, #e2b25c)}.lobby-open-note{font-size:13px;opacity:.85;margin:0}.page-problem{color:#e2a08c;font-size:13px;margin:0}.connection-line{position:fixed;top:8px;left:50%;transform:translate(-50%);z-index:60;margin:0;padding:6px 14px;border-radius:4px;background:#000c;border:1px solid rgb(255 255 255 / .18);font-size:13px;display:flex;align-items:center;gap:10px}.connection-action{font:inherit;color:var(--gold, #e2b25c);background:transparent;border:1px solid rgb(226 178 92 / .5);border-radius:3px;padding:2px 10px;cursor:pointer;text-decoration:none;white-space:nowrap}@media(hover:hover){.connection-action:hover{border-color:#e2b25ce6}}.presence-line{position:fixed;top:44px;left:50%;transform:translate(-50%);z-index:59;margin:0;padding:6px 14px;border-radius:4px;background:#000c;border:1px solid rgb(255 255 255 / .18);font-size:13px;font-variant-numeric:tabular-nums}.leave-guard{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:grid;place-items:center;background:#0009}.leave-guard-panel{background:#17120c;border:1px solid rgb(255 255 255 / .18);border-radius:6px;padding:20px 24px;max-width:380px;text-align:center}.leave-guard-panel p{margin:0 0 16px;font-size:15px}.leave-guard-actions{display:flex;gap:12px;justify-content:center}.leave-guard-actions button{font:inherit;color:inherit;background:transparent;border:1px solid rgb(255 255 255 / .3);border-radius:3px;padding:6px 18px;cursor:pointer}.leave-guard-actions button:first-child{border-color:#e2b25cb3}.chrome-home{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#e2d6beb8;text-decoration:none}@media(hover:hover){.chrome-home:hover{color:var(--gold, #e2b25c)}}.chrome-banner{position:relative;z-index:1;margin:0;padding:9px 24px;font-size:13px;text-align:center;color:#e2d6bedb;background:#e2b25c17;border-bottom:1px solid rgba(226,178,92,.22)}.chrome-banner-update{color:#f3d9a2;background:#c4602a29;border-bottom-color:#c4602a66}.chrome-banner-action{font:inherit;margin-left:8px;color:var(--gold, #e2b25c);background:transparent;border:0;padding:0;text-decoration:underline;cursor:pointer}.join{width:min(460px,100%);display:flex;justify-content:center}.join-panel{position:relative;z-index:1;width:100%;display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 28px 22px;border-radius:14px;border:1px solid rgba(226,178,92,.2);background:#100c09d1;text-align:center}.join-title{margin:0;font-size:20px;letter-spacing:.1em;color:var(--gold, #e2b25c)}.join-line{margin:0;font-size:14px;color:#e2d6beb8}.wall-panel{text-align:center}.wall-title{margin:0;font-size:20px;letter-spacing:.1em;color:var(--gold, #e2b25c)}.wall-legal{margin:0;font-size:12px;color:#e2d6be8c}.wall-legal-link{color:var(--gold, #e2b25c)}.legal-doc{display:flex;flex-direction:column;gap:max(6px,calc(10 * var(--ui)));max-width:40em;font-size:max(13px,calc(16 * var(--ui)));line-height:1.5;color:var(--ink-dark)}.legal-h1,.legal-h2,.legal-h3{margin:0;font-family:var(--font-title);letter-spacing:.04em;color:var(--ink-dark)}.legal-h1{font-size:max(16px,calc(24 * var(--ui)))}.legal-h2{margin-top:calc(6 * var(--ui));font-size:max(14px,calc(19 * var(--ui)))}.legal-h3{font-size:max(13px,calc(16 * var(--ui)))}.legal-p{margin:0}.legal-list{margin:0;padding-left:1.3em}.legal-list li+li{margin-top:calc(3 * var(--ui))}.legal-table-wrap{max-width:100%;overflow-x:auto}.legal-table{border-collapse:collapse;font-size:max(12px,calc(14 * var(--ui)))}.legal-table th,.legal-table td{padding:calc(4 * var(--ui)) calc(8 * var(--ui));border-bottom:1px dashed rgba(43,29,18,.28);text-align:left;vertical-align:top}.legal-table th{font-family:var(--font-title);letter-spacing:.06em}.legal-doc .legal-link,.about-licences{color:#6a4410;text-decoration:underline}.legal-draft{margin:0;padding:6px 10px;border:1.5px dashed #8b1e14;color:#8b1e14;font-family:var(--font-title);font-size:max(12px,calc(13 * var(--ui)));letter-spacing:.1em;text-transform:uppercase}.legal-controller{overflow-wrap:anywhere}.delete-account{display:flex;flex-direction:column;align-items:flex-start;gap:max(6px,calc(10 * var(--ui)));width:100%}.delete-account .form-input{width:100%;max-width:20em}@media(pointer:coarse)and (max-width:900px),(pointer:coarse)and (max-height:520px){.hero{--song-n: 2;--song-row: calc(44px * var(--song-n) + 4px * var(--song-n) - 4px);grid-template-columns:minmax(0,1fr) max(var(--orb),var(--song-row)) auto max(var(--orb),var(--song-row)) minmax(0,1fr)}.hero .power-orb{justify-self:center}.song-slots{--song-socket: 44px;--song-gap: 4px}.song-medallion:after{content:"";position:absolute;left:50%;top:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.history{left:max(4px,calc(var(--playfield-inset-x) * .5 - 22px + env(safe-area-inset-left)));gap:0}.history-slot{width:44px;height:44px}}@media(max-width:900px),(max-height:520px){.token-name{max-width:var(--token-w)}.hero-sub,.log-title,.log-toggle,.thinking-label,.log-chip{font-size:11px}}
