/* Texbevfra main stylesheet, graph-paper lab */
:root{
  --paper:#eef1fb;--paper2:#e4e8f6;--card:#ffffff;--ink:#28306b;--ink2:#3a4388;--muted:#5a6079;--line:rgba(40,48,107,.16);
  --coral:#ff5b49;--coral2:#e8432f;--teal:#17a9a0;
  --grid:rgba(40,48,107,.07);
  --display:"Archivo",system-ui,sans-serif;--body:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"DM Mono",ui-monospace,Consolas,monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:120px;-webkit-text-size-adjust:100%}
body{color:var(--ink);font:16.5px/1.65 var(--body);background:
  repeating-linear-gradient(0deg,transparent 0 31px,var(--grid) 31px 32px),
  repeating-linear-gradient(90deg,transparent 0 31px,var(--grid) 31px 32px),var(--paper)}
body.locked{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:var(--coral2)}
a:hover{color:var(--ink)}
:focus-visible{outline:2px solid var(--coral);outline-offset:3px}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px}
.narrow{max-width:760px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;z-index:500;background:var(--ink);color:#fff;padding:8px 14px}
.skip:focus{left:8px}
h1,h2,h3{font-family:var(--display);font-weight:800;line-height:1.02;letter-spacing:-.02em;color:var(--ink)}
h1{font-size:clamp(2.6rem,6vw,4.8rem)}
h2{font-size:clamp(1.7rem,3.4vw,2.6rem);margin-bottom:.4em}
h3{font-size:1.25rem;font-weight:700}
p{margin-bottom:1em}
.ey,.eyebrow{display:inline-block;font:500 .74rem var(--mono);letter-spacing:.1em;color:var(--coral2);margin-bottom:14px}
.lead{font-size:1.12rem;max-width:58ch;color:var(--muted)}
.hl{color:var(--coral)}
code{font:.85em var(--mono);background:var(--paper2);border:1px solid var(--line);padding:1px 6px;border-radius:4px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:500 .9rem var(--body);padding:13px 22px;border:2px solid var(--ink);text-decoration:none;cursor:pointer;transition:transform .1s,box-shadow .15s,background .15s}
.btn-ink{background:var(--ink);color:#fff;box-shadow:4px 4px 0 var(--coral)}
.btn-ink:hover{transform:translate(-1px,-1px);box-shadow:5px 5px 0 var(--coral);color:#fff}
.btn-ink:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--coral)}
.btn-line{background:var(--card);color:var(--ink)}
.btn-line:hover{background:var(--ink);color:#fff}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:4px 4px 0 var(--coral)}

/* rail + header */
.rail{background:var(--ink);color:#c7cdf0;font:500 .72rem var(--mono);letter-spacing:.04em}
.rail-row{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;padding-top:7px;padding-bottom:7px}
.rail-tag{color:var(--coral);margin-right:4px}
.rail a{color:#eef1fb;text-decoration:none}
.rail a:hover{color:var(--coral)}
.rail i{color:#6670b8;font-style:normal}
.top{position:sticky;top:0;z-index:60;background:rgba(238,241,251,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--ink)}
.top-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand-name{font:800 1.05rem var(--display);letter-spacing:.02em}
.brand-name i{color:var(--coral);font-style:normal}
.mark{flex:none;color:var(--ink)}
.nav{display:flex;align-items:center;gap:22px;font-size:.92rem}
.nav a{color:var(--muted);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{color:var(--ink);border-color:var(--coral)}
.nav .nav-contact{border:2px solid var(--ink);padding:5px 13px;color:var(--ink)}
.nav .nav-contact:hover,.nav .nav-contact[aria-current]{background:var(--ink);color:#fff}
.top-tools{display:flex;align-items:center;gap:10px}
.lang{display:inline-flex;border:2px solid var(--ink);font:500 .72rem var(--mono);text-decoration:none}
.lang span{padding:4px 8px}
.lang-on{background:var(--ink);color:#fff}
.lang-off{color:var(--muted)}
.lang:hover .lang-off{color:var(--ink)}
.navbtn{display:none;background:var(--card);border:2px solid var(--ink);font:500 .8rem var(--mono);padding:7px 13px;cursor:pointer}

/* hero */
.hero{padding:72px 0 56px}
.hero-in{max-width:780px}
.hero h1{margin-bottom:22px}
.cta{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 22px}
.specline{list-style:none;display:flex;flex-wrap:wrap;gap:0;border:2px solid var(--ink);background:var(--card);width:max-content;max-width:100%}
.specline li{font:500 .72rem var(--mono);letter-spacing:.04em;text-transform:uppercase;padding:8px 14px;border-right:2px solid var(--ink)}
.specline li:last-child{border-right:0}

/* sections */
.sec{padding:72px 0;border-top:2px solid var(--ink)}
.sec-top{padding-top:44px;border-top:0}
.sec-grid{background:
  repeating-linear-gradient(0deg,transparent 0 31px,var(--grid) 31px 32px),
  repeating-linear-gradient(90deg,transparent 0 31px,var(--grid) 31px 32px),var(--paper2)}
.sec-head{max-width:640px;margin-bottom:40px}
.sec-head p:last-child{color:var(--muted);margin:0}
.please{padding:44px 0 0}
.please-box{position:relative;background:var(--card);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:26px 28px}
.tab{position:absolute;top:-13px;left:22px;background:var(--coral);color:#fff;font:500 .68rem var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:3px 10px}
.please-box p{margin:6px 0 0;color:var(--muted)}
.please-box strong{color:var(--ink)}

/* bench / experiment cards */
.bench{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.bench-3{grid-template-columns:repeat(3,1fr)}
.exp{background:var(--card);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:22px 22px 20px;display:flex;flex-direction:column;transition:transform .12s,box-shadow .12s}
.exp:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}
.exp-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.exp-tag{font:500 .72rem var(--mono);letter-spacing:.06em;background:var(--ink);color:#fff;padding:3px 8px}
.exp-tag.big{font-size:1rem;padding:8px 12px}
.exp-type{font:500 .7rem var(--mono);color:var(--muted);text-align:right}
.exp h3{font-size:1.55rem;margin-bottom:6px}
.exp h3 a{text-decoration:none;color:var(--ink)}
.exp h3 a:hover{color:var(--coral2)}
.exp-pitch{color:var(--muted);margin-bottom:12px}
.exp-decide{font-size:.9rem;border-left:3px solid var(--coral);padding:2px 0 2px 12px;margin:0 0 16px;color:var(--ink)}
.exp-decide b{font-family:var(--mono);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}
.exp-link{margin-top:auto;font:500 .82rem var(--mono);text-decoration:none;color:var(--coral2)}
.exp-link:hover{color:var(--ink)}
.exp.mini{box-shadow:4px 4px 0 var(--ink)}

/* rules */
.rules{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.rule{background:var(--card);border:2px solid var(--ink);padding:18px}
.rule-n{font:800 1.3rem var(--display);color:var(--coral)}
.rule h3{font-size:1.15rem;margin:6px 0 8px}
.rule p{color:var(--muted);margin:0;font-size:.92rem}

/* break control */
.break-sec{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.break-sec p:last-child{color:var(--muted);margin:0}
.break-ctl{background:var(--ink);color:#fff;border:2px solid var(--ink);box-shadow:6px 6px 0 var(--coral);padding:22px;display:flex;flex-wrap:wrap;gap:10px}
.break-ctl span{flex-basis:100%;font:500 .72rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#c7cdf0}
.break-ctl button{font:500 .85rem var(--mono);background:transparent;color:#fff;border:1px solid #6670b8;padding:7px 14px;cursor:pointer}
.break-ctl button[aria-pressed="true"]{background:var(--coral);border-color:var(--coral)}

/* is / isnt */
.isnt{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.isnt>div{background:var(--card);border:2px solid var(--ink);padding:22px 24px}
.isnt h3{margin-bottom:12px}
.isnt ul{list-style:none;display:grid;gap:9px}
.isnt li{padding-left:24px;position:relative;color:var(--muted)}
.is-yes li::before{content:"+";position:absolute;left:0;font-family:var(--mono);font-weight:700;color:var(--teal)}
.is-no li::before{content:"\2212";position:absolute;left:0;font-family:var(--mono);font-weight:700;color:var(--coral2)}

/* faq */
.faq{border-top:2px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line);background:var(--card)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:14px;padding:16px 18px;font:700 1.02rem var(--display)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font:500 1.2rem var(--mono);color:var(--coral2)}
.faq details[open] summary{background:var(--ink);color:#fff}
.faq details[open] summary::after{content:"\2212";color:var(--coral)}
.faq details p{padding:14px 18px;margin:0;color:var(--muted)}
.more-link{margin-top:20px;font:500 .84rem var(--mono)}

/* page heads + prose */
.pagehead{padding:70px 0 8px}
.pagehead h1{font-size:clamp(2.3rem,5.4vw,4rem);margin-bottom:14px}
.pagehead .lead{margin:0}
.gamehead{padding:50px 0 8px}
.gamehead-row{display:flex;align-items:center;gap:20px}
.gamehead h1{font-size:clamp(2.3rem,5vw,3.8rem)}
.gamehead .lead{margin:6px 0 0}
.crumbs{font:500 .74rem var(--mono);color:var(--muted);margin-bottom:16px}
.crumbs a{color:var(--muted)}
.prose h2{font-size:1.6rem;margin:1.5em 0 .4em}
.prose ul{padding-left:1.2em;margin-bottom:1em}
.prose li{margin-bottom:.4em;color:var(--muted)}
.prose p{color:var(--muted)}
.closing{margin-top:2.2em;padding:16px 18px;background:var(--card);border:2px solid var(--ink);font-size:.92rem;color:var(--muted)}
.mailbox{margin:18px 0 26px}

/* game bay + shared UI */
.bay{background:var(--ink);border:2px solid var(--ink);box-shadow:8px 8px 0 var(--coral);padding:14px}
.stage{min-height:460px;display:flex;align-items:center;justify-content:center;padding:26px;background:
  repeating-linear-gradient(0deg,transparent 0 23px,rgba(255,255,255,.05) 23px 24px),
  repeating-linear-gradient(90deg,transparent 0 23px,rgba(255,255,255,.05) 23px 24px),#1f2550;color:#eef1fb;border:1px solid #39407e}
.stage-hold{font:500 .8rem var(--mono);letter-spacing:.04em;border:1px solid #4b5293;padding:10px 16px;margin:0}
.strip{margin:16px 0 0;text-align:center;font:500 .7rem var(--mono);letter-spacing:.04em;color:var(--muted)}
.game-info{display:grid;grid-template-columns:minmax(260px,.85fr) 1.15fr;gap:44px;margin-top:52px;align-items:start}
.game-info h2{font-size:1.9rem}
.note-box{background:var(--card);border:2px solid var(--ink);padding:24px}
.note-big{font:700 1.4rem/1.2 var(--display);color:var(--ink);margin:4px 0 14px}
.note-box p:last-child{margin:0;color:var(--muted)}
.steps{list-style:none;counter-reset:s;display:grid;gap:16px;margin:18px 0 22px}
.steps li{counter-increment:s;display:grid;grid-template-columns:36px 1fr;gap:2px 12px}
.steps li::before{content:counter(s);grid-row:span 2;font:800 1.5rem var(--display);color:var(--coral)}
.steps b{font-weight:700}
.steps span{color:var(--muted)}

.g{width:100%;max-width:720px;text-align:center}
.g-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}
.g-bal{font:500 .74rem var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#aab0dd}
.g-bal b{display:inline-block;margin-left:8px;font:800 1.4rem var(--display);color:var(--coral)}
.g-opts{display:flex;align-items:center;gap:6px;font:500 .72rem var(--mono);text-transform:uppercase;color:#aab0dd}
.g-opts button{font:500 .85rem var(--mono);background:transparent;color:#fff;border:1px solid #4b5293;padding:5px 11px;cursor:pointer}
.g-opts button[aria-pressed="true"]{background:#fff;color:var(--ink)}
.g-opts button:disabled{opacity:.45;cursor:not-allowed}
.g-msg{min-height:1.6em;font:700 1.1rem var(--display);margin:18px 0}
.g-msg.win{color:var(--coral)}
.g-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}
.g-actions .btn{background:#fff;color:var(--ink);border-color:#fff;box-shadow:none}
.g-actions .btn:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.g-actions .btn-line{background:transparent;color:#fff;border-color:#4b5293}
.g-actions .btn-line:hover{background:#2b3570;color:#fff}
.g-reset{margin:20px 0 0;font-size:.84rem;color:#8a90bf}
.linkbtn{background:none;border:0;font:inherit;color:#fff;text-decoration:underline;cursor:pointer}
.g-table{margin:24px auto 0;border-collapse:collapse;font-size:.86rem;min-width:280px;color:#c7cdf0}
.g-table caption{font:500 .7rem var(--mono);text-transform:uppercase;padding-bottom:8px;color:#8a90bf}
.g-table td{padding:6px 14px;border-top:1px solid #39407e}
.g-table td:last-child{text-align:right;font-family:var(--mono)}

/* roulette */
.pickrow{display:flex;justify-content:center;gap:8px;margin-bottom:18px}
.ck{font:600 .85rem var(--body);border:2px solid #fff;padding:9px 18px;cursor:pointer;color:#fff;background:transparent}
.ck-red[aria-pressed=true]{background:#d8463a;border-color:#d8463a}
.ck-black[aria-pressed=true]{background:#11162e;border-color:#fff}
.ck-green[aria-pressed=true]{background:#17a981;border-color:#17a981}
.ck:disabled{opacity:.5;cursor:not-allowed}
.wheelbox{text-align:center}
.wmark{font:800 2.4rem var(--display);color:var(--coral);margin-bottom:8px}
.wrow{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.pk{width:38px;height:38px;display:grid;place-items:center;font:600 .9rem var(--mono);border:2px solid #39407e;color:#fff}
.pk-red{background:#8d3029}.pk-black{background:#1a1f3d}.pk-green{background:#166e57}
.pk.on{outline:3px solid var(--coral);outline-offset:1px;transform:scale(1.08)}

/* card duel */
.duel{display:flex;align-items:center;justify-content:center;gap:22px}
.duel-l{font:500 .7rem var(--mono);text-transform:uppercase;color:#8a90bf;margin-bottom:8px}
.duel-v{font:800 1.2rem var(--display);color:var(--coral)}
.pc{width:92px;height:128px;border-radius:8px;background:#fff;color:var(--ink);display:flex;flex-direction:column;justify-content:space-between;padding:8px 10px;font:700 1.5rem var(--display);box-shadow:0 8px 18px -8px rgba(0,0,0,.5)}
.pc.red{color:var(--coral2)}
.pc .mid{font-size:2.3rem;text-align:center}
.pc .bot{transform:rotate(180deg)}
.pc.back{background:repeating-linear-gradient(45deg,#2b3570 0 7px,#39407e 7px 14px)}

/* tower */
.tower{display:grid;gap:7px;max-width:360px;margin:0 auto}
.trow{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;opacity:.5}
.trow.active{opacity:1}
.trow.done{opacity:.7}
.door{height:42px;border:2px solid #4b5293;background:#2b3570;color:#fff;font:700 1rem var(--display);cursor:pointer}
.door:disabled{cursor:default}
.door.good{background:#17a981;border-color:#17a981}
.door.bad{background:var(--coral2);border-color:var(--coral2)}
.pot{display:flex;justify-content:center;gap:28px;margin-top:16px;font:500 .72rem var(--mono);text-transform:uppercase;color:#8a90bf}
.pot b{display:block;font:800 1.5rem var(--display);color:var(--coral)}

/* spark */
.spark{display:grid;grid-template-columns:repeat(3,88px);gap:9px;justify-content:center}
.tile{height:88px;border:2px solid #4b5293;background:#2b3570;color:#fff;font:800 1.5rem var(--display);cursor:pointer}
.tile:disabled{cursor:default}
.tile.hit{background:var(--coral);border-color:var(--coral);color:#fff}
.tile.miss{background:#1a1f3d;border-color:#39407e;color:#8a90bf}

/* help band */
.helpband{padding:70px 0;border-top:2px solid var(--ink);background:var(--card)}
.helpband-head{max-width:640px;margin-bottom:28px}
.helpband-head h2{font-size:1.9rem}
.help{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}
.help-card{display:flex;flex-direction:column;align-items:center;gap:6px;background:var(--paper);border:2px solid var(--ink);padding:16px 10px 12px;text-decoration:none;text-align:center;transition:transform .12s}
.help-card:hover{transform:translate(-2px,-2px)}
.help-logo{height:52px;width:100%;display:flex;align-items:center;justify-content:center}
.help-logo img{max-height:48px;max-width:130px;width:auto;object-fit:contain}
.help-word{font:700 .95rem/1.1 var(--body);color:#1b4f8a}
.help-name{font:500 .62rem var(--mono);text-transform:uppercase;color:var(--ink)}
.help-note{font-size:.72rem;color:var(--muted);line-height:1.35}

/* footer */
.foot{background:var(--ink);color:#aab0dd;padding:58px 0 30px}
.foot .brand-name{color:#fff}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:38px;padding-bottom:28px;border-bottom:1px solid #39407e}
.foot-about p{margin:16px 0 0;font-size:.92rem;max-width:380px}
.foot-h{font:500 .68rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--coral);margin-bottom:12px}
.foot-grid a:not(.brand){display:block;color:#d4d8f0;text-decoration:none;padding:3px 0;font-size:.95rem}
.foot-grid a:not(.brand):hover{color:var(--coral)}
.foot-base{padding-top:18px;font-size:.8rem;color:#8a90bf}
.foot-base p{margin:0 0 6px}

/* modals + notice */
.modal{position:fixed;inset:0;z-index:400;display:flex;overflow-y:auto;padding:16px;background:rgba(40,48,107,.72);backdrop-filter:blur(5px)}
.modal-box{margin:auto;max-width:460px;background:var(--paper);border:2px solid var(--ink);box-shadow:10px 10px 0 var(--coral);padding:34px 30px;text-align:center}
.modal-box h2{font-size:1.9rem;margin-bottom:12px}
.modal-box p{color:var(--muted)}
.modal-badge{display:inline-grid;place-items:center;width:64px;height:64px;background:var(--ink);color:#fff;font:800 1.3rem var(--display);margin-bottom:14px}
.badge-coral{background:var(--coral);font-family:var(--mono)}
.modal-btns{display:flex;flex-direction:column;gap:10px;margin-top:20px}
.modal-note{font-size:.78rem;color:var(--muted);margin:14px 0 0}
.notice{position:fixed;left:16px;right:16px;bottom:16px;z-index:350;max-width:640px;margin:0 auto;display:flex;align-items:center;gap:16px;background:var(--card);border:2px solid var(--ink);box-shadow:6px 6px 0 var(--ink);padding:14px 16px}
.notice p{margin:0;font-size:.86rem;color:var(--muted)}

@media (max-width:1000px){
  .bench,.bench-3,.rules,.isnt,.break-sec,.game-info{grid-template-columns:1fr}
  .rules{grid-template-columns:1fr 1fr}
  .help{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-about{grid-column:1/-1}
}
@media (max-width:760px){
  .navbtn{display:inline-block}
  .nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;align-items:flex-start;gap:6px;background:var(--paper);border-bottom:2px solid var(--ink);padding:12px 28px 18px}
  .nav.open{display:flex}
  .top-row{position:relative}
  .bench-3,.rules{grid-template-columns:1fr}
  .sec{padding:56px 0}
  .gamehead-row{flex-direction:column;align-items:flex-start}
}
@media (max-width:560px){
  .wrap{padding:0 18px}
  .rules,.help{grid-template-columns:1fr 1fr}
  .pk{width:30px;height:30px;font-size:.75rem}
  .spark{grid-template-columns:repeat(3,70px)}.tile{height:70px;font-size:1.2rem}
  .pc{width:72px;height:102px;font-size:1.1rem}
  .notice{flex-direction:column;align-items:stretch}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
