@tailwind base;@tailwind components;@tailwind utilities;@layer base{[class*=border]{border-style:solid}[class~=box-border]{box-sizing:border-box}}:root{--sh-background:0 0% 2%;--sh-foreground:40 20% 90%;--sh-card:240 24% 9%;--sh-card-foreground:40 20% 90%;--sh-popover:240 24% 9%;--sh-popover-foreground:40 20% 90%;--sh-primary:45 54% 54%;--sh-primary-foreground:0 0% 4%;--sh-secondary:240 14% 16%;--sh-secondary-foreground:40 20% 90%;--sh-muted:240 12% 14%;--sh-muted-foreground:240 8% 62%;--sh-accent:271 76% 53%;--sh-accent-foreground:40 20% 96%;--sh-destructive:0 62% 50%;--sh-destructive-foreground:40 20% 96%;--sh-border:240 10% 18%;--sh-input:240 10% 20%;--sh-ring:45 54% 54%;--sh-radius:0.6rem}.room-hub,.rooms-page{box-sizing:border-box;color:var(--text);margin:0 auto;max-width:1280px;padding:clamp(24px,4vw,52px);width:100%}.rooms-hero{align-items:flex-end;display:flex;gap:24px;justify-content:space-between;margin-bottom:30px}.rooms-kicker{color:var(--gold);display:block;font:700 9px/1 Cinzel,serif;letter-spacing:.22em;margin-bottom:10px;text-transform:uppercase}.room-hub__hero h1,.rooms-hero h1{color:var(--text);font:600 clamp(34px,5vw,58px)/1 Cinzel Decorative,serif;letter-spacing:-.035em;margin:0}.room-hub__hero p,.rooms-hero p{color:var(--muted2);font:18px/1.45 Crimson Pro,serif;margin:12px 0 0;max-width:650px}.rooms-create{min-width:150px;padding:12px 20px}.rooms-summary{background:hsla(0,0%,100%,.018);border:1px solid var(--border);border-radius:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:34px}.rooms-summary>div{align-items:baseline;border-right:1px solid var(--border);display:flex;gap:10px;padding:17px 22px}.rooms-summary>div:last-child{border:0}.rooms-summary strong{color:var(--gold);font:600 24px/1 Cinzel,serif}.rooms-summary span{color:var(--muted);font:10px Cinzel,serif;letter-spacing:.1em;text-transform:uppercase}.rooms-section-title{border-bottom:1px solid var(--border);color:var(--muted2);display:flex;font:700 10px Cinzel,serif;justify-content:space-between;letter-spacing:.16em;margin-bottom:16px;padding-bottom:10px;text-transform:uppercase}.rooms-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.room-card{background:var(--card);border:1px solid var(--border);border-radius:10px;color:inherit;cursor:pointer;overflow:hidden;padding:0;text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.room-card:hover{border-color:#c9a84c6b;box-shadow:0 16px 38px #0000003d;transform:translateY(-3px)}.room-card__cover{align-items:center;background:linear-gradient(145deg,#61247a40,#0c0c12f2);background-position:50%;background-size:cover;display:flex;height:128px;justify-content:center;position:relative}.room-card__sigil{border:1px solid #c9a84c40;border-radius:50%;color:#c9a84c59;display:grid;font:700 40px Cinzel Decorative,serif;height:68px;place-items:center;width:68px}.room-status{backdrop-filter:blur(8px);background:#08080cb8;border:1px solid #ffffff24;border-radius:99px;color:#d8d4c8;font:700 8px Cinzel,serif;left:14px;letter-spacing:.1em;padding:5px 9px;position:absolute;text-transform:uppercase;top:14px}.room-status--live{border-color:#47c58966;color:#78dfad}.room-card__body{padding:18px}.room-card__system{color:var(--gold);display:block;font:700 8px Cinzel,serif;letter-spacing:.16em;margin-bottom:7px;text-transform:uppercase}.room-card__body strong{display:block;font:600 17px Cinzel,serif}.room-card__body p{color:var(--muted2);font:15px/1.4 Crimson Pro,serif;margin:8px 0 18px;min-height:42px}.room-card__meta{border-top:1px solid var(--border);color:var(--muted);display:flex;font:9px Cinzel,serif;justify-content:space-between;letter-spacing:.06em;padding-top:12px;text-transform:uppercase}.rooms-empty{align-items:center;background:linear-gradient(100deg,rgba(201,168,76,.045),#0000);border:1px solid var(--border);border-radius:12px;display:flex;gap:26px;min-height:270px;padding:34px}.rooms-empty__mark{border:1px solid #c9a84c4d;border-radius:50%;color:var(--gold);display:grid;flex:0 0 auto;font-size:24px;height:72px;place-items:center;width:72px}.rooms-empty h2{font:600 20px Cinzel,serif;margin:0}.rooms-empty p{color:var(--muted2);font:16px/1.45 Crimson Pro,serif;max-width:550px}.rooms-loading{align-items:center;color:var(--muted);display:flex;font:10px Cinzel,serif;gap:12px;justify-content:center;letter-spacing:.1em;min-height:260px;text-transform:uppercase}.rooms-loading span{animation:spin .8s linear infinite;border:2px solid #c9a84c33;border-radius:50%;border-top:2px solid var(--gold);height:20px;width:20px}.room-form-error,.rooms-alert{background:#78141426;border:1px solid #e0707059;border-radius:7px;color:#e59696;font-size:13px;margin-bottom:16px;padding:11px 14px}.room-modal{backdrop-filter:blur(6px);background:#030306d1;display:grid;inset:0;padding:20px;place-items:center;position:fixed;z-index:10000}.room-wizard{background:var(--surface);border:1px solid var(--border2);border-radius:12px;box-shadow:0 30px 90px #000000a6;max-height:calc(100vh - 40px);overflow:auto;width:min(660px,100%)}.room-wizard__top{align-items:flex-start;display:flex;justify-content:space-between;padding:24px 28px 18px}.room-wizard__top span{color:var(--gold);font:700 8px Cinzel,serif;letter-spacing:.2em;text-transform:uppercase}.room-wizard__top h2{font:600 21px Cinzel,serif;margin:5px 0 0}.room-close{background:#0000;border:0;color:var(--muted);cursor:pointer;font-size:27px}.room-steps{border-bottom:1px solid var(--border);display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0 28px 18px}.room-steps li{align-items:center;color:var(--muted);display:flex;font:9px Cinzel,serif;gap:8px;letter-spacing:.08em;text-transform:uppercase}.room-steps i{border:1px solid var(--border2);border-radius:50%;display:grid;font-style:normal;height:23px;place-items:center;width:23px}.room-steps .is-active{color:var(--text)}.room-steps .is-active i,.room-steps .is-done i{background:#c9a84c14;border-color:var(--gold);color:var(--gold)}.room-wizard__content{min-height:260px;padding:26px 28px}.room-form-step{display:flex;flex-direction:column;gap:18px}.room-field-title,.room-form-step label{color:var(--muted2);font:700 9px Cinzel,serif;letter-spacing:.12em;margin:0;text-transform:uppercase}.room-form-step label>span{color:var(--muted);font-size:8px;margin-left:5px}.room-form-step input:not([type=checkbox]),.room-form-step textarea{background:var(--card2);border:1px solid var(--border2);border-radius:6px;box-sizing:border-box;color:var(--text);display:block;font:15px Crimson Pro,serif;margin-top:7px;outline:none;padding:12px 13px;width:100%}.room-form-step input:focus,.room-form-step textarea:focus{border-color:#c9a84c8c}.room-system-grid{display:grid;gap:10px;grid-template-columns:1fr 1fr}.room-system-grid button{align-items:center;background:var(--card2);border:1px solid var(--border);border-radius:8px;color:var(--text);cursor:pointer;display:flex;gap:11px;padding:12px;position:relative;text-align:left}.room-system-grid button:disabled{cursor:not-allowed;opacity:.42}.room-system-grid button.is-selected{background:#c9a84c0f;border-color:var(--gold)}.room-system-icon{background:#0b0b10;border-radius:7px;display:grid;height:42px;overflow:hidden;place-items:center;width:42px}.room-system-icon img{height:100%;object-fit:contain;width:100%}.room-system-grid small,.room-system-grid strong{display:block}.room-system-grid strong{font:600 11px Cinzel,serif}.room-system-grid small{color:var(--muted);font:12px Crimson Pro,serif;margin-top:3px}.room-system-grid b{color:var(--gold);margin-left:auto}.room-cover-picker{align-items:center;background:rgba(201,168,76,.025);background-position:50%;background-size:cover;border:1px dashed var(--border2);border-radius:8px;color:var(--text);cursor:pointer;display:flex;flex-direction:column;height:112px;justify-content:center}.room-cover-picker span{font:600 11px Cinzel,serif}.room-cover-picker small{color:var(--muted);margin-top:5px}.room-config-row{align-items:flex-end;display:flex;gap:8px}.room-config-row label{flex:1}.room-config-row input{max-width:160px}.room-config-row>span{color:var(--muted);font-size:12px;padding-bottom:12px}.room-toggle{align-items:center;column-gap:10px;cursor:pointer;display:grid!important;grid-template-columns:auto 1fr}.room-toggle input{display:none}.room-toggle>span{background:#ffffff14;border-radius:99px;grid-row:1/3;height:20px;position:relative;width:36px}.room-toggle>span:after{background:var(--muted);border-radius:50%;content:"";height:14px;left:3px;position:absolute;top:3px;transition:.18s;width:14px}.room-toggle input:checked+span{background:#c9a84c40}.room-toggle input:checked+span:after{background:var(--gold);transform:translateX(16px)}.room-toggle div{grid-column:2}.room-toggle small,.room-toggle strong{display:block}.room-toggle small{color:var(--muted);font:13px Crimson Pro,serif;letter-spacing:0;margin-top:3px;text-transform:none}.room-wizard__footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:17px 28px}.room-wizard__footer button{min-width:110px;padding:10px 18px}.room-back{background:none;border:0;color:var(--muted2);cursor:pointer;font:10px Cinzel,serif;letter-spacing:.08em;margin-bottom:16px}.room-hub__hero{align-items:flex-end;background:linear-gradient(120deg,#c9a84c0f,#581c6e1a);background-position:50%;background-size:cover;border:1px solid var(--border);border-radius:12px;box-sizing:border-box;display:flex;justify-content:space-between;min-height:260px;padding:38px}.room-hub__hero h1{font-size:clamp(30px,4vw,48px)}.room-hub__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:20px}.room-hub__chips span{background:#08080c8c;border:1px solid var(--border2);border-radius:99px;color:var(--muted2);font:8px Cinzel,serif;letter-spacing:.08em;padding:6px 9px;text-transform:uppercase}.room-enter{padding:13px 22px;white-space:nowrap}.room-hub__grid{display:grid;gap:16px;grid-template-columns:1.5fr 1fr;margin-top:16px}.room-panel{background:var(--card);border:1px solid var(--border);border-radius:9px;min-height:170px;padding:18px}.room-panel--wide{grid-row:span 2;min-height:356px}.room-panel__title{align-items:center;border-bottom:1px solid var(--border);color:var(--muted2);display:flex;font:700 10px Cinzel,serif;justify-content:space-between;letter-spacing:.12em;padding-bottom:13px;text-transform:uppercase}.room-panel__title button{background:none;border:0;color:var(--gold);cursor:pointer;font:9px Cinzel,serif}.room-panel__empty{align-items:center;color:var(--muted);display:flex;flex-direction:column;justify-content:center;min-height:285px;text-align:center}.room-panel__empty b{color:var(--text);font:600 13px Cinzel,serif;margin-bottom:7px}.room-panel__empty span{font:14px Crimson Pro,serif}.room-member{align-items:center;display:flex;gap:10px;padding-top:16px}.room-member i{border:1px solid var(--gold);border-radius:50%;color:var(--gold);display:grid;font-style:normal;height:34px;place-items:center;width:34px}.room-member div{flex:1}.room-member span,.room-member strong{display:block}.room-member strong{font:10px Cinzel,serif}.room-member span{color:var(--muted);font-size:12px}.room-member>b{color:var(--gold);font:8px Cinzel,serif}.room-checklist{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:14px 0 0}.room-checklist li{align-items:center;color:var(--muted2);display:flex;font-size:13px;gap:9px}.room-checklist i{border:1px solid var(--border2);border-radius:50%;color:var(--gold);display:grid;font:8px Cinzel,serif;height:21px;place-items:center;width:21px}.room-hub__chips span.is-live{border-color:#47c58966;color:#78dfad}.room-scene-form{display:flex;gap:8px;padding:15px 0 0}.room-scene-form input{background:var(--card2);border:1px solid var(--border2);border-radius:6px;color:var(--text);flex:1;font:15px Crimson Pro,serif;min-width:0;outline:none;padding:10px 12px}.room-scene-form input:focus{border-color:#c9a84c8c}.room-scene-form button{padding:10px 16px;white-space:nowrap}.room-scenes{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:15px 0 0}.room-scenes li{align-items:center;background:var(--card2);border:1px solid var(--border);border-radius:7px;display:grid;gap:2px 12px;grid-template-columns:1fr auto;padding:11px 13px}.room-scenes li.is-active{background:#c9a84c0f;border-color:#c9a84c73}.room-scenes b{font:600 13px Cinzel,serif;min-width:0;overflow-wrap:anywhere}.room-scenes small{color:var(--muted);font:12px Crimson Pro,serif;grid-column:1}.room-scenes li>button{background:#0000;border:1px solid var(--border2);border-radius:99px;color:var(--muted2);cursor:pointer;font:8px Cinzel,serif;grid-column:2;grid-row:1/3;letter-spacing:.08em;padding:6px 11px;text-transform:uppercase;white-space:nowrap}.room-scenes li>button[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.room-invite{border-bottom:1px solid var(--border);padding:15px 0 3px}.room-invite>span{color:var(--muted2);display:block;font:700 9px Cinzel,serif;letter-spacing:.12em;text-transform:uppercase}.room-invite>div{align-items:center;display:flex;gap:9px;margin:9px 0}.room-invite code{background:var(--card2);border:1px dashed var(--border2);border-radius:6px;color:var(--gold);flex:1;font:600 16px/1 Cinzel,serif;letter-spacing:.22em;min-width:0;padding:9px 12px}.room-invite>div button{background:#0000;border:1px solid var(--border2);border-radius:6px;color:var(--muted2);cursor:pointer;font:8px Cinzel,serif;letter-spacing:.08em;padding:9px 13px;text-transform:uppercase;white-space:nowrap}.room-invite small{color:var(--muted);display:block;font:13px/1.4 Crimson Pro,serif;padding-bottom:13px}@media(max-width:760px){.room-scene-form{flex-direction:column}.room-scenes li>button{grid-column:1;grid-row:auto}.room-hub,.rooms-page{padding:22px 16px 92px}.rooms-hero{align-items:flex-start;flex-direction:column}.rooms-create{width:100%}.rooms-summary{grid-template-columns:1fr}.rooms-summary>div{border-bottom:1px solid var(--border);border-right:0}.rooms-empty{align-items:flex-start}.rooms-empty__mark{display:none}.room-system-grid{grid-template-columns:1fr}.room-hub__hero{align-items:flex-start;flex-direction:column;gap:26px;padding:24px}.room-enter{width:100%}.room-hub__grid{grid-template-columns:1fr}.room-panel--wide{grid-row:auto}.room-steps li span{display:none}}