:root{--bg: #14110f;--panel: #1f1a16;--panel2: #2a231d;--line: #3d332a;--text: #ece3d6;--dim: #a39683;--gold: #d4a72c;--red: #d9534f;--green: #5cb85c;--blue: #4aa3df;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #f4efe6;--panel: #fffaf0;--panel2: #efe6d4;--line: #d8c9ae;--text: #2a2218;--dim: #7a6a52;--gold: #a8801a;color-scheme:light}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}h1,h2,h3{font-family:Georgia,Times New Roman,serif;margin:0 0 .5rem;letter-spacing:.02em}h1{font-size:1.5rem}h2{font-size:1.15rem;color:var(--gold)}h3{font-size:1rem}button,select,input{font:inherit;color:inherit;background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:.45rem .7rem}button{cursor:pointer}button:hover:not(:disabled){border-color:var(--gold)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--gold);color:#1b1407;border-color:var(--gold);font-weight:600}button.danger{border-color:var(--red);color:var(--red)}input[type=checkbox]{padding:0}.wrap{max-width:1200px;margin:0 auto;padding:0 16px 40px}.top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5}.top .spacer{flex:1}.top .navmore{display:contents}.top .menubtn,.top .menu,.top .menuback{display:none}.top a,.linkish{color:var(--gold);cursor:pointer;text-decoration:none;background:none;border:0;padding:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}@media(max-width:800px){.grid2{grid-template-columns:1fr}}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dim{color:var(--dim)}.small{font-size:.85rem}.err{color:var(--red);margin:.5rem 0}.ok{color:var(--green)}.pill{display:inline-block;padding:1px 8px;border-radius:99px;background:var(--panel2);border:1px solid var(--line);font-size:.78rem}.pill.turn{background:var(--gold);color:#1b1407;border-color:var(--gold);font-weight:700}.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:4px 10px;font-size:.88rem;margin:.4rem 0}.stats b{color:var(--gold)}label.field{display:block;margin:.5rem 0}label.field>span{display:block;font-size:.8rem;color:var(--dim);margin-bottom:2px}label.field select,label.field input[type=text],label.field input[type=password],label.field input:not([type]){width:100%}.weapons{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:4px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:6px;padding:6px}.weapons label{font-size:.85rem;display:flex;gap:6px;align-items:flex-start}.auth{max-width:360px;margin:10vh auto}.game{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;padding:12px;align-items:start}@media(max-width:1000px){.game{grid-template-columns:1fr}}.board{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden;touch-action:manipulation}.board svg{display:block;width:100%;height:auto;max-height:82vh}.hex{fill:color-mix(in srgb,#5b4e3e var(--t, 75%),#2b231b);stroke:#0008;stroke-width:.7}.hex.dark{fill:color-mix(in srgb,#000 70%,#2b231b);stroke:#000a}.hex.reach{fill:color-mix(in srgb,var(--blue) 45%,#3a3027);cursor:pointer}.hex.reach:hover{fill:color-mix(in srgb,var(--blue) 70%,#3a3027)}.hex.reach.norm{fill:color-mix(in srgb,var(--blue) 62%,#6f8fb8)}.hex.reach.norm:hover{fill:color-mix(in srgb,var(--blue) 80%,#8fb0d8)}.hex.reach.full{fill:color-mix(in srgb,var(--blue) 38%,#1c2a46)}.hex.reach.full:hover{fill:color-mix(in srgb,var(--blue) 55%,#1c2a46)}.hex.start{stroke:var(--gold);stroke-width:1.4}.unit{cursor:pointer}.unit .ring{fill:none;stroke-width:2.4}.side .log{max-height:340px;overflow:auto;font-size:.85rem}.log div{padding:3px 0;border-bottom:1px dashed var(--line)}.log .hit{color:var(--red)}.log .heal{color:var(--green)}.log .sys{color:var(--gold)}.log .skill{color:var(--dim);font-style:italic}.bar{height:6px;background:#0004;border-radius:3px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--green)}.skilllist{max-height:180px;overflow:auto;font-size:.85rem}.zoomctl{position:absolute;top:8px;right:8px;z-index:2;display:flex;flex-direction:column;gap:6px}.zoomctl button{width:40px;height:40px;padding:0;font-size:1.15rem;line-height:1;background:color-mix(in srgb,var(--panel) 88%,transparent)}.actionbar{display:none}@media(max-width:700px){body{font-size:16px}input,select,button{font-size:16px;min-height:44px}input[type=checkbox]{width:24px;height:24px;min-height:0}.row label,label.small{display:inline-flex;align-items:center;gap:6px;min-height:44px}.top{padding:6px 10px;gap:10px;padding-top:calc(6px + env(safe-area-inset-top))}.top .logotext{display:none}.top button,.top .linkish{min-height:40px;white-space:nowrap}.top .navmore,.top .who,.top .signout{display:none}.top .ver{font-size:.72rem;max-width:none;overflow:visible}.top .menubtn{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:44px;font-size:1.3rem;padding:0 8px}.top .menubtn .dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%;background:var(--gold)}.top .menuback{display:block;position:fixed;inset:0;z-index:4}.top .menu{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;z-index:6;background:var(--panel);border-bottom:1px solid var(--line);box-shadow:0 8px 20px #0006;padding:4px 12px 12px}.top .menu .linkish{text-align:left;min-height:48px;font-size:1.05rem;border-bottom:1px dashed var(--line)}.top .menufoot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:10px}.wrap{padding:0 12px 32px}.battlesfirst>:nth-child(2){order:-1}.weapons{grid-template-columns:1fr;max-height:300px}.weapons label{min-height:40px;align-items:center}.stats{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.game{padding:0 0 calc(var(--ab-h, 170px) + 16px);gap:8px}.board{border-radius:0;border-left:0;border-right:0}.board svg{height:62vh;height:62dvh;max-height:none}.zoomctl{top:6px;right:6px;gap:6px}.zoomctl button{width:44px;height:44px}.side{padding:0 12px}.hint,.side .actions,.side .sideactions,.side .deploycard{display:none}.side .log{max-height:220px}.actionbar{display:flex;flex-direction:column;gap:8px;position:absolute;left:0;top:0;width:100%;visibility:hidden;will-change:transform;z-index:10;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:var(--panel);border-top:2px solid var(--gold);box-shadow:0 -6px 18px #0006;max-height:55vh;max-height:55dvh;overflow-y:auto;overscroll-behavior:contain}.abrow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actionbar button{flex:0 0 auto;padding:.4rem .9rem}.actionbar button.sel{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 28%,var(--panel2))}}.popup-back{position:fixed;inset:0;z-index:50;background:#000a;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadein .15s ease-out}.popup{background:var(--panel);border:2px solid var(--gold);border-radius:14px;padding:16px;width:min(420px,100%);max-height:90vh;overflow:auto;animation:popin .25s cubic-bezier(.2,1.4,.4,1)}.popup h3{margin:0 0 10px;font-size:1.05rem}.dice{display:flex;align-items:center;justify-content:center;gap:14px;margin:8px 0}.dside{text-align:center}.dlabel{font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.die{width:64px;height:64px;margin:4px auto;display:flex;align-items:center;justify-content:center;font-size:1.9rem;font-weight:800;border:3px solid var(--line);border-radius:12px;background:var(--panel2)}.die.rolling{animation:tumble .14s linear infinite;border-color:var(--gold)}.die.nat{border-color:var(--gold);color:var(--gold);box-shadow:0 0 14px var(--gold)}.die.one{border-color:var(--red);color:var(--red)}.vs{color:var(--dim);font-weight:700}.dmath{font-size:.9rem}.dmath b{font-size:1.9rem;line-height:1;font-weight:800;margin-left:2px;vertical-align:-3px}.popres{animation:fadein .3s ease-out}.banner{text-align:center;font-size:1.7rem;font-weight:900;letter-spacing:.06em;margin:8px 0;animation:slam .35s cubic-bezier(.2,1.6,.4,1)}.banner.hit{color:var(--red)}.banner.crit{color:var(--gold);text-shadow:0 0 12px var(--gold)}.banner.miss{color:var(--dim)}.rules{padding-left:18px;margin:6px 0}.rules li{margin:3px 0}.dmgnum{text-align:center;font-size:1.4rem;font-weight:800;color:var(--red);animation:floatup .6s ease-out}.choices button{flex:1 1 40%;padding:12px 8px;font-size:1rem}@keyframes popin{0%{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:1}}@keyframes tumble{0%{transform:rotate(-12deg) scale(.95)}50%{transform:rotate(10deg) scale(1.05)}to{transform:rotate(-12deg) scale(.95)}}@keyframes slam{0%{transform:scale(2.2);opacity:0}to{transform:scale(1);opacity:1}}@keyframes floatup{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.popup,.popup-back,.die.rolling,.banner,.dmgnum,.popres{animation:none}}.skillrow{border-bottom:1px dashed var(--line);padding:8px 0;display:flex;flex-direction:column;gap:2px}.stats .bumped b{color:var(--gold)}.hex.spell{fill:#e0584f61!important}.hex.wall{fill:#6b4f2a!important;stroke:#a07a3a}.shop{background:var(--panel);width:min(640px,100%);margin:0 auto;display:flex;flex-direction:column;max-height:100dvh}.shop-head{padding:12px 14px 8px;border-bottom:1px solid var(--line)}.shop-body{overflow-y:auto;padding:0 14px 24px;flex:1;-webkit-overflow-scrolling:touch}.chips{display:flex;gap:6px;overflow-x:auto;padding:8px 0}.shop-aspect{position:sticky;top:0;background:var(--panel);padding:10px 0 4px;font-weight:700;color:var(--gold);border-bottom:1px solid var(--line);z-index:1}.shop-tier{margin-top:8px}.shoprow{padding:8px 0;border-bottom:1px solid var(--line)}.shoprow.locked{opacity:.65}.shop-sum{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px}.board{background:#0b0907;box-shadow:inset 0 0 40px #000a}.hex.start{stroke:var(--gold);stroke-width:1.6;filter:drop-shadow(0 0 3px var(--gold))}.unit{transition:transform .5s cubic-bezier(.3,.7,.3,1),opacity .3s}.fxu{transform-box:fill-box;transform-origin:center}.fxu.lunge{animation:lunge .34s ease-in-out}.fxu.recoil{animation:lunge .26s ease-out}.fxu.hurt{animation:hurt .42s ease-out}.fxu.dodge{animation:dodge .42s ease-out}.fxu.cast{animation:cast .6s ease-in-out}.selpulse{animation:selpulse 1.3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.fx-proj{animation:proj .42s linear forwards}.fx-burst .fx-ring{transform-box:fill-box;transform-origin:center;animation:ring .6s ease-out forwards}.fx-burst .fx-spark{animation:spark .55s ease-out forwards}.fx-burst .fx-flash{animation:flash .45s ease-out forwards}.fx-float{animation:floaty 1s ease-out forwards}.fx-float.big{animation-name:floatybig}.fx-area{animation:area .9s ease-out forwards;fill-opacity:0}.fx-rise{animation:rise 1.1s ease-out forwards;opacity:0}@keyframes lunge{0%{transform:translate(0)}45%{transform:translate(var(--dx),var(--dy)) scale(1.18)}to{transform:translate(0)}}@keyframes hurt{0%{transform:translate(0);filter:brightness(2.2) saturate(0)}20%{transform:translate(var(--dx),var(--dy));filter:brightness(2.2) saturate(0)}40%{transform:translate(calc(var(--dx) * -.5),calc(var(--dy) * -.5))}60%{transform:translate(calc(var(--dx) * .3),calc(var(--dy) * .3))}to{transform:translate(0);filter:none}}@keyframes dodge{0%{transform:translate(0)}35%{transform:translate(var(--dx),var(--dy))}to{transform:translate(0)}}@keyframes cast{0%,to{transform:scale(1);filter:none}40%{transform:scale(1.25);filter:brightness(1.8)}}@keyframes selpulse{0%,to{opacity:.35;transform:scale(1)}50%{opacity:.95;transform:scale(1.12)}}@keyframes proj{0%{transform:translate(0)}to{transform:translate(var(--dx),var(--dy))}}@keyframes ring{0%{transform:scale(.4);opacity:1}to{transform:scale(2.4);opacity:0}}@keyframes spark{0%{stroke-dasharray:0 40;stroke-dashoffset:0;opacity:1}to{stroke-dasharray:8 40;stroke-dashoffset:-26;opacity:0}}@keyframes flash{0%{opacity:.6}to{opacity:0}}@keyframes floaty{0%{transform:translateY(6px) scale(.7);opacity:0}15%{transform:translateY(0) scale(1.15);opacity:1}to{transform:translateY(-20px) scale(1);opacity:0}}@keyframes floatybig{0%{transform:translateY(6px) scale(.5);opacity:0}12%{transform:translateY(0) scale(1.5);opacity:1}30%{transform:scale(1.1)}to{transform:translateY(-26px) scale(1.1);opacity:0}}@keyframes area{0%{fill-opacity:0;stroke-opacity:1}25%{fill-opacity:.6}to{fill-opacity:0;stroke-opacity:0}}@keyframes rise{0%{transform:translateY(4px);opacity:0}20%{opacity:1}to{transform:translateY(-26px);opacity:0}}.popup-back{background:#000b;overscroll-behavior:contain}html:has(.popup-back),body:has(.popup-back){overflow:hidden}.die{border:0;clip-path:polygon(50% 0,93% 25%,93% 75%,50% 100%,7% 75%,7% 25%);background:radial-gradient(circle at 35% 25%,#4a3e30,var(--panel2) 70%);width:72px;height:72px;text-shadow:0 1px 2px #000}.die.nat{background:radial-gradient(circle at 35% 25%,#6b5410,#2a2108 75%);box-shadow:none}.die.one{background:radial-gradient(circle at 35% 25%,#5a1b18,#230a09 75%);box-shadow:none}.dside{filter:drop-shadow(0 3px 6px #0008)}.banner.hit,.banner.crit{text-shadow:0 0 14px currentColor}.banner.crit{animation:slam .35s cubic-bezier(.2,1.6,.4,1),shake .5s .35s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media(prefers-reduced-motion:reduce){.hex.deploy,.unit,.fxu,.selpulse,.fx-proj,.fx-burst *,.fx-float,.fx-area,.fx-rise{animation:none!important;transition:none!important}}.cs{padding:14px}.cs-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:6px 12px;margin:8px 0}.cs-head>div{display:flex;flex-direction:column;border-bottom:1px solid var(--line);padding-bottom:2px;min-height:40px}.cs-cols{display:grid;grid-template-columns:minmax(230px,1fr) 1.6fr;gap:14px;align-items:start}@media(max-width:700px){.cs-cols{grid-template-columns:1fr}}.cs-row{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:6px;padding:3px 0;border-bottom:1px dashed var(--line);text-align:center}.cs-row>:first-child{text-align:left}.cs-th{color:var(--dim);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.cs-sub{margin:12px 0 4px;font-weight:700;color:var(--gold);font-family:Georgia,serif}.cs-tiers{display:grid;grid-template-columns:1.7fr repeat(10,1fr);gap:0;font-size:.78rem;text-align:center;overflow-x:auto}.cs-tiers>span{padding:2px 1px;border-bottom:1px dashed var(--line)}.cs-tiers>span:nth-child(11n+1){text-align:left;white-space:nowrap;padding-right:4px}.cs-tiers .on{background:color-mix(in srgb,var(--gold) 22%,transparent);font-weight:700}.cs-start{padding:6px 8px;border:1px solid var(--line);border-radius:6px;margin-bottom:8px}.cs-skills{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.cs-tier{border:1px solid var(--line);border-radius:8px;padding:6px}.cs-tier.next{border-color:var(--gold)}.cs-box{border-bottom:1px dashed var(--line);min-height:24px;font-size:.83rem;padding:2px 0}.cs-box.full{font-weight:600}.cs-bump{margin-top:3px;padding:3px 6px;border-radius:6px;background:color-mix(in srgb,var(--line) 60%,transparent);font-size:.76rem;font-weight:700;opacity:.75}.cs-bump.got{opacity:1;background:color-mix(in srgb,#5cd45c 30%,transparent)}.cdie{display:inline-block;padding:1px 8px;border:2px solid var(--gold, #ffd23a);border-radius:6px;font-size:1.15em}.init{margin-top:8px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}.init .irow{display:flex;align-items:center;gap:8px;padding:2px 0}.init .idie{display:inline-block;min-width:2.2em;text-align:center;padding:1px 6px;border:2px solid var(--line);border-radius:6px;font-weight:700}.init .idie.nat{border-color:var(--gold, #ffd23a)}.init .first{font-weight:700}.castbanner{position:fixed;top:64px;left:50%;transform:translate(-50%);z-index:60;max-width:92vw;padding:10px 20px;border-radius:12px;background:#1e143cf0;border:2px solid var(--gold);color:var(--gold);font-weight:800;font-size:1.15rem;text-align:center;text-shadow:0 0 10px var(--gold);box-shadow:0 6px 24px #00000080;animation:slam .35s cubic-bezier(.2,1.6,.4,1);cursor:pointer}.tut{min-height:100vh;display:flex;flex-direction:column}.tut-top{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--panel);border-bottom:1px solid var(--line)}.tut-title{font-family:Georgia,serif;color:var(--gold);font-weight:700}.tut-dots{flex:1;display:flex;gap:6px;justify-content:center}.tut-dots i{width:22px;height:5px;border-radius:3px;background:var(--line);transition:background .3s}.tut-dots i.on{background:var(--gold)}.tut-body{width:100%;max-width:720px;margin:0 auto;padding:16px 16px 40px;display:flex;flex-direction:column;gap:12px}.narr{display:flex;gap:12px;align-items:flex-start;background:var(--panel);border:1px solid var(--gold);border-radius:12px;padding:12px;animation:fadein .3s ease-out}.narr-av{flex:0 0 64px;background:radial-gradient(circle,#2c2418,#14110f);border-radius:50%;border:2px solid var(--gold)}.narr-name{font-family:Georgia,serif;font-weight:700;color:var(--gold)}.say{margin:4px 0 0;white-space:pre-line;min-height:3.2em;cursor:pointer}.caret{color:var(--gold);animation:blink 1s steps(2) infinite}@keyframes blink{50%{opacity:0}}.racegrid,.elgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}@media(min-width:640px){.racegrid{grid-template-columns:repeat(3,1fr)}.elgrid{grid-template-columns:repeat(4,1fr)}}.rcard,.ecard{display:flex;flex-direction:column;gap:2px;align-items:flex-start;text-align:left;padding:.6rem .7rem;min-height:64px}.ecard{align-items:center;text-align:center}.rcard.on,.ecard.on,.opt.on{border-color:var(--gold);background:color-mix(in srgb,var(--gold) 20%,var(--panel2))}.eicon{font-size:1.6rem}.rec{font-size:.7rem;color:#1b1407;background:var(--gold);border-radius:999px;padding:0 .5rem;margin-left:.4rem;font-weight:700;white-space:nowrap}.tut-detail{margin:0}.tut-stats{border-top:1px dashed var(--line);padding-top:8px}.tut-list{display:flex;flex-direction:column;gap:6px}.opt{display:flex;gap:8px;align-items:flex-start;padding:.55rem .7rem;border:1px solid var(--line);border-radius:8px;background:var(--panel2);cursor:pointer}.tut-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}button.big{padding:.7rem 1.4rem;font-size:1.05rem}@media(prefers-reduced-motion:reduce){.narr,.caret{animation:none}}.coach{position:sticky;top:52px;z-index:20;display:flex;gap:10px;align-items:flex-start;margin:8px 0;padding:10px 12px;border:2px solid var(--gold);border-radius:12px;background:color-mix(in srgb,var(--panel) 94%,#000);box-shadow:0 6px 18px #0008;animation:fadein .25s ease-out}.coach svg{flex:0 0 44px;background:radial-gradient(circle,#2c2418,#14110f);border-radius:50%;border:1.5px solid var(--gold)}.coach-name{font-family:Georgia,serif;color:var(--gold);font-weight:700;font-size:.85rem}.coach-text{margin:2px 0 0;font-size:.9rem;line-height:1.35}.coach .coach-x{margin-left:auto;font-size:.75rem;padding:.15rem .5rem}.chatlog{overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:2px}.chatmsg{max-width:85%;align-self:flex-start;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:6px 10px}.chatmsg.mine{align-self:flex-end;border-color:var(--gold)}.chatbody{white-space:pre-wrap;overflow-wrap:anywhere}.flagbtn{background:none;border:1px solid transparent;border-radius:6px;padding:0 4px;font-size:.8rem;line-height:1.4;opacity:.55;cursor:pointer;min-height:0}.flagbtn:hover,.flagbtn:focus-visible{opacity:1;border-color:var(--line)}.flagbtn.wide{opacity:1;font-size:.85rem;padding:4px 8px;border-color:var(--line)}.flagbox{display:flex;flex-direction:column;gap:6px;margin:6px 0;padding:8px;border:1px solid var(--gold);border-radius:8px;background:var(--panel2);font-weight:400}.flagbox textarea{width:100%;box-sizing:border-box;font:inherit}.flagdone{color:var(--green)}.rp{display:block;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:#0d0d10}.rp-book{margin:10px 0 0}.rp-sheet{border-radius:8px;flex:none;margin-right:10px}.rp-create{margin:8px auto}.rp-btn{padding:0;border:0;background:none;cursor:pointer;line-height:0;border-radius:10px}.rp-card{border-radius:10px}button.linkish{background:none;border:0;padding:4px 0;text-decoration:underline;cursor:pointer;color:inherit}.rp-zoom{cursor:zoom-in;flex:none}.rp-lightbox{position:fixed;inset:0;z-index:1000;background:#000000eb;display:flex;align-items:center;justify-content:center;cursor:zoom-out;padding:12px}.rp-lightbox img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;cursor:default}.rp-lightbox-x{position:absolute;top:12px;right:12px;font-size:20px;line-height:1;padding:8px 12px}.rp-pop{width:44px;height:44px;border-radius:50%;border:2px solid var(--gold);object-fit:cover;object-position:top}.pop-faces{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:8px}.pop-faces .vs{font-size:.8rem;opacity:.7}.acting-now{display:flex;align-items:center;gap:10px;margin-top:8px;padding:6px 8px;border:1px solid var(--gold);border-radius:10px;background:color-mix(in srgb,var(--gold) 10%,transparent)}.seats{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0}.seat{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;min-height:40px;border-radius:8px;border:1px solid var(--line);background:var(--panel2)}.seat.filled{border-color:var(--gold)}.seat.empty{border-style:dashed;color:var(--dim)}.seat .seatx{background:none;border:0;padding:0 4px;min-height:0;color:var(--dim)}.pickpanel{margin-top:8px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.pickrows{display:flex;flex-direction:column;gap:4px;margin-top:6px}.pickrow{text-align:left;min-height:44px}.pickrow2{display:flex;gap:4px}.pickrow2 .pickrow{flex:1;min-width:0}.starbtn{min-width:44px;min-height:44px;padding:0;font-size:1.2rem;color:var(--gold)}.friendrow{display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px dashed var(--line)}.friendrow .fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record{display:flex;align-items:center;gap:12px}.recbig{font:700 1.7rem Georgia,Times New Roman,serif;color:var(--gold);min-width:3.4ch}.hex.rng1{fill:color-mix(in srgb,#ff7a6a 58%,#3a3027)}.hex.rng2{fill:color-mix(in srgb,#e0463f 64%,#3a3027)}.hex.rng3{fill:color-mix(in srgb,#b02a2a 72%,#2a1a18)}.hex.rng4{fill:color-mix(in srgb,#7a1418 82%,#1e1010)}.rangelegend{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;margin-top:6px}.rangelegend>.dim{flex-basis:100%}.rangelegend .swatch{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:5px;vertical-align:-2px;border:1px solid #0008}.rangelegend .swatch.rng1{background:#c76a5e}.rangelegend .swatch.rng2{background:#b53a35}.rangelegend .swatch.rng3{background:#8e2424}.rangelegend .swatch.rng4{background:#66131a}.friendspop{width:min(520px,100%)}.friendcard{padding:10px 0;border-bottom:1px dashed var(--line)}.friendcard .fname{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.fstats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 6px}.fstats>div{background:var(--panel2);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;font-size:.78rem}.fstats b{font-size:1.05rem}.createpop{width:min(520px,100%)}.modes{display:flex;flex-direction:column;gap:6px;margin-top:10px}.modebtn{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-height:48px;gap:2px}.modebtn .small{opacity:.8;font-weight:400}@keyframes rbflash{0%{background:#d4af3759}to{background:transparent}}.rb-hit{animation:rbflash 3s ease-out}button.skbook{background:none;border:0;padding:2px 4px;margin-left:2px;min-height:0;min-width:28px;line-height:1;font-size:1rem;cursor:pointer;color:var(--gold)}.skwrap{display:inline-flex;align-items:center}.skinfo-back{position:fixed;inset:0;z-index:70;background:#000b;display:flex;align-items:center;justify-content:center;padding:16px}.skinfo{background:var(--panel);border:2px solid var(--gold);border-radius:14px;padding:16px;width:min(440px,100%);max-height:85dvh;overflow:auto}.skinfo h3{margin:0 0 8px}.admintabs{display:flex;gap:6px;margin-bottom:12px}.admintabs button{flex:1;min-height:44px}.admintabs button.on{background:var(--gold);color:#1b1407;border-color:var(--gold);font-weight:600}.adminitem{padding:10px 0;border-bottom:1px dashed var(--line)}.adminitem:last-child{border-bottom:0}.acct{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed var(--line)}.acct:last-child{border-bottom:0}.acct .who{flex:1;min-width:0}.acct.off{opacity:.55}.adminsub{margin:16px 0 6px;font-size:.8rem;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}.rolepick{display:flex;gap:6px}.rolepick button{flex:1;min-height:44px}.rolepick button.on{background:var(--gold);color:#1b1407;border-color:var(--gold);font-weight:600}.dangerzone{margin-top:18px;padding-top:12px;border-top:1px solid var(--red)}.board-bg .hex{fill-opacity:.12;stroke:#f0e1be57;stroke-width:1}.board-bg .hex.reach,.board-bg .hex.rng{fill-opacity:.62}.board-bg .hex.wall{fill-opacity:.82}.board-bg .hex.start{stroke:var(--gold);stroke-width:1.6}.hex.deploy{cursor:pointer;fill:color-mix(in srgb,#ffe9a8 55%,#3a3027);stroke:#fff3c4;stroke-width:2;animation:deploypulse 1.6s ease-in-out infinite}.board-bg .hex.deploy{fill-opacity:.5;stroke:#fff3c4;stroke-width:2.2}.hex.deploydim{fill:color-mix(in srgb,#000 60%,#2b231b)}.board-bg .hex.deploydim{fill-opacity:.45}@keyframes deploypulse{0%,to{stroke-opacity:.5}50%{stroke-opacity:1}}.deploywarn{color:var(--gold);font-weight:700}.floors{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}.floorbtn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px;border-radius:10px}.floorbtn img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}.floorbtn.rand{justify-content:center;font-size:1.6rem}.floorbtn.on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold)}.pi{display:inline-block;flex:none;object-fit:cover;border-radius:50%;border:2px solid var(--line);background:#0d0d10;vertical-align:middle}.pi-row{display:flex;align-items:center;gap:10px}.pagebg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;background:var(--bg)}.pagebg-img{position:absolute;inset:0;background-size:cover;background-position:center}.pagebg-dim{position:absolute;inset:0;background:color-mix(in srgb,var(--bg) 66%,transparent)}.pagebg-fx{position:absolute;inset:0;width:100%;height:100%}body.has-bg .card{background:color-mix(in srgb,var(--panel) 92%,transparent)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .pagebg-dim{background:color-mix(in srgb,var(--bg) 78%,transparent)}}.bank-card{position:relative;overflow:hidden;color:#ece3d6;--text: #ece3d6;--dim: #cdbfa9;--panel2: #2a231d;--line: #5a4a38;--gold: #d4a72c;background:#14110f}.bank-card h3{color:var(--gold)}.panelbg{position:absolute;inset:0;pointer-events:none;overflow:hidden}.bank-card .panelbg .pagebg-dim{background:#0e0b099e!important}.shop-bank .panelbg .pagebg-dim{background:#0e0b09b3!important}.shop-bank{position:relative;overflow:hidden;background:#14110f;color:#ece3d6;--text: #ece3d6;--dim: #cdbfa9;--panel: rgba(24,19,15,.84);--panel2: #2a231d;--line: #5a4a38;--gold: #d4a72c}.shop-bank .shop-head,.shop-bank .shop-body{position:relative}.shop-bank .shop-head{background:#0e0b0973}.bank-body{position:relative}body.has-bg .bank-card{background:#14110f;backdrop-filter:none;-webkit-backdrop-filter:none}.listen{display:inline-flex;align-items:center;gap:4px;vertical-align:middle;flex-wrap:wrap}.listenbtn{background:none;border:1px solid var(--line);border-radius:99px;padding:1px 9px;font-size:.8rem;line-height:1.5;min-height:0;cursor:pointer;color:var(--gold);white-space:nowrap}.listenbtn:hover,.listenbtn:focus-visible{border-color:var(--gold)}.listenbtn.on{background:var(--gold);color:#1b1407;border-color:var(--gold);font-weight:700}@media(pointer:coarse){.listenbtn{min-height:34px;padding:2px 12px}}.listenbtn.bad{border-color:var(--red);color:var(--red)}.listenwarn{color:var(--red)}.presence{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:6px;vertical-align:middle;background:var(--line);flex:none}.presence.on{background:var(--green);box-shadow:0 0 0 2px #5cb85c4d}.onlinelist{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.onlinechip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:99px;border:1px solid var(--line);background:var(--panel2);font-size:.85rem}.onlinechip .presence{margin-right:6px}.popup-back.defback{background:#0007}.defbar{height:8px;border-radius:4px;background:#fff2;overflow:hidden;margin:0 0 10px}.defbar>div{height:100%;background:var(--gold);transition:width .5s linear}.defbar.low>div{background:#e0463f}.waitcard{position:fixed;left:50%;bottom:14px;transform:translate(-50%);z-index:45;width:min(420px,calc(100% - 24px));background:var(--panel);border:2px solid var(--gold);border-radius:12px;padding:12px 34px 12px 14px;box-shadow:0 6px 22px #000a;animation:popin .25s cubic-bezier(.2,1.4,.4,1)}.waitcard .waitclock{font-size:1.6rem;font-weight:700;margin:2px 0 4px;color:var(--gold)}.waitcard .defbar{margin:0 0 6px}.waitx{position:absolute;top:4px;right:6px;background:none;border:0;color:inherit;font-size:1.3rem;line-height:1;padding:2px 8px;cursor:pointer}@media(prefers-reduced-motion:reduce){.waitcard,.defbar>div{animation:none;transition:none}}
