:root{--ink:#16120f;--ink-2:#3a322a;--paper:#ece4d6;--paper-2:#dbcfb9;--dusk:#2a2622;--dusk-deep:#14110e;--ember:#ff8a1f;--ember-hot:#ffd166;--cool:#4a5666;--good:#6f9e57;--bad:#c2492f;--f-display:"Caveat","Bradley Hand","Segoe Script",cursive;--f-body:"Patrick Hand","Comic Sans MS",ui-rounded,sans-serif;--f-data:"Courier Prime","Courier New",ui-monospace,monospace;--pad:clamp(10px,2.4vmin,20px);--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);--kb:0px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--dusk-deep);color:var(--paper);font-family:var(--f-body);font-size:clamp(15px,1.9vmin,19px);line-height:1.45;touch-action:none;user-select:none;-webkit-user-select:none;cursor:default}#stage{position:fixed;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;touch-action:none}#grain{position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-repeat:repeat;background-size:180px 180px;z-index:5}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:6;background:radial-gradient(120% 95% at 50% 42%,#0000 38%,#0a07056b 76%,#080503d1)}#flash{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:7;background:var(--ember-hot);opacity:0;transition:opacity .22s ease-out}.panel{position:relative;background:var(--paper);color:var(--ink);border:2.5px solid var(--ink);border-radius:255px 14px 225px 16px/16px 225px 14px 255px;box-shadow:6px 7px #0a07058c;padding:calc(var(--pad)*1.15) calc(var(--pad)*1.35)}.panel:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;pointer-events:none;border:1.5px solid rgba(22,18,15,.24);border-radius:225px 16px 255px 14px/14px 255px 16px 225px}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--pad);padding:calc(var(--pad) + var(--sat)) calc(var(--pad) + var(--sar)) calc(var(--pad) + var(--sab)) calc(var(--pad) + var(--sal));background:radial-gradient(95% 75% at 50% 38%,#0e0a079e,#080604e6);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);overflow-y:auto;overflow-x:hidden;animation:fadeIn .28s ease-out both}.screen.hidden,.hidden{display:none!important}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:translateY(14px) scale(.96) rotate(var(--tilt,0deg))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--tilt,0deg))}}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}.btn{font-family:var(--f-body);font-size:1.15em;letter-spacing:.02em;padding:.5em 1.5em;background:var(--paper);color:var(--ink);border:2.5px solid var(--ink);border-radius:255px 12px 225px 14px/14px 225px 12px 255px;box-shadow:4px 5px 0 var(--ink);transform:translate(0);transition:transform .09s ease-out,box-shadow .09s ease-out,background .12s;min-height:44px}.btn:hover{background:var(--ember-hot)}.btn:active{transform:translate(4px,5px);box-shadow:0 0 0 var(--ink)}.btn:focus-visible{outline:3px dashed var(--ember);outline-offset:4px}.btn.primary{background:var(--ember);border-color:var(--ink);font-size:1.4em;padding:.42em 1.9em}.btn.primary:hover{background:var(--ember-hot)}.btn.ghost{background:transparent;color:var(--paper);border-color:var(--paper-2);box-shadow:3px 4px #ece4d659}.btn.ghost:hover{background:#ece4d629}.btn[disabled]{opacity:.45;pointer-events:none}.icon-btn{width:44px;height:44px;display:grid;place-items:center;font-size:20px;line-height:1;color:var(--paper);background:#140f0b8c;border:2px solid rgba(236,228,214,.55);border-radius:225px 14px 255px 12px/12px 255px 14px 225px;transition:background .12s,transform .09s}.icon-btn:hover{background:#ff8a1f59}.icon-btn:active{transform:scale(.92)}.icon-btn.off{opacity:.5}.title-stack{display:flex;flex-direction:column;align-items:center;gap:.15em;text-align:center;animation:popIn .5s cubic-bezier(.2,1.3,.4,1) both}.logo{font-family:var(--f-display);font-weight:700;font-size:clamp(56px,15vmin,140px);line-height:.82;color:var(--paper);letter-spacing:.01em;text-shadow:0 0 26px rgba(255,138,31,.5),5px 6px 0 var(--dusk-deep);margin:0}.logo em{font-style:normal;color:var(--ember);display:block;transform:rotate(-2.5deg)}.tagline{font-family:var(--f-body);color:var(--paper-2);opacity:.9;margin:.2em 0 0;font-size:1.05em}.title-menu{display:flex;flex-direction:column;gap:calc(var(--pad)*.7);align-items:center;margin-top:calc(var(--pad)*1.2);animation:popIn .5s .1s cubic-bezier(.2,1.3,.4,1) both}.title-row{display:flex;gap:calc(var(--pad)*.7);flex-wrap:wrap;justify-content:center}.credit{position:fixed;bottom:calc(8px + var(--sab));left:0;right:0;text-align:center;font-family:var(--f-data);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#ece4d66b}.select-wrap{width:min(1080px,100%);display:flex;flex-direction:column;gap:var(--pad);align-items:center}.select-head{display:flex;align-items:baseline;gap:.6em;flex-wrap:wrap;justify-content:center;text-align:center}.select-head h2{font-family:var(--f-display);font-size:clamp(30px,6.4vmin,52px);margin:0;color:var(--paper)}.select-head span{font-family:var(--f-data);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ember)}.rack{display:flex;gap:calc(var(--pad)*.8);width:100%;overflow-x:auto;overflow-y:hidden;padding:6px 4px 14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(236,228,214,.4) transparent}.rack::-webkit-scrollbar{height:8px}.rack::-webkit-scrollbar-thumb{background:#ece4d666;border-radius:8px}.pen-card{flex:0 0 min(240px,64vw);scroll-snap-align:center;display:flex;flex-direction:column;gap:.35em;padding:calc(var(--pad)*.9);text-align:left;cursor:pointer;background:var(--paper);color:var(--ink);border:2.5px solid var(--ink);border-radius:255px 14px 225px 16px/16px 225px 14px 255px;box-shadow:5px 6px #0a070599;transition:transform .14s cubic-bezier(.2,1.2,.4,1),box-shadow .14s,background .14s}.pen-card:nth-child(odd){--tilt:-.7deg}.pen-card:nth-child(2n){--tilt:.6deg}.pen-card{transform:rotate(var(--tilt,0deg))}.pen-card:hover{transform:rotate(0) translateY(-5px);box-shadow:7px 9px #0a070599}.pen-card[aria-pressed=true]{background:var(--ember-hot);transform:rotate(0) translateY(-7px);box-shadow:0 0 0 3px var(--ink),7px 9px #0a070599}.pen-card.locked{filter:grayscale(.85);opacity:.62;cursor:not-allowed}.pen-card svg{width:100%;height:54px;display:block}.pen-name{font-family:var(--f-display);font-weight:700;font-size:1.65em;line-height:1}.pen-desc{font-size:.92em;line-height:1.25;min-height:2.5em;color:var(--ink-2)}.stat{display:grid;grid-template-columns:64px 1fr;align-items:center;gap:6px;font-family:var(--f-data);font-size:10px;letter-spacing:.1em;text-transform:uppercase}.bar{height:8px;border:1.5px solid var(--ink);position:relative;background:#16120f14}.bar i{position:absolute;top:1px;right:1px;bottom:1px;left:1px;width:var(--v,50%);background:var(--ink);display:block}.pen-card[aria-pressed=true] .bar i{background:var(--ink)}.lock-tag{font-family:var(--f-data);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--bad)}.bout{display:flex;align-items:center;gap:calc(var(--pad)*1.2);flex-wrap:wrap;justify-content:center}.foe{display:flex;align-items:center;gap:.8em;max-width:min(520px,92vw);--tilt:-.8deg;transform:rotate(var(--tilt))}.foe .avatar{width:60px;height:60px;flex:0 0 60px;display:grid;place-items:center;font-size:34px;border:2.5px solid var(--ink);border-radius:225px 16px 255px 14px/14px 255px 16px 225px;background:var(--paper-2)}.foe h3{margin:0;font-family:var(--f-display);font-size:1.7em;line-height:1}.foe p{margin:.1em 0 0;font-size:.95em;color:var(--ink-2)}.foe .venue{font-family:var(--f-data);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bad)}.net-card{width:min(640px,94vw);display:flex;flex-direction:column;gap:calc(var(--pad)*.7)}.net-row{display:flex;align-items:center;gap:.5em;flex-wrap:wrap}.net-row label{font-family:var(--f-data);font-size:10px;letter-spacing:.14em;text-transform:uppercase;flex:0 0 auto}.ink-input{font-family:var(--f-body);font-size:1.05em;color:var(--ink);background:#16120f0f;border:2px solid var(--ink);padding:.25em .6em;min-height:38px;min-width:0;flex:1 1 120px;border-radius:225px 10px 255px 8px/8px 255px 10px 225px}.ink-input.code{font-family:var(--f-data);letter-spacing:.35em;text-transform:uppercase;max-width:7em;flex:0 0 auto}.ink-input:focus{outline:3px dashed var(--ember);outline-offset:3px}.net-h{font-family:var(--f-display);font-size:1.5em;margin:.2em 0 0;line-height:1}.net-rooms{display:flex;flex-direction:column;gap:6px;max-height:34vh;overflow:auto}.net-empty{margin:0;font-size:.95em;color:var(--ink-2)}.room-line{display:flex;align-items:center;gap:.6em;padding:.4em .7em;cursor:pointer;text-align:left;width:100%;border:2px solid var(--ink);background:#16120f0d;border-radius:225px 12px 255px 10px/10px 255px 12px 225px}.room-line:hover{background:var(--ember-hot)}.room-line b{font-family:var(--f-data);letter-spacing:.2em}.room-line span{font-size:.92em;color:var(--ink-2)}.room-line em{margin-left:auto;font-style:normal;font-family:var(--f-data);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.code-badge{font-family:var(--f-data);letter-spacing:.28em;color:var(--ember)}.seats{display:flex;gap:8px;flex-wrap:wrap}.seat{flex:1 1 150px;display:flex;flex-direction:column;gap:2px;padding:.5em .7em;border:2px dashed var(--ink);border-radius:225px 12px 255px 10px/10px 255px 12px 225px}.seat.filled{border-style:solid;background:#ff8a1f29}.seat b{font-family:var(--f-display);font-size:1.3em;line-height:1}.seat span{font-family:var(--f-data);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2)}.seat.watchers{flex:1 1 100%;border-style:dotted}#net-bar{position:fixed;z-index:9;left:50%;transform:translate(-50%);bottom:calc(6px + var(--sab));display:flex;align-items:center;gap:8px;padding:5px 10px;background:#140f0bb8;border:1.5px solid rgba(236,228,214,.35);border-radius:225px 12px 255px 10px/10px 255px 12px 225px;pointer-events:auto}#net-bar span{font-family:var(--f-data);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-2)}#net-bar-room{color:var(--ember-hot)!important}#emote-bar{display:flex;gap:3px}#emote-bar button{font-size:17px;line-height:1;padding:2px 5px;border-radius:8px}#emote-bar button:hover{background:#ffd16640}#emote-stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9;pointer-events:none;overflow:hidden}.emote-pop{position:absolute;font-size:34px;animation:emoteUp 1.9s ease-out forwards}.emote-pop small{display:block;font-size:10px;font-family:var(--f-data);letter-spacing:.1em;color:var(--paper);text-align:center;text-shadow:0 2px 6px #000}@keyframes emoteUp{0%{opacity:0;transform:translateY(10px) scale(.5)}15%{opacity:1;transform:translateY(0) scale(1.12)}30%{transform:translateY(-6px) scale(1)}to{opacity:0;transform:translateY(-120px) scale(.9)}}.spectating #power-wrap,.spectating #contact-chip{display:none!important}#hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:8;pointer-events:none;padding:calc(10px + var(--sat)) calc(10px + var(--sar)) calc(10px + var(--sab)) calc(10px + var(--sal));display:flex;flex-direction:column;justify-content:space-between}#hud .pointer{pointer-events:auto}.hud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.hud-side{display:flex;gap:8px}.tally{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;background:#140f0b99;border:2px solid rgba(236,228,214,.45);border-radius:225px 14px 255px 12px/12px 255px 14px 225px;min-width:104px}.tally b{font-family:var(--f-display);font-size:1.25em;line-height:1;font-weight:700;letter-spacing:.02em}.tally.you b{color:var(--ember-hot)}.tally.foe b{color:var(--paper)}.pips{display:flex;gap:4px}.pips i{width:11px;height:11px;border:2px solid rgba(236,228,214,.65);display:block;border-radius:225px 8px 255px 6px/6px 255px 8px 225px}.pips i.on{background:var(--ember);border-color:var(--ember)}.tally.foe .pips i.on{background:var(--paper);border-color:var(--paper)}.scorebox{display:flex;align-items:center;gap:10px}.vs{font-family:var(--f-data);font-size:11px;letter-spacing:.18em;color:#ece4d699}.hud-mid{flex:1;display:grid;place-items:center;padding:0 12px}#banner{font-family:var(--f-display);font-weight:700;font-size:clamp(34px,9vmin,86px);line-height:1;text-align:center;color:var(--paper);text-shadow:0 0 26px rgba(255,138,31,.7),0 0 12px rgba(10,7,5,.95),4px 5px 0 var(--dusk-deep);opacity:0;transform:scale(.7) rotate(-3deg)}#banner.show{animation:bannerPop 1.5s cubic-bezier(.15,1.4,.35,1) both}#banner .sub{display:block;font-family:var(--f-body);font-size:.3em;letter-spacing:.06em;color:var(--paper-2);text-shadow:none;margin-top:.35em}@keyframes bannerPop{0%{opacity:0;transform:scale(.55) rotate(-7deg)}14%{opacity:1;transform:scale(1.08) rotate(1.5deg)}24%{transform:scale(1) rotate(-1deg)}74%{opacity:1;transform:scale(1) rotate(-1deg)}to{opacity:0;transform:scale(1.06) rotate(-1deg)}}.hud-bottom{display:flex;flex-direction:column;align-items:center;gap:8px}#turn-tag{font-family:var(--f-data);font-size:12px;letter-spacing:.24em;text-transform:uppercase;padding:5px 14px;border:2px solid currentColor;color:var(--ember);border-radius:225px 12px 255px 10px/10px 255px 12px 225px;background:#140f0b9e;transition:color .2s}#turn-tag.foe{color:var(--paper-2)}#power-wrap{width:min(340px,72vw);height:16px;position:relative;border:2.5px solid var(--paper);background:#140f0ba6;border-radius:255px 10px 225px 12px/12px 225px 10px 255px;opacity:0;transition:opacity .16s}#power-wrap.on{opacity:1}#power-fill{position:absolute;top:2px;right:2px;bottom:2px;left:2px;width:0%;background:var(--ember);transition:width .04s linear}#power-fill.max{background:var(--ember-hot)}#power-wrap .ticks{position:absolute;top:2px;right:2px;bottom:2px;left:2px;display:flex;pointer-events:none}#power-wrap .ticks span{flex:1;border-right:1.5px dashed rgba(236,228,214,.35)}#power-wrap .ticks span:last-child{border:none}#hint{margin:0;font-size:.95em;color:var(--paper-2);opacity:.82;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.8);min-height:1.4em;padding:0 10px}#view-chip{margin-top:.6em;font-family:var(--f-data);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ember-hot);background:#140f0bb3;padding:5px 13px;border:2px solid rgba(255,209,102,.5);border-radius:225px 12px 255px 10px/10px 255px 12px 225px;animation:fadeIn .18s ease-out both}#contact-chip{font-family:var(--f-data);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--paper);background:#140f0bb8;padding:4px 11px;border:1.5px dashed rgba(236,228,214,.55);border-radius:225px 10px 255px 8px/8px 255px 10px 225px}.pen-card.premium{background:linear-gradient(158deg,#f6ead0,#efdcb2 55%,#e6cf9e);box-shadow:0 0 0 1.5px #b08a3c inset,5px 6px #0a070599}.pen-card.premium[aria-pressed=true]{background:linear-gradient(158deg,#ffe6a8,#ffd98a);box-shadow:0 0 0 3px var(--ink),0 0 0 1.5px #b08a3c inset,7px 9px #0a070599}.pen-card .tier{position:absolute;top:-9px;right:12px;font-family:var(--f-data);font-size:9px;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--ember-hot);padding:2px 8px;border-radius:225px 8px 255px 6px/6px 255px 8px 225px}.ink-select{font-family:var(--f-body);font-size:.95em;color:var(--ink);background:var(--paper);border:2px solid var(--ink);padding:.22em .5em;min-height:34px;border-radius:225px 10px 255px 8px/8px 255px 10px 225px}.menu-card{width:min(400px,92vw);display:flex;flex-direction:column;gap:calc(var(--pad)*.7)}.menu-card h2{font-family:var(--f-display);font-size:2.1em;margin:0;line-height:1}.menu-actions{display:flex;flex-direction:column;gap:calc(var(--pad)*.6)}.menu-actions .btn{width:100%}.menu-settings{display:flex;flex-direction:column;gap:calc(var(--pad)*.55)}.setting{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1.5px dashed rgba(22,18,15,.28);padding-bottom:6px}.setting:last-of-type{border-bottom:none}.setting label{font-family:var(--f-data);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.seg{display:flex;border:2px solid var(--ink);border-radius:225px 10px 255px 8px/8px 255px 10px 225px;overflow:hidden}.seg button{padding:.28em .8em;font-size:.92em;background:transparent;min-height:34px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.how{width:min(560px,94vw);max-height:min(78vh,700px);overflow:auto}.how h2{font-family:var(--f-display);font-size:2.1em;margin:0 0 .2em;line-height:1}.how ol{margin:0;padding-left:1.15em;display:flex;flex-direction:column;gap:.5em}.how li strong{font-family:var(--f-display);font-size:1.25em;display:block;line-height:1.1}.how .rule{font-family:var(--f-data);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--bad);margin-top:.9em}.result{width:min(520px,94vw);text-align:center;display:flex;flex-direction:column;gap:calc(var(--pad)*.7);align-items:center}.result h2{font-family:var(--f-display);font-size:clamp(38px,9vmin,72px);margin:0;line-height:.9}.result .score{font-family:var(--f-data);font-size:clamp(26px,6vmin,42px);font-weight:700;letter-spacing:.1em;font-variant-numeric:tabular-nums}.unlock{display:flex;align-items:center;gap:.7em;padding:.5em .8em;border:2px dashed var(--ink);border-radius:225px 12px 255px 10px/10px 255px 12px 225px;background:#ff8a1f38}.unlock svg{width:90px;height:26px;flex:0 0 90px}.ladder{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-top:.2em}.ladder i{width:30px;height:30px;display:grid;place-items:center;font-size:16px;font-style:normal;border:2px solid var(--ink);border-radius:225px 10px 255px 8px/8px 255px 10px 225px;background:#16120f0f}.ladder i.done{background:var(--good);color:var(--paper)}.ladder i.now{background:var(--ember);box-shadow:0 0 0 3px #16120f40}#loader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;background:var(--dusk-deep);gap:10px;transition:opacity .5s}#loader .l-inner{text-align:center}#loader p{font-family:var(--f-data);font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--paper-2);margin:14px 0 0}#loader .spinner{width:56px;height:56px;margin:0 auto;border:3px solid rgba(236,228,214,.25);border-top-color:var(--ember);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#loader.gone{opacity:0;pointer-events:none}.rotate-hint{position:fixed;z-index:9;bottom:calc(128px + var(--sab));left:50%;transform:translate(-50%);font-family:var(--f-data);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-2);background:#140f0bb3;padding:5px 10px;border:1.5px dashed rgba(236,228,214,.45);pointer-events:none}@media(max-height:560px){:root{--pad:7px}.screen{justify-content:flex-start;gap:6px}.logo{font-size:clamp(38px,11vmin,58px)}.tagline{font-size:.9em}.title-menu{margin-top:6px;gap:6px}.select-head h2{font-size:clamp(20px,5.2vmin,30px)}.pen-card{flex-basis:min(178px,50vw);padding:8px;gap:.2em}.pen-card svg{height:32px}.pen-desc{display:none}.pen-card.locked .pen-desc{display:block;font-size:.85em;min-height:0}.pen-name{font-size:1.3em}.rack{padding:4px 4px 8px}.foe p{display:none}.foe .avatar{width:40px;height:40px;flex:0 0 40px;font-size:22px}.foe h3{font-size:1.3em}.btn{padding:.32em 1.1em;min-height:38px}.btn.primary{font-size:1.1em;padding:.3em 1.3em}.menu-card,.how,.result{gap:6px}.menu-card{width:min(700px,95vw)}.menu-card h2{font-size:1.5em}.menu-actions{flex-direction:row}.menu-settings{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}.setting{padding-bottom:3px}.how ol{gap:.25em}.result h2{font-size:clamp(28px,7vmin,44px)}.credit{display:none}}@media(max-width:640px){.pen-desc{min-height:0}.foe{max-width:100%}.tally{min-width:88px;padding:4px 9px}}@media(max-width:440px){.tally{min-width:0;padding:3px 7px}.tally b{font-size:1.02em}.pips i{width:9px;height:9px;border-width:1.5px}.scorebox{gap:6px}.vs{font-size:9px;letter-spacing:.1em}.hud-side{gap:6px}#turn-tag{font-size:10px;letter-spacing:.18em;padding:4px 10px}.rotate-hint{font-size:9px;padding:4px 8px}}@media(pointer:coarse){.icon-btn{width:46px;height:46px;font-size:19px}.hud-side{gap:8px}#hud{padding:calc(8px + var(--sat)) calc(8px + var(--sar)) calc(14px + var(--sab)) calc(8px + var(--sal))}.hud-bottom{gap:10px}#power-wrap{height:16px;border-width:2.5px}#hint{font-size:.92em;opacity:.85;max-width:26em;text-align:center}#turn-tag{padding:6px 14px}.btn,.pen-card{min-height:46px}.seg button{min-height:42px;padding-left:.9em;padding-right:.9em}}@media(pointer:coarse)and (orientation:portrait){.hud-bottom{padding-bottom:6vh}.hud-mid{align-items:start;padding-top:16vh}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}#root{height:100%}.how-h{font-family:var(--f-display);font-size:1.15em;margin:.7em 0 .2em;color:var(--ink)}.rule.cam{line-height:1.7}.rule.cam b{font-family:var(--f-data);font-size:.85em;letter-spacing:.06em;text-transform:uppercase;background:#16120f17;border:1.5px solid rgba(22,18,15,.28);border-radius:6px;padding:1px 6px;margin-right:2px}.chat-toggle{position:relative;pointer-events:auto;cursor:pointer;font-family:var(--f-data);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--paper);background:#140f0b8c;border:2px solid rgba(236,228,214,.5);border-radius:225px 10px 255px 8px/8px 255px 10px 225px;padding:5px 10px;min-height:32px}.chat-toggle:hover{background:#ff8a1f52}.chat-toggle.on{background:#ff8a1f66;border-color:var(--ember)}#chat-dot{position:absolute;top:-4px;right:-4px;width:9px;height:9px;background:var(--ember-hot);border:1.5px solid var(--dusk-deep);border-radius:50%}#chat{position:fixed;z-index:12;left:calc(10px + var(--sal));bottom:calc(10px + var(--sab) + var(--kb, 0px));width:min(330px,72vw);display:flex;flex-direction:column;gap:6px;pointer-events:none;transition:bottom .18s ease-out}#chat-log{display:flex;flex-direction:column;gap:4px;align-items:flex-start;max-height:34vh;overflow:hidden}#chat-log .line{pointer-events:none;max-width:100%;font-size:.92em;line-height:1.35;padding:4px 10px;background:#140f0bb8;color:var(--paper);border:2px solid rgba(236,228,214,.32);border-radius:225px 12px 255px 10px/10px 255px 12px 225px;animation:chatIn .22s ease-out both;word-break:break-word}#chat-log .line.mine{background:#ff8a1f42;border-color:#ff8a1f8c}#chat-log .line b{font-family:var(--f-display);font-weight:700;margin-right:.4em;color:var(--ember-hot)}#chat-log .line.mine b{color:var(--paper)}#chat-log .line.fading{opacity:0;transition:opacity .8s ease-in}@keyframes chatIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}#chat-form{display:none;gap:6px;pointer-events:auto}#chat.open #chat-form{display:flex}#chat-input{flex:1;min-width:0;min-height:44px;background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:3px 4px #0a070580;font-size:16px}#chat-input::placeholder{color:#16120f85}.chat-send{min-height:44px;padding:.3em .9em;white-space:nowrap}@media(pointer:coarse){#chat{width:calc(100vw - 20px - var(--sal) - var(--sar));max-width:none}#chat:not(.open){bottom:calc(104px + var(--sab))}#chat-log{max-height:22vh}.chat-toggle{min-height:40px;padding:6px 12px}#chat.typing #chat-log{max-height:14vh}}
