:root{color-scheme:light;font-family:Trebuchet MS,Avenir Next,Comic Sans MS,sans-serif;--bg: #ffeab8;--bg-pattern: #ffd76d;--panel: #fff4d6;--panel-strong: #fff9eb;--ink: #2f2620;--muted: #6f665b;--accent: #ff7f3f;--accent-soft: #ffcf7f;--felt: #8ed082;--line: #2f2620;--board: #77c86a;--board-deep: #5cae54}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:var(--bg)}button,input{font:inherit}a{color:inherit;text-decoration:none}h1,h2,h3{margin:0;font-family:Trebuchet MS,Avenir Next,Comic Sans MS,sans-serif;letter-spacing:-.01em}p{margin:0}.app-frame{min-height:100vh;padding:24px}.auth-layout,.dashboard-layout,.room-layout,.loading-layout{width:min(1240px,100%);margin:0 auto}.auth-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;padding:36px 0}.dashboard-layout,.room-layout{display:grid;gap:20px;padding:24px 0 40px}.dashboard-layout .panel{border-width:2px;border-color:#8b7e70;box-shadow:none}.loading-layout{display:grid;place-items:center;min-height:calc(100vh - 48px)}.panel{background:var(--panel);border:3px solid var(--line);border-radius:24px;box-shadow:none}.hero-panel,.masthead,.room-header,.room-status,.room-completed-status,.waiting-panel,.loading-card{padding:28px}.hero-panel{background:#ff975e;color:#fff9f2}.auth-hero{position:relative;overflow:hidden;background:linear-gradient(145deg,#ffbf7f,#ff9b67 48%,#ff8f74);color:#2f2620}.auth-hero:before{content:"";position:absolute;inset:-90px -120px auto auto;width:300px;height:300px;border-radius:999px;background:#ffffff38}.auth-hero .eyebrow{color:#4f2f1f}.auth-hero h1{max-width:18ch;font-size:clamp(2.1rem,1.5rem + 2.2vw,3.2rem);line-height:1.05;letter-spacing:-.02em}.auth-hero .hero-copy{color:#2f2620e0;margin-top:16px;max-width:54ch}.auth-tile-cloud{margin-top:22px;display:flex;flex-wrap:wrap;gap:10px}.auth-tile-badge{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 12px;border-radius:999px;border:2px solid rgba(47,38,32,.42);background:#ffffffbd;font-size:.92rem;font-weight:700;animation:authTilePop .34s ease both}.auth-tile-badge.red{color:#8b2e25}.auth-tile-badge.blue{color:#2c538a}.auth-tile-badge.black{color:#33363d}.auth-tile-badge.green{color:#236438}.auth-tile-badge.joker{color:#68427a}.auth-tile-badge:nth-child(2){animation-delay:60ms}.auth-tile-badge:nth-child(3){animation-delay:.12s}.auth-tile-badge:nth-child(4){animation-delay:.18s}.auth-tile-badge:nth-child(5){animation-delay:.24s}.auth-hero-note{margin-top:18px;color:#2f2620c7;font-size:.92rem;font-weight:600}.eyebrow{margin-bottom:12px;font-size:.8rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.hero-copy{margin-top:14px;max-width:60ch;color:#fff9f2eb;line-height:1.6}.light-copy{color:var(--muted)}.fact-grid,.lobby-grid,.history-grid,.board-grid,.stats-grid{display:grid;gap:14px}.fact-grid{margin-top:28px;grid-template-columns:repeat(3,minmax(0,1fr))}.fact-card,.stat-card,.history-card,.empty-card,.empty-board{padding:18px;border-radius:18px;background:#fff9eb;border:3px solid var(--line)}.fact-card{display:grid;gap:8px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stats-shell{display:grid;gap:14px}.advanced-stats-toggle{min-height:40px;padding:0 14px}.advanced-stats-panel{display:grid;gap:10px;padding:16px;background:#f6edd0}.advanced-stats-panel .eyebrow{margin:0}.advanced-stats-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-card{display:grid;gap:10px;background:#fff4d6}.stat-card strong{font-size:2rem;font-family:Trebuchet MS,Comic Sans MS,sans-serif}.auth-panel{padding:20px;align-self:center}.auth-toggle{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:18px;padding:6px;background:#ffe9ba;border-radius:999px;border:3px solid var(--line)}.auth-toggle button{border:0;background:transparent;border-radius:999px;padding:12px 14px;font-weight:700;cursor:pointer}.auth-toggle button.active{background:var(--panel-strong);box-shadow:none}.auth-form{display:grid;gap:14px}.auth-form label{display:grid;gap:8px;font-weight:600}.auth-form input{border:3px solid var(--line);border-radius:16px;padding:14px 16px;background:#fffdf4}.button,.inline-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;padding:0 18px;border:3px solid var(--line);cursor:pointer;transition:transform .12s ease}.dashboard-layout .button,.dashboard-layout .inline-link{border-width:2px;border-color:#8b7e70;box-shadow:none}.button:hover,.inline-link:hover,.tile-chip:hover{transform:translateY(-1px)}.button.primary{background:var(--accent);color:#fffef8}.button.secondary{background:#d2f0c7;color:var(--ink)}.button.ghost,.inline-link{background:#fff9eb;color:var(--ink)}.button.danger{background:#ffd9ce;color:#8b291d;border-color:#8b291d}.button:disabled{cursor:not-allowed;opacity:.5;transform:none}.inline-controls{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.masthead,.room-header,.room-status{display:flex;justify-content:space-between;gap:20px;align-items:center}.lobby-masthead{position:relative;overflow:hidden;background:linear-gradient(140deg,#f4ffd4,#e0f3b9 52%,#fff0be);border-color:#5f8a58}.lobby-masthead:before{content:"";position:absolute;width:260px;height:260px;right:-80px;top:-120px;border-radius:50%;background:#408c3824}.masthead-title-wrap{position:relative;z-index:1}.lobby-greeting{margin:0 0 8px;color:#4b5d3d;font-size:.95rem;font-weight:700}.lobby-brand{display:flex;align-items:center;gap:12px}.lobby-brand h1{font-size:clamp(2.1rem,2rem + 1.8vw,3.4rem);letter-spacing:.02em;text-transform:lowercase}.brand-dino{font-size:clamp(2rem,1.8rem + 1.5vw,3rem);line-height:1}.lobby-masthead .hero-copy{max-width:48ch;margin-top:8px;color:#2f4f2e}.room-menu-fab{position:fixed;top:22px;right:22px;z-index:30}.room-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;border:0;background:#0000001f;z-index:29}.room-menu-popover{position:fixed;top:78px;right:22px;width:min(320px,calc(100vw - 28px));padding:16px;z-index:31}.room-menu-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.room-menu-head .eyebrow{margin:0}.room-menu-actions{display:grid;gap:10px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;display:grid;place-items:center;padding:16px;z-index:35}.modal-card{width:min(460px,100%);display:grid;gap:14px;padding:18px}.masthead-actions,.card-actions{display:flex;gap:12px;flex-wrap:wrap}.masthead-actions-lobby{position:relative;z-index:1;flex-direction:column;align-items:flex-end;gap:8px}.subtle-link-button{border:0;background:transparent;color:#4b5d3d;cursor:pointer;font-size:.86rem;font-weight:700;letter-spacing:.01em;opacity:.78;text-decoration:underline;text-underline-offset:3px}.subtle-link-button:hover{opacity:1}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px}.lobby-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.history-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.lobby-card,.waiting-panel,.board-panel,.sidebar-panel,.rack-panel{padding:22px}.lobby-card{background:linear-gradient(180deg,#fff9ea,#fff0cd);border-color:#b6a78f}.lobby-card-mine{border-color:#6f9a64;background:linear-gradient(180deg,#efffe1,#e3f7d0)}.lobby-highlight-copy{display:inline-flex;margin-bottom:12px;border-radius:999px;padding:4px 10px;border:2px solid #2e6c2b;background:#d7f5c6;color:#1f4c1e;font-size:.74rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.card-topline{display:flex;justify-content:space-between;margin-bottom:12px;align-items:center}.lobby-card h3,.empty-card h3,.empty-board h3{margin-bottom:8px}.lobby-meta{color:var(--muted);line-height:1.5;margin-bottom:18px}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dashboard-layout .status-pill{border-width:1px}.status-open{background:#c9efbf;color:#245223;border:2px solid #245223}.status-active{background:#ffd29f;color:#8f3a1f;border:2px solid #8f3a1f}.status-completed{background:#d5e6ff;color:#1b3e69;border:2px solid #1b3e69}.game-layout{--layout-gap: 18px;--sidebar-min: 240px;--sidebar-max: 300px;--board-meld-gap: 20px;--meld-tile-gap: 4px;--rack-grid-gap: 8px;--rack-slot-radius: 16px;--sidebar-gap: 14px;--log-gap: 8px;--log-padding: 12px;--log-min-height: 280px;--log-max-height: min(52vh, 480px);--log-entry-padding-y: 8px;--log-entry-padding-x: 10px;--log-entry-radius: 12px;--log-entry-font-size: .9rem;--action-stack-gap: 10px;--action-note-font-size: .9rem;--rack-panel-padding: 10px 12px 12px;--rack-meta-margin-bottom: 8px;--rack-meta-font-size: .82rem;--rack-tray-padding: 10px 10px 8px;--rack-tray-radius: 16px;--tile-width: 78px;--tile-height: 92px;--tile-border-width: 3px;--tile-border-radius: 14px;--tile-gap: 4px;--game-button-min-height: 46px;--game-button-padding-inline: 18px;position:relative;display:grid;gap:var(--layout-gap);grid-template-columns:minmax(0,1fr) minmax(var(--sidebar-min),var(--sidebar-max));grid-template-areas:"board sidebar" "rack sidebar";border-radius:20px;transition:background-color .18s ease,box-shadow .18s ease}.game-layout.compact-mode{--layout-gap: 12px;--sidebar-min: 188px;--sidebar-max: 236px;--board-meld-gap: 14px;--meld-tile-gap: 3px;--rack-grid-gap: 5px;--rack-slot-radius: 12px;--sidebar-gap: 10px;--log-gap: 6px;--log-padding: 8px;--log-min-height: 190px;--log-max-height: min(42vh, 300px);--log-entry-padding-y: 6px;--log-entry-padding-x: 8px;--log-entry-radius: 10px;--log-entry-font-size: .78rem;--action-stack-gap: 8px;--action-note-font-size: .76rem;--rack-panel-padding: 8px 10px 10px;--rack-meta-margin-bottom: 6px;--rack-meta-font-size: .72rem;--rack-tray-padding: 8px 8px 6px;--rack-tray-radius: 13px;--tile-width: 62px;--tile-height: 74px;--tile-border-width: 2px;--tile-border-radius: 11px;--tile-gap: 3px;--game-button-min-height: 38px;--game-button-padding-inline: 14px}.game-layout.turn-waiting{background:#84848438;box-shadow:inset 0 0 0 2px #5454543d}.game-layout .button,.game-layout .inline-link{min-height:var(--game-button-min-height);padding-inline:var(--game-button-padding-inline)}.turn-toast{position:absolute;top:14px;left:50%;z-index:80;pointer-events:none;transform:translate(-50%);padding:10px 16px;border-radius:999px;border:2px solid #236438;background:#d8f7cef5;color:#236438;font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 10px 26px #1e48222e;animation:turn-toast-fade-in .14s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}@keyframes turn-toast-fade-in{0%{opacity:0}to{opacity:1}}.board-panel{grid-area:board;background:transparent;color:var(--ink);padding:0}.board-viewport{overflow:auto;padding:2px 0 6px}.board-grid{display:flex;flex-wrap:wrap;gap:var(--board-meld-gap);align-items:flex-start}.meld-card{position:relative;border:0;border-radius:12px;background:transparent;padding:2px;color:inherit;text-align:left;cursor:pointer}.meld-card.readonly{cursor:default}.meld-card.selected{outline:3px solid #1f4f9a;outline-offset:2px;box-shadow:0 0 0 5px #ffd777}.meld-card.invalid{outline:3px dashed #ff8f79;outline-offset:2px}.meld-focus-dot{position:absolute;top:-10px;right:-10px;width:18px;height:18px;border-radius:999px;border:3px solid #1f4f9a;background:#ffd777;box-shadow:0 0 0 3px #fff7dc;pointer-events:none}.meld-tiles{display:flex;flex-wrap:wrap;gap:var(--meld-tile-gap)}.rack-grid{display:grid;grid-template-columns:repeat(var(--rack-columns, 10),minmax(0,1fr));gap:var(--rack-grid-gap);width:100%;align-items:stretch}.rack-slot{width:100%;box-sizing:border-box;min-height:0;aspect-ratio:78 / 92;border-radius:var(--rack-slot-radius);border:0;background:#fff9eb61;box-shadow:inset 0 1px #ffffff80;overflow:hidden}.rack-slot.drop-target{box-shadow:inset 0 0 0 2px #1f4f9a,0 0 0 3px #ffd777}.sidebar-panel{grid-area:sidebar;display:grid;align-content:start;gap:var(--sidebar-gap)}.game-log{display:grid;gap:var(--log-gap);padding:var(--log-padding);border-radius:16px;border:3px solid var(--line);background:#fff9eb}.game-log-head{color:var(--muted);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.game-log-scroll{display:flex;flex-direction:column;gap:calc(var(--log-gap) - 2px);min-height:var(--log-min-height);max-height:var(--log-max-height);overflow-y:auto;padding-right:3px}.game-log-entry{margin:0;padding:var(--log-entry-padding-y) var(--log-entry-padding-x);border-radius:var(--log-entry-radius);border:2px solid #5d4f40;background:#fff8df;color:#3f342b;font-size:var(--log-entry-font-size);line-height:1.28}.game-log-entry.status-pending{border-style:dashed;border-color:#7f6f5b;background:#f9f1dc;color:#4c4138}.game-log-entry.turn{font-weight:700;border-color:#7a654f;background:#fef3cd}.game-log-entry.action{border-color:#1f5462;background:#e4f3ff;color:#1f5462}.game-log-entry.actor-host{border-color:#0c6773;background:#ddf6fa;color:#144b54}.game-log-entry.actor-guest{border-color:#7a3f77;background:#f8e3f5;color:#5f2f5d}.game-log-entry.status-pending.actor-host,.game-log-entry.status-pending.actor-guest{border-color:#7f6f5b;background:#f9f1dc;color:#4c4138}.game-log-pending-tag{display:inline-block;margin-left:8px;border-radius:999px;padding:1px 7px;border:1px dashed currentColor;font-size:.72em;letter-spacing:.03em;text-transform:lowercase;opacity:.78}.player-pill{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:18px;background:#fff9eb;border:3px solid var(--line)}.player-role,.seat-label{color:var(--muted);font-size:.85rem}.action-stack{display:grid;gap:var(--action-stack-gap)}.action-note{font-size:var(--action-note-font-size);color:var(--muted);text-align:center}.action-note-warning{color:#8b291d;font-size:.82rem;line-height:1.2;margin-top:-4px}.match-result-card{display:grid;gap:8px;padding:10px 12px;border-radius:16px;border:3px solid #236438;background:#dff5d9;color:#1f4f2f}.match-result-head{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.match-result-winner{font-size:1.02rem;font-weight:700}.match-result-scores{display:grid;gap:6px}.match-result-score{margin:0;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:.92rem}.match-result-score.positive strong{color:#1f6e2f}.match-result-score.negative strong{color:#8b291d}.rack-panel{grid-area:rack;background:linear-gradient(180deg,#c9965d,#b68148);border-color:#5f3a1d;padding:var(--rack-panel-padding);width:100%;justify-self:stretch;margin-inline:auto;box-shadow:inset 0 -10px #5f3a1d2e}.rack-meta{display:flex;justify-content:space-between;gap:10px;margin-bottom:var(--rack-meta-margin-bottom);color:#fff6e5;text-shadow:0 1px 0 rgba(79,44,15,.5);font-size:var(--rack-meta-font-size);font-weight:700}.rack-tray{border:3px solid #5f3a1d;border-radius:var(--rack-tray-radius);background:linear-gradient(180deg,#efc88f,#deb178);padding:var(--rack-tray-padding);box-shadow:inset 0 -10px #bc8853,inset 0 1px #ffffff73;overflow:hidden}.tile-chip{position:relative;box-sizing:border-box;border:var(--tile-border-width) solid var(--line);border-radius:var(--tile-border-radius);width:var(--tile-width);min-height:var(--tile-height);height:auto;aspect-ratio:78 / 92;padding:clamp(5px,.6vw,8px) clamp(5px,.6vw,8px) clamp(4px,.5vw,6px);background:#fffdf4;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;text-align:left;cursor:pointer;box-shadow:none;gap:var(--tile-gap);transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease,opacity .14s ease}.tile-chip.readonly{cursor:default}.rack-slot>.tile-chip{width:100%;height:100%;min-height:0}.tile-chip.selected{outline:none;border-color:#1f4f9a;background:#fff5d1;box-shadow:inset 0 0 0 4px #ffd777;transform:none}.rack-slot>.tile-chip.selected{box-shadow:inset 0 0 0 4px #ffd777,0 3px #c69553;transform:translateY(-3px)}.tile-chip.dragging{opacity:.55;transform:scale(.96)}.tile-chip.tile-red{border-top:6px solid #be4133}.tile-chip.tile-blue{border-top:6px solid #2a5ea8}.tile-chip.tile-black{border-top:6px solid #3a3f49}.tile-chip.tile-orange{border-top:6px solid #2f9e44}.tile-chip.tile-joker{border-top:6px solid #7a4d88}.tile-corner-value{font-family:Trebuchet MS,Comic Sans MS,sans-serif;font-size:clamp(.8rem,.75rem + .35vw,1.05rem);font-weight:700;line-height:1}.tile-icon{width:100%;height:100%;color:currentColor}.tile-main-icon{display:flex;align-items:center;justify-content:center;min-height:0}.tile-icon svg{display:block;width:96%;height:96%;fill:var(--tile-icon-fill, currentColor);stroke:var(--tile-icon-stroke, transparent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tile-icon .tile-icon-detail{fill:none;stroke:var(--tile-icon-detail, currentColor);stroke-width:2.1;stroke-linecap:round}.tile-icon .tile-icon-frill,.tile-icon .tile-icon-base,.tile-icon .tile-icon-head{fill:var(--tile-icon-fill, currentColor)}.tile-icon .tile-icon-frill{fill:var(--tile-dino-frill, var(--tile-icon-fill, currentColor))}.tile-icon .tile-icon-base{fill:var(--tile-dino-body, var(--tile-icon-fill, currentColor))}.tile-icon .tile-icon-head{fill:var(--tile-dino-head, var(--tile-icon-fill, currentColor))}.tile-icon .tile-icon-belly,.tile-icon .tile-icon-muzzle{fill:var(--tile-dino-belly, #fff0cb)}.tile-icon .tile-icon-belly-shade{fill:var(--tile-dino-belly-shade, #d8ba82);opacity:.62}.tile-icon .tile-icon-shade{fill:var(--tile-dino-shade, #121212);opacity:var(--tile-dino-shade-opacity, .16)}.tile-icon .tile-icon-highlight{fill:var(--tile-dino-highlight, #ffffff);opacity:var(--tile-dino-highlight-opacity, .28)}.tile-icon .tile-icon-spot{fill:var(--tile-dino-spot, #ffffff);opacity:var(--tile-dino-spot-opacity, .52)}.tile-icon .tile-icon-horn{fill:var(--tile-dino-horn, #fff5db);stroke:var(--tile-dino-horn-stroke, #6b5337);stroke-width:1.4;stroke-linejoin:round}.tile-icon .tile-icon-eye-white{fill:#fff}.tile-icon .tile-icon-eye{fill:#1d1d1d}.tile-icon .tile-icon-eye-spark{fill:#fff}.tile-icon .tile-icon-cheek{fill:var(--tile-dino-cheek, #ff8f97);opacity:var(--tile-dino-cheek-opacity, .68)}.tile-icon .tile-icon-nostril{fill:var(--tile-dino-outline, #2f2f2f);opacity:.72}.tile-icon .tile-icon-line{fill:none;stroke:var(--tile-dino-outline, var(--tile-icon-detail, currentColor));stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tile-icon .tile-icon-cat-ear{fill:var(--tile-cat-ear, var(--tile-cat-head, var(--tile-icon-fill, currentColor)))}.tile-icon .tile-icon-cat-head{fill:var(--tile-cat-head, var(--tile-icon-fill, currentColor))}.tile-icon .tile-icon-cat-forehead{fill:var(--tile-cat-forehead, #fff8ee);opacity:var(--tile-cat-forehead-opacity, .95)}.tile-icon .tile-icon-cat-inner-ear{fill:var(--tile-cat-inner-ear, #ffd4dd);opacity:var(--tile-cat-inner-ear-opacity, .95)}.tile-icon .tile-icon-cat-stripe{fill:var(--tile-cat-stripe, #2c2c2c);opacity:var(--tile-cat-stripe-opacity, .28)}.tile-icon .tile-icon-cat-muzzle{fill:var(--tile-cat-muzzle, #fff5ea)}.tile-icon .tile-icon-cat-muzzle-shade{fill:var(--tile-cat-muzzle-shade, #ddc4a5);opacity:var(--tile-cat-muzzle-shade-opacity, .58)}.tile-icon .tile-icon-cat-shade{fill:var(--tile-cat-shade, #121212);opacity:var(--tile-cat-shade-opacity, .15)}.tile-icon .tile-icon-cat-highlight{fill:var(--tile-cat-highlight, #ffffff);opacity:var(--tile-cat-highlight-opacity, .22)}.tile-icon .tile-icon-cat-eye-white{fill:#fff}.tile-icon .tile-icon-cat-eye{fill:#1d1d1d}.tile-icon .tile-icon-cat-spark{fill:#fff}.tile-icon .tile-icon-cat-cheek{fill:var(--tile-cat-cheek, #ff93a8);opacity:var(--tile-cat-cheek-opacity, .45)}.tile-icon .tile-icon-cat-nose{fill:var(--tile-cat-nose, #ff8fa5)}.tile-icon .tile-icon-cat-line{fill:none;stroke:var(--tile-cat-outline, var(--tile-icon-detail, currentColor));stroke-width:1.95;stroke-linecap:round;stroke-linejoin:round}.tile-chip.tile-red .tile-dino{color:#dd654f;--tile-icon-fill: #dd654f;--tile-icon-stroke: #7a261c;--tile-icon-detail: #7a261c;--tile-dino-outline: #7a261c;--tile-dino-frill: #c94331;--tile-dino-body: #dd654f;--tile-dino-head: #f07b60;--tile-dino-shade: #8c3327;--tile-dino-highlight: #ffe0a6;--tile-dino-highlight-opacity: .34;--tile-dino-spot: #fff0bb;--tile-dino-spot-opacity: .6;--tile-dino-cheek: #ffa190;--tile-dino-cheek-opacity: .76;--tile-dino-belly: #fff0d5;--tile-dino-belly-shade: #e5be86;--tile-dino-horn: #fff4e3;--tile-dino-horn-stroke: #9c6b43}.tile-chip.tile-blue .tile-dino{color:#4b8fee;--tile-icon-fill: #4b8fee;--tile-icon-stroke: #20437b;--tile-icon-detail: #20437b;--tile-dino-outline: #20437b;--tile-dino-frill: #2e73d0;--tile-dino-body: #4b8fee;--tile-dino-head: #67bcff;--tile-dino-shade: #29599e;--tile-dino-highlight: #dcf4ff;--tile-dino-highlight-opacity: .36;--tile-dino-spot: #d6eeff;--tile-dino-spot-opacity: .64;--tile-dino-cheek: #ffa28e;--tile-dino-cheek-opacity: .72;--tile-dino-belly: #fff1d7;--tile-dino-belly-shade: #e1c38f;--tile-dino-horn: #fff5e8;--tile-dino-horn-stroke: #8b6e53}.tile-chip.tile-black .tile-dino{color:#505b69;--tile-icon-fill: #505b69;--tile-icon-stroke: #171d24;--tile-icon-detail: #171d24;--tile-dino-outline: #171d24;--tile-dino-frill: #39434e;--tile-dino-body: #505b69;--tile-dino-head: #667485;--tile-dino-shade: #202c38;--tile-dino-shade-opacity: .22;--tile-dino-highlight: #dfe8f6;--tile-dino-highlight-opacity: .34;--tile-dino-spot: #d0d9ea;--tile-dino-spot-opacity: .58;--tile-dino-cheek: #f7a38b;--tile-dino-cheek-opacity: .62;--tile-dino-belly: #fbefdf;--tile-dino-belly-shade: #dac09a;--tile-dino-horn: #fff5ea;--tile-dino-horn-stroke: #81684e}.tile-chip.tile-orange .tile-dino{color:#93d820;--tile-icon-fill: #93d820;--tile-icon-stroke: #4a6510;--tile-icon-detail: #4a6510;--tile-dino-outline: #4a6510;--tile-dino-frill: #76c81b;--tile-dino-body: #93d820;--tile-dino-head: #b7eb33;--tile-dino-shade: #588915;--tile-dino-highlight: #efffa2;--tile-dino-highlight-opacity: .34;--tile-dino-spot: #eeffad;--tile-dino-spot-opacity: .6;--tile-dino-cheek: #ff9a86;--tile-dino-cheek-opacity: .74;--tile-dino-belly: #fff0d3;--tile-dino-belly-shade: #dfbf86;--tile-dino-horn: #fff5e2;--tile-dino-horn-stroke: #916c45}.tile-chip.tile-joker.tile-joker-red .tile-cat{color:#d96557;--tile-icon-fill: #d96557;--tile-icon-stroke: #7d3027;--tile-icon-detail: #7d3027;--tile-cat-outline: #7d3027;--tile-cat-ear: #c74e43;--tile-cat-head: #d96557;--tile-cat-forehead: #fff2e7;--tile-cat-forehead-opacity: .92;--tile-cat-inner-ear: #ffb3b8;--tile-cat-stripe: #a93d34;--tile-cat-stripe-opacity: .34;--tile-cat-muzzle: #fff5ec;--tile-cat-muzzle-shade: #e6c7ab;--tile-cat-muzzle-shade-opacity: .58;--tile-cat-shade: #8f372d;--tile-cat-shade-opacity: .17;--tile-cat-highlight: #ffe6cd;--tile-cat-highlight-opacity: .28;--tile-cat-cheek: #ffa0a6;--tile-cat-cheek-opacity: .62;--tile-cat-nose: #ff8e94}.tile-chip.tile-joker.tile-joker-shadow .tile-cat{color:#747b87;--tile-icon-fill: #747b87;--tile-icon-stroke: #231f22;--tile-icon-detail: #231f22;--tile-cat-outline: #231f22;--tile-cat-ear: #5d646e;--tile-cat-head: #747b87;--tile-cat-forehead: #fff8ee;--tile-cat-forehead-opacity: .96;--tile-cat-inner-ear: #ffb8bf;--tile-cat-stripe: #4a505a;--tile-cat-stripe-opacity: .38;--tile-cat-muzzle: #fff6ed;--tile-cat-muzzle-shade: #ddc7ae;--tile-cat-muzzle-shade-opacity: .56;--tile-cat-shade: #222b34;--tile-cat-shade-opacity: .2;--tile-cat-highlight: #f3f7ff;--tile-cat-highlight-opacity: .26;--tile-cat-cheek: #ff9fa2;--tile-cat-cheek-opacity: .56;--tile-cat-nose: #ff9993}@keyframes dropPulse{0%{opacity:.62;transform:scaleY(.96)}to{opacity:1;transform:scaleY(1.04)}}@keyframes authTilePop{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.message{padding:14px 16px;border-radius:16px}.compact-message{margin-bottom:14px}.inline-control-with-help{position:relative;display:flex;align-items:center;gap:8px}.editor-help-toggle{width:32px;height:32px;border-radius:999px;border:3px solid var(--line);background:#fff9eb;color:var(--ink);font-size:1rem;font-weight:800;line-height:1;cursor:pointer;display:grid;place-items:center;padding:0}.editor-help-popover{position:absolute;top:calc(100% + 8px);right:0;width:min(480px,calc(100vw - 96px));margin:0;z-index:3}.message.error{background:#ffd9ce;color:#8b291d;border:3px solid #8b291d}.message.info{background:#e4f3ff;color:#1f5462;border:3px solid #1f5462}.message.success{background:#d8f7ce;color:#236438;border:3px solid #236438}.seat-summary{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;width:100%}.seat-track{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.seat-track-line{width:26px;height:3px;border-radius:999px;background:#9b8d76}.seat-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:3px solid var(--line);background:#fff9eb;min-height:44px}.seat-chip strong{font-size:1rem}.seat-chip-dot,.seat-chip-slot{width:20px;height:20px;border-radius:999px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;line-height:1}.seat-chip-filled .seat-chip-dot{background:#6cca7f;border:2px solid #2c7a3b;box-shadow:inset 0 -2px #1f622b42}.seat-chip-empty{background:#fff3dd}.seat-chip-empty .seat-chip-slot{color:#8d7d64;background:#fffc;border:2px dashed #b9a98d}.room-completed-status{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.inline-code{display:inline-block;margin-top:8px;padding:6px 10px;border-radius:12px;background:#fff9eb;border:3px solid var(--line);font-family:SFMono-Regular,Menlo,monospace;font-size:.92rem}@media(max-width:960px){.auth-layout,.game-layout{grid-template-columns:1fr;grid-template-areas:"board" "sidebar" "rack"}.masthead,.room-header,.room-status,.room-completed-status{flex-direction:column;align-items:flex-start}.seat-track-line{display:none}.masthead-actions-lobby{width:100%;align-items:flex-start}.fact-grid{grid-template-columns:1fr}.game-log-scroll{min-height:200px;max-height:min(36vh,320px)}.turn-toast{top:10px;padding:8px 12px}}@media(max-width:640px){.app-frame{padding:14px}.panel,.hero-panel,.masthead,.room-header,.room-status,.room-completed-status,.waiting-panel,.loading-card{border-radius:22px}.rack-grid{gap:6px}.rack-slot{border-radius:12px}.tile-chip{width:70px;min-height:86px;aspect-ratio:70 / 86;border-radius:12px;border-width:2px}.editor-help-popover{width:min(420px,calc(100vw - 72px))}.rack-slot>.tile-chip{width:100%;height:100%;min-height:0}}
