:root{--font-sans:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-display:var(--font-sans);--brand-night:#3a2113;--brand-depth:#1d1009;--brand-cave:#2b170c;--brand-panel:rgba(58,31,15,0.9);--brand-panel-solid:#3a1f0f;--brand-panel-soft:rgba(99,58,29,0.68);--brand-line:rgba(226,178,106,0.32);--brand-line-strong:rgba(244,207,142,0.55);--brand-text:#fff4df;--brand-muted:rgba(232,199,150,0.72);--brand-cyan:#8fb26a;--brand-green:#a8b65f;--brand-orange:#c77c33;--brand-orange-hot:#e5a856;--brand-violet:#7b583b;--brand-danger:#b74432;--room-panel:var(--brand-panel);--room-panel-border:var(--brand-line);--room-cream:var(--brand-text);--room-ink:#141623}*{box-sizing:border-box}body,html{width:100%;min-height:100%;margin:0;overflow:hidden;background:var(--brand-depth);color:var(--room-cream);font-family:var(--font-sans)}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.room-shell{position:relative;width:100vw;height:100dvh;overflow:hidden;isolation:isolate;background:#261913}.room-background{position:absolute;inset:0;z-index:-2;overflow:hidden;background-image:var(--room-image);background-position:50%;background-size:cover;transform:scale(1.005)}.room-background-image{position:absolute;left:0;top:0;width:100%;height:100%;max-width:none;object-fit:cover;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.room-image-transition{z-index:17;opacity:0;background:radial-gradient(circle at 50% 46%,rgba(39,23,12,.78),rgba(10,6,4,.92));transition:opacity .22s ease}.room-cursors,.room-image-transition{position:absolute;inset:0;pointer-events:none}.room-cursors{z-index:7600}.room-cursor{position:absolute;width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,248,239,.9);border-radius:999px;background:var(--cursor-color,#f4b03e);box-shadow:0 7px 18px rgba(15,8,4,.34),0 0 0 3px rgba(24,15,9,.2);transform:translate(-50%,-50%);transition:opacity .12s ease}.room-cursor img,.room-cursor span{width:100%;height:100%;display:block;background:var(--cursor-color,#f4b03e)}.room-cursor span{display:grid;place-items:center;color:#fff7dc;font:950 .78rem/1 var(--font-sans)}.room-cursor img{padding:2px;object-fit:contain;background:#fff;transform:none}.room-table-emoji-bubbles{position:absolute;inset:0;z-index:44;pointer-events:none;overflow:hidden}.room-table-emoji-bubble{position:absolute;left:calc(50% + var(--bubble-x, 0px));bottom:max(88px,calc(env(safe-area-inset-bottom) + 72px));display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,244,223,.24);border-radius:999px;background:rgba(43,22,11,.48);box-shadow:0 12px 28px rgba(15,8,4,.2),inset 0 1px rgba(255,244,223,.16);font-size:1.45rem;transform:translateX(-50%);animation:room-table-emoji-float 1.8s ease-out forwards;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes room-table-emoji-float{0%{opacity:0;transform:translate(-50%,18px) scale(.72)}12%{opacity:1}72%{opacity:.92}to{opacity:0;transform:translate(calc(-50% + 18px),-168px) scale(1.14)}}.room-shell--transition-out .room-image-transition{opacity:1;transition-duration:.14s}.room-shell--transition-in .room-image-transition{opacity:0;transition-duration:.22s}.room-shell:after{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(90deg,rgba(0,0,0,.34),transparent 26%,transparent 72%,rgba(0,0,0,.22)),radial-gradient(circle at 55% 46%,transparent 0 28%,rgba(0,0,0,.26) 72%);pointer-events:none}.room-shell--image .room-background{background-image:none;transform:none}.room-shell--empty{background:#ffffff;--room-panel:rgba(31,24,20,0.78);--room-panel-border:rgba(31,24,20,0.16)}.room-shell--empty .room-background{background-color:#ffffff;background-image:radial-gradient(circle,rgba(36,26,20,.18) 1px,transparent 1.4px);background-position:0 0;background-size:24px 24px;transform:none}.room-shell--empty:after{display:none}.home-room-shell{position:relative;width:100vw;height:100dvh;overflow:hidden;display:grid;place-items:center;padding:24px;background:#261913;color:#fff4df}.home-room-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.home-room-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,14,6,.54),rgba(28,14,6,.68)),radial-gradient(circle at 50% 36%,rgba(255,230,180,.18),transparent 42%);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.home-location-dialog{position:relative;z-index:1;width:min(760px,calc(100vw - 32px));max-height:min(720px,calc(100dvh - 32px));display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;overflow:hidden;border:1px solid rgba(226,178,106,.32);border-radius:10px;padding:15px;background:linear-gradient(180deg,rgba(62,33,16,.9),rgba(31,16,8,.94));box-shadow:0 32px 90px rgba(18,8,3,.48),inset 0 1px rgba(255,234,180,.16);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.home-location-heading{display:grid;grid-gap:10px;gap:10px;padding:2px 2px 16px;border-bottom:1px solid rgba(226,178,106,.18);text-align:center}.home-location-heading h1{margin:0;color:#fff8ec;font:850 clamp(1.85rem,4vw,3rem)/1.02 var(--font-sans);letter-spacing:0}.home-location-heading p{margin:0;color:rgba(244,207,142,.86);font:700 clamp(.84rem,1.6vw,1rem)/1.25 var(--font-sans)}.home-location-picker-body{min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);grid-gap:9px;gap:9px}.home-location-cta{color:#fff8ec;font:800 .78rem/1 var(--font-sans);text-align:center;text-transform:uppercase}.home-location-list{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:16px;gap:16px;overflow-x:hidden;overflow-y:auto;padding:2px 2px 4px;scrollbar-color:rgba(226,178,106,.5) rgba(43,22,11,.48)}.home-location-option{position:relative;min-width:0;display:grid;grid-gap:8px;gap:8px;border:0;border-radius:8px;padding:0;background:transparent;color:#fff4df;cursor:pointer;text-align:left}.home-location-option:focus-visible,.home-location-option:hover{outline:none}.home-location-option:focus-visible .home-location-image,.home-location-option:hover .home-location-image{box-shadow:0 0 0 2px rgba(244,207,142,.58),0 12px 24px rgba(20,9,4,.28)}.home-location-option:disabled{opacity:.68;cursor:default}.home-location-image{position:relative;width:100%;aspect-ratio:1.18;overflow:hidden;border-radius:7px;background:rgba(0,0,0,.24);box-shadow:0 8px 18px rgba(20,9,4,.24);transition:box-shadow .14s ease,transform .14s ease}.home-location-image img{width:100%;height:100%;display:block;object-fit:cover}.home-location-copy{min-width:0;display:grid;grid-gap:4px;gap:4px;padding:0 1px}.home-location-copy strong{min-width:0;overflow:hidden;color:#fff8ec;font:800 .92rem/1.08 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.home-location-description{max-height:3.5em;overflow:hidden;color:rgba(232,199,150,.78);font:650 .72rem/1.22 var(--font-sans);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}.home-location-presence{min-height:22px;display:flex;align-items:center;gap:0;padding-top:2px;color:rgba(232,199,150,.72);font:800 .62rem/1 var(--font-sans)}.home-location-presence-avatar{position:relative;width:22px;height:22px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,248,239,.82);border-radius:999px;background:var(--presence-color,#f4b03e);color:#fff;box-shadow:0 4px 9px rgba(20,9,4,.22)}.home-location-presence-avatar+.home-location-presence-avatar{margin-left:-6px}.home-location-presence-avatar img{width:100%;height:100%;display:block;padding:1px;object-fit:contain;background:#fff}.home-location-presence-avatar>span{display:grid;place-items:center;width:100%;height:100%;font:900 .62rem/1 var(--font-sans)}.home-location-presence em{margin-left:6px;color:rgba(232,199,150,.72);font-style:normal;white-space:nowrap}.home-location-presence-empty{display:inline-flex;align-items:center;gap:5px;margin-left:0}.home-location-presence-empty:before{content:"";width:5px;height:5px;flex:0 0 auto;border-radius:999px;background:rgba(180,184,190,.76);box-shadow:0 0 0 1px rgba(255,255,255,.08)}.home-location-action{position:absolute;left:50%;top:50%;width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(226,178,106,.32);border-radius:999px;background:rgba(35,18,9,.72);color:#f4cf8e;transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.home-location-action svg{width:17px;height:17px}.home-location-empty svg,.home-location-option:disabled .home-location-action svg{animation:room-spin .9s linear infinite}.home-location-empty{min-height:160px;display:grid;place-items:center;justify-content:center;grid-gap:8px;gap:8px;color:rgba(255,244,223,.72);font:850 .82rem/1.2 var(--font-sans);text-align:center}.home-location-empty svg{width:20px;height:20px}.home-location-error{margin:0;border:1px solid rgba(183,68,50,.34);border-radius:8px;padding:9px;background:rgba(183,68,50,.14);color:#ffd8cc;font:850 .76rem/1.25 var(--font-sans)}.room-location-overlay{position:fixed;inset:0;z-index:7800;display:grid;place-items:center;padding:18px;background:linear-gradient(180deg,rgba(28,14,6,.54),rgba(28,14,6,.68)),radial-gradient(circle at 50% 36%,rgba(255,230,180,.18),transparent 42%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.room-location-dialog{width:min(760px,calc(100vw - 32px))}.room-location-close{top:-12px;right:-12px;z-index:2;box-shadow:0 10px 24px rgba(16,8,3,.3)}.home-location-option.active .home-location-image{box-shadow:0 0 0 2px rgba(184,215,25,.72),0 12px 24px rgba(20,9,4,.28)}.room-brand{display:grid;grid-gap:3px;gap:3px;padding:10px 12px 13px;border:1px solid rgba(255,212,137,.22);border-radius:8px;background:linear-gradient(180deg,rgba(65,29,10,.82),rgba(39,17,7,.58));box-shadow:inset 0 0 0 1px rgba(48,18,5,.42),0 7px 18px rgba(28,12,4,.22)}.room-brand span{color:rgba(255,224,166,.76);font:900 .68rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.room-brand strong{color:#fff7dc;text-shadow:0 2px 0 rgba(34,13,4,.72);font:900 1.45rem/1 var(--font-display);letter-spacing:0}.room-game-preview{width:112px;height:112px;overflow:visible;border-radius:0;background:#ffffff;box-shadow:0 10px 24px rgba(0,0,0,.18)}.games-tray-chess-preview{display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,minmax(0,1fr));width:112px;aspect-ratio:1;overflow:hidden;border:0;border-radius:0;background:#ffffff}.games-tray-chess-preview span:nth-child(16n+1),.games-tray-chess-preview span:nth-child(16n+10),.games-tray-chess-preview span:nth-child(16n+12),.games-tray-chess-preview span:nth-child(16n+14),.games-tray-chess-preview span:nth-child(16n+16),.games-tray-chess-preview span:nth-child(16n+3),.games-tray-chess-preview span:nth-child(16n+5),.games-tray-chess-preview span:nth-child(16n+7){background:#f0d9b5}.games-tray-chess-preview span{min-width:0;min-height:0;display:grid;place-items:center;background:#b58863;color:#111827}.games-tray-chess-piece{width:54%;height:54%}.games-tray-chess-piece--w{color:#fff7e8;filter:drop-shadow(0 1px 0 rgba(17,24,39,.34)) drop-shadow(0 0 1px rgba(17,24,39,.22))}.games-tray-chess-piece--b{color:#111827;filter:drop-shadow(0 1px 0 rgba(255,255,255,.2))}.games-tray-hangman-preview{position:relative;width:112px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(15,23,42,.1);border-radius:0;background:linear-gradient(180deg,#fbf7e8,#ffffff 68%),#ffffff}.games-tray-hangman-preview svg{width:86%;height:78%;margin-top:-7px;stroke:#1f2937;stroke-width:7;stroke-linecap:round;stroke-linejoin:round;fill:none}.games-tray-ludo-preview{position:relative;width:112px;aspect-ratio:1;display:block;overflow:hidden;border:1px solid rgba(15,23,42,.1);border-radius:0;background:#f8fafc}.games-tray-ludo-yard{position:absolute;z-index:1;width:40%;height:40%;border:.5px solid rgba(15,23,42,.12);box-shadow:inset 0 0 0 7px rgba(255,255,255,.72)}.games-tray-ludo-yard--red{top:2px;left:2px;background:rgba(239,68,68,.76)}.games-tray-ludo-yard--green{top:2px;right:2px;background:rgba(34,197,94,.74)}.games-tray-ludo-yard--yellow{right:2px;bottom:2px;background:rgba(234,179,8,.78)}.games-tray-ludo-yard--blue{bottom:2px;left:2px;background:rgba(59,130,246,.75)}.games-tray-ludo-grid{position:absolute;inset:2px;z-index:2;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr))}.games-tray-ludo-cell{min-width:0;min-height:0}.games-tray-ludo-cell--blue,.games-tray-ludo-cell--green,.games-tray-ludo-cell--path,.games-tray-ludo-cell--red,.games-tray-ludo-cell--yellow{border:.5px solid rgba(15,23,42,.12);background:#fffaf1}.games-tray-ludo-cell--safe{background:radial-gradient(circle at center,rgba(17,24,39,.16) 0 20%,transparent 23%),#fffaf1}.games-tray-ludo-cell--red,.games-tray-ludo-cell--start-red{background:rgba(239,68,68,.2)}.games-tray-ludo-cell--green,.games-tray-ludo-cell--start-green{background:rgba(34,197,94,.2)}.games-tray-ludo-cell--start-yellow,.games-tray-ludo-cell--yellow{background:rgba(234,179,8,.24)}.games-tray-ludo-cell--blue,.games-tray-ludo-cell--start-blue{background:rgba(59,130,246,.2)}.games-tray-ludo-center{position:absolute;inset:40%;z-index:4;overflow:hidden;border:1px solid rgba(15,23,42,.12);background:#ffffff}.games-tray-ludo-center-triangle{position:absolute;display:block}.games-tray-ludo-center-triangle--red{top:0;bottom:0;left:0;width:50%;background:rgba(239,68,68,.76);-webkit-clip-path:polygon(0 0,0 100%,100% 50%);clip-path:polygon(0 0,0 100%,100% 50%)}.games-tray-ludo-center-triangle--green{top:0;right:0;left:0;height:50%;background:rgba(34,197,94,.74);-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%)}.games-tray-ludo-center-triangle--yellow{top:0;right:0;bottom:0;width:50%;background:rgba(234,179,8,.78);-webkit-clip-path:polygon(100% 0,100% 100%,0 50%);clip-path:polygon(100% 0,100% 100%,0 50%)}.games-tray-ludo-center-triangle--blue{right:0;bottom:0;left:0;height:50%;background:rgba(59,130,246,.75);-webkit-clip-path:polygon(0 100%,100% 100%,50% 0);clip-path:polygon(0 100%,100% 100%,50% 0)}.games-tray-ludo-piece{position:absolute;z-index:5;width:7%;aspect-ratio:1;border:1px solid rgba(255,255,255,.9);border-radius:999px;box-shadow:0 1px 3px rgba(15,23,42,.22)}.games-tray-ludo-piece--red{top:15%;left:15%;background:#dc2626}.games-tray-ludo-piece--green{top:15%;right:15%;background:#16a34a}.games-tray-ludo-piece--yellow{right:15%;bottom:15%;background:#d97706}.games-tray-ludo-piece--blue{bottom:15%;left:15%;background:#2563eb}.token--red{background:#e84c3d}.token--green{background:#38a95d}.token--yellow{background:#efc23a}.token--blue{background:#3b83dc}.room-toolbar{position:absolute;top:14px;left:50%;z-index:24;max-width:calc(100vw - 28px);display:flex;align-items:center;justify-content:center;gap:10px;padding:8px;transform:translateX(-50%)}.room-toolbar:before{position:absolute;inset:0;z-index:0;content:"";border:1px solid rgba(255,214,128,.16);background:rgba(43,22,11,.58);box-shadow:0 18px 44px rgba(15,8,4,.22),inset 0 1px rgba(255,236,174,.12);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);pointer-events:none}.room-toolbar>*{position:relative;z-index:1}.room-zoom-controls{position:absolute;left:max(14px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));z-index:43;display:grid;grid-gap:8px;gap:8px}.room-shell--joined-table .room-zoom-controls{bottom:max(92px,calc(env(safe-area-inset-bottom) + 86px))}.room-zoom-controls button{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(255,217,145,.34);border-radius:10px;background:linear-gradient(180deg,rgba(120,67,25,.9),rgba(54,27,13,.9));color:#fff6da;box-shadow:0 14px 30px rgba(31,14,6,.28),inset 0 1px rgba(255,234,180,.14);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.room-zoom-controls button:focus-visible,.room-zoom-controls button:hover{outline:none;background:linear-gradient(180deg,rgba(154,89,35,.94),rgba(70,34,15,.94))}.room-zoom-controls button:disabled{opacity:.42;cursor:default}.room-zoom-controls svg{width:27px;height:27px;stroke-width:3}.room-game-players{position:absolute;left:50%;bottom:max(16px,env(safe-area-inset-bottom));z-index:41;width:min(560px,calc(100vw - 32px));display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:6px;border:1px solid rgba(255,217,145,.24);border-radius:10px;background:rgba(43,22,11,.72);color:#fff8ef;box-shadow:0 16px 38px rgba(15,8,4,.24),inset 0 1px rgba(255,236,174,.12);pointer-events:none;transform:translateX(-50%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.room-game-player{min-width:0;flex:1 1;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;grid-column-gap:7px;column-gap:7px;padding:6px 9px;border:1px solid rgba(255,248,235,.12);border-radius:8px;background:rgba(255,248,235,.08)}.room-game-player-color{grid-row:1/3;width:14px;height:14px;border-radius:999px;background:#9ca3af;box-shadow:0 0 0 2px rgba(255,255,255,.16)}.room-game-player--white .room-game-player-color{background:#f8fafc}.room-game-player--black .room-game-player-color{background:#111827}.room-game-player--red .room-game-player-color{background:#e84c3d}.room-game-player--green .room-game-player-color{background:#38a95d}.room-game-player--yellow .room-game-player-color{background:#efc23a}.room-game-player--blue .room-game-player-color{background:#3b83dc}.room-game-player>span:not(.room-game-player-color){color:rgba(255,248,235,.6);font:850 .58rem/1 var(--font-sans);text-transform:uppercase}.room-game-player strong{min-width:0;overflow:hidden;font:900 .76rem/1.05 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.room-leave-table-button{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,205,180,.42);border-radius:8px;padding:0;background:linear-gradient(180deg,rgba(202,76,53,.96),rgba(118,35,28,.96));box-shadow:inset 0 1px rgba(255,238,222,.24),0 16px 34px rgba(63,18,12,.34);font:900 .82rem/1 var(--font-sans);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.room-leave-table-button:focus-visible,.room-leave-table-button:hover{outline:none;border-color:rgba(255,225,205,.62);filter:brightness(1.06)}.room-leave-table-button svg{width:19px;height:19px}.room-icon-button,.room-notice{border:1px solid var(--room-panel-border);border-radius:8px;background:var(--room-panel);color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.room-notice{position:absolute;left:50%;top:calc(100% + 8px);z-index:4;max-width:min(420px,calc(100vw - 40px));min-height:34px;padding:0 12px;font:850 .76rem/1 var(--font-sans);white-space:nowrap;transform:translateX(-50%);pointer-events:none}.room-icon-button,.room-notice{display:inline-flex;align-items:center;justify-content:center}.room-icon-button{width:46px;height:46px;border-color:rgba(255,217,145,.34);background:linear-gradient(180deg,rgba(120,67,25,.9),rgba(54,27,13,.9));color:#fff6da;cursor:pointer}.room-icon-button:focus-visible,.room-icon-button:hover{background:linear-gradient(180deg,rgba(154,89,35,.94),rgba(70,34,15,.94));outline:none}.room-icon-button:disabled{opacity:.42;cursor:default}.room-icon-button:disabled:hover{background:var(--room-panel)}.room-icon-button svg{width:19px;height:19px}.room-code-field{height:46px;width:clamp(260px,34vw,520px);display:grid;grid-template-columns:auto minmax(0,1fr) 42px;align-items:center;overflow:hidden;border:1px solid rgba(255,217,145,.48);border-radius:8px;background:linear-gradient(180deg,rgba(111,60,22,.92),rgba(43,22,11,.9));color:#fff5d4;box-shadow:inset 0 1px rgba(255,240,184,.22),0 0 0 1px rgba(255,214,128,.14),0 0 22px rgba(255,184,67,.3),0 16px 36px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:room-code-glow 3.8s ease-in-out infinite}.room-code-field span{padding-left:13px;color:rgba(255,224,166,.78);font:900 .66rem/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.room-code-field input{width:100%;height:44px;min-width:0;border:0;background:transparent;color:#fff7dc;outline:none;padding:0 9px;font:950 .9rem/1 var(--font-sans);letter-spacing:0}.room-code-field button{width:42px;height:44px;display:grid;place-items:center;border:0;border-left:1px solid rgba(255,217,145,.18);background:rgba(255,224,166,.1);color:#ffe0a6;cursor:pointer}.room-code-field button:focus-visible,.room-code-field button:hover{outline:none;background:rgba(255,224,166,.15);color:#fff7dc}.room-code-field svg{width:17px;height:17px}.room-share-icon{display:none}@keyframes room-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.room-code-field{animation:none}}.room-picker{position:relative}.room-room-button{width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,217,145,.44);border-radius:8px;padding:0;background:linear-gradient(180deg,rgba(111,60,22,.92),rgba(43,22,11,.9));color:#fff5d4;box-shadow:inset 0 1px rgba(255,240,184,.2),0 16px 36px rgba(0,0,0,.24);font:900 .82rem/1 var(--font-sans);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.room-room-button:focus-visible,.room-room-button:hover{outline:none;filter:brightness(1.1)}.room-room-button svg{flex:0 0 auto;width:18px;height:18px;color:#ffe0a6}.room-picker-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:260px;max-height:min(420px,calc(100dvh - 86px));display:grid;grid-gap:7px;gap:7px;overflow:auto;padding:10px;border:1px solid rgba(255,217,145,.24);border-radius:8px;background:linear-gradient(180deg,rgba(59,30,14,.96),rgba(28,18,12,.95));color:#fff8ef;box-shadow:0 24px 70px rgba(0,0,0,.36),inset 0 1px rgba(255,236,174,.12);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.room-picker-menu-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 3px 8px;border-bottom:1px solid rgba(255,248,235,.12)}.room-picker-menu-heading strong{font:900 .78rem/1 var(--font-sans)}.room-picker-menu-heading span{color:rgba(255,224,166,.62);font:850 .62rem/1 var(--font-sans);text-transform:uppercase}.room-picker-menu p{margin:0;padding:8px 3px 4px;color:rgba(255,248,235,.62);font:800 .72rem/1.3 var(--font-sans)}.room-picker-menu button{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;min-height:40px;border:1px solid rgba(255,248,235,.1);border-radius:8px;padding:8px 9px;background:rgba(255,248,235,.07);color:#fff8ef;cursor:pointer;text-align:left}.room-picker-menu button.active,.room-picker-menu button:focus-visible,.room-picker-menu button:hover{outline:none;border-color:rgba(255,217,145,.36);background:rgba(145,92,38,.34)}.room-picker-menu button strong{min-width:0;display:inline-flex;align-items:center;gap:7px;overflow:hidden;font:900 .76rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.room-picker-menu button em{color:rgba(255,224,166,.64);font:850 .6rem/1 var(--font-sans);font-style:normal;text-transform:uppercase}.room-auth-actions{gap:8px}.room-auth-actions,.room-auth-button{display:inline-flex;align-items:center}.room-auth-button{min-height:46px;justify-content:center;border:1px solid rgba(255,224,166,.38);border-radius:8px;padding:0 16px;background:linear-gradient(180deg,#7b58df,#50309f);color:#fff;box-shadow:0 16px 36px rgba(0,0,0,.24);font:900 .82rem/1 var(--font-sans);white-space:nowrap;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.room-auth-button--ghost{background:linear-gradient(180deg,rgba(111,60,22,.92),rgba(43,22,11,.9));color:#fff5d4}.room-auth-button:focus-visible,.room-auth-button:hover{outline:none;transform:translateY(-1px)}.room-account{position:relative}.room-account-loading,.room-avatar-button{width:46px;height:46px;border:1px solid rgba(255,217,145,.48);border-radius:999px;background:linear-gradient(180deg,rgba(111,60,22,.92),rgba(43,22,11,.9));box-shadow:0 16px 36px rgba(0,0,0,.24),0 0 0 2px rgba(255,224,166,.08);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.room-account-loading{opacity:.58}.room-avatar-button{position:relative;display:grid;place-items:center;overflow:hidden;background:#fff;color:#fff;cursor:pointer}.room-avatar-button:focus-visible,.room-avatar-button:hover{outline:none;background:rgba(255,244,220,.16)}.room-avatar-button:focus-visible:has(img),.room-avatar-button:hover:has(img){background:#fff;filter:brightness(1.04)}.room-avatar-button img{position:absolute;inset:0;width:100%;height:100%;display:block;padding:4px;object-fit:contain;border-radius:999px;background:#fff;transform:none}.room-avatar-button span{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#f4b03e,#6f4bd8);font:950 .92rem/1 var(--font-sans)}.room-account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:60;width:224px;display:grid;grid-gap:8px;gap:8px;padding:10px;border:1px solid var(--room-panel-border);border-radius:8px;background:rgba(28,20,15,.92);color:#fff8ef;box-shadow:0 24px 70px rgba(0,0,0,.36);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.room-account-menu-user{min-width:0;display:grid;grid-gap:3px;gap:3px;padding:4px 3px 8px;border-bottom:1px solid rgba(255,248,235,.12)}.room-account-menu-user strong{overflow:hidden;font:900 .78rem/1.1 var(--font-sans);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.room-account-menu-user em{color:rgba(255,248,235,.58);font:850 .62rem/1 var(--font-sans);font-style:normal;letter-spacing:.08em;text-transform:uppercase}.room-account-display-name{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 24px;grid-gap:5px;gap:5px;align-items:center}.room-account-display-name button{width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(255,248,235,.12);border-radius:7px;padding:0;background:rgba(255,248,235,.06);color:rgba(255,244,223,.74);cursor:pointer}.room-account-display-name button:focus-visible,.room-account-display-name button:hover{outline:none;border-color:rgba(244,207,142,.44);color:#fff4df;background:rgba(255,228,169,.12)}.room-account-display-name svg{width:13px;height:13px}.room-account-name-form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:5px;gap:5px;align-items:center}.room-account-name-form input{min-width:0;height:28px;border:1px solid rgba(255,248,235,.14);border-radius:7px;padding:0 8px;background:rgba(255,248,235,.08);color:#fff4df;font:850 .72rem/1 var(--font-sans);outline:none}.room-account-name-form input:focus{border-color:rgba(244,207,142,.54);box-shadow:0 0 0 2px rgba(244,207,142,.12)}.room-account-name-form button{height:28px;border:1px solid rgba(244,207,142,.34);border-radius:7px;padding:0 8px;background:rgba(255,228,169,.12);color:#fff4df;font:900 .66rem/1 var(--font-sans);cursor:pointer}.room-account-name-form button:disabled{opacity:.48;cursor:default}.room-account-menu a,.room-account-menu button{min-height:36px;display:inline-flex;align-items:center;gap:8px;border:0;border-radius:8px;padding:0 9px;background:rgba(255,248,235,.08);color:#fff8ef;font:900 .76rem/1 var(--font-sans);cursor:pointer;text-align:left;text-decoration:none}.room-account-menu a:focus-visible,.room-account-menu a:hover,.room-account-menu button:focus-visible,.room-account-menu button:hover{outline:none;background:rgba(255,248,235,.14)}.room-account-menu svg{width:15px;height:15px}.room-chat{position:relative}.room-chat-button{position:relative;width:46px;height:46px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,217,145,.44);border-radius:8px;padding:0;background:linear-gradient(180deg,rgba(111,60,22,.92),rgba(43,22,11,.9));color:#fff5d4;box-shadow:inset 0 1px rgba(255,240,184,.2),0 16px 36px rgba(0,0,0,.24);cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.room-chat-button:focus-visible,.room-chat-button:hover{outline:none;filter:brightness(1.1)}.room-chat-button svg{width:19px;height:19px;color:#ffe0a6}.room-chat-unread-dot{position:absolute;right:8px;top:8px;width:10px;height:10px;border:2px solid #3a1d0e;border-radius:999px;background:#ff6262;box-shadow:0 0 0 2px rgba(255,98,98,.18),0 0 14px rgba(255,98,98,.54)}.room-chat-ambient{position:absolute;right:-6px;top:calc(100% + 8px);z-index:30;width:min(260px,calc(100vw - 28px));display:grid;grid-gap:5px;gap:5px;opacity:.72;transform-origin:top right;transition:opacity .15s ease}.room-chat-ambient:focus-within,.room-chat-ambient:hover{opacity:1}.room-chat-ambient-thread{display:grid;grid-gap:4px;gap:4px;justify-items:end}.room-chat-ambient-message{width:-moz-fit-content;width:fit-content;max-width:100%;display:grid;grid-gap:2px;gap:2px;padding:6px 8px;border:1px solid rgba(255,217,145,.16);border-radius:8px;background:rgba(43,22,11,.48);color:rgba(255,248,235,.82);box-shadow:0 12px 28px rgba(15,8,4,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:room-chat-ambient-in .18s ease both,room-chat-ambient-fade 30s linear forwards}.room-chat-ambient-message--self{background:rgba(111,75,216,.22)}.room-chat-ambient-message strong{max-width:180px;overflow:hidden;color:rgba(255,224,166,.72);font:900 .58rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.room-chat-ambient-message p{max-width:214px;margin:0;overflow:hidden;color:rgba(255,248,235,.76);font:750 .66rem/1.2 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.room-chat-ambient-compose{width:100%;display:grid;grid-template-columns:minmax(0,1fr) 28px;grid-gap:4px;gap:4px;justify-self:end;opacity:0;transform:translateY(-4px);transition:opacity .15s ease,transform .15s ease}.room-chat-ambient:focus-within .room-chat-ambient-compose,.room-chat-ambient:hover .room-chat-ambient-compose{opacity:1;transform:translateY(0)}.room-chat-ambient-compose input{min-width:0;height:28px;border:1px solid rgba(255,217,145,.18);border-radius:7px;padding:0 8px;background:rgba(28,18,12,.72);color:#fff8ef;outline:none;font:800 .68rem/1 var(--font-sans);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.room-chat-ambient-compose input:focus{border-color:rgba(244,207,142,.58);box-shadow:0 0 0 2px rgba(213,147,72,.14)}.room-chat-ambient-compose input::placeholder{color:rgba(255,248,235,.42)}.room-chat-ambient-compose button{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,226,170,.32);border-radius:7px;padding:0;cursor:pointer}.room-chat-ambient-compose button:disabled{opacity:.45;cursor:default}.room-chat-ambient-compose svg{width:13px;height:13px}@keyframes room-chat-ambient-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes room-chat-ambient-fade{0%,82%{opacity:1}to{opacity:0}}.room-chat-popover{position:fixed;right:0;top:84px;bottom:14px;z-index:80;width:min(342px,calc(100vw - 18px));display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;grid-gap:8px;gap:8px;padding:10px 8px 8px;border:1px solid rgba(255,217,145,.24);border-right:0;border-radius:8px 0 0 8px;background:linear-gradient(180deg,rgba(59,30,14,.97),rgba(28,18,12,.96));color:#fff8ef;box-shadow:-24px 24px 70px rgba(0,0,0,.38),inset 0 1px rgba(255,236,174,.12);opacity:0;pointer-events:none;transform:translateX(calc(100% + 18px));transition:transform .21s ease,opacity .18s ease;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.room-chat-popover--open{opacity:1;pointer-events:auto;transform:translateX(0)}.room-chat-heading{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 8px;border-bottom:1px solid rgba(255,248,235,.1)}.room-chat-heading div{min-width:0;display:grid;grid-gap:3px;gap:3px}.room-chat-heading strong{font:950 .86rem/1 var(--font-sans)}.room-chat-heading span{color:rgba(255,224,166,.62);font:850 .62rem/1 var(--font-sans);text-transform:uppercase;white-space:nowrap}.room-chat-heading button{flex:0 0 auto;width:30px;height:30px;display:grid;place-items:center;border:1px solid rgba(255,224,166,.2);border-radius:999px;padding:0;background:rgba(255,248,235,.08);color:rgba(255,244,223,.76);cursor:pointer}.room-chat-heading button:focus-visible,.room-chat-heading button:hover{outline:none;border-color:rgba(244,207,142,.48);background:rgba(255,228,169,.14);color:#fff4df}.room-chat-heading svg{width:15px;height:15px}.room-chat-messages{min-height:0;display:flex;flex-direction:column;gap:10px;overflow:auto;padding:2px 2px 4px;scrollbar-color:rgba(238,187,98,.46) rgba(46,20,8,.32)}.room-chat-load-more{align-self:center;min-height:28px;border:1px solid rgba(255,224,166,.2);border-radius:999px;padding:0 10px;background:rgba(255,248,235,.08);color:rgba(255,248,235,.78);font:850 .65rem/1 var(--font-sans);cursor:pointer}.room-chat-load-more:disabled{opacity:.58;cursor:default}.room-chat-empty{margin:auto;color:rgba(255,248,235,.56);font:850 .74rem/1 var(--font-sans)}.room-chat-message{min-width:0;display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start}.room-chat-message--self{grid-template-columns:minmax(0,1fr) 32px}.room-chat-message--self .room-chat-avatar{grid-column:2;grid-row:1}.room-chat-message--self .room-chat-bubble{grid-column:1;grid-row:1;justify-self:end;background:rgba(111,75,216,.32);border-color:rgba(180,158,255,.24)}.room-chat-avatar{width:32px;height:32px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,248,239,.72);border-radius:999px;background:#fff;color:#fff;box-shadow:0 5px 12px rgba(12,7,4,.26)}.room-chat-avatar img,.room-chat-avatar span{width:100%;height:100%;display:block}.room-chat-avatar img{padding:2px;object-fit:contain;background:#fff;transform:none}.room-chat-avatar span{display:grid;place-items:center;background:var(--viewer-color,#6f4bd8);font:950 .68rem/1 var(--font-sans)}.room-chat-bubble{min-width:0;max-width:100%;display:grid;grid-gap:6px;gap:6px;padding:9px;border:1px solid rgba(255,248,235,.11);border-radius:8px;background:rgba(255,248,235,.08)}.room-chat-meta{min-width:0;display:flex;align-items:baseline;gap:8px}.room-chat-meta strong{min-width:0;overflow:hidden;font:900 .72rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.room-chat-meta time{flex:0 0 auto;color:rgba(255,248,235,.46);font:800 .58rem/1 var(--font-sans)}.room-chat-text{margin:0;overflow-wrap:anywhere;color:rgba(255,248,235,.88);font:750 .78rem/1.35 var(--font-sans);white-space:pre-wrap}.room-chat-text a{color:#ffd68b;text-decoration:none}.room-chat-text a:hover{text-decoration:underline}.room-chat-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px;gap:6px}.room-chat-image-link{min-width:0;overflow:hidden;border:1px solid rgba(255,248,235,.13);border-radius:6px;background:rgba(12,7,4,.3)}.room-chat-image-link img{width:100%;height:112px;display:block;object-fit:cover}.room-chat-reactions{position:relative;min-width:0;display:flex;flex-wrap:wrap;gap:5px}.room-chat-reaction-palette button,.room-chat-reactions>button{min-width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;gap:3px;border:1px solid rgba(255,248,235,.12);border-radius:999px;background:rgba(255,248,235,.08);color:#fff8ef;cursor:pointer}.room-chat-reactions>button.active{border-color:rgba(255,217,145,.34);background:rgba(244,176,62,.22)}.room-chat-reactions button:focus-visible,.room-chat-reactions button:hover{outline:none;background:rgba(255,248,235,.16)}.room-chat-reactions em{color:rgba(255,248,235,.62);font:850 .58rem/1 var(--font-sans);font-style:normal}.room-chat-reaction-palette{display:inline-flex;align-items:center;gap:3px;max-width:0;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(2px);transition:max-width .15s ease,opacity .13s ease,transform .13s ease}.room-chat-bubble:focus-within .room-chat-reaction-palette,.room-chat-bubble:hover .room-chat-reaction-palette{max-width:180px;opacity:1;pointer-events:auto;transform:translateY(0)}@media (hover:none){.room-chat-bubble:active .room-chat-reaction-palette,.room-chat-bubble:focus-within .room-chat-reaction-palette{max-width:180px;opacity:1;pointer-events:auto;transform:translateY(0)}}.room-chat-error{border:1px solid rgba(255,111,90,.24);border-radius:8px;padding:8px;background:rgba(255,89,67,.12);color:#ffd0c8;font:800 .68rem/1.25 var(--font-sans)}.room-chat-pending{min-width:0;display:flex;gap:7px;overflow:auto;padding:2px}.room-chat-pending span{position:relative;flex:0 0 auto;width:54px;height:54px;overflow:hidden;border:1px solid rgba(255,248,235,.14);border-radius:7px;background:rgba(12,7,4,.3)}.room-chat-pending img{width:100%;height:100%;display:block;object-fit:cover}.room-chat-pending button{position:absolute;right:3px;top:3px;width:20px;height:20px;display:grid;place-items:center;border:0;border-radius:999px;background:rgba(12,7,4,.72);color:#fff8ef;cursor:pointer}.room-chat-pending svg{width:12px;height:12px}.room-chat-compose{min-width:0;display:grid;grid-template-columns:38px minmax(0,1fr) 38px 38px;grid-gap:6px;gap:6px;align-items:stretch;margin-top:-8px}.room-chat-send,.room-chat-tool{width:38px;height:38px;display:grid;place-items:center;align-self:stretch;border:1px solid rgba(255,224,166,.2);border-radius:8px;padding:0;background:rgba(255,248,235,.08);color:#ffe0a6;cursor:pointer}.room-chat-send{background:linear-gradient(180deg,#7b58df,#50309f);color:#fff}.room-chat-send:focus-visible,.room-chat-send:hover,.room-chat-tool:focus-visible,.room-chat-tool:hover{outline:none;filter:brightness(1.12)}.room-chat-send:disabled,.room-chat-tool:disabled{opacity:.45;cursor:default;filter:none}.room-chat-send svg,.room-chat-tool svg{width:17px;height:17px}.room-chat-draft-wrap{position:relative;min-width:0;height:38px}.room-chat-draft-wrap textarea{width:100%;height:38px;min-height:38px;max-height:92px;display:block;resize:none;border:1px solid rgba(255,248,235,.13);border-radius:8px;padding:10px 10px 9px;background:rgba(255,248,235,.08);color:#fff8ef;outline:none;font:800 .76rem/1.2 var(--font-sans);overflow-y:hidden}.room-chat-draft-wrap textarea:focus{border-color:rgba(180,158,255,.52);box-shadow:0 0 0 3px rgba(111,75,216,.16)}.room-chat-draft-wrap textarea::placeholder{color:rgba(255,248,235,.42)}.room-chat-emoji-wrap{position:relative}.room-chat-emoji-toggle,.room-chat-emoji-wrap{width:38px;height:38px}.room-chat-emoji-menu{position:absolute;right:-2px;bottom:calc(100% + 7px);z-index:2;display:inline-flex;gap:4px;padding:6px;border:1px solid rgba(255,217,145,.2);border-radius:999px;background:rgba(24,15,9,.94);box-shadow:0 14px 30px rgba(0,0,0,.28)}.room-chat-emoji-menu button{width:28px;height:28px;border:0;border-radius:999px;background:transparent;cursor:pointer}.room-chat-emoji-menu button:focus-visible,.room-chat-emoji-menu button:hover{outline:none;background:rgba(255,248,235,.12)}.room-auth-overlay{z-index:7000}.room-auth-overlay,.room-confirm-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:18px;background:rgba(10,7,5,.56);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.room-confirm-overlay{z-index:7100}.room-auth-dialog{width:min(390px,100%);grid-gap:12px;gap:12px;border:1px solid rgba(255,248,235,.18);border-radius:8px;background:rgba(31,22,16,.94);box-shadow:0 30px 90px rgba(0,0,0,.44)}.room-auth-dialog,.room-confirm-dialog{position:relative;display:grid;padding:18px;color:#fff8ef}.room-confirm-dialog{width:min(430px,100%);grid-gap:14px;gap:14px;border:1px solid rgba(255,217,145,.22);border-radius:8px;background:linear-gradient(180deg,rgba(59,30,14,.96),rgba(28,18,12,.95));box-shadow:0 30px 90px rgba(0,0,0,.44),inset 0 1px rgba(255,236,174,.12)}.room-confirm-dialog p{margin:0;color:rgba(255,248,235,.72);font:800 .86rem/1.42 var(--font-sans)}.room-confirm-actions{display:flex;justify-content:flex-end;gap:9px}.room-auth-close{position:absolute;right:10px;top:10px;width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(255,248,235,.12);border-radius:999px;background:rgba(255,248,235,.08);color:rgba(255,248,235,.78);cursor:pointer}.room-auth-close svg{width:15px;height:15px}.room-auth-heading{display:grid;grid-gap:4px;gap:4px;padding-right:36px}.room-auth-heading span{color:rgba(255,248,235,.58);font:900 .68rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.room-auth-heading h2{margin:0;font:950 1.55rem/1 var(--font-display);color:#fff}.room-auth-prompt{margin:0;border:1px solid rgba(255,224,166,.2);border-radius:8px;padding:10px;background:rgba(255,224,166,.1);color:rgba(255,248,235,.82);font:850 .78rem/1.35 var(--font-sans)}.room-auth-dialog label{display:grid;grid-gap:6px;gap:6px}.room-auth-dialog label span{color:rgba(255,248,235,.64);font:850 .68rem/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.room-auth-dialog input{width:100%;min-width:0;height:42px;border:1px solid rgba(255,248,235,.14);border-radius:8px;padding:0 11px;background:rgba(255,248,235,.08);color:#fff8ef;outline:none}.room-auth-dialog input:focus{border-color:rgba(180,158,255,.72);box-shadow:0 0 0 3px rgba(111,75,216,.22)}.room-auth-error{padding:10px;border:1px solid rgba(255,111,90,.24);border-radius:8px;background:rgba(255,89,67,.12);color:#ffd0c8;font:800 .74rem/1.25 var(--font-sans)}.room-auth-google{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,224,166,.26);border-radius:8px;background:linear-gradient(180deg,rgba(255,244,220,.14),rgba(255,244,220,.08));color:#fff8ef;font:950 .84rem/1 var(--font-sans);text-decoration:none;box-shadow:inset 0 1px rgba(255,248,239,.1)}.room-auth-google:focus-visible,.room-auth-google:hover{outline:none;border-color:rgba(255,224,166,.44);background:linear-gradient(180deg,rgba(255,244,220,.2),rgba(255,244,220,.11))}.room-auth-google img{width:22px;height:22px;display:block}.room-auth-divider{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;grid-gap:9px;gap:9px;color:rgba(255,248,235,.48);font:850 .62rem/1 var(--font-sans);letter-spacing:.08em;text-transform:uppercase}.room-auth-divider:after,.room-auth-divider:before{height:1px;content:"";background:rgba(255,248,235,.12)}.room-auth-submit{height:42px;border:0;border-radius:8px;background:#6f4bd8;color:#fff;font:950 .84rem/1 var(--font-sans);cursor:pointer}.room-auth-submit:focus-visible,.room-auth-submit:hover{outline:none;background:#7f5bf0}.room-auth-switch{min-height:34px;border:0;background:transparent;color:rgba(255,248,235,.7);font:850 .74rem/1 var(--font-sans);cursor:pointer}.room-auth-switch:focus-visible,.room-auth-switch:hover{color:#fff;outline:none}.room-game-picker-layer{position:fixed;inset:0;z-index:7100;background:transparent}.room-game-picker-tray{position:fixed;width:262px;max-width:calc(100vw - 28px);max-height:var(--game-picker-max-height,calc(100dvh - 98px));display:grid;grid-gap:10px;gap:10px;overflow:visible;padding:12px 10px 10px;border:1px solid rgba(255,217,145,.22);border-radius:8px;background:linear-gradient(180deg,rgba(59,30,14,.96),rgba(28,18,12,.95));color:#fff8ef;box-shadow:0 22px 62px rgba(0,0,0,.34),inset 0 1px rgba(255,236,174,.12)}.room-game-picker-tray:before{position:absolute;width:14px;height:14px;content:"";border:inherit;border-right:0;border-bottom:0;background:inherit;transform:rotate(-45deg);pointer-events:none}.room-game-picker-tray--right:before{left:-8px;top:50%;transform:translateY(-50%) rotate(-45deg)}.room-game-picker-tray--left:before{right:-8px;top:50%;transform:translateY(-50%) rotate(135deg)}.room-game-picker-tray--bottom:before{left:50%;top:-8px;transform:translateX(-50%) rotate(45deg)}.room-game-picker-tray--top:before{left:50%;bottom:-8px;transform:translateX(-50%) rotate(225deg)}.room-game-picker-tray>.room-auth-close{top:-11px;right:-11px;z-index:3;width:30px;height:30px;box-shadow:0 8px 20px rgba(16,8,3,.28)}.room-game-picker-tray .room-auth-heading{justify-items:center;gap:5px;padding-right:0;text-align:center}.room-game-picker-tray .room-auth-heading span{max-width:100%;overflow:hidden;font-size:.58rem;text-overflow:ellipsis;white-space:nowrap}.room-game-picker-tray .room-auth-heading h2{font-size:1.08rem;line-height:1;white-space:nowrap}.room-game-picker-list{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px 8px;gap:12px 8px;overflow:visible}.room-game-picker-option{min-width:0;max-width:100%;display:grid;justify-items:center;grid-gap:6px;gap:6px;overflow:hidden;padding:0;color:#fff8ef;text-align:center}.room-game-picker-option:last-child{padding-bottom:0;border-bottom:0}.room-game-picker-preview-button{display:grid;place-items:center;border:0;border-radius:8px;padding:6px;background:transparent;color:inherit;cursor:pointer;transition:background .14s ease,transform .14s ease,box-shadow .14s ease}.room-game-picker-preview-button:focus-visible,.room-game-picker-preview-button:hover{outline:none;background:rgba(255,228,169,.12);box-shadow:0 0 0 1px rgba(244,207,142,.26),0 10px 22px rgba(31,14,6,.2);transform:translateY(-1px)}.room-game-picker-preview{width:94px;max-width:100%;aspect-ratio:1;display:grid;place-items:center;overflow:hidden}.room-game-picker-preview .room-game-preview{width:100%;height:100%;box-shadow:0 9px 18px rgba(0,0,0,.18)}.room-game-picker-preview .games-tray-chess-preview,.room-game-picker-preview .games-tray-hangman-preview,.room-game-picker-preview .games-tray-ludo-preview{width:100%}.room-game-picker-option strong{min-width:0;max-width:100%;overflow:hidden;color:#fff8ef;font:950 .78rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.room-table{position:absolute;inset:0;z-index:2}.room-table--pannable{cursor:-webkit-grab;cursor:grab;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.room-table--pannable:active{cursor:-webkit-grabbing;cursor:grabbing}.room-region-target{position:absolute;z-index:3;aspect-ratio:1;display:grid;place-items:center;border:2px dashed rgba(255,248,235,.36);border-radius:6px;background:rgba(24,15,9,.12);color:rgba(255,248,235,.68);pointer-events:auto;transition:background .14s ease,border-color .14s ease,box-shadow .14s ease}.room-region-target span{width:26px;height:26px;display:grid;place-items:center;border-radius:999px;background:rgba(24,15,9,.55);color:#fff8ef;font:900 .72rem/1 var(--font-sans)}.room-region-target--clickable{cursor:pointer}.room-region-target--clickable:focus-visible,.room-region-target--clickable:hover{outline:none;border-color:rgba(255,224,166,.8);background:rgba(255,224,166,.16);box-shadow:0 0 0 4px rgba(255,224,166,.12),inset 0 0 0 1px rgba(255,255,255,.22)}.room-region-target--ready{border-color:rgba(111,75,216,.92);background:rgba(111,75,216,.2);box-shadow:0 0 0 4px rgba(111,75,216,.14),inset 0 0 0 1px rgba(255,255,255,.36)}.room-region-target--occupied{pointer-events:none;opacity:0}.room-widget{position:absolute;min-width:300px;min-height:300px;display:grid;grid-template-rows:44px minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,244,220,.2);border-radius:0;background:transparent;color:var(--room-ink);box-shadow:0 28px 70px rgba(34,18,10,.34);touch-action:none}.room-widget--region{z-index:5;min-width:0;min-height:0;height:auto;grid-template-rows:38px auto;overflow:visible;box-shadow:0 18px 44px rgba(34,18,10,.28)}.room-widget--birdseye{grid-template-rows:36px auto 36px;box-shadow:0 10px 26px rgba(34,18,10,.22)}.room-widget--joined{box-shadow:0 24px 70px rgba(34,18,10,.34)}.game-card-header{min-width:0;min-height:44px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:7px 8px 7px 11px;border:1px solid rgba(255,248,239,.18);border-radius:0;background:rgba(24,15,9,.72);color:#fff8ef;cursor:-webkit-grab;cursor:grab;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.game-card-header:active{cursor:-webkit-grabbing;cursor:grabbing}.room-widget--region .game-card-header{min-height:38px;padding:5px 7px 5px 10px}.room-widget--birdseye .game-card-header{min-height:36px;padding:0 8px;border-color:rgba(255,224,166,.34);border-radius:0;background:linear-gradient(180deg,#8c6128,#4b260e);color:#fff5d4;box-shadow:inset 0 1px rgba(255,240,184,.32),0 7px 16px rgba(24,9,3,.28)}.game-card-header--birdseye{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;justify-items:stretch;cursor:default}.game-card-birdseye-label{justify-self:start;align-self:center;max-width:100%;overflow:hidden;padding-left:2px;color:#fff5d4;font:900 .74rem/1 var(--font-sans);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap}.game-card-birdseye-actions{justify-self:end;display:inline-flex;align-items:center;gap:5px}.board-viewer-avatars{position:absolute;left:calc(100% + 7px);top:50%;z-index:7;display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:2px 0;pointer-events:none;transform:translateY(-50%)}.board-viewer-avatars .table-viewer-avatar{width:24px;height:24px;box-shadow:0 4px 10px rgba(12,7,4,.32),0 0 0 2px rgba(24,15,9,.22)}.board-viewer-avatars .table-viewer-avatar+.table-viewer-avatar{margin-right:0}.table-viewer-avatars{justify-self:end;min-width:0;display:inline-flex;align-items:center;flex-direction:row-reverse;padding-right:3px}.table-viewer-avatars--empty{width:1px;height:1px;padding:0;overflow:hidden}.table-viewer-avatar{position:relative;width:23px;height:23px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,248,239,.78);border-radius:999px;background:#fff;color:#fff5d4;box-shadow:0 2px 8px rgba(12,7,4,.3);font:900 .58rem/1 var(--font-sans)}.table-viewer-avatar+.table-viewer-avatar{margin-right:-7px}.table-viewer-avatar img,.table-viewer-avatar>span{width:100%;height:100%;display:block;background:var(--viewer-color,#f4b03e)}.table-viewer-avatar>span{display:grid;place-items:center}.table-viewer-avatar img{padding:1px;object-fit:contain;background:#fff;transform:none}.table-viewer-avatar--more{background:rgba(24,15,9,.92);font-size:.54rem}.game-card-header--locked,.game-card-header--locked:active{cursor:default}.game-card-turn{min-width:0;display:flex;align-items:center;gap:8px}.game-card-turn h3{min-width:0;margin:0;overflow:hidden;font:900 .96rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.game-card-actions{gap:5px}.game-card-actions,.game-card-button{display:inline-flex;align-items:center}.game-card-button{width:30px;height:30px;justify-content:center;border:1px solid rgba(255,248,239,.12);border-radius:999px;background:rgba(255,248,239,.08);color:rgba(255,248,239,.72);cursor:pointer}.game-card-button--active,.game-card-button:hover:not(:disabled){background:rgba(255,248,239,.16)}.game-card-button--danger:hover:not(:disabled){background:rgba(255,100,74,.18);color:#ffbdad}.game-card-button:disabled{opacity:.34;cursor:default}.game-card-button svg{width:15px;height:15px}.game-card-close-button{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,248,239,.08);border-radius:999px;background:rgba(255,248,239,.04);color:rgba(255,248,239,.48);cursor:pointer}.room-widget--birdseye .game-card-close-button{width:23px;height:23px}.game-card-close-button:focus-visible,.game-card-close-button:hover{outline:none;border-color:rgba(255,170,140,.28);background:rgba(255,100,74,.12);color:rgba(255,225,216,.86)}.game-card-close-button:disabled,.game-card-close-button:disabled:hover{opacity:.35;border-color:rgba(255,248,239,.08);background:rgba(255,248,239,.04);color:rgba(255,248,239,.48);cursor:not-allowed}.game-card-close-button svg{width:15px;height:15px}.room-widget--birdseye .game-card-close-button svg{width:13px;height:13px}.room-widget-content{position:relative;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,248,239,.18);border-top:0;border-radius:0;background:rgba(255,252,244,.96)}.room-widget-body{min-height:0;padding:12px;overflow:auto}.room-widget--region .room-widget-content{aspect-ratio:1}.room-widget--region .room-widget-body{padding:8px;overflow:hidden}.room-widget--birdseye .room-widget-content,.room-widget--joined .room-widget-content{border:0;border-radius:0;background:transparent}.room-widget--birdseye .room-widget-body,.room-widget--joined .room-widget-body{padding:0;overflow:hidden}.room-widget--birdseye .room-widget-body{pointer-events:none}.room-board-rotator{width:100%;height:100%;min-height:0;display:grid;place-items:stretch;transform-origin:50% 50%;transition:transform .26s cubic-bezier(.2,.78,.24,1)}.room-board-rotator>*{min-width:0;min-height:0}.room-widget-join-table{width:100%;min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,224,166,.34);border-radius:0;background:linear-gradient(180deg,#8c6128,#4b260e);color:#fff5d4;box-shadow:inset 0 1px rgba(255,240,184,.32),0 7px 16px rgba(24,9,3,.28);font:900 .74rem/1 var(--font-sans);cursor:pointer}.room-widget-join-table:focus-visible,.room-widget-join-table:hover{outline:none;filter:brightness(1.12)}.room-widget--birdseye .chess-board-wrap{padding:0;place-items:center}.room-widget--birdseye .chess-board-stack{width:100%}.room-widget--birdseye .chess-captures-panel{display:none}.room-widget--birdseye .chess-board-exact{width:100%;margin:0 auto;border-width:4px;border-radius:0;box-shadow:none}.room-widget--birdseye .ludo-board-exact{border-width:3px;border-radius:0;box-shadow:none}.room-hangman-preview{position:relative;width:100%;height:100%;display:grid;place-items:center;padding:7px}.room-hangman-preview .games-tray-hangman-preview{width:min(100%,118px)}.room-hangman-progress{position:absolute;left:14px;right:14px;bottom:10px;height:4px;overflow:hidden;border-radius:999px;background:rgba(75,42,24,.16)}.room-hangman-progress:before{width:var(--hangman-progress,0);height:100%;display:block;content:"";border-radius:inherit;background:linear-gradient(90deg,#f4b03e,#e86252)}.room-resize-handle{position:absolute;right:0;bottom:0;width:26px;height:26px;border:0;border-radius:8px 0 0;background:linear-gradient(135deg,transparent 0 45%,rgba(36,26,20,.32) 45% 52%,transparent 52% 64%,rgba(36,26,20,.32) 64% 71%,transparent 71%);cursor:nwse-resize}.game-lobby{position:absolute;inset:0;z-index:10;display:grid;place-items:center;padding:18px;background:rgba(20,13,9,.46);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.game-lobby-card{width:min(360px,100%);display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid rgba(255,248,239,.18);border-radius:8px;background:rgba(28,18,12,.86);color:#fff8ef;box-shadow:0 20px 54px rgba(0,0,0,.32)}.game-lobby-heading{display:grid;grid-gap:3px;gap:3px}.game-lobby-heading span{color:rgba(255,248,239,.64);font:850 .64rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.game-lobby-heading strong{font:900 1.08rem/1 var(--font-sans)}.game-seat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.game-seat-grid--ludo{grid-template-columns:repeat(2,minmax(0,1fr))}.game-seat-wrap{min-width:0;display:grid;grid-gap:6px;gap:6px}.game-seat{min-width:0;min-height:48px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;grid-column-gap:7px;column-gap:7px;padding:8px;border:1px solid rgba(255,248,239,.13);border-radius:8px;background:rgba(255,248,239,.08);color:#fff8ef;cursor:pointer;text-align:left}.game-seat:disabled{opacity:.62;cursor:default}.game-seat--mine{border-color:rgba(125,211,252,.42);background:rgba(37,99,235,.24)}.game-seat--ai{border-color:rgba(255,224,166,.36);background:rgba(145,92,38,.22)}.game-seat-color{grid-row:1/3;width:13px;height:13px;border-radius:999px;background:#9ca3af;box-shadow:0 0 0 2px rgba(255,255,255,.16)}.game-seat--white .game-seat-color{background:#f8fafc}.game-seat--black .game-seat-color{background:#111827}.game-seat--red .game-seat-color{background:#e84c3d}.game-seat--green .game-seat-color{background:#38a95d}.game-seat--yellow .game-seat-color{background:#efc23a}.game-seat--blue .game-seat-color{background:#3b83dc}.game-seat--setter .game-seat-color{background:#f4b03e}.game-seat--guesser .game-seat-color{background:#56a3e8}.game-seat em,.game-seat strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-seat strong{font:900 .76rem/1 var(--font-sans);text-transform:capitalize}.game-seat em{color:rgba(255,248,239,.62);font:750 .64rem/1 var(--font-sans);font-style:normal}.game-lobby-start{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:8px;background:#6f4bd8;color:#fff;font:900 .82rem/1 var(--font-sans);cursor:pointer}.game-lobby-start:disabled{opacity:.42;cursor:default}.game-lobby-start svg{width:16px;height:16px}.game-seat-ai-select{width:100%;min-width:0;height:32px;border:1px solid rgba(255,248,239,.13);border-radius:8px;padding:0 8px;background:rgba(255,248,239,.08);color:#fff8ef;outline:none;font:850 .66rem/1 var(--font-sans)}.game-seat-ai-select:disabled{opacity:.54;cursor:default}.chess-board-wrap{container-type:size;position:relative;width:100%;height:100%;min-height:0;display:grid;place-items:center;overflow:hidden;padding:0}.chess-status{position:absolute;left:50%;top:10px;z-index:4;border:1px solid rgba(255,248,239,.18);border-radius:999px;padding:6px 10px;background:rgba(28,18,12,.76);color:#fff8ef;box-shadow:0 10px 24px rgba(0,0,0,.2);font:900 .68rem/1 var(--font-sans);text-transform:uppercase;transform:translateX(-50%);pointer-events:none}.chess-board-stack{width:min(100cqw,max(160px,calc(100cqh - 40px)));min-width:0;display:grid;grid-gap:0;gap:0}.chess-captures-panel{width:100%;min-height:40px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;overflow:hidden;border:8px solid #5a341c;border-top:0;background:#5a341c;box-shadow:0 12px 24px rgba(39,25,18,.14)}.chess-captures{min-width:0;min-height:30px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;grid-gap:6px;gap:6px;overflow:hidden;padding:4px 6px;background:#f0d19a}.chess-captures--black{background:#9b6336}.chess-captures-side{width:13px;aspect-ratio:1;border:1px solid rgba(75,42,24,.32);border-radius:999px;background:#f8fafc;box-shadow:inset 0 1px rgba(255,255,255,.72),0 1px 2px rgba(39,25,18,.16)}.chess-captures--black .chess-captures-side{border-color:rgba(255,240,208,.28);background:#111827;box-shadow:inset 0 1px rgba(255,255,255,.18),0 1px 2px rgba(39,25,18,.2)}.chess-captured-pieces{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:2px;overflow:hidden}.chess-captured-piece{width:clamp(15px,8%,22px);aspect-ratio:1;display:grid;place-items:center}.chess-captured-piece svg{width:88%;height:88%;filter:drop-shadow(0 1px 1px rgba(0,0,0,.2))}.chess-captures-empty{width:16px;height:3px;border-radius:999px;background:rgba(75,42,24,.2)}.chess-board-exact{width:100%;aspect-ratio:1;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);margin:0 auto;overflow:hidden;border:8px solid #5a341c;border-radius:0;background:#5a341c;box-shadow:0 18px 38px rgba(39,25,18,.18);touch-action:none}.room-widget--region .chess-board-exact{width:100%;margin:0 auto;border-width:6px;box-shadow:none}.chess-board-exact button{position:relative;min-width:0;min-height:0;display:grid;place-items:center;border:0;cursor:pointer;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chess-board-exact button:nth-child(16n+1),.chess-board-exact button:nth-child(16n+10),.chess-board-exact button:nth-child(16n+12),.chess-board-exact button:nth-child(16n+14),.chess-board-exact button:nth-child(16n+16),.chess-board-exact button:nth-child(16n+3),.chess-board-exact button:nth-child(16n+5),.chess-board-exact button:nth-child(16n+7){background:#f0d19a}.chess-board-exact button:nth-child(16n+11),.chess-board-exact button:nth-child(16n+13),.chess-board-exact button:nth-child(16n+15),.chess-board-exact button:nth-child(16n+2),.chess-board-exact button:nth-child(16n+4),.chess-board-exact button:nth-child(16n+6),.chess-board-exact button:nth-child(16n+8),.chess-board-exact button:nth-child(16n+9){background:#9b6336}.chess-board-exact button.selected{box-shadow:inset 0 0 0 4px #f7d953}.chess-board-exact button.legal:after{width:28%;aspect-ratio:1;content:"";border-radius:999px;background:rgba(38,24,16,.34);box-shadow:0 0 0 2px rgba(255,248,239,.2)}.chess-board-exact button.legal:has(svg):after{position:absolute;width:82%;border:3px solid rgba(247,217,83,.8);background:transparent}.chess-board-exact button.last-move{box-shadow:inset 0 0 0 999px rgba(247,217,83,.22)}.chess-board-exact button.king-check{box-shadow:inset 0 0 0 4px rgba(232,98,82,.95),inset 0 0 0 999px rgba(232,98,82,.16)}.chess-board-exact button.dragging-source svg{opacity:.16}.chess-board-exact button.drop-target{box-shadow:inset 0 0 0 4px rgba(184,215,25,.95),inset 0 0 0 999px rgba(184,215,25,.14)}.chess-board-exact svg{width:68%;height:68%;filter:drop-shadow(0 2px 1px rgba(0,0,0,.22));transition:transform .26s cubic-bezier(.2,.78,.24,1)}.chess-drag-piece{position:fixed;z-index:8200;display:grid;place-items:center;pointer-events:none;transform:translate(-50%,-50%);filter:drop-shadow(0 12px 16px rgba(24,14,8,.34))}.chess-drag-piece svg{width:68%;height:68%}.white-piece{color:#fff9ed;stroke:#4b2a18;stroke-width:18px}.black-piece{color:#231915;stroke:#fff0d0;stroke-width:12px}.ludo-board-exact{position:relative;width:100%;height:100%;min-height:0;aspect-ratio:1;overflow:hidden;border:4px solid #a45f2c;border-radius:0;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%),#8f542b;box-shadow:inset 0 0 0 1px rgba(255,232,190,.34),0 8px 18px rgba(79,44,24,.2)}.room-widget--region .ludo-board-exact{border-width:4px}.ludo-grid{position:absolute;inset:9px;z-index:2;display:grid;grid-template-columns:repeat(15,minmax(0,1fr));grid-template-rows:repeat(15,minmax(0,1fr))}.ludo-cell{position:relative;min-width:0;min-height:0}.ludo-cell--blue,.ludo-cell--green,.ludo-cell--path,.ludo-cell--red,.ludo-cell--yellow{border:1px solid rgba(44,32,24,.42);background:#fffdf7;box-shadow:inset 0 0 0 1px rgba(255,255,255,.74)}.ludo-cell--safe{background:#fffdf7}.ludo-cell--safe:after{position:absolute;inset:0;display:grid;place-items:center;content:"*";color:rgba(44,32,24,.34);font-size:.7rem;line-height:1}.ludo-cell--red,.ludo-cell--start-red{background:#ef4a3e}.ludo-cell--green,.ludo-cell--start-green{background:#25b955}.ludo-cell--start-yellow,.ludo-cell--yellow{background:#eac21a}.ludo-cell--blue,.ludo-cell--start-blue{background:#2388dc}.ludo-home{position:absolute;z-index:1;width:40%;height:40%;border:1px solid rgba(44,32,24,.28);box-shadow:inset 0 0 0 9px rgba(255,248,220,.86),inset 0 0 0 10px rgba(44,32,24,.16)}.ludo-home--active{z-index:4;border-color:var(--ludo-home-color);outline:3px solid color-mix(in srgb,var(--ludo-home-color) 72%,white);outline-offset:2px;box-shadow:inset 0 0 0 9px rgba(255,248,220,.86),inset 0 0 0 10px rgba(44,32,24,.16),0 0 0 2px rgba(255,255,255,.95),0 0 22px var(--ludo-home-glow)}.ludo-home:after{position:absolute;inset:19%;content:"";border-radius:8px;background:color-mix(in srgb,var(--ludo-home-color) 82%,#111827);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),inset 0 -10px 20px rgba(15,23,42,.1)}.ludo-home--red{--ludo-home-color:#ef4444;--ludo-home-glow:rgba(239,68,68,.36);right:9px;bottom:9px;background:#ef4a3e}.ludo-home--green{--ludo-home-color:#22c55e;--ludo-home-glow:rgba(34,197,94,.36);bottom:9px;left:9px;background:#25b955}.ludo-home--yellow{--ludo-home-color:#eab308;--ludo-home-glow:rgba(234,179,8,.4);top:9px;left:9px;background:#eac21a}.ludo-home--blue{--ludo-home-color:#3b82f6;--ludo-home-glow:rgba(59,130,246,.36);top:9px;right:9px;background:#2388dc}.ludo-center{position:absolute;inset:calc(50% - 10%);z-index:3;overflow:hidden;border:1px solid rgba(44,32,24,.42);background:transparent}.ludo-center-triangle{position:absolute;display:block}.ludo-center-triangle--red{top:0;right:0;bottom:0;width:50%;background:#ef4a3e;-webkit-clip-path:polygon(100% 0,100% 100%,0 50%);clip-path:polygon(100% 0,100% 100%,0 50%)}.ludo-center-triangle--green{right:0;bottom:0;left:0;height:50%;background:#25b955;-webkit-clip-path:polygon(0 100%,100% 100%,50% 0);clip-path:polygon(0 100%,100% 100%,50% 0)}.ludo-center-triangle--yellow{top:0;bottom:0;left:0;width:50%;background:#eac21a;-webkit-clip-path:polygon(0 0,0 100%,100% 50%);clip-path:polygon(0 0,0 100%,100% 50%)}.ludo-center-triangle--blue{top:0;right:0;left:0;height:50%;background:#2388dc;-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%)}.ludo-pieces{position:absolute;inset:9px;z-index:5;pointer-events:none}.ludo-piece{position:absolute;z-index:3;width:clamp(16px,7%,40px);aspect-ratio:1;padding:0;border:2px solid rgba(255,255,255,.92);border-radius:999px;transform:translate(-50%,-50%) translate(var(--project-ludo-piece-offset-x),var(--project-ludo-piece-offset-y));box-shadow:0 3px 8px rgba(15,23,42,.24),inset 0 1px 0 rgba(255,255,255,.38);pointer-events:auto;cursor:default}.ludo-piece--movable{cursor:pointer;animation:ludo-piece-ready .9s ease-in-out infinite alternate}.ludo-piece--last{box-shadow:0 0 0 4px rgba(255,255,255,.75),0 3px 8px rgba(15,23,42,.24),inset 0 1px 0 rgba(255,255,255,.38)}.ludo-piece:disabled{pointer-events:none}.ludo-piece--red{background:#dc2626}.ludo-piece--green{background:#16a34a}.ludo-piece--yellow{background:#d97706}.ludo-piece--blue{background:#2563eb}@keyframes ludo-piece-ready{0%{filter:brightness(1)}to{filter:brightness(1.18);transform:translate(-50%,-50%) translate(var(--project-ludo-piece-offset-x),var(--project-ludo-piece-offset-y)) scale(1.08)}}.ludo-dice{position:absolute;inset:9px;z-index:8;pointer-events:none}.ludo-die{--ludo-die-color:#64748b;position:absolute;box-sizing:border-box;width:clamp(22px,10%,48px);aspect-ratio:1;padding:0;border:2px solid rgba(255,255,255,.88);border-radius:10px;background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(244,246,249,.98)),#fff;box-shadow:0 5px 10px rgba(35,24,17,.28),inset 0 1px 0 rgba(255,255,255,.9),inset 0 -1px 2px rgba(15,23,42,.08);transform:translate(-50%,-50%);cursor:default;pointer-events:auto}.ludo-die--yellow{--ludo-die-color:#ca8a04;top:20%;left:20%}.ludo-die--blue{--ludo-die-color:#2563eb;top:20%;left:80%}.ludo-die--green{--ludo-die-color:#16a34a;top:80%;left:20%}.ludo-die--red{--ludo-die-color:#dc2626;top:80%;left:80%}.ludo-die--active{border-color:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--ludo-die-color) 26%,transparent),0 7px 14px rgba(35,24,17,.3),inset 0 1px 0 rgba(255,255,255,.92);cursor:pointer}.ludo-die--inactive{background:radial-gradient(circle at center,color-mix(in srgb,var(--ludo-die-color) 68%,white) 0 16%,transparent 17%),linear-gradient(145deg,rgba(255,255,255,.96) 0,rgba(244,246,249,.96) 100%),#fff}.ludo-die:disabled{cursor:default;opacity:1;pointer-events:none}.ludo-die:not(:disabled):hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--ludo-die-color) 28%,transparent),0 7px 14px rgba(35,24,17,.32),inset 0 1px 0 rgba(255,255,255,.9)}.ludo-die--rolling{animation:ludo-die-roll .21s steps(2,jump-none) infinite}@keyframes ludo-die-roll{0%{transform:translate(-50%,-50%) rotate(-7deg) scale(1.02)}50%{transform:translate(-50%,-50%) rotate(8deg) scale(1.08)}to{transform:translate(-50%,-50%) rotate(-4deg) scale(1.03)}}.ludo-die-pip{position:absolute;width:18%;aspect-ratio:1;display:block;border-radius:999px;background:var(--ludo-die-color);opacity:0;transform:translate(-50%,-50%)}.ludo-die-pip--active{opacity:1}.ludo-die-pip--top-left{top:28%;left:28%}.ludo-die-pip--top-right{top:28%;left:72%}.ludo-die-pip--middle-left{top:50%;left:28%}.ludo-die-pip--center{top:50%;left:50%}.ludo-die-pip--middle-right{top:50%;left:72%}.ludo-die-pip--bottom-left{top:72%;left:28%}.ludo-die-pip--bottom-right{top:72%;left:72%}.ludo-roll-bank{position:absolute;left:50%;bottom:9%;z-index:9;display:inline-flex;gap:6px;padding:6px;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(36,26,20,.72);box-shadow:0 8px 18px rgba(35,24,17,.24);transform:translateX(-50%)}.ludo-roll-bank--rolling{opacity:.72}.ludo-roll-chip{width:30px;height:30px;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:rgba(255,255,255,.9);color:#3a2415;font:950 .82rem/1 var(--font-sans);cursor:pointer;transition:transform .26s cubic-bezier(.2,.78,.24,1)}.ludo-roll-chip--selected{background:#6f4bd8;color:#fff}.ludo-roll-chip:disabled{opacity:.48;cursor:default}.ludo-setup-overlay{position:absolute;inset:0;z-index:12;display:grid;place-items:center;padding:16px;background:rgba(24,15,9,.34);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ludo-setup-card{width:min(330px,92%);display:grid;grid-gap:10px;gap:10px;padding:13px;border:1px solid rgba(255,248,239,.22);border-radius:8px;background:rgba(28,18,12,.88);color:#fff8ef;box-shadow:0 18px 44px rgba(0,0,0,.3)}.ludo-setup-title{color:#fff8ef;font:950 1rem/1.1 var(--font-sans);text-transform:capitalize}.ludo-setup-list{display:grid;grid-gap:7px;gap:7px}.ludo-setup-row{--ludo-setup-color:#64748b;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center;min-height:34px;padding:6px 8px;border:1px solid rgba(255,248,239,.12);border-radius:8px;background:rgba(255,248,239,.08)}.ludo-setup-row--red{--ludo-setup-color:#dc2626}.ludo-setup-row--green{--ludo-setup-color:#16a34a}.ludo-setup-row--yellow{--ludo-setup-color:#d97706}.ludo-setup-row--blue{--ludo-setup-color:#2563eb}.ludo-setup-row>span{min-width:0;display:inline-flex;align-items:center;gap:7px;overflow:hidden;font:900 .76rem/1 var(--font-sans);text-transform:capitalize}.ludo-setup-row i{width:12px;height:12px;border-radius:999px;background:var(--ludo-setup-color);box-shadow:0 0 0 2px rgba(255,255,255,.18)}.ludo-setup-row em{min-width:28px;color:#fff8ef;font:950 .82rem/1 var(--font-sans);font-style:normal;text-align:center}.ludo-setup-row button{height:28px;border:1px solid color-mix(in srgb,var(--ludo-setup-color) 42%,#fff);border-radius:999px;padding:0 10px;background:rgba(255,255,255,.9);color:var(--ludo-setup-color);font:900 .68rem/1 var(--font-sans);cursor:pointer}.ludo-setup-row button:disabled{opacity:.54;cursor:default}.ludo-setup-card small{color:rgba(255,248,239,.66);font:850 .68rem/1.25 var(--font-sans)}.ludo-winner{position:absolute;left:50%;top:50%;z-index:13;padding:10px 14px;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(255,255,255,.94);color:#271912;font:950 .95rem/1 var(--font-sans);text-transform:capitalize;box-shadow:0 16px 38px rgba(35,24,17,.28);transform:translate(-50%,-50%)}.hangman-board-exact{min-height:100%;display:grid;align-content:center;grid-gap:12px;gap:12px;padding-top:38px}.room-widget--region .hangman-board-exact{padding-top:0}.hangman-board-exact form{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.hangman-board-exact input{min-width:0;height:40px;border:1px solid rgba(36,26,20,.14);border-radius:8px;padding:0 10px;background:#fff;color:var(--room-ink);font-weight:850;text-transform:uppercase}.hangman-board-exact button{height:40px;border:0;border-radius:8px;padding:0 14px;background:#5c3bc9;color:#fff;font-weight:900;cursor:pointer}.hangman-drawing{position:relative;height:116px;border-radius:8px;background:#f0dfbf}.hangman-drawing:before{position:absolute;left:44px;bottom:18px;width:4px;height:78px;content:"";background:#4b2a18;box-shadow:0 -78px #4b2a18,42px -78px #4b2a18,42px -60px #4b2a18}.hangman-drawing span{position:absolute;left:77px;top:38px;width:28px;max-height:88px;border-top:5px solid #4b2a18;border-radius:999px 999px 0 0;background:rgba(232,76,61,.2)}.hangman-drawing--empty span{height:18px;opacity:.42}.hangman-word{min-height:66px;display:grid;place-items:center;border-radius:8px;background:#f3e5c9;color:#281b14;font:900 clamp(1.4rem,4vw,2.4rem)/1.1 var(--font-display);letter-spacing:.08em}.hangman-word--empty{color:rgba(40,27,20,.7);font-family:var(--font-sans);font-size:clamp(.86rem,2vw,1.15rem);letter-spacing:.02em;text-transform:uppercase}.hangman-guesses{min-height:30px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(36,26,20,.07);color:rgba(36,26,20,.7);font:850 .78rem/1 var(--font-sans)}@media (max-width:760px){.home-room-shell{padding:12px;place-items:center}.home-location-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:12px}.home-location-heading h1{font-size:1.7rem}.home-location-heading p{font-size:.8rem}.home-location-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.home-location-image{aspect-ratio:1.16}.home-location-copy strong{font-size:.84rem}.home-location-description{font-size:.68rem;-webkit-line-clamp:2}.home-location-action{width:30px;height:30px}.room-game-picker-tray{width:min(244px,calc(100vw - 28px))}.room-game-picker-preview{width:86px}.room-toolbar{top:10px;max-width:calc(100vw - 20px);gap:7px;padding:7px}.room-code-field{width:46px;min-width:46px;grid-template-columns:1fr}.room-code-field input,.room-code-field span{display:none}.room-code-field button{width:44px;height:44px;border-left:0;background:transparent}.room-code-field svg{width:19px;height:19px}.room-widget{max-width:calc(100vw - 20px)}}@media (prefers-reduced-motion:reduce){.room-image-transition{transition-duration:1ms}}.admin-shell{width:100vw;height:100dvh;overflow:auto;padding:22px;background:#171412;color:#fff7eb}.admin-shell code{padding:2px 5px;border-radius:5px;background:rgba(255,255,255,.1)}.admin-card{border:1px solid rgba(255,247,235,.14);border-radius:8px;background:rgba(37,29,24,.92);box-shadow:0 24px 70px rgba(0,0,0,.28)}.admin-card--narrow{width:min(430px,calc(100vw - 36px));margin:16vh auto 0;display:grid;grid-gap:14px;gap:14px;padding:20px}.admin-card h2,.admin-card--narrow h1,.admin-topbar h1{margin:0;color:#fff;letter-spacing:0}.admin-card--narrow p{margin:0;color:rgba(255,247,235,.68);font-weight:700;line-height:1.4}.admin-card--narrow input,.admin-region-list input,.admin-upload-panel input,.admin-upload-panel textarea{width:100%;min-width:0;border:1px solid rgba(255,247,235,.16);border-radius:8px;background:rgba(255,247,235,.08);color:#fff7eb;outline:none}.admin-card--narrow input,.admin-region-list input,.admin-upload-panel input{height:40px;padding:0 11px}.admin-upload-panel textarea{resize:vertical;padding:10px 11px}.admin-card--narrow input:focus,.admin-region-list input:focus,.admin-upload-panel input:focus,.admin-upload-panel textarea:focus{border-color:rgba(144,200,255,.7);box-shadow:0 0 0 3px rgba(84,142,255,.16)}.admin-card--narrow button,.admin-editor-header>button,.admin-topbar button,.admin-upload-panel form button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,247,235,.14);border-radius:8px;background:#6f4bd8;color:#fff;font-weight:900;cursor:pointer}.admin-card--narrow button:disabled,.admin-editor-header>button:disabled,.admin-upload-panel form button:disabled{opacity:.5;cursor:default}.admin-status,.admin-toast{border:1px solid rgba(255,247,235,.14);border-radius:8px;background:rgba(255,247,235,.1);color:rgba(255,247,235,.78);font-weight:800}.admin-status{padding:10px}.admin-toast{position:fixed;right:22px;bottom:22px;z-index:100;padding:12px 14px;box-shadow:0 18px 40px rgba(0,0,0,.32)}.admin-loading{width:min(360px,100%);margin:20vh auto 0;color:rgba(255,247,235,.7);font-weight:900;text-align:center}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 auto 14px;max-width:1420px}.admin-topbar span{display:block;margin-bottom:4px;color:rgba(255,247,235,.58);font:900 .68rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.admin-topbar h1{font:900 2rem/1 var(--font-display)}.admin-topbar button{background:rgba(255,247,235,.08)}.admin-editor-header button svg,.admin-topbar button svg,.admin-upload-panel button svg{width:16px;height:16px}.admin-tabs{max-width:1420px;margin:0 auto 12px;display:flex;border-bottom:1px solid rgba(255,247,235,.12)}.admin-tabs button{min-height:40px;border:0;border-bottom:2px solid transparent;background:transparent;color:rgba(255,247,235,.62);font-weight:900;cursor:pointer}.admin-tabs button.active{border-bottom-color:#9f87ff;color:#fff}.admin-analytics{max-width:1420px;margin:0 auto;display:grid;grid-gap:14px;gap:14px}.admin-analytics-actions{display:flex;justify-content:flex-end}.admin-analytics-actions button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,247,235,.14);border-radius:8px;padding:0 14px;background:rgba(255,247,235,.08);color:#fff7eb;font-weight:900;cursor:pointer}.admin-analytics-actions button:disabled{opacity:.55;cursor:default}.admin-analytics-hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px}.admin-analytics-hero button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,247,235,.14);border-radius:8px;padding:0 14px;background:rgba(255,247,235,.08);color:#fff7eb;font-weight:900;cursor:pointer}.admin-analytics-hero button:disabled{opacity:.55;cursor:default}.admin-analytics-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.admin-analytics-card{min-height:132px;display:grid;align-content:center;grid-gap:8px;gap:8px;padding:16px}.admin-analytics-card span,.admin-asset-stats span{color:rgba(255,247,235,.58);font:900 .68rem/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.admin-analytics-card strong{color:#fff;font:950 2.25rem/1 var(--font-display);letter-spacing:0}.admin-analytics-card em{color:rgba(255,224,166,.72);font:850 .78rem/1 var(--font-sans);font-style:normal}.admin-activity-card{display:grid;grid-gap:14px;gap:14px;padding:14px}.admin-activity-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-range-toggle{display:inline-flex;gap:4px;padding:4px;border:1px solid rgba(255,247,235,.12);border-radius:9px;background:rgba(255,247,235,.06)}.admin-range-toggle button{min-height:32px;border:0;border-radius:7px;padding:0 10px;background:transparent;color:rgba(255,247,235,.64);font:900 .7rem/1 var(--font-sans);cursor:pointer}.admin-range-toggle button:focus-visible,.admin-range-toggle button:hover{outline:none;color:#fff7eb;background:rgba(255,247,235,.08)}.admin-range-toggle button.active{background:rgba(159,135,255,.22);color:#fff;box-shadow:inset 0 0 0 1px rgba(159,135,255,.26)}.admin-activity-legend{display:flex;flex-wrap:wrap;gap:8px}.admin-activity-legend span{display:inline-flex;align-items:center;gap:6px;min-height:26px;border:1px solid rgba(255,247,235,.1);border-radius:999px;padding:0 9px;background:rgba(255,247,235,.06);color:rgba(255,247,235,.72);font:850 .66rem/1 var(--font-sans)}.admin-activity-legend span:before{width:8px;height:8px;content:"";border-radius:999px;background:var(--activity-color);box-shadow:0 0 12px color-mix(in srgb,var(--activity-color) 55%,transparent)}.admin-activity-legend strong{color:#fff7eb;font:950 .68rem/1 var(--font-sans)}.admin-activity-legend--rooms{--activity-color:#2bd7ff}.admin-activity-legend--chess{--activity-color:#b8d719}.admin-activity-legend--ludo{--activity-color:#ff8a2a}.admin-activity-legend--hangman{--activity-color:#7657ff}.admin-activity-chart{min-height:260px;padding:12px;border:1px solid rgba(255,247,235,.1);border-radius:8px;background:linear-gradient(180deg,rgba(255,247,235,.04),rgba(255,247,235,.025))}.admin-activity-chart svg{width:100%;min-width:640px;height:auto;display:block;overflow:visible}.admin-activity-chart--month svg{min-width:760px}.admin-activity-chart--bars{min-height:310px}.admin-activity-plot{position:relative;display:grid;grid-template-columns:36px minmax(0,1fr);grid-gap:10px;gap:10px;min-height:286px}.admin-activity-y-axis{height:222px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;padding:2px 0 0;color:rgba(255,247,235,.62);font:850 .66rem/1 var(--font-sans)}.admin-hour-bars-scroller{min-width:0;overflow-x:auto;overflow-y:hidden;padding-bottom:2px;cursor:-webkit-grab;cursor:grab}.admin-hour-bars{width:max-content;min-width:min(100%,calc(var(--hour-count) * 44px));height:264px;display:grid;grid-template-columns:repeat(var(--hour-count),42px);grid-gap:2px;gap:2px;align-items:end;background-image:linear-gradient(180deg,rgba(255,247,235,.11) 1px,transparent 0);background-size:100% 55px;background-position:0 1px}.admin-hour-bar-wrap{min-width:0;height:100%;display:grid;grid-template-rows:222px 34px;grid-gap:8px;gap:8px;align-items:end;border:0;padding:0;background:transparent;color:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.admin-hour-bar-track{height:100%;min-height:0;display:flex;align-items:end;justify-content:center;border-radius:0}.admin-hour-bar{width:min(7px,72%);min-height:0;display:block;border-radius:999px 999px 2px 2px;background:linear-gradient(180deg,#f4b03e,#7b58df);box-shadow:0 4px 10px rgba(0,0,0,.2)}.admin-hour-bar-wrap--selected .admin-hour-bar,.admin-hour-bar-wrap:focus-visible .admin-hour-bar,.admin-hour-bar-wrap:hover .admin-hour-bar{filter:brightness(1.14);box-shadow:0 0 0 2px rgba(255,247,235,.18),0 5px 14px rgba(0,0,0,.22)}.admin-hour-bar-wrap:focus-visible{outline:none}.admin-hour-bar-wrap time{overflow:hidden;color:rgba(255,247,235,.58);font:800 .58rem/1.1 var(--font-sans);text-align:center;text-overflow:ellipsis;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.admin-activity-empty{min-height:180px;display:grid;place-items:center;color:rgba(255,247,235,.62);font:900 .86rem/1.2 var(--font-sans);text-align:center}.admin-hour-popover{position:absolute;right:8px;top:8px;z-index:4;width:min(270px,calc(100% - 56px));display:grid;grid-gap:8px;gap:8px;border:1px solid rgba(255,247,235,.16);border-radius:8px;padding:10px;background:rgba(18,13,10,.92);color:#fff7eb;box-shadow:0 18px 44px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-hour-popover>strong{font:950 .9rem/1.1 var(--font-sans)}.admin-hour-popover>span{color:rgba(255,247,235,.68);font:850 .7rem/1 var(--font-sans)}.admin-hour-popover-people{max-height:176px;display:grid;grid-gap:6px;gap:6px;overflow-y:auto;padding-right:2px}.admin-hour-popover-person{min-width:0;display:grid;grid-template-columns:26px minmax(0,1fr);grid-gap:7px;gap:7px;align-items:center}.admin-hour-popover-person i{width:26px;height:26px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,247,235,.78);border-radius:999px;background:var(--activity-user-color,#f4b03e);color:#fff;font-style:normal}.admin-hour-popover-person img{width:100%;height:100%;display:block;padding:1px;object-fit:contain;background:#fff}.admin-hour-popover-person b{font:900 .62rem/1 var(--font-sans)}.admin-hour-popover-person em{min-width:0;overflow:hidden;color:#fff7eb;font:850 .72rem/1 var(--font-sans);font-style:normal;text-overflow:ellipsis;white-space:nowrap}.admin-hour-popover small{color:rgba(255,247,235,.62);font:850 .7rem/1.2 var(--font-sans)}.admin-activity-grid-line line{stroke:rgba(255,247,235,.1);stroke-width:1}.admin-activity-grid-line text,.admin-activity-x-label{fill:rgba(255,247,235,.58);font:850 12px/1 var(--font-sans)}.admin-activity-axis{stroke:rgba(255,247,235,.16);stroke-width:1.5}.admin-activity-series{--series-color:#f4b03e}.admin-activity-series polyline{fill:none;stroke:var(--series-color);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 5px rgba(0,0,0,.22))}.admin-activity-series circle{fill:#171412;stroke:var(--series-color);stroke-width:2.5}.admin-activity-series--rooms{--series-color:#2bd7ff}.admin-activity-series--chess{--series-color:#b8d719}.admin-activity-series--ludo{--series-color:#ff8a2a}.admin-activity-series--hangman{--series-color:#7657ff}.admin-analytics-body{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);grid-gap:14px;gap:14px}.admin-analytics-panel{display:grid;grid-gap:14px;gap:14px;padding:14px}.admin-analytics-empty{min-height:280px;display:grid;place-items:center;color:rgba(255,247,235,.62);font-weight:900}.admin-analytics-muted{margin:0;color:rgba(255,247,235,.58);font-weight:800}.admin-game-bars{display:grid;grid-gap:10px;gap:10px}.admin-game-bar{min-width:0;display:grid;grid-template-columns:84px minmax(0,1fr) 48px;grid-gap:10px;gap:10px;align-items:center}.admin-game-bar span{overflow:hidden;color:#fff7eb;font:900 .78rem/1 var(--font-sans);text-transform:capitalize;text-overflow:ellipsis;white-space:nowrap}.admin-game-bar div{height:12px;overflow:hidden;border-radius:999px;background:rgba(255,247,235,.08);box-shadow:inset 0 0 0 1px rgba(255,247,235,.08)}.admin-game-bar i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,#f4b03e,#7b58df)}.admin-game-bar strong{color:rgba(255,247,235,.78);font:900 .72rem/1 var(--font-sans);text-align:right}.admin-asset-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.admin-asset-stats div{min-height:76px;display:grid;align-content:center;grid-gap:6px;gap:6px;padding:12px;border:1px solid rgba(255,247,235,.1);border-radius:8px;background:rgba(255,247,235,.06)}.admin-asset-stats strong{color:#fff;font:950 1.45rem/1 var(--font-display)}.admin-analytics-recent{margin-bottom:24px}.admin-recent-rooms{display:grid;grid-gap:8px;gap:8px}.admin-recent-rooms a{min-width:0;display:grid;grid-template-columns:120px minmax(0,1fr) auto auto;grid-gap:12px;gap:12px;align-items:center;min-height:44px;padding:9px 10px;border:1px solid rgba(255,247,235,.1);border-radius:8px;background:rgba(255,247,235,.06);color:#fff7eb;text-decoration:none}.admin-recent-rooms a:focus-visible,.admin-recent-rooms a:hover{outline:none;border-color:rgba(159,135,255,.5);background:rgba(159,135,255,.14)}.admin-recent-rooms strong{font:950 .86rem/1 var(--font-sans)}.admin-recent-rooms span{min-width:0;overflow:hidden;color:rgba(255,247,235,.86);font:850 .78rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.admin-recent-rooms em,.admin-recent-rooms time{color:rgba(255,247,235,.58);font:800 .68rem/1 var(--font-sans);font-style:normal;white-space:nowrap}.admin-user-activity-list{display:grid;grid-gap:8px;gap:8px}.admin-user-activity-row{min-width:0;display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;min-height:52px;padding:8px 10px;border:1px solid rgba(255,247,235,.1);border-radius:8px;background:rgba(255,247,235,.06);color:#fff7eb}.admin-user-activity-avatar{width:36px;height:36px;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,247,235,.76);border-radius:999px;background:var(--activity-user-color,#f4b03e);color:#fff;box-shadow:0 5px 12px rgba(0,0,0,.2)}.admin-user-activity-avatar img{width:100%;height:100%;display:block;padding:2px;object-fit:contain;background:#fff}.admin-user-activity-avatar>span{display:grid;place-items:center;width:100%;height:100%;font:900 .76rem/1 var(--font-sans)}.admin-user-activity-row>span:not(.admin-user-activity-avatar){min-width:0;display:grid;grid-gap:4px;gap:4px}.admin-user-activity-row strong{overflow:hidden;font:900 .82rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.admin-user-activity-row small{min-width:0;overflow:hidden;color:rgba(255,247,235,.68);font:800 .65rem/1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.admin-user-activity-row em{color:rgba(255,247,235,.58);font:800 .66rem/1 var(--font-sans);font-style:normal}.admin-user-activity-row b{color:rgba(255,247,235,.86);font:950 .86rem/1 var(--font-sans);white-space:nowrap}.admin-grid{max-width:1420px;margin:0 auto;display:grid;grid-template-columns:330px minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start}.admin-grid--avatars{grid-template-columns:330px minmax(0,1fr)}.admin-upload-panel{display:grid;grid-gap:18px;gap:18px;padding:14px}.admin-upload-panel form{display:grid;grid-gap:12px;gap:12px}.admin-form-field,.admin-upload-panel label{display:grid;grid-gap:6px;gap:6px}.admin-form-field>span,.admin-upload-panel label span{color:rgba(255,247,235,.68);font:850 .72rem/1 var(--font-sans);text-transform:uppercase}.admin-section-heading{min-width:0;display:flex;align-items:center;gap:9px}.admin-section-heading>svg{flex:0 0 auto;width:18px;height:18px;color:#bba9ff}.admin-section-heading h2{font:900 1rem/1.1 var(--font-sans)}.admin-section-heading p{margin:5px 0 0;color:rgba(255,247,235,.6);font:750 .78rem/1.3 var(--font-sans)}.admin-room-list{display:grid;grid-gap:8px;gap:8px}.admin-room-list p{margin:4px 0 0;color:rgba(255,247,235,.56);font-weight:750}.admin-room-list-row{display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-gap:6px;gap:6px;align-items:stretch;border:1px solid rgba(255,247,235,.12);border-radius:8px;background:rgba(255,247,235,.06);color:#fff7eb}.admin-room-list-row.active,.admin-room-list-row:hover{border-color:rgba(159,135,255,.62);background:rgba(159,135,255,.16)}.admin-room-list-row>button{min-width:0;display:grid;grid-template-columns:64px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;border:0;padding:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.admin-room-list-row>a:focus-visible,.admin-room-list-row>button:focus-visible{outline:2px solid rgba(244,207,142,.62);outline-offset:2px}.admin-room-list-row>a{display:grid;place-items:center;border-left:1px solid rgba(255,247,235,.12);color:rgba(255,247,235,.72);text-decoration:none}.admin-room-list-row>a:hover{color:#fff7eb;background:rgba(255,247,235,.08)}.admin-room-list-row>a svg{width:16px;height:16px}.admin-room-list img{width:64px;aspect-ratio:1.25;object-fit:cover;border-radius:6px}.admin-room-list span{min-width:0;display:grid;grid-gap:4px;gap:4px}.admin-room-list em,.admin-room-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-room-list strong{display:inline-flex;align-items:center;gap:7px;font:900 .84rem/1 var(--font-sans)}.admin-room-list em{color:rgba(255,247,235,.54);font:800 .66rem/1 var(--font-sans);font-style:normal;text-transform:uppercase}.admin-editor{min-height:calc(100dvh - 120px);padding:14px}.admin-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}.admin-editor-header>button{flex:0 0 auto}.admin-editor-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;grid-gap:14px;gap:14px;align-items:start}.admin-room-canvas{position:relative;overflow:hidden;border:1px solid rgba(255,247,235,.14);border-radius:8px;background:#0f0d0b;touch-action:none;cursor:crosshair}.admin-room-canvas,.admin-room-canvas img{width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}.admin-room-canvas img{display:block;height:auto;pointer-events:none}.admin-region{position:absolute;z-index:2;display:grid;place-items:center;aspect-ratio:1;border:2px solid rgba(255,255,255,.95);border-radius:2px;background:rgba(111,75,216,.22);color:#fff;font:900 .75rem/1 var(--font-sans);cursor:move;box-shadow:0 0 0 9999px rgba(0,0,0,0),0 8px 24px rgba(0,0,0,.28);touch-action:none}.admin-region:focus-visible,.admin-region:hover{outline:2px solid rgba(255,220,139,.86);outline-offset:3px}.admin-region:after{position:absolute;inset:-5px;content:"";border:1px dashed rgba(255,255,255,.62);border-radius:4px}.admin-region--zoom{z-index:3;border-color:rgba(255,204,92,.96);background:rgba(255,169,46,.2)}.admin-region--zoom:after{border-color:rgba(255,220,139,.78)}.admin-region-resize-handle{position:absolute;right:-8px;bottom:-8px;z-index:4;width:17px;height:17px;border:2px solid rgba(40,24,10,.72);border-radius:999px;background:#ffd66f;box-shadow:0 4px 12px rgba(0,0,0,.28);cursor:nwse-resize}.admin-region-list{display:grid;grid-gap:8px;gap:8px}.admin-empty-state,.admin-region-list p{margin:0;color:rgba(255,247,235,.58);font-weight:800;line-height:1.35}.admin-region-row{display:grid;grid-template-columns:26px minmax(0,1fr) 116px 36px;grid-gap:8px;gap:8px;align-items:center;padding:8px;border:1px solid rgba(255,247,235,.12);border-radius:8px;background:rgba(255,247,235,.06)}.admin-region-row>span{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:rgba(159,135,255,.24);color:#fff;font:900 .75rem/1 var(--font-sans)}.admin-region-list button,.admin-region-upload{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,247,235,.12);border-radius:8px;background:rgba(255,247,235,.08);color:rgba(255,247,235,.7);cursor:pointer}.admin-region-list button:disabled{opacity:.38;cursor:default}.admin-region-list button:hover:not(:disabled),.admin-region-upload:hover{color:#fff2c4;background:rgba(255,182,73,.14)}.admin-region-list button:last-child:hover{color:#ffb4a5;background:rgba(255,92,72,.14)}.admin-region-list svg,.admin-region-upload svg{width:15px;height:15px}.admin-region-upload{position:relative}.admin-region-upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.admin-region-upload--wide{grid-column:1/-1;width:100%;grid-template-columns:auto minmax(0,1fr);gap:6px;padding:0 8px}.admin-region-upload--wide em{min-width:0;overflow:hidden;font:900 .6rem/1 var(--font-sans);font-style:normal;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.admin-region-closeup-cell{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 36px;grid-gap:6px;gap:6px;align-items:center}.admin-region-closeup-thumb{position:relative;width:100%;height:52px;overflow:hidden;border:1px solid rgba(255,247,235,.16);border-radius:7px;padding:0;background:rgba(0,0,0,.22);color:#fff;cursor:pointer}.admin-region-closeup-thumb img{width:100%;height:100%;display:block;object-fit:cover}.admin-region-closeup-thumb span{position:absolute;left:50%;top:50%;width:auto;height:auto;min-width:0;padding:5px 7px;border:1px solid rgba(255,255,255,.5);border-radius:999px;background:rgba(80,38,14,.72);color:#fff7dc;box-shadow:0 8px 18px rgba(0,0,0,.2);font:900 .6rem/1 var(--font-sans);transform:translate(-50%,-50%)}.admin-modal-overlay{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:22px;background:rgba(9,7,6,.68);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.admin-closeup-modal{width:min(1120px,calc(100vw - 44px));max-height:calc(100dvh - 44px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;padding:14px;overflow:hidden}.admin-closeup-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-closeup-modal-header div{min-width:0;display:grid;grid-gap:4px;gap:4px}.admin-closeup-modal-header span{color:rgba(255,247,235,.58);font:900 .68rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.admin-closeup-modal-header h2{margin:0;color:#fff7eb;font:900 1.35rem/1.05 var(--font-display)}.admin-closeup-modal-header p{margin:0;color:rgba(255,247,235,.64);font:750 .8rem/1.35 var(--font-sans)}.admin-closeup-modal-header button{flex:0 0 auto;width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(255,247,235,.14);border-radius:999px;background:rgba(255,247,235,.08);color:rgba(255,247,235,.74);cursor:pointer}.admin-closeup-modal-header svg{width:16px;height:16px}.admin-closeup-modal .admin-room-canvas--closeup{width:-moz-fit-content;width:fit-content;max-width:100%;justify-self:center;overflow:visible;cursor:crosshair}.admin-closeup-modal .admin-room-canvas--closeup img{width:auto;max-width:100%;max-height:calc(100dvh - 210px);height:auto}.admin-closeup-modal-footer{display:flex;justify-content:flex-end;gap:8px}.admin-closeup-modal-footer button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,247,235,.14);border-radius:8px;padding:0 13px;background:rgba(255,247,235,.08);color:#fff7eb;font:900 .78rem/1 var(--font-sans);cursor:pointer}.admin-closeup-modal-footer button:first-child{background:#6f4bd8}.admin-closeup-modal-footer button:disabled{opacity:.5;cursor:default}.admin-closeup-modal-footer svg{width:15px;height:15px}.admin-room-canvas--closeup{cursor:crosshair}.admin-empty-state{min-height:420px;display:grid;place-items:center;border:1px dashed rgba(255,247,235,.18);border-radius:8px}.admin-avatar-editor{min-height:520px}.admin-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.admin-avatar-card{min-width:0;display:grid;grid-gap:9px;gap:9px;padding:10px;border:1px solid rgba(255,247,235,.12);border-radius:8px;background:rgba(255,247,235,.06);color:#fff7eb}.admin-avatar-card img{width:100%;aspect-ratio:1;display:block;object-fit:cover;border-radius:7px;background:rgba(255,247,235,.08)}.admin-avatar-card strong{overflow:hidden;font:900 .82rem/1.15 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.settings-shell{min-height:100dvh;padding:22px;background:radial-gradient(circle at 50% -20%,rgba(130,84,37,.32),transparent 42%),#171412;color:#fff7eb}.settings-topbar{width:min(1100px,100%);margin:0 auto 14px;display:flex;align-items:center;justify-content:space-between;gap:14px}.settings-topbar a{min-height:40px;display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(255,247,235,.14);border-radius:8px;padding:0 12px;background:rgba(255,247,235,.08);color:#fff7eb;font:900 .78rem/1 var(--font-sans);text-decoration:none}.settings-topbar a:focus-visible,.settings-topbar a:hover{outline:none;background:rgba(255,247,235,.14)}.settings-topbar a svg{width:16px;height:16px}.settings-topbar div{min-width:0;text-align:right}.settings-topbar span{color:rgba(255,247,235,.58);font:900 .66rem/1 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.settings-topbar h1{margin:4px 0 0;color:#fff7eb;font:900 clamp(1.6rem,4vw,2.4rem)/1 var(--font-display);letter-spacing:0}.settings-card{width:min(1100px,100%);margin:0 auto;display:grid;grid-gap:16px;gap:16px;border:1px solid rgba(255,247,235,.14);border-radius:8px;padding:16px;background:rgba(37,29,24,.92);box-shadow:0 24px 70px rgba(0,0,0,.28)}.settings-profile{display:grid;grid-template-columns:76px minmax(0,1fr) auto;grid-gap:13px;gap:13px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(255,247,235,.12)}.settings-profile-avatar{width:76px;aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(255,224,166,.34);border-radius:999px;background:rgba(255,247,235,.08)}.settings-profile-avatar img{width:100%;height:100%;padding:3px;object-fit:contain;background:#fff;transform:none}.settings-profile-avatar span{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(135deg,#f4b03e,#6f4bd8);font:950 1.3rem/1 var(--font-sans)}.settings-profile div:not(.settings-profile-avatar){min-width:0}.settings-profile span{color:rgba(255,247,235,.58);font:850 .76rem/1 var(--font-sans)}.settings-profile h2{margin:6px 0 0;overflow:hidden;color:#fff7eb;font:900 1.2rem/1.1 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.settings-profile button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid rgba(255,217,145,.28);border-radius:8px;padding:0 14px;background:#6f4bd8;font:900 .78rem/1 var(--font-sans);cursor:pointer}.settings-profile button:disabled{opacity:.5;cursor:default}.settings-profile button svg{width:16px;height:16px}.settings-name-field{display:grid;grid-gap:7px;gap:7px}.settings-name-field span{color:rgba(255,247,235,.58);font:900 .66rem/1 var(--font-sans);letter-spacing:.1em;text-transform:uppercase}.settings-name-field input{width:min(420px,100%);height:42px;border:1px solid rgba(255,247,235,.14);border-radius:8px;padding:0 11px;background:rgba(255,247,235,.08);color:#fff7eb;outline:none;font:850 .88rem/1 var(--font-sans)}.settings-name-field input:focus{border-color:rgba(255,220,139,.56);box-shadow:0 0 0 3px rgba(255,190,80,.14)}.settings-avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:12px;gap:12px}.settings-avatar-grid button{position:relative;min-width:0;display:grid;grid-gap:9px;gap:9px;padding:10px;border:1px solid rgba(255,247,235,.12);border-radius:8px;background:rgba(255,247,235,.06);color:#fff7eb;cursor:pointer;text-align:left}.settings-avatar-grid button.active,.settings-avatar-grid button:focus-visible,.settings-avatar-grid button:hover{outline:none;border-color:rgba(255,220,139,.64);background:rgba(255,190,80,.14)}.settings-avatar-grid img{width:100%;aspect-ratio:1;display:block;object-fit:cover;border-radius:7px;background:rgba(255,247,235,.08)}.settings-avatar-grid span{overflow:hidden;font:900 .82rem/1.15 var(--font-sans);text-overflow:ellipsis;white-space:nowrap}.settings-avatar-grid svg{position:absolute;right:12px;top:12px;width:22px;height:22px;padding:4px;border-radius:999px;background:rgba(28,18,12,.86);color:#fff2c4}.settings-empty{min-height:280px;display:grid;place-items:center;border:1px dashed rgba(255,247,235,.18);border-radius:8px;color:rgba(255,247,235,.62);font:850 .9rem/1.35 var(--font-sans);text-align:center}.settings-empty h2{margin:0;color:#fff7eb;font:900 1.2rem/1.15 var(--font-sans)}.settings-empty a{color:#fff2c4;font-weight:900}.room-shell{background:linear-gradient(180deg,var(--brand-night),var(--brand-depth))}.room-shell:after{background:linear-gradient(90deg,rgba(8,10,31,.48),transparent 28%,transparent 70%,rgba(8,10,31,.34)),linear-gradient(180deg,rgba(16,24,68,.08),rgba(6,8,24,.34))}.room-image-transition{background:linear-gradient(180deg,rgba(15,16,49,.9),rgba(10,6,27,.96))}.room-shell--empty{background:#f8fbff;--room-panel:rgba(17,19,50,0.82);--room-panel-border:rgba(34,96,132,0.22)}.room-shell--empty .room-background{background-color:#f8fbff;background-image:radial-gradient(circle,rgba(17,19,50,.14) 1px,transparent 1.4px)}.room-toolbar:before{border-color:var(--brand-line);border-radius:10px;background:linear-gradient(180deg,rgba(18,22,61,.78),rgba(13,10,36,.74));box-shadow:0 18px 44px rgba(4,7,26,.32),inset 0 1px rgba(160,236,255,.14);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.room-icon-button,.room-notice,.room-zoom-controls button{border-color:var(--brand-line);background:var(--brand-panel);color:var(--brand-text);box-shadow:0 16px 38px rgba(4,7,26,.32)}.room-code-field{border-color:rgba(184,215,25,.44);background:linear-gradient(180deg,rgba(28,35,82,.94),rgba(16,12,43,.94));color:var(--brand-text);box-shadow:inset 0 1px rgba(160,236,255,.14),0 0 0 1px rgba(184,215,25,.13),0 0 24px rgba(184,215,25,.18),0 16px 36px rgba(4,7,26,.3)}.room-code-field span{color:rgba(184,215,25,.9)}.room-code-field input{color:var(--brand-text)}.room-code-field button{border-left-color:rgba(99,207,255,.16);background:rgba(43,215,255,.08);color:var(--brand-cyan)}.room-code-field button:focus-visible,.room-code-field button:hover{background:rgba(43,215,255,.16);color:#fff}.room-account-loading,.room-auth-button--ghost,.room-avatar-button,.room-chat-button,.room-icon-button,.room-room-button{border-color:var(--brand-line);background:linear-gradient(180deg,rgba(31,38,85,.92),rgba(17,13,48,.92));color:var(--brand-text);box-shadow:inset 0 1px rgba(160,236,255,.12),0 16px 36px rgba(4,7,26,.3)}.room-chat-button svg,.room-room-button svg{color:var(--brand-green)}.room-avatar-button:focus-visible,.room-avatar-button:hover,.room-chat-button:focus-visible,.room-chat-button:hover,.room-room-button:focus-visible,.room-room-button:hover{filter:none;border-color:var(--brand-line-strong);background:linear-gradient(180deg,rgba(42,54,116,.96),rgba(24,17,67,.96));box-shadow:inset 0 1px rgba(160,236,255,.16),0 16px 36px rgba(4,7,26,.34),0 0 20px rgba(43,215,255,.14)}.game-lobby-start,.room-auth-button:not(.room-auth-button--ghost),.room-auth-submit,.room-chat-send,.room-widget-join-table{border-color:rgba(255,177,61,.34);background:linear-gradient(180deg,var(--brand-orange-hot),var(--brand-orange));color:#241127;box-shadow:inset 0 1px rgba(255,255,255,.28),0 16px 34px rgba(255,107,38,.22),0 10px 28px rgba(4,7,26,.24)}.game-lobby-card,.ludo-setup-card,.room-account-menu,.room-auth-dialog,.room-chat-popover,.room-confirm-dialog,.room-game-picker-tray,.room-picker-menu{border-color:var(--brand-line);background:linear-gradient(180deg,rgba(22,27,70,.96),rgba(13,10,36,.97));color:var(--brand-text);box-shadow:0 26px 76px rgba(3,5,20,.46),inset 0 1px rgba(160,236,255,.12)}.room-account-menu-user,.room-chat-heading,.room-picker-menu-heading{border-bottom-color:rgba(99,207,255,.12)}.game-lobby-heading span,.room-account-menu-user em,.room-auth-heading span,.room-chat-heading span,.room-picker-menu-heading span{color:var(--brand-muted)}.game-seat,.game-seat-ai-select,.ludo-setup-row,.room-account-menu a,.room-account-menu button,.room-auth-dialog input,.room-chat-bubble,.room-chat-draft-wrap textarea,.room-chat-tool,.room-picker-menu button{border-color:rgba(99,207,255,.14);background:rgba(255,255,255,.06);color:var(--brand-text)}.room-account-menu a:focus-visible,.room-account-menu a:hover,.room-account-menu button:focus-visible,.room-account-menu button:hover,.room-picker-menu button.active,.room-picker-menu button:focus-visible,.room-picker-menu button:hover{border-color:rgba(184,215,25,.34);background:rgba(184,215,25,.1)}.game-seat-ai-select:focus,.room-auth-dialog input:focus,.room-chat-draft-wrap textarea:focus{border-color:rgba(43,215,255,.58);box-shadow:0 0 0 3px rgba(43,215,255,.14)}.room-chat-message--self .room-chat-bubble{background:rgba(118,87,255,.2);border-color:rgba(118,87,255,.36)}.game-seat em,.room-chat-text,.room-confirm-dialog p,.room-picker-menu p{color:rgba(247,246,255,.78)}.room-chat-text a{color:var(--brand-green)}.room-chat-unread-dot{border-color:var(--brand-panel-solid);background:var(--brand-orange);box-shadow:0 0 0 2px rgba(255,138,42,.18),0 0 16px rgba(255,138,42,.62)}.room-chat-reaction-palette button,.room-chat-reactions>button{border-color:rgba(99,207,255,.14);background:rgba(255,255,255,.06)}.room-chat-reactions>button.active{border-color:rgba(184,215,25,.42);background:rgba(184,215,25,.14)}.room-chat-ambient-compose input,.room-chat-ambient-message{border-color:rgba(99,207,255,.14);background:rgba(13,10,36,.58);color:var(--brand-text)}.room-chat-ambient-message strong{color:rgba(184,215,25,.78)}.room-chat-ambient-compose input:focus{border-color:rgba(43,215,255,.58);box-shadow:0 0 0 2px rgba(43,215,255,.14)}.room-chat-ambient-compose button{border-color:rgba(255,177,61,.34);background:linear-gradient(180deg,var(--brand-orange-hot),var(--brand-orange));color:#241127}.admin-modal-overlay,.room-auth-overlay,.room-confirm-overlay{background:rgba(5,7,23,.68);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.room-auth-close{border-color:rgba(99,207,255,.14);background:rgba(255,255,255,.07);color:var(--brand-muted)}.room-auth-google{border-color:rgba(99,207,255,.18);background:rgba(255,255,255,.06);color:var(--brand-text)}.room-auth-google:focus-visible,.room-auth-google:hover{border-color:rgba(184,215,25,.36);background:rgba(184,215,25,.1)}.room-auth-divider{color:var(--brand-muted)}.room-auth-divider:after,.room-auth-divider:before{background:rgba(99,207,255,.14)}.room-widget{box-shadow:0 28px 70px rgba(4,7,26,.38)}.game-card-header,.room-widget--birdseye .game-card-header,.room-widget-join-table{border-color:rgba(99,207,255,.2);background:linear-gradient(180deg,rgba(26,35,84,.92),rgba(14,10,39,.92));color:var(--brand-text);box-shadow:inset 0 1px rgba(160,236,255,.14),0 8px 18px rgba(4,7,26,.28)}.game-card-birdseye-label,.game-card-turn h3{color:var(--brand-text)}.game-card-button,.game-card-close-button{border-color:rgba(99,207,255,.14);background:rgba(255,255,255,.06);color:var(--brand-muted)}.game-card-button--active,.game-card-button:hover:not(:disabled){background:rgba(43,215,255,.12)}.game-card-button--danger:hover:not(:disabled),.game-card-close-button:focus-visible,.game-card-close-button:hover{border-color:rgba(255,95,90,.34);background:rgba(255,95,90,.12);color:#ffd5d1}.game-lobby{background:rgba(7,9,30,.5)}.game-seat--mine{border-color:rgba(43,215,255,.42);background:rgba(43,215,255,.12)}.game-seat--ai{border-color:rgba(255,138,42,.36);background:rgba(255,138,42,.12)}.ludo-roll-bank{border-color:rgba(99,207,255,.28);background:rgba(17,19,50,.78)}.ludo-roll-chip--selected{background:var(--brand-violet)}.chess-status{border-color:rgba(99,207,255,.18);background:rgba(17,19,50,.82)}.chess-status,.room-game-picker-option strong{color:var(--brand-text)}.room-region-target--clickable:focus-visible,.room-region-target--clickable:hover{border-color:rgba(184,215,25,.82);background:rgba(184,215,25,.14);box-shadow:0 0 0 4px rgba(184,215,25,.1),inset 0 0 0 1px rgba(255,255,255,.22)}.room-region-target--ready{border-color:rgba(184,215,25,.9);background:rgba(184,215,25,.14);box-shadow:0 0 0 4px rgba(184,215,25,.1),inset 0 0 0 1px rgba(255,255,255,.22)}.admin-shell,.settings-shell{background:linear-gradient(180deg,#151a45,#130824);color:var(--brand-text)}.admin-card,.settings-card{border-color:var(--brand-line);background:linear-gradient(180deg,rgba(23,28,73,.94),rgba(15,12,41,.94));box-shadow:0 24px 70px rgba(3,5,20,.34),inset 0 1px rgba(160,236,255,.1)}.admin-card h2,.admin-card--narrow h1,.admin-topbar h1,.settings-empty h2,.settings-topbar h1{color:var(--brand-text)}.admin-analytics-muted,.admin-card--narrow p,.admin-empty-state,.admin-region-list p,.admin-room-list p,.admin-section-heading p,.settings-empty,.settings-profile span{color:var(--brand-muted)}.admin-analytics-card span,.admin-asset-stats span,.admin-closeup-modal-header span,.admin-form-field>span,.admin-topbar span,.admin-upload-panel label span,.settings-name-field span,.settings-topbar span{color:rgba(184,215,25,.78)}.admin-section-heading>svg{color:var(--brand-cyan)}.admin-tabs{border-bottom-color:rgba(99,207,255,.16);gap:6px}.admin-tabs button{min-height:42px;border:solid transparent;border-width:1px 1px 2px;border-radius:8px 8px 0 0;padding:0 13px;color:var(--brand-muted)}.admin-tabs button:focus-visible,.admin-tabs button:hover{outline:none;color:var(--brand-text);background:rgba(255,255,255,.05)}.admin-tabs button.active{border-color:rgba(99,207,255,.18);border-bottom-color:var(--brand-green);background:rgba(184,215,25,.08);color:var(--brand-text)}.admin-card--narrow button,.admin-closeup-modal-footer button:first-child,.admin-editor-header>button,.admin-upload-panel form button,.settings-profile button{border-color:rgba(255,177,61,.34);background:linear-gradient(180deg,var(--brand-orange-hot),var(--brand-orange));color:#241127;box-shadow:inset 0 1px rgba(255,255,255,.26),0 14px 28px rgba(255,107,38,.2)}.admin-analytics-hero button,.admin-closeup-modal-footer button,.admin-topbar button,.settings-topbar a{border-color:var(--brand-line);background:rgba(255,255,255,.06);color:var(--brand-text)}.admin-analytics-hero button:hover,.admin-closeup-modal-footer button:hover,.admin-topbar button:hover,.settings-topbar a:hover{border-color:rgba(184,215,25,.36);background:rgba(184,215,25,.1)}.admin-card--narrow input,.admin-region-list input,.admin-upload-panel input,.admin-upload-panel textarea,.settings-name-field input{border-color:rgba(99,207,255,.16);background:rgba(255,255,255,.06);color:var(--brand-text)}.admin-card--narrow input:focus,.admin-region-list input:focus,.admin-upload-panel input:focus,.admin-upload-panel textarea:focus,.settings-name-field input:focus{border-color:rgba(43,215,255,.58);box-shadow:0 0 0 3px rgba(43,215,255,.14)}.admin-asset-stats div,.admin-avatar-card,.admin-recent-rooms a,.admin-region-row,.admin-room-list-row,.settings-avatar-grid button{border-color:rgba(99,207,255,.14);background:rgba(255,255,255,.055);color:var(--brand-text)}.admin-recent-rooms a:focus-visible,.admin-recent-rooms a:hover,.admin-room-list-row.active,.admin-room-list-row:hover,.settings-avatar-grid button.active,.settings-avatar-grid button:focus-visible,.settings-avatar-grid button:hover{border-color:rgba(184,215,25,.42);background:rgba(184,215,25,.1)}.admin-analytics-card strong,.admin-asset-stats strong{color:var(--brand-text)}.admin-analytics-card em{color:rgba(184,215,25,.78)}.admin-game-bar i{background:linear-gradient(90deg,var(--brand-cyan),var(--brand-green) 52%,var(--brand-orange))}.admin-game-bar div{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(99,207,255,.08)}.admin-region{border-color:rgba(43,215,255,.9);background:rgba(43,215,255,.16);box-shadow:0 0 0 9999px rgba(0,0,0,0),0 8px 24px rgba(3,5,20,.28),0 0 18px rgba(43,215,255,.16)}.admin-region:focus-visible,.admin-region:hover{outline-color:rgba(184,215,25,.86)}.admin-region--zoom{border-color:rgba(255,177,61,.96);background:rgba(255,138,42,.2);color:#fff2c4}.admin-region-list button,.admin-region-upload{border-color:rgba(99,207,255,.14);background:rgba(255,255,255,.06);color:var(--brand-muted)}.admin-region-list button:hover:not(:disabled),.admin-region-upload:hover{color:var(--brand-green);background:rgba(184,215,25,.1)}.admin-region-list button:last-child:hover{color:#ffd5d1;background:rgba(255,95,90,.12)}.room-shell{background:#211209}.room-shell:after{background:linear-gradient(90deg,rgba(32,15,5,.3),transparent 30%,transparent 72%,rgba(32,15,5,.22)),radial-gradient(circle at 55% 48%,transparent 0 36%,rgba(38,20,10,.18) 78%)}.room-image-transition{background:radial-gradient(circle at 50% 46%,rgba(75,42,20,.78),rgba(24,12,6,.94))}.room-shell--empty{background:#fffdf8;--room-panel:rgba(73,39,19,0.9);--room-panel-border:rgba(104,64,31,0.24)}.room-shell--empty .room-background{background-color:#fffdf8;background-image:radial-gradient(circle,rgba(75,42,20,.18) 1px,transparent 1.4px)}.room-toolbar:before{border-color:rgba(226,178,106,.34);background:linear-gradient(180deg,rgba(44,23,11,.62),rgba(31,16,8,.68)),url(/images/wood-texture.png) 50% /cover;box-shadow:0 18px 44px rgba(30,13,5,.28),inset 0 1px rgba(255,234,180,.2),inset 0 -1px rgba(46,20,8,.38);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.room-icon-button,.room-notice,.room-zoom-controls button{border-color:rgba(226,178,106,.3);background:rgba(58,31,15,.9);color:#fff4df;box-shadow:0 14px 30px rgba(31,14,6,.28),inset 0 1px rgba(255,234,180,.14)}.room-account-loading,.room-auth-button--ghost,.room-avatar-button,.room-chat-button,.room-code-field,.room-icon-button,.room-room-button,.room-zoom-controls button{border-color:rgba(226,178,106,.42);background:linear-gradient(180deg,rgba(92,49,24,.86),rgba(48,25,12,.94)),url(/images/wood-texture.png) 50% /cover;color:#fff4df;box-shadow:inset 0 1px rgba(255,234,180,.22),inset 0 -1px rgba(39,15,4,.48),0 14px 30px rgba(31,14,6,.28)}.room-code-field{animation:room-code-glow 4.8s ease-in-out infinite}.room-code-field span{color:rgba(244,207,142,.88)}.room-code-field input{color:#fff6e7}.room-code-field button{border-left-color:rgba(226,178,106,.24);background:rgba(255,231,177,.1);color:#f4cf8e}.room-code-field button:focus-visible,.room-code-field button:hover{background:rgba(255,231,177,.18);color:#fff8ec}.room-chat-button svg,.room-room-button svg{color:#f4cf8e}.room-avatar-button:focus-visible,.room-avatar-button:hover,.room-chat-button:focus-visible,.room-chat-button:hover,.room-room-button:focus-visible,.room-room-button:hover{border-color:rgba(244,207,142,.6);background:linear-gradient(180deg,rgba(110,60,30,.9),rgba(55,28,13,.96)),url(/images/wood-texture.png) 50% /cover;box-shadow:inset 0 1px rgba(255,234,180,.24),0 16px 34px rgba(31,14,6,.34),0 0 0 2px rgba(244,207,142,.08)}@keyframes room-code-glow{0%,to{box-shadow:inset 0 1px rgba(255,234,180,.18),inset 0 -1px rgba(39,15,4,.42),0 0 0 1px rgba(226,178,106,.12),0 0 14px rgba(213,147,72,.14),0 14px 30px rgba(31,14,6,.28)}50%{box-shadow:inset 0 1px rgba(255,234,180,.24),inset 0 -1px rgba(39,15,4,.46),0 0 0 1px rgba(244,207,142,.22),0 0 24px rgba(229,168,86,.24),0 14px 30px rgba(31,14,6,.28)}}.game-lobby-start,.room-auth-button:not(.room-auth-button--ghost),.room-auth-submit,.room-chat-send,.room-widget-join-table{border-color:rgba(255,226,170,.46);background:linear-gradient(180deg,#f2c06e,#bd7130);color:#2b170c;box-shadow:inset 0 1px rgba(255,255,255,.32),0 12px 24px rgba(90,44,14,.24)}.game-lobby-start:hover,.room-auth-button:not(.room-auth-button--ghost):hover,.room-auth-submit:hover,.room-chat-send:hover,.room-widget-join-table:hover{filter:brightness(1.06)}.room-leave-table-button{border-color:rgba(255,202,176,.48);background:linear-gradient(180deg,rgba(188,61,47,.96),rgba(112,34,28,.98)),url(/images/wood-texture.png) 50% /cover;color:#fff7ef;box-shadow:inset 0 1px rgba(255,232,212,.24),inset 0 -1px rgba(72,16,10,.48),0 16px 34px rgba(55,15,9,.36)}.game-lobby-card,.ludo-setup-card,.room-account-menu,.room-auth-dialog,.room-chat-popover,.room-confirm-dialog,.room-game-picker-tray,.room-picker-menu{border-color:rgba(226,178,106,.32);background:linear-gradient(180deg,rgba(62,33,16,.96),rgba(31,16,8,.97)),url(/images/wood-texture.png) 50% /cover;color:#fff4df;box-shadow:0 26px 76px rgba(31,14,6,.42),inset 0 1px rgba(255,234,180,.16)}.room-account-menu-user,.room-chat-heading,.room-picker-menu-heading{border-bottom-color:rgba(226,178,106,.18)}.game-lobby-heading span,.room-account-menu-user em,.room-auth-heading span,.room-chat-heading span,.room-picker-menu-heading span{color:rgba(232,199,150,.72)}.game-seat,.game-seat-ai-select,.ludo-setup-row,.room-account-menu a,.room-account-menu button,.room-auth-dialog input,.room-chat-bubble,.room-chat-draft-wrap textarea,.room-chat-tool,.room-picker-menu button{border-color:rgba(226,178,106,.18);background:rgba(255,244,223,.08);color:#fff4df}.room-account-menu a:focus-visible,.room-account-menu a:hover,.room-account-menu button:focus-visible,.room-account-menu button:hover,.room-picker-menu button.active,.room-picker-menu button:focus-visible,.room-picker-menu button:hover{border-color:rgba(244,207,142,.48);background:rgba(255,228,169,.14)}.game-seat-ai-select:focus,.room-auth-dialog input:focus,.room-chat-draft-wrap textarea:focus{border-color:rgba(244,207,142,.68);box-shadow:0 0 0 3px rgba(213,147,72,.18)}.room-chat-message--self .room-chat-bubble{background:rgba(178,112,52,.24);border-color:rgba(226,178,106,.32)}.game-seat em,.room-chat-text,.room-confirm-dialog p,.room-picker-menu p{color:rgba(255,244,223,.78)}.room-chat-text a{color:#f4cf8e}.room-chat-unread-dot{border-color:#3a1f0f;background:#d88b35;box-shadow:0 0 0 2px rgba(216,139,53,.2),0 0 16px rgba(216,139,53,.62)}.room-chat-reaction-palette button,.room-chat-reactions>button{border-color:rgba(226,178,106,.18);background:rgba(255,244,223,.08)}.room-chat-reactions>button.active{border-color:rgba(244,207,142,.48);background:rgba(255,228,169,.16)}.room-chat-ambient-compose input,.room-chat-ambient-message{border-color:rgba(226,178,106,.18);background:rgba(43,22,11,.58);color:#fff4df}.room-chat-ambient-message strong{color:rgba(232,199,150,.72)}.room-chat-ambient-compose input:focus{border-color:rgba(244,207,142,.68);box-shadow:0 0 0 2px rgba(213,147,72,.18)}.room-chat-ambient-compose button{border-color:rgba(255,226,170,.46);background:linear-gradient(180deg,#f2c06e,#bd7130);color:#2b170c}.room-account-menu{width:min(282px,calc(100vw - 20px));max-height:calc(100dvh - 92px)}.room-account-menu:before{position:absolute;right:15px;top:-7px;width:12px;height:12px;content:"";border-left:1px solid rgba(226,178,106,.32);border-top:1px solid rgba(226,178,106,.32);background:#3d210f;transform:rotate(45deg)}.room-account-avatar-tray{max-height:min(330px,calc(100dvh - 228px));display:grid;grid-gap:5px;gap:5px;overflow-x:hidden;overflow-y:auto;padding-right:2px;scrollbar-color:rgba(226,178,106,.5) rgba(43,22,11,.48)}.room-account-avatar-tray p,.room-account-error{grid-column:1/-1;margin:0;color:rgba(255,244,223,.68);font:800 .68rem/1.25 var(--font-sans)}.room-account-error{color:#ffd0c8}.room-account-menu .room-account-avatar-tray button{min-width:0;min-height:42px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;border:1px solid rgba(226,178,106,.14);border-radius:8px;padding:4px 7px;background:rgba(255,244,223,.06);color:rgba(255,244,223,.8);text-align:left}.room-account-menu .room-account-avatar-tray button.active,.room-account-menu .room-account-avatar-tray button:focus-visible,.room-account-menu .room-account-avatar-tray button:hover{border-color:rgba(244,207,142,.54);background:rgba(255,228,169,.14);color:#fff4df}.room-account-menu .room-account-avatar-tray button:disabled{cursor:default;opacity:.62}.room-account-avatar-image{position:relative;width:30px;aspect-ratio:1;overflow:hidden;border:2px solid rgba(255,244,223,.7);border-radius:999px;background:#fff;box-shadow:0 4px 9px rgba(20,9,4,.22)}.room-account-avatar-image img{width:100%;height:100%;display:block;padding:3px;object-fit:contain;background:#fff;transform:none}.room-account-avatar-name{min-width:0;max-width:100%;overflow:hidden;font:850 .68rem/1.12 var(--font-sans);overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.room-account-menu .room-account-logout{min-height:34px;justify-content:center;border-top:1px solid rgba(226,178,106,.14)}.room-avatar-button:has(>img),.room-avatar-button:has(>img):focus-visible,.room-avatar-button:has(>img):hover{background:#fff}.room-auth-overlay,.room-confirm-overlay{background:rgba(32,17,8,.62);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.room-auth-close{border-color:rgba(226,178,106,.2);background:rgba(255,244,223,.08);color:rgba(255,244,223,.74)}.room-auth-google{border-color:rgba(226,178,106,.24);background:rgba(255,244,223,.08);color:#fff4df}.room-auth-google:focus-visible,.room-auth-google:hover{border-color:rgba(244,207,142,.48);background:rgba(255,228,169,.14)}.room-auth-divider{color:rgba(232,199,150,.72)}.room-auth-divider:after,.room-auth-divider:before{background:rgba(226,178,106,.18)}.game-card-header,.room-widget--birdseye .game-card-header,.room-widget-join-table{border-color:rgba(226,178,106,.34);background:linear-gradient(180deg,rgba(92,49,24,.88),rgba(45,22,10,.94)),url(/images/wood-texture.png) 50% /cover;color:#fff4df;box-shadow:inset 0 1px rgba(255,234,180,.2),0 8px 18px rgba(31,14,6,.26)}.game-card-birdseye-label,.game-card-turn h3{color:#fff4df}.game-card-button,.game-card-close-button{border-color:rgba(226,178,106,.18);background:rgba(255,244,223,.08);color:rgba(255,244,223,.72)}.game-card-button--active,.game-card-button:hover:not(:disabled){background:rgba(255,228,169,.16);color:#fff}.game-card-button--danger:hover:not(:disabled),.game-card-close-button:focus-visible,.game-card-close-button:hover{border-color:rgba(183,68,50,.42);background:rgba(183,68,50,.16);color:#ffd8cc}.game-lobby{background:rgba(40,22,12,.48)}.game-seat--mine{border-color:rgba(244,207,142,.48);background:rgba(255,228,169,.14)}.game-seat--ai{border-color:rgba(190,139,74,.4);background:rgba(190,139,74,.14)}.ludo-roll-bank{border-color:rgba(226,178,106,.32);background:rgba(58,31,15,.82)}.ludo-roll-chip--selected{background:#8a5a2e}.chess-status{border-color:rgba(226,178,106,.24);background:rgba(58,31,15,.84);color:#fff4df}.room-game-picker-option{border-bottom-color:rgba(226,178,106,.18)}.room-game-picker-option strong{color:#fff4df}.room-region-target--clickable:focus-visible,.room-region-target--clickable:hover{border-color:rgba(244,207,142,.9);background:rgba(255,228,169,.14);box-shadow:0 0 0 4px rgba(244,207,142,.12),inset 0 0 0 1px rgba(255,255,255,.24)}.room-region-target--ready{border-color:rgba(244,207,142,.9);background:rgba(255,228,169,.14);box-shadow:0 0 0 4px rgba(244,207,142,.12),inset 0 0 0 1px rgba(255,255,255,.24)}.admin-shell{background:#f7f8f5;color:#1f2a24;font-family:var(--font-sans)}.admin-shell code{background:#eef2ea;color:#30513c}.admin-card,.admin-card--narrow{border:1px solid #d4ddd0;border-radius:.285714rem;background:#fff;color:#1f2a24;box-shadow:0 1px 2px rgba(34,36,38,.08)}.admin-card h2,.admin-card--narrow h1,.admin-topbar h1{color:#1f2a24;font-weight:700}.admin-analytics-muted,.admin-card--narrow p,.admin-empty-state,.admin-region-list p,.admin-room-list p,.admin-section-heading p{color:#66756b}.admin-analytics-card span,.admin-asset-stats span,.admin-closeup-modal-header span,.admin-form-field>span,.admin-topbar span,.admin-upload-panel label span{color:#5f6f63;letter-spacing:.04em}.admin-section-heading>svg{color:#2f7d46}.admin-card--narrow input,.admin-region-list input,.admin-upload-panel input,.admin-upload-panel textarea{border:1px solid rgba(34,36,38,.15);border-radius:.285714rem;background:#fff;color:#1f2a24}.admin-card--narrow input:focus,.admin-region-list input:focus,.admin-upload-panel input:focus,.admin-upload-panel textarea:focus{border-color:#85b7d9;box-shadow:0 0 0 2px rgba(33,133,208,.12)}.admin-card--narrow button,.admin-closeup-modal-footer button:first-child,.admin-editor-header>button,.admin-upload-panel form button{border:1px solid #2f7d46;border-radius:.285714rem;background:#2f7d46;color:#fff;box-shadow:none;font-weight:700}.admin-analytics-actions button,.admin-analytics-hero button,.admin-closeup-modal-footer button,.admin-topbar button{border:1px solid rgba(34,36,38,.15);border-radius:.285714rem;background:#fff;color:#1f2a24;box-shadow:0 1px 2px rgba(34,36,38,.06)}.admin-analytics-actions button:hover,.admin-analytics-hero button:hover,.admin-closeup-modal-footer button:hover,.admin-topbar button:hover{border-color:#b7c7b3;background:#f4f7f1;color:#214f31}.admin-tabs{gap:0;border-bottom:1px solid #d4ddd0}.admin-tabs button{min-height:38px;border:1px solid transparent;border-radius:.285714rem .285714rem 0 0;padding:0 14px;color:#53635a;font-weight:700}.admin-tabs button:focus-visible,.admin-tabs button:hover{background:#f4f7f1;color:#1f2a24}.admin-tabs button.active{border-color:#d4ddd0 #d4ddd0 #fff;background:#fff;color:#2f7d46}.admin-range-toggle{border-color:#d4ddd0;background:#f7f8f5}.admin-range-toggle button{color:#53635a}.admin-range-toggle button:focus-visible,.admin-range-toggle button:hover{color:#1f2a24;background:#eef3eb}.admin-range-toggle button.active{background:#e3dcff;color:#36236f;box-shadow:inset 0 0 0 1px #c9b9ff}.admin-asset-stats div,.admin-avatar-card,.admin-recent-rooms a,.admin-region-row,.admin-room-list-row,.admin-status,.admin-toast,.admin-user-activity-row{border-color:#dce4d8;background:#fff;color:#1f2a24}.admin-recent-rooms a:focus-visible,.admin-recent-rooms a:hover,.admin-room-list-row.active,.admin-room-list-row:hover{border-color:#a7c4a1;background:#f4f8f2}.admin-room-list-row>a{border-left-color:#dce4d8;color:#53635a}.admin-room-list-row>a:hover{color:#214f31;background:#edf4ea}.admin-analytics-card strong,.admin-asset-stats strong,.admin-avatar-card strong,.admin-game-bar span,.admin-recent-rooms strong{color:#1f2a24}.admin-analytics-card em,.admin-game-bar strong,.admin-recent-rooms em,.admin-recent-rooms span,.admin-recent-rooms time{color:#66756b}.admin-activity-legend,.admin-activity-legend strong{color:#1f2a24}.admin-activity-legend span{border-color:#dce4d8;background:#f7f8f5;color:#53635a}.admin-activity-legend--rooms{--activity-color:#2185d0}.admin-activity-legend--chess{--activity-color:#db2828}.admin-activity-legend--ludo{--activity-color:#f2711c}.admin-activity-legend--hangman{--activity-color:#6435c9}.admin-activity-chart{border-color:#dce4d8;background:#fbfcfa}.admin-activity-y-axis{color:#53635a}.admin-hour-bars{background-image:linear-gradient(180deg,#e1e8dd 1px,transparent 0)}.admin-hour-bar-track{background:transparent;box-shadow:none}.admin-hour-bar{background:linear-gradient(180deg,#2185d0,#2f7d46);box-shadow:none}.admin-hour-bar-wrap--selected .admin-hour-bar,.admin-hour-bar-wrap:focus-visible .admin-hour-bar,.admin-hour-bar-wrap:hover .admin-hour-bar{box-shadow:0 0 0 2px rgba(47,125,70,.14)}.admin-activity-empty,.admin-hour-bar-wrap time,.admin-user-activity-row em{color:#66756b}.admin-hour-popover{border-color:#d4ddd0;background:rgba(255,255,255,.96);color:#1f2a24;box-shadow:0 18px 44px rgba(34,36,38,.16)}.admin-hour-popover small,.admin-hour-popover>span,.admin-user-activity-row small{color:#66756b}.admin-hour-popover-person em,.admin-user-activity-row b,.admin-user-activity-row strong{color:#1f2a24}.admin-activity-grid-line line{stroke:#e1e8dd}.admin-activity-grid-line text,.admin-activity-x-label{fill:#66756b}.admin-activity-axis{stroke:#cfd9ca}.admin-activity-series polyline{filter:none}.admin-activity-series circle{fill:#fff}.admin-activity-series--rooms{--series-color:#2185d0}.admin-activity-series--chess{--series-color:#db2828}.admin-activity-series--ludo{--series-color:#f2711c}.admin-activity-series--hangman{--series-color:#6435c9}.admin-game-bar i{background:#2f7d46}.admin-game-bar div{background:#e7eee4;box-shadow:inset 0 0 0 1px #dce4d8}.admin-room-canvas{border-color:#d4ddd0;background:#f0f2ed}.admin-region{border-color:#2f7d46;background:rgba(47,125,70,.18);color:#1f2a24;box-shadow:0 0 0 9999px rgba(0,0,0,0),0 3px 12px rgba(34,36,38,.16)}.admin-region:focus-visible,.admin-region:hover{outline-color:#88b67f}.admin-region:after{border-color:rgba(47,125,70,.46)}.admin-region--zoom{border-color:#bd8a4a;background:rgba(189,138,74,.18);color:#3f2917}.admin-region--zoom:after{border-color:rgba(189,138,74,.58)}.admin-region-list button,.admin-region-upload{border-color:rgba(34,36,38,.15);background:#fff;color:#53635a}.admin-region-list button:hover:not(:disabled),.admin-region-upload:hover{color:#2f7d46;background:#f4f8f2}.admin-region-list button:last-child:hover{color:#b74432;background:#fff4f2}.admin-region-row>span{background:#e8f1e4;color:#2f7d46}.admin-region-closeup-thumb{border-color:#d4ddd0;background:#eef2ea}.admin-region-closeup-thumb span{border-color:#d4ddd0;background:rgba(255,255,255,.9);color:#1f2a24}.admin-modal-overlay{background:rgba(31,42,36,.48);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.admin-closeup-modal-header h2{color:#1f2a24}.admin-closeup-modal-header p{color:#66756b}.admin-closeup-modal-header button{border-color:#d4ddd0;background:#fff;color:#53635a}.admin-empty-state{border-color:#d4ddd0}.settings-shell{background:#f7f8f5;color:#1f2a24}.settings-card{border:1px solid #d4ddd0;border-radius:.285714rem;background:#fff;color:#1f2a24;box-shadow:0 1px 2px rgba(34,36,38,.08)}.settings-empty h2,.settings-profile h2,.settings-topbar h1{color:#1f2a24}.settings-empty,.settings-name-field span,.settings-profile span,.settings-topbar span{color:#66756b}.settings-topbar a{border:1px solid rgba(34,36,38,.15);border-radius:.285714rem;background:#fff;color:#1f2a24;box-shadow:0 1px 2px rgba(34,36,38,.06)}.settings-topbar a:focus-visible,.settings-topbar a:hover{background:#f4f7f1;color:#214f31}.settings-profile{border-bottom-color:#dce4d8}.settings-profile-avatar{border-color:#b7c7b3;background:#eef2ea}.settings-profile button,.settings-profile-avatar span{background:#2f7d46;color:#fff}.settings-profile button{border:1px solid #2f7d46;border-radius:.285714rem;box-shadow:none}.settings-name-field input{border:1px solid rgba(34,36,38,.15);border-radius:.285714rem;background:#fff;color:#1f2a24}.settings-name-field input:focus{border-color:#85b7d9;box-shadow:0 0 0 2px rgba(33,133,208,.12)}.settings-avatar-grid button{border-color:#dce4d8;background:#fff;color:#1f2a24}.settings-avatar-grid button.active,.settings-avatar-grid button:focus-visible,.settings-avatar-grid button:hover{border-color:#a7c4a1;background:#f4f8f2}.settings-avatar-grid svg{background:#2f7d46;color:#fff}.settings-empty{border-color:#d4ddd0}.settings-empty a{color:#2f7d46}@media (max-width:760px){.room-toolbar{top:max(10px,env(safe-area-inset-top));gap:6px;padding:6px}.room-zoom-controls{left:max(10px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom));gap:7px}.room-shell--joined-table .room-zoom-controls{bottom:max(104px,calc(env(safe-area-inset-bottom) + 98px))}.room-zoom-controls button{width:42px;height:42px;border-radius:9px}.room-zoom-controls svg{width:24px;height:24px}.room-picker{display:none}.room-code-field{width:44px;min-width:44px;height:44px;grid-template-columns:1fr}.room-code-field .room-copy-icon,.room-code-field input,.room-code-field span{display:none}.room-code-field .room-share-icon{display:block}.room-code-field button{width:42px;height:42px;border-left:0;background:transparent}.room-account-loading,.room-avatar-button,.room-chat-button,.room-leave-table-button{width:44px;height:44px}.room-auth-actions{gap:6px}.room-auth-button{min-height:44px;padding:0 13px;font-size:.78rem}.room-widget--joined{min-width:min(88vw,340px)}.room-widget--joined .game-card-header{min-height:40px;grid-template-columns:minmax(92px,1fr) auto;gap:4px;padding:5px 6px 5px 9px}.room-widget--joined .game-card-turn{gap:5px}.room-widget--joined .game-card-turn h3{font-size:.78rem}.room-widget--joined .table-viewer-avatars{display:none}.room-widget--joined .game-card-actions{gap:3px}.room-widget--joined .game-card-button{width:28px;height:28px}.room-widget--joined .game-card-button svg{width:14px;height:14px}.room-widget--joined .game-lobby{padding:10px}.room-widget--joined .game-lobby-card{width:min(250px,calc(100% - 12px));gap:9px;padding:11px}.room-widget--joined .game-lobby-heading span{font-size:.62rem;letter-spacing:.1em}.room-widget--joined .game-lobby-heading strong{font-size:1rem}.room-widget--joined .game-seat-grid{gap:6px}.room-widget--joined .game-seat{min-height:42px;column-gap:5px;padding:6px}.room-widget--joined .game-seat-color{width:12px;height:12px}.room-widget--joined .game-seat strong{font-size:.7rem}.room-widget--joined .game-seat em{font-size:.58rem}}@media (max-width:980px){.admin-editor-body,.admin-grid{grid-template-columns:1fr}.admin-analytics-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-analytics-body{grid-template-columns:1fr}.admin-recent-rooms a{grid-template-columns:100px minmax(0,1fr)}.admin-recent-rooms em,.admin-recent-rooms time{grid-column:2}.admin-editor{min-height:0}}@media (max-width:620px){.admin-shell{padding:14px}.admin-editor-header,.admin-topbar{display:grid}.admin-editor-header>button,.admin-topbar button{width:100%}.admin-analytics-hero{display:grid}.admin-analytics-hero button{width:100%}.admin-analytics-cards,.admin-asset-stats,.admin-recent-rooms a{grid-template-columns:1fr}.admin-recent-rooms a{gap:5px}.admin-recent-rooms em,.admin-recent-rooms time{grid-column:auto}.settings-shell{padding:14px}.settings-profile,.settings-topbar{grid-template-columns:1fr;display:grid;text-align:left}.settings-topbar div{text-align:left}.settings-profile button{width:100%}}