:root{color-scheme:dark;--felt-dark: #0d2e24;--felt-mid: #124437;--felt-light: #1a5a49;--ink-900: #091611;--ink-700: #14251f;--ink-500: #274138;--gold-500: #cba458;--gold-400: #e1c379;--gold-300: #f1ddab;--cream: #f3efe4;--text: #f4f7f2;--muted: #aec3b8;--success: #6de0a9;--danger: #ff8c8c;--panel: rgba(9, 24, 19, .8);--panel-strong: rgba(10, 31, 24, .92);--border: rgba(241, 221, 171, .24);--radius: 16px;--shadow-lg: 0 26px 56px rgba(0, 0, 0, .45);--shadow-md: 0 14px 30px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--text);font-family:Manrope,Segoe UI,sans-serif;background:radial-gradient(circle at 20% 16%,rgba(70,135,104,.36),transparent 40%),radial-gradient(circle at 80% 12%,rgba(179,139,67,.28),transparent 34%),radial-gradient(circle at 52% 90%,rgba(36,79,62,.5),transparent 46%),linear-gradient(165deg,#06140f,#0b251c 38%,#0f3227);overflow-x:hidden}.bg-shapes{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(to right,rgba(203,164,88,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(203,164,88,.05) 1px,transparent 1px);background-size:52px 52px;opacity:.45;-webkit-mask-image:radial-gradient(circle at 50% 42%,rgba(0,0,0,.86),transparent 86%);mask-image:radial-gradient(circle at 50% 42%,rgba(0,0,0,.86),transparent 86%);z-index:-1}.topbar{display:flex;justify-content:space-between;align-items:end;gap:1rem;width:min(1440px,calc(100% - 2rem));margin:.7rem auto .4rem}.brand h1{margin:0;font-family:Cinzel,Georgia,serif;font-size:clamp(1.45rem,2.8vw,2.45rem);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-300);text-shadow:0 0 14px rgba(225,195,121,.25)}.brand p{margin:.2rem 0 0;color:var(--muted);font-size:.88rem;letter-spacing:.05em}.topbar-actions{color:var(--gold-300);font-size:.82rem;background:#09181399;border:1px solid var(--border);border-radius:999px;padding:.5rem .8rem}.layout{width:min(1440px,calc(100% - 2rem));margin:0 auto 1.6rem}.auth-card{width:min(560px,100%);margin:2rem auto;padding:1.2rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-strong);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.auth-tabs,.view-tabs{display:flex;gap:.6rem;flex-wrap:wrap}.tab{border:1px solid var(--border);background:#ffffff08;color:var(--text);padding:.54rem .95rem;border-radius:999px;font-weight:700;letter-spacing:.01em;cursor:pointer;transition:transform .18s ease,box-shadow .22s ease,border-color .22s ease}.tab:hover{transform:translateY(-1px);border-color:#f1ddab8f}.tab.active{background:linear-gradient(115deg,#f0d79f,#d0a958 55%,#b9893f);border-color:transparent;color:#1a1407;box-shadow:0 6px 18px #b9893f5c}.auth-form{display:none;margin-top:1rem}.auth-form.active{display:block;animation:fadeInUp .42s ease both}.auth-form h2{margin:0 0 .9rem;font-family:Cinzel,Georgia,serif;color:var(--gold-300);letter-spacing:.03em}label{display:block;margin-bottom:.75rem;color:var(--muted);font-size:.86rem}input,select,textarea,button{font:inherit}input,select,textarea{width:100%;margin-top:.26rem;border-radius:10px;border:1px solid rgba(241,221,171,.2);background:linear-gradient(180deg,#ffffff0d,#ffffff06);color:var(--text);padding:.56rem .68rem}select{appearance:none;background-color:#091c15eb;background-image:linear-gradient(180deg,#ffffff0d,#ffffff06),linear-gradient(45deg,transparent 50%,var(--gold-300) 50%),linear-gradient(135deg,var(--gold-300) 50%,transparent 50%);background-position:0 0,calc(100% - 16px) calc(50% - 2px),calc(100% - 10px) calc(50% - 2px);background-size:auto,6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2rem;border-color:#f1ddab59;box-shadow:inset 0 1px #ffffff0a}select option{background:#0f3326;color:#f8f4ea}select option:checked,select option:hover{background:#1d5a44;color:#fff9e9}.styled-select{letter-spacing:.01em;font-weight:600}textarea{min-height:86px;resize:vertical}input:focus,select:focus,textarea:focus,button:focus{outline:2px solid rgba(225,195,121,.5);outline-offset:1px}.btn-primary,.btn-secondary,.btn-ghost{border-radius:10px;padding:.55rem .82rem;font-weight:700;cursor:pointer;border:1px solid transparent;transition:transform .18s ease,box-shadow .22s ease,filter .22s ease}.btn-primary{background:linear-gradient(115deg,#f3dfa9,#d2ab5c 55%,#b88437);color:#1f170a;box-shadow:0 8px 18px #cba4584d}.btn-secondary{background:linear-gradient(180deg,#cba45842,#cba45824);border-color:#e1c37980;color:var(--text)}.btn-ghost{background:#ffffff06;border-color:#f1ddab40;color:var(--muted)}.btn-primary:hover,.btn-secondary:hover,.btn-ghost:hover{transform:translateY(-1px);filter:brightness(1.05)}.hint{color:var(--muted);font-size:.83rem}.hidden{display:none!important}.app-shell{display:grid;grid-template-columns:minmax(260px,320px) 1fr;gap:1rem;align-items:start}.sidebar,.workspace{display:grid;gap:.9rem}.panel{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(180deg,#112e24e0,#081812e6);box-shadow:var(--shadow-md);padding:.9rem;position:relative;overflow:hidden}.panel:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,rgba(241,221,171,.09),transparent 44%);pointer-events:none}.panel h2,.panel h3{margin:0 0 .7rem;font-family:Cinzel,Georgia,serif;font-size:1.04rem;letter-spacing:.03em;color:var(--gold-300)}.value{font-size:1.75rem;font-weight:700;margin:.24rem 0 .8rem;color:var(--success)}.row{display:flex;gap:.5rem;flex-wrap:wrap}.list{display:grid;gap:.55rem}.list-item{border:1px solid rgba(241,221,171,.2);border-radius:11px;background:#ffffff08;padding:.62rem;animation:fadeInUp .36s ease both;animation-delay:calc(var(--stagger, 0) * 48ms)}.list.tiny .list-item{font-size:.84rem}.inline-form,.compact-form{display:grid;gap:.5rem}.inline-form{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));align-items:end;margin-bottom:.85rem}.view{display:none}.view.active{display:grid;gap:.9rem;animation:fadeInUp .34s ease both}.room-header{display:flex;justify-content:space-between;align-items:center;gap:.7rem}.game-stage{border-radius:14px;background:radial-gradient(circle at 50% 2%,#e1c3791f,#091a14cc);border:1px solid rgba(241,221,171,.2);box-shadow:inset 0 0 24px #00000052;padding:.75rem}.game-board{border:1px solid rgba(241,221,171,.15);border-radius:13px;padding:.72rem;background:linear-gradient(180deg,#0a2119d9,#081812eb)}.table-shell{display:grid;gap:.7rem}.scene-header{display:flex;justify-content:space-between;align-items:center;gap:.6rem;font-size:.85rem;color:var(--muted);border:1px solid rgba(241,221,171,.2);border-radius:10px;padding:.42rem .55rem;background:#f1ddab0f}.action-rail{display:flex;flex-wrap:wrap;gap:.5rem}.chip-row{display:flex;flex-wrap:wrap;gap:.42rem}.chip{border-radius:999px;padding:.26rem .58rem;border:1px solid rgba(241,221,171,.42);background:#f1ddab24;font-size:.75rem;color:var(--gold-300)}.dual{display:grid;grid-template-columns:.95fr 1.35fr;gap:.9rem}.chat{max-height:320px;min-height:120px;overflow-y:auto;border-radius:12px;border:1px solid rgba(241,221,171,.2);background:#00000042;padding:.5rem}.chat-line{margin:0 0 .45rem;font-size:.84rem;line-height:1.45}.chat-line .name{color:var(--gold-300);font-weight:700}.chat-line .system{color:var(--muted);font-style:italic}.grid-two{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:.8rem}.game-card-grid{display:grid;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.game-card{border:1px solid rgba(241,221,171,.2);border-radius:12px;padding:.56rem;background:#ffffff09}.game-card strong{color:var(--gold-300)}.blackjack-dealer,.blackjack-seat,.roulette-stage,.rtb-stage,.poker-stage{border:1px solid rgba(241,221,171,.22);border-radius:12px;background:#ffffff08;padding:.58rem}.blackjack-seat.seat-active{border-color:#e1c379b3;box-shadow:0 0 14px #e1c37940}.playing-card{display:inline-flex;align-items:center;justify-content:center;min-width:34px;padding:.2rem .36rem;margin:.08rem .16rem .1rem 0;border-radius:7px;background:linear-gradient(180deg,#fffaf0,#e8ddc3);color:#1a1814;border:1px solid rgba(16,16,16,.2);font-weight:700;font-size:.8rem;box-shadow:0 4px 10px #0000003d}.wheel-wrap{display:grid;justify-items:center;gap:.5rem}.roulette-wheel{width:150px;aspect-ratio:1;border-radius:50%;border:4px solid rgba(225,195,121,.7);background:conic-gradient(#1e1e1e 0deg 20deg,#9f2d2d 20deg 40deg,#1e1e1e 40deg 60deg,#9f2d2d 60deg 80deg,#1e1e1e 80deg 100deg,#9f2d2d 100deg 120deg,#1e1e1e 120deg 140deg,#9f2d2d 140deg 160deg,#1e1e1e 160deg 180deg,#9f2d2d 180deg 200deg,#1e1e1e 200deg 220deg,#9f2d2d 220deg 240deg,#1e1e1e 240deg 260deg,#9f2d2d 260deg 280deg,#1e1e1e 280deg 300deg,#9f2d2d 300deg 320deg,#1e1e1e 320deg 340deg,#9f2d2d 340deg 360deg);position:relative;box-shadow:inset 0 0 0 8px #06100d59,0 12px 22px #00000047}.roulette-wheel:after{content:"";position:absolute;inset:41%;border-radius:50%;background:radial-gradient(circle,#f3dca8,#b98a3f 75%);border:2px solid rgba(0,0,0,.28)}.roulette-wheel.is-spinning{animation:wheelSpin 2.35s cubic-bezier(.22,.7,.19,1) both}.roulette-ball{width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#fff,#d3d3d3 62%,#a9a9a9);box-shadow:0 4px 8px #0000005c}.roulette-ball.is-dropping{animation:ballDrop 2.2s ease-in-out both}.result-chip{border-radius:999px;padding:.28rem .62rem;font-size:.78rem;font-weight:700;border:1px solid rgba(255,255,255,.3)}.result-chip.red{background:#ba323257}.result-chip.black{background:#17191c85}.result-chip.green{background:#23804c85}.result-chip.fx-spotlight{animation:resultFlash 1.2s ease both}.stage-track{display:flex;gap:.45rem;flex-wrap:wrap}.stage-node{border-radius:999px;padding:.22rem .52rem;border:1px solid rgba(241,221,171,.28);background:#ffffff0a;font-size:.74rem}.stage-node.complete{background:#6de0a933;border-color:#6de0a98c}.stage-node.active{background:#e1c37940;border-color:#e1c379b8;animation:pulseSeat 1.1s ease infinite}.rtb-status{display:inline-block;border-radius:999px;padding:.22rem .62rem;border:1px solid rgba(241,221,171,.3);font-size:.74rem}.rtb-status.win{background:#6de0a942}.rtb-status.loss{background:#ff8c8c33}.poker-row.winner{border-color:#6de0a999;box-shadow:0 0 16px #6de0a93d}.danger{color:var(--danger)}.success{color:var(--success)}.fx-fade-up{animation:fadeInUp .42s ease both}.fx-deal{animation:cardDeal .52s ease both}.fx-hit{animation:pulseSeat .9s ease}.fx-win{animation:jackpot 1.25s ease both}.fx-loss{animation:shakeBrief .42s ease both}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);max-width:min(660px,calc(100% - 1rem));padding:.68rem .86rem;border-radius:12px;border:1px solid var(--border);background:#07110ef2;color:var(--text);box-shadow:var(--shadow-lg);z-index:30}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes wheelSpin{0%{transform:rotate(0)}80%{transform:rotate(1200deg)}to{transform:rotate(1320deg)}}@keyframes ballDrop{0%{transform:translateY(-24px) scale(.85);opacity:0}20%{opacity:1}65%{transform:translateY(0) scale(1)}80%{transform:translateY(-7px) scale(.94)}to{transform:translateY(0) scale(1)}}@keyframes pulseSeat{0%,to{transform:scale(1)}45%{transform:scale(1.03)}}@keyframes resultFlash{0%{box-shadow:0 0 #e1c37900}30%{box-shadow:0 0 22px #e1c3799e}to{box-shadow:0 0 #e1c37900}}@keyframes cardDeal{0%{opacity:0;transform:translateY(-6px) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0)}}@keyframes jackpot{0%{transform:scale(.98);box-shadow:0 0 #6de0a900}36%{transform:scale(1.02);box-shadow:0 0 20px #6de0a96b}to{transform:scale(1);box-shadow:0 0 #6de0a900}}@keyframes shakeBrief{0%,to{transform:translate(0)}30%{transform:translate(-4px)}60%{transform:translate(4px)}}@media(max-width:1120px){.app-shell,.dual{grid-template-columns:1fr}}@media(max-width:720px){.layout,.topbar{width:calc(100% - .8rem)}.topbar{flex-direction:column;align-items:start;margin-top:.8rem}.brand h1{letter-spacing:.06em}.panel,.auth-card{padding:.74rem}.grid-two{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}}
