@font-face{font-family:Noto Sans Runic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-runic-runic-400-normal-BZc_rAOQ.woff2) format("woff2"),url(/assets/noto-sans-runic-runic-400-normal-DYBj2eoI.woff) format("woff");unicode-range:U+16A0-16F8}@font-face{font-family:Noto Sans Runic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-runic-latin-ext-400-normal-BMkNQp_E.woff2) format("woff2"),url(/assets/noto-sans-runic-latin-ext-400-normal-D7YAzaXJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Noto Sans Runic;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-runic-latin-400-normal-CHCCOE2b.woff2) format("woff2"),url(/assets/noto-sans-runic-latin-400-normal-DHlbS1M0.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:only light;font-family:Segoe UI,Helvetica Neue,Arial,sans-serif;--font-rune: "Noto Sans Runic", "Segoe UI Symbol", serif;--font-display: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;color:#f4efe2;background:radial-gradient(circle at top,#21352b,#101712 58%,#090c09)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#21352b,#101712 58%,#090c09)}button,input{font:inherit}.app-shell{min-height:100vh;padding:24px}.app-footer{margin-top:20px;text-align:center;color:#b7c1b1}.auth-card,.dashboard-shell{max-width:1240px;margin:0 auto}.session-page{max-width:800px;margin:0 auto;display:grid;gap:24px;padding-bottom:28px}.auth-card,.helper-card,.scene-card,.session-card,.empty-card{background:#0a0e0bb3;border:1px solid rgba(240,233,212,.16);border-radius:20px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 70px #0000003d}.auth-card{max-width:460px;margin:8vh auto 0;padding:28px}.auth-form,.button-column{display:grid;gap:14px}.auth-form label,.session-card__meta{display:grid;gap:6px}.auth-form input{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff}.session-create-card{width:min(100%,360px);display:grid;gap:14px}.session-create-card__field{display:grid;gap:6px}.session-create-card__field input{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff}.schedule-picker{display:grid;gap:8px}.schedule-picker--eyebrow{display:inline-flex}.schedule-picker__label{color:#f4efe2}.schedule-picker__trigger{width:100%;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff14;color:#fff;text-align:left;cursor:pointer;transition:transform .16s ease,color .16s ease,border-color .16s ease,background .16s ease}.schedule-picker__trigger:hover{transform:translateY(-1px);border-color:#e4b97c80;background:#ffffff1a}.schedule-picker__trigger:disabled{cursor:not-allowed;opacity:.55;transform:none}.schedule-picker__trigger:focus-visible{outline:2px solid rgba(228,185,124,.75);outline-offset:3px}.schedule-picker__trigger--eyebrow{width:auto;padding:0;border:none;border-radius:999px;background:none;color:#b7c1b1;display:inline-flex;align-items:center;gap:6px;font:inherit;letter-spacing:.08em;text-transform:uppercase}.schedule-picker__trigger--eyebrow:hover{transform:none;background:none;color:#e4b97c}.schedule-picker__trigger--eyebrow:disabled:hover{transform:none;background:none;color:#b7c1b1}.schedule-picker__trigger--eyebrow .schedule-picker__chevron{display:inline-flex;align-items:center;justify-content:center;transition:transform .16s ease}.schedule-picker__trigger--eyebrow .schedule-picker__chevron--open{transform:rotate(180deg)}.schedule-picker__trigger--eyebrow .schedule-picker__chevron svg{width:14px;height:14px}.schedule-picker__popover{display:grid;gap:14px;padding:16px;position:fixed;z-index:1200;border-radius:18px;background:#080b09f2;border:1px solid rgba(240,233,212,.12);box-shadow:0 20px 48px #00000052}.schedule-picker__content{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,264px);align-items:start;gap:18px}.schedule-picker__calendar-panel{display:grid;gap:12px;min-width:0}.schedule-picker__calendar-header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.schedule-picker__calendar-header strong,.schedule-picker__time-panel strong{color:#f4efe2}.schedule-picker__weekday-row,.schedule-picker__calendar-grid,.schedule-picker__time-grid{display:grid;gap:8px}.schedule-picker__weekday-row,.schedule-picker__calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr))}.schedule-picker__weekday-row{color:#b7c1b1;font-size:.82rem;text-align:center}.schedule-picker__day,.schedule-picker__time-slot{border:1px solid rgba(240,233,212,.12);background:#ffffff0d;color:#f4efe2;cursor:pointer}.schedule-picker__day{min-height:42px;border-radius:12px}.schedule-picker__day--outside{color:#8f9a89}.schedule-picker__day--selected,.schedule-picker__time-slot--selected{background:linear-gradient(135deg,#e4b97ceb,#c88b42eb);color:#20160d;border-color:#e4b97ceb}.schedule-picker__day:disabled,.schedule-picker__time-slot:disabled{opacity:.35;cursor:not-allowed}.schedule-picker__time-panel{display:grid;gap:10px;min-width:0}.schedule-picker__time-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:340px;overflow:auto}.schedule-picker__time-slot{padding:10px 8px;border-radius:999px}.schedule-picker__close{justify-self:flex-start}.session-create-card__footer{display:flex;justify-content:space-between;gap:12px;color:#b7c1b1;font-size:.9rem}.session-form-note{color:#f0c7a4;font-size:.92rem;line-height:1.45}.primary-button,.secondary-button,.link-button{border:0;border-radius:999px;padding:12px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:transform .16s ease,opacity .16s ease}.primary-button{background:linear-gradient(135deg,#e4b97c,#c88b42);color:#20160d;font-weight:700}.secondary-button,.link-button{background:#ffffff14;color:#f4efe2}.primary-button:hover,.secondary-button:hover,.link-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.link-button:disabled{cursor:not-allowed;opacity:.5;transform:none}.page-header,.dashboard-actions,.session-layout,.button-row,.session-stats{display:flex;gap:16px}.page-header,.dashboard-actions{justify-content:space-between;align-items:flex-start;margin-bottom:22px}.session-page .page-header{align-items:center;margin-bottom:0;padding:8px 4px 0}.session-header-main{display:flex;min-width:0}.session-header-title{display:grid;gap:8px;min-width:0}.session-page .page-header h1{margin:0;font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3.2rem);font-weight:600;letter-spacing:.02em;min-width:0;overflow-wrap:anywhere}.session-page .page-header .eyebrow{margin:0 0 6px}.session-header-back{border:1px solid rgba(240,233,212,.14);border-radius:999px;padding:8px 12px;margin-bottom:10px;background:#ffffff0f;color:#f4efe2;cursor:pointer;display:inline-flex;align-items:center;gap:8px;justify-self:flex-start;text-transform:uppercase;font-size:.8rem;font-weight:600;letter-spacing:.08em;transition:transform .16s ease,opacity .16s ease,color .16s ease,border-color .16s ease,background .16s ease}.session-header-back svg{width:16px;height:16px}.session-header-back:hover{transform:translateY(-1px);border-color:#e4b97c80;background:#ffffff1a;color:#e4b97c}.session-header-back:focus-visible{outline:2px solid rgba(228,185,124,.75);outline-offset:3px}.session-header-status{display:flex;align-items:center}.session-layout{display:grid;gap:16px}.scene-card{min-height:78vh;display:flex;padding:0;background:transparent;border:0;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;width:100%}.scene-shell{position:relative;width:100%;height:100%;min-height:70vh;flex:1 1 auto;border-radius:28px;overflow:hidden}.scene-shell:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.scene-shell__viewport{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.scene-shell__controls{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}.scene-shell__controls-top-lane{position:relative;z-index:1}.scene-shell__controls-heading{margin:0;color:#f4efe2;font-family:var(--font-display);font-size:clamp(1.35rem,2.4vw,2.1rem);letter-spacing:.02em;text-align:center;text-shadow:0 2px 16px rgba(0,0,0,.35)}.scene-shell__controls-top-lane{position:absolute;inset-inline:max(20px,5.5%);top:clamp(20px,2.8vw,28px);display:grid;gap:14px;justify-items:center}.scene-shell__controls-divider{width:100%;height:2px;justify-self:center;background:linear-gradient(90deg,transparent,rgba(214,183,120,.5) 18%,rgba(214,183,120,.78) 50%,rgba(214,183,120,.5) 82%,transparent);box-shadow:0 0 18px #d6b7781f}.scene-shell__controls-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:nowrap;width:max-content;max-width:none}.scene-shell__control-button{min-width:190px;width:190px;flex:0 0 190px;white-space:nowrap;pointer-events:auto;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 14px 28px #0000003d,inset 0 0 0 1px #fff4d31f}.scene-shell__control-button.primary-button{background:linear-gradient(180deg,#112a1bfa,#0d2015f0),linear-gradient(135deg,#dcb872,#c7924c);color:#f4efe2;border:1px solid rgba(220,184,114,.8)}.scene-shell__control-button.secondary-button{background:#0c130ebd;border:1px solid rgba(220,184,114,.38)}.scene-shell__overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;pointer-events:none;padding:24px;z-index:2}.scene-shell__overlay-card{padding:14px 22px;border-radius:999px;background:#090c0ab8;border:1px solid rgba(240,233,212,.18);box-shadow:0 18px 40px #00000038;color:#f4efe2;font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.75rem);letter-spacing:.02em;text-align:center}.scene-shell__error-card{margin-top:0}.scene-shell--error{display:grid;place-items:center;padding:18px}.helper-card,.empty-card{padding:16px}.session-page .session-stats{flex-wrap:wrap;justify-content:flex-end;gap:10px}.session-page .session-stats span:not(.connection-indicator){padding:10px 12px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(240,233,212,.1);color:#dbe2d5}.session-schedule-editor{margin:12px 0 10px}.session-banner,.session-terminal-state{margin-bottom:16px}.session-terminal-state{display:grid;gap:14px}.session-layout>.error-banner{margin-top:0}.dashboard-actions .helper-card{max-width:520px}.link-panel{width:min(100%,520px);display:grid;gap:16px;align-content:start;padding:20px}.link-panel__header{display:grid;gap:6px}.link-panel__header .eyebrow{margin:0}.link-panel__header h2{margin:0;font-family:var(--font-display);font-size:clamp(1.3rem,2vw,1.7rem);font-weight:600;line-height:1.2}.link-panel__url{padding:14px 16px;border-radius:16px;background:#ffffff0d;border:1px solid rgba(240,233,212,.12);color:#f4efe2;line-height:1.55}.link-panel__copy{justify-self:flex-start}.session-table-card{background:#0a0e0bb3;border:1px solid rgba(240,233,212,.16);border-radius:20px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 70px #0000003d;padding:18px}.session-table-toolbar{display:flex;justify-content:flex-end;margin-bottom:14px}.session-filter-toggle{display:inline-flex;align-items:center;gap:10px;color:#dbe2d5}.session-filter-toggle input{accent-color:#d39a54}.session-table-wrap{overflow-x:auto}.session-table{width:100%;border-collapse:collapse;min-width:760px}.session-table th,.session-table td{padding:14px 12px;border-top:1px solid rgba(240,233,212,.12);text-align:left;vertical-align:middle}.session-table thead th{border-top:0;color:#b7c1b1;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.session-table tbody tr:hover{background:#ffffff08}.session-table__name{font-weight:700;color:#f4efe2}.session-table__ownership{margin-top:4px;color:#b7c1b1;font-size:.88rem}.session-table__actions{display:inline-flex;align-items:center;gap:10px}.icon-button{width:40px;height:40px;border:1px solid rgba(240,233,212,.14);border-radius:999px;background:#ffffff0f;color:#f4efe2;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .16s ease,opacity .16s ease,border-color .16s ease,background .16s ease}.icon-button svg{width:18px;height:18px}.icon-button:hover{transform:translateY(-1px);border-color:#e4b97c80;background:#ffffff1a}.icon-button:disabled{cursor:not-allowed;opacity:.45;transform:none}.icon-button--danger:hover{border-color:#ff787873;color:#ffd9d9}.connection-indicator{width:32px;height:32px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(240,233,212,.14)}.connection-indicator svg{width:16px;height:16px}.connection-indicator--connected{color:#8be0a0;background:#408a4f29}.connection-indicator--pending{color:#e5c96d;background:#a57e212e}.connection-indicator--disconnected{color:#d9a0a0;background:#aa2d2d2e}.session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.session-card{padding:18px;display:grid;gap:12px}.eyebrow{margin-bottom:6px;letter-spacing:.08em;text-transform:uppercase;color:#b7c1b1}.monospace{font-family:SFMono-Regular,Consolas,monospace;word-break:break-all}.error-banner,.scene-error{margin-top:12px;padding:12px 14px;border-radius:14px;background:#aa2d2d40;border:1px solid rgba(255,120,120,.45);color:#ffe0e0}@media(max-width:980px){.page-header,.dashboard-actions{flex-direction:column}.session-page .page-header{flex-direction:row;align-items:flex-start}.session-header-main{width:100%}.session-page .session-header-main{flex:1 1 auto;width:auto;min-width:0}.link-panel{width:100%}.scene-card{min-height:68vh}.scene-shell{min-height:62vh}.session-page .session-stats{flex-wrap:nowrap;justify-content:flex-end}.session-page .session-header-status{flex:0 0 auto;align-self:flex-start}.scene-shell__controls-top-lane{inset-inline:20px;top:16px}.schedule-picker__content{grid-template-columns:1fr}.schedule-picker__time-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:560px){.scene-shell__control-button{min-width:148px;width:148px;flex-basis:148px}}
