:root{
  --ink:#21170f;
  --paper:#eee2c7;
  --paper-dim:#cdbf9f;
  --chalk:#f6eedb;
  --wood-1:#2a180e;
  --wood-2:#432718;
  --wood-3:#694229;
  --wood-edge:#8f6544;
  --board:#171b16;
  --board-2:#20251d;
  --line:rgba(238,226,199,.16);
  --shadow:0 20px 55px rgba(0,0,0,.30);
  --hand:"Segoe Print","Bradley Hand","Comic Sans MS",cursive;
  --number:"Courier New",ui-monospace,monospace;
  --ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{min-height:100%;background:#1a100a}
body{margin:0;min-height:100%;color:var(--chalk);font-family:var(--ui);background:
  radial-gradient(circle at 20% 0%,rgba(255,222,178,.08),transparent 28rem),
  linear-gradient(135deg,#130c08 0%,#21140c 45%,#100a07 100%)}
button,input,select,textarea{font:inherit}.hidden{display:none!important}
button{touch-action:manipulation}.ambient-grain{position:fixed;inset:0;pointer-events:none;opacity:.16;mix-blend-mode:soft-light;background-image:repeating-radial-gradient(circle at 0 0,transparent 0 2px,rgba(255,255,255,.15) 3px 4px);background-size:13px 17px;z-index:0}
#root{position:relative;z-index:1}.page{width:min(1180px,calc(100% - 32px));margin:auto;padding:18px 0 56px}.topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 2px 14px;border-bottom:1px solid rgba(238,226,199,.14)}
.brand{display:flex;align-items:center;gap:13px}.brand-mark{position:relative;display:grid;place-items:center;width:48px;height:48px;border:1px solid #9c7453;border-radius:50%;background:radial-gradient(circle at 38% 32%,#765037,#3b2315 68%);box-shadow:inset 0 0 0 4px #2b190f,0 8px 18px #0008;color:#f4e5c6;font-family:var(--hand);font-size:17px;font-weight:800;transform:rotate(-2deg)}
.brand h1,.panel h2,.panel h3,.auth-card h1{margin:0;font-family:var(--hand);font-weight:700;letter-spacing:.01em}.brand h1{font-size:clamp(20px,3vw,27px)}
.eyebrow{margin:0 0 5px;color:#d2b38c;font-size:9px;font-weight:850;letter-spacing:.19em;text-transform:uppercase}.muted{color:#b5a98f}.small{font-size:10px;line-height:1.55}.actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.button{min-height:38px;border:1px solid #775238;border-radius:7px;background:linear-gradient(#4b2d1c,#342014);box-shadow:inset 0 1px rgba(255,255,255,.08),0 4px 9px #0004;color:#eee0c6;padding:0 13px;font-size:11px;font-weight:750;letter-spacing:.02em;cursor:pointer;transition:transform .16s ease,border-color .16s ease,filter .16s ease}.button:hover{transform:translateY(-1px);filter:brightness(1.08);border-color:#a87a53}.button:active{transform:translateY(1px)}.button.primary{background:linear-gradient(#81603d,#5d4028);border-color:#b28b61;color:#fff7e6}.button.danger{background:#43231d;border-color:#7c463e;color:#f1c6bb}.button:disabled{opacity:.42;cursor:not-allowed;transform:none;filter:none}
.pill{display:inline-flex;min-height:28px;align-items:center;border:1px dashed rgba(238,226,199,.26);border-radius:5px;background:rgba(238,226,199,.045);padding:0 9px;color:#cbbd9f;font-size:9px;letter-spacing:.04em}
.hero{padding:34px 2px 24px;display:flex;justify-content:space-between;gap:30px;align-items:flex-end}.hero h2{margin:0;max-width:760px;font-family:var(--hand);font-size:clamp(30px,5vw,56px);font-weight:700;line-height:1.07;letter-spacing:-.035em;color:#f1e6cf}.hero p{max-width:690px;color:#b9ab91;font-size:12px;line-height:1.8}
.panel,.auth-card,.modal-card{position:relative;border:8px solid transparent;border-radius:10px;background:
  linear-gradient(var(--board),var(--board)) padding-box,
  repeating-linear-gradient(92deg,var(--wood-1) 0 8px,var(--wood-2) 8px 16px,var(--wood-3) 16px 22px,var(--wood-2) 22px 30px) border-box;box-shadow:inset 0 0 0 1px rgba(238,226,199,.08),var(--shadow)}
.panel{padding:16px}.panel:before,.auth-card:before,.modal-card:before{content:"";position:absolute;inset:0;pointer-events:none;border-radius:3px;background:radial-gradient(circle at 15% 15%,rgba(255,255,255,.04),transparent 23%),repeating-linear-gradient(0deg,transparent 0 7px,rgba(255,255,255,.012) 8px 9px)}
.panel>* ,.auth-card>* ,.modal-card>*{position:relative}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.list{display:grid;gap:8px}.list-item{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:6px;background:#20231d;padding:10px 11px}.list-item-title{font-family:var(--hand);font-size:13px;font-weight:700}.list-item-sub{margin-top:3px;color:#9e947f;font-size:9px}
.field{display:grid;gap:7px}.field span{color:#c3b495;font-size:9px;font-weight:800;letter-spacing:.05em}.input,.select{height:42px;border:1px solid #645342;border-radius:5px;background:#11140f;color:#f3e9d4;padding:0 11px;outline:none}.textarea{min-height:120px;padding:10px;resize:vertical}.input:focus,.select:focus{border-color:#c2a178;box-shadow:0 0 0 3px rgba(194,161,120,.10)}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-card{width:min(100%,430px);padding:24px}.auth-card h1{font-size:34px}.auth-form{display:grid;gap:13px;margin-top:20px}.game-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:16px}.game-nav{position:sticky;top:14px;align-self:start}.game-item{width:100%;text-align:left;border:1px solid transparent;border-radius:5px;background:transparent;color:#b7aa91;padding:11px;cursor:pointer;transition:.16s}.game-item:hover{background:#24271f}.game-item.active{background:#292c23;border-color:#6f634e;color:#fff0d0;box-shadow:inset 3px 0 #bd976a}.game-title-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.board-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}.board-tab{height:34px;border:1px solid #675641;border-radius:4px;background:#1b1e18;color:#b7aa91;padding:0 11px;cursor:pointer}.board-tab.active{background:#49311f;color:#f4e7cf}
.leaderboard{border:1px solid rgba(238,226,199,.12);border-radius:6px;background:#10130f;padding:10px;overflow:hidden}.leader-head,.leader-row{display:grid;grid-template-columns:68px minmax(150px,1.2fr) minmax(150px,.9fr) 155px;gap:8px;align-items:center}.leader-head{padding:0 9px 8px;color:#8f8675;font-size:8px;font-weight:900;letter-spacing:.16em}.leader-row{margin-top:7px;perspective:700px}
.flip{position:relative;overflow:hidden;min-height:58px;display:flex;align-items:center;border:1px solid #3e4137;border-radius:4px;background:linear-gradient(#282c24 49%,#171a15 50%,#21241d 51%);box-shadow:inset 0 1px rgba(255,255,255,.045),0 3px 7px #0006;padding:0 12px}.flip:after{content:"";position:absolute;z-index:2;left:0;right:0;top:50%;height:1px;background:#080a07;box-shadow:0 1px rgba(255,255,255,.03)}.flip.anim{animation:cardDrop .48s cubic-bezier(.2,.8,.25,1) both;transform-origin:50% 0}.rank{justify-content:center;color:#f0d8aa;font-family:var(--number);font-size:20px;font-weight:900}.record{justify-content:flex-end;font-family:var(--number);font-weight:900}.player-name{font-family:var(--hand);font-size:14px;letter-spacing:.01em}
.score-digits{display:inline-flex;gap:3px;align-items:center;justify-content:flex-end;white-space:nowrap}.score-digit{position:relative;display:inline-grid;place-items:center;min-width:.78em;height:1.25em;border-radius:2px;background:linear-gradient(#efe2c5 0 49%,#d1c09e 50% 100%);box-shadow:inset 0 0 0 1px rgba(44,31,19,.18),0 1px 2px #0008;color:#261a11;font-family:var(--number);font-size:20px;line-height:1;transform-origin:center top;animation:digitFlip .62s cubic-bezier(.18,.72,.2,1) both}.score-digit:after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(38,26,17,.3)}.score-unit{margin-left:5px;color:#bcaa88;font-family:var(--hand);font-size:10px;font-weight:500}.rank .score-digit{font-size:18px}.rank-prefix{margin-right:2px;font-family:var(--hand);font-size:13px;color:#bb9d6f}
@keyframes cardDrop{0%{transform:rotateX(-72deg) translateY(-8px);opacity:.15}65%{transform:rotateX(7deg) translateY(0);opacity:1}100%{transform:rotateX(0)}}
@keyframes digitFlip{0%{transform:rotateX(-92deg);filter:brightness(.45);opacity:.2}55%{transform:rotateX(14deg);filter:brightness(1.08);opacity:1}78%{transform:rotateX(-5deg)}100%{transform:rotateX(0);filter:none}}
.tag-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.tag{display:inline-flex;min-height:21px;align-items:center;border:1px solid rgba(238,226,199,.12);border-radius:3px;background:#171a15;padding:0 6px;color:#a99e88;font-size:8px}.tag.gold{color:#e2c376;border-color:#756236}.tag.silver{color:#c8c3b7}.tag.bronze{color:#d69f73}.tag.gender{color:#c7b99d;border-style:dashed}.empty{padding:48px 18px;text-align:center;color:#918775;font-family:var(--hand)}
.attempts{display:grid;gap:7px;margin-top:14px}.attempt{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid rgba(238,226,199,.12);border-radius:5px;padding:10px;background:#181b16}.attempt strong{font-family:var(--number);color:#ead9b8}.attempt .actions{flex-wrap:wrap;justify-content:flex-end}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:14px}.backdrop{position:absolute;inset:0;background:rgba(13,8,5,.76);backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(94vw,540px);max-height:88vh;overflow:auto;padding:19px}.modal-card.wide{width:min(96vw,940px)}.modal-head{display:flex;justify-content:space-between;gap:12px}.modal-card h2{margin:0}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.toast{position:fixed;left:50%;bottom:22px;z-index:200;transform:translate(-50%,18px) rotate(-1deg);opacity:0;border:1px solid #75583d;border-radius:4px;background:#2f2115;padding:10px 14px;color:#efe3cb;font-family:var(--hand);font-size:11px;box-shadow:0 8px 25px #0008;transition:.18s}.toast.show{opacity:1;transform:translate(-50%,0) rotate(-1deg)}textarea.input{resize:vertical}
@media(max-width:900px){.game-layout{grid-template-columns:1fr}.game-nav{position:static}.game-nav .list{grid-template-columns:repeat(2,minmax(0,1fr))}.leader-head,.leader-row{grid-template-columns:56px minmax(0,1fr) 130px}.leader-head span:nth-child(4),.leader-row>div:nth-child(4){display:none}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.page{width:min(100% - 18px,1180px);padding-top:8px}.topbar{align-items:flex-start;padding:8px 0 13px}.topbar>.actions{justify-content:flex-end}.brand-mark{width:42px;height:42px}.hero{padding:26px 0 18px;flex-direction:column;align-items:flex-start}.hero h2{font-size:clamp(28px,10vw,42px)}.panel{border-width:6px;padding:11px}.game-nav .list{grid-template-columns:1fr 1fr}.leaderboard{padding:6px}.leader-head{display:none}.leader-row{grid-template-columns:48px minmax(0,1fr) 106px;gap:5px;margin-top:6px}.flip{min-height:52px;padding:0 7px}.rank{font-size:16px}.player-name{font-size:12px}.record{font-size:11px}.score-digit{font-size:15px;min-width:.72em}.score-unit{font-size:8px;margin-left:3px}.tag{font-size:7px;min-height:18px}.panel-head{align-items:flex-start}.panel-head>.actions{justify-content:flex-end}.attempt{align-items:flex-start;flex-direction:column}.attempt>.actions{width:100%;justify-content:space-between}.form-grid{grid-template-columns:1fr}.modal{padding:8px}.modal-card{border-width:6px;padding:13px}}
@media(max-width:390px){.topbar{display:grid}.topbar>.actions{justify-content:flex-start}.game-nav .list{grid-template-columns:1fr}.leader-row{grid-template-columns:43px minmax(0,1fr) 92px}.score-digit{font-size:14px}.score-unit{display:none}.hero .actions{gap:5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}


/* Generic multi-game + profile/admin refinements */
.game-nav .panel-head .button { min-width:38px; padding:0; font-size:18px; }
.textarea { min-height:132px; height:auto; padding:10px; line-height:1.5; resize:vertical; }
.field small { color:#8f8675; font-weight:500; }
.attempt .actions { flex-wrap:wrap; justify-content:flex-end; }
.modal-card.wide { width:min(96vw,960px); }


/* Multi-company identity */
.auth-card .select { width:100%; }
.company-context-note { color:#9f947f; font-size:9px; line-height:1.5; }
