:root {
  --ink:#3f2117;
  --muted:#7c6457;
  --paper:#eadbc8;
  --cream:#f2e4d3;
  --surface:#efe0ce;
  --line:#dac6af;
  --olive:#5a2a19;
  --olive-dark:#3e1c12;
  --lime:#f57c16;
  --coral:#e96f2d;
  --ochre:#d99729;
  --blue:#668a8d;
  --plum:#956d79;
  --sage:#7c8d69;
  --danger:#a44332;
  --shadow:12px 12px 28px rgba(112,72,43,.17),-12px -12px 28px rgba(255,250,241,.76);
  --shadow-soft:7px 7px 15px rgba(112,72,43,.15),-7px -7px 15px rgba(255,250,241,.7);
  --shadow-inset:inset 4px 4px 9px rgba(112,72,43,.14),inset -4px -4px 9px rgba(255,250,241,.68);
}

* { box-sizing:border-box; }
[hidden] { display:none !important; }
html { min-width:320px; scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; -webkit-font-smoothing:antialiased; }
body.modal-open { overflow:hidden; }
button,input,textarea { font:inherit; }
button,a { -webkit-tap-highlight-color:transparent; }
button { color:inherit; }
a { color:inherit; text-decoration:none; }
input,textarea { min-width:0; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }

.brand { display:flex; align-items:center; gap:11px; padding:0 10px; color:var(--olive); font-family:Georgia,"Times New Roman",serif; font-size:21px; font-weight:700; letter-spacing:-.04em; }
.brand-icon { display:block; width:42px; height:42px; flex:0 0 auto; object-fit:contain; filter:drop-shadow(3px 4px 4px rgba(77,38,22,.18)); }
.brand-light { position:absolute; z-index:3; left:clamp(28px,5vw,72px); top:44px; color:white; }

.login-screen { display:grid; grid-template-columns:minmax(460px,1.08fr) minmax(430px,.92fr); min-height:100vh; }
.login-story { position:relative; min-height:100vh; overflow:hidden; padding:130px clamp(38px,6vw,88px) 55px; background:var(--olive); color:white; }
.login-message { position:relative; z-index:3; max-width:660px; }
.pill { display:inline-flex; padding:7px 11px; border:1px solid rgba(255,255,255,.25); border-radius:999px; color:var(--lime); font-size:9px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.login-message h1 { max-width:630px; margin:31px 0 20px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(46px,5.5vw,78px); font-weight:400; line-height:.96; letter-spacing:-.058em; }
.login-message > p:last-child { max-width:535px; color:#d4d8cf; font-size:14px; line-height:1.7; }
.login-art { position:absolute; inset:auto -4% 5% 8%; height:45%; opacity:.96; }
.art-ring { position:absolute; border:2px solid rgba(216,239,136,.62); border-radius:50%; transform:rotate(-16deg); }
.ring-one { width:80%; height:52%; left:2%; bottom:2%; }
.ring-two { width:45%; height:102%; right:12%; bottom:-17%; }
.art-sun { position:absolute; width:102px; height:102px; left:54%; top:23%; border-radius:50%; background:var(--coral); box-shadow:0 0 0 29px rgba(231,116,82,.16); }
.art-word { position:absolute; right:11%; bottom:2%; color:var(--lime); font-family:Georgia,serif; font-size:clamp(32px,4.3vw,61px); line-height:.75; letter-spacing:-.07em; text-align:right; transform:rotate(-6deg); }
.login-footnote { position:absolute; z-index:3; bottom:30px; left:clamp(38px,6vw,88px); margin:0; color:#abb1a7; font-size:10px; letter-spacing:.03em; }
.login-panel { display:grid; min-height:100vh; padding:40px; place-items:center; background:var(--cream); }
.login-card { width:min(100%,410px); }
.mobile-brand { display:none; }
.eyebrow { margin:0 0 9px; color:#85877e; font-size:10px; font-weight:800; letter-spacing:.11em; text-transform:uppercase; }
.login-card h2,.panel h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:37px; font-weight:500; letter-spacing:-.045em; }
.form-intro,.panel-intro { margin:13px 0 31px; color:var(--muted); font-size:13px; line-height:1.6; }
.field { display:grid; gap:8px; margin-bottom:18px; }
.field > span { font-size:11px; font-weight:750; }
.field > small { margin-top:-2px; color:var(--muted); font-size:9px; }
.field input,.field textarea { width:100%; border:1px solid #d5d3c9; border-radius:11px; outline:0; background:white; color:var(--ink); font-size:13px; transition:border .15s,box-shadow .15s; }
.field input { height:48px; padding:0 14px; }
.field textarea { min-height:108px; padding:13px 14px; resize:vertical; line-height:1.5; }
.field input:focus,.field textarea:focus { border-color:#7d8c70; box-shadow:0 0 0 3px rgba(62,73,57,.1); }
.field input::placeholder,.field textarea::placeholder { color:#a3a39d; }
.form-error { margin:0 0 16px; padding:10px 12px; border:1px solid #e8c6bd; border-radius:9px; background:#fff3ef; color:#8e3b2c; font-size:11px; line-height:1.45; }
.button { display:inline-flex; min-height:45px; align-items:center; justify-content:center; gap:12px; padding:0 18px; border:0; border-radius:11px; font-size:11px; font-weight:800; cursor:pointer; transition:transform .15s,background .15s,opacity .15s; }
.button:hover:not(:disabled) { transform:translateY(-1px); }
.button:disabled { cursor:wait; opacity:.62; }
.button-primary { background:var(--olive); color:white; }
.button-primary:hover:not(:disabled) { background:var(--olive-dark); }
.button-wide { width:100%; justify-content:space-between; padding:0 17px; }
.support-copy { margin:24px 0 0; color:#94958e; font-size:10px; text-align:center; }

.toast { position:fixed; z-index:100; right:24px; top:24px; max-width:min(390px,calc(100vw - 32px)); padding:13px 17px; border-radius:11px; background:var(--olive); color:white; box-shadow:var(--shadow); font-size:12px; font-weight:650; }
.toast.error { background:#8f392d; }
.toast.info { background:#526a78; }

.portal-shell { display:grid; grid-template-columns:240px minmax(0,1fr); min-height:100vh; }
.sidebar { position:sticky; z-index:20; top:0; display:flex; flex-direction:column; height:100vh; padding:32px 22px 26px; border-right:1px solid var(--line); background:var(--cream); }
.nav { display:grid; gap:6px; margin-top:56px; }
.nav-item { display:flex; width:100%; align-items:center; gap:11px; padding:12px 13px; border:0; border-radius:10px; background:transparent; color:#71736c; font-size:12px; font-weight:650; text-align:left; cursor:pointer; }
.nav-item:hover,.nav-item.active { background:#e9e7de; color:var(--ink); }
.nav-icon { width:18px; font-size:18px; text-align:center; }
.sidebar-note { display:flex; align-items:flex-start; gap:9px; margin-top:auto; margin-bottom:18px; padding:13px; border:1px solid var(--line); border-radius:11px; background:#f7f6f0; }
.status-dot { width:7px; height:7px; margin-top:3px; border-radius:50%; background:#78a665; box-shadow:0 0 0 3px rgba(120,166,101,.15); }
.sidebar-note p { margin:0; }
.sidebar-note strong,.sidebar-note small { display:block; }
.sidebar-note strong { font-size:10px; }
.sidebar-note small { margin-top:3px; color:#8a8d84; font-size:9px; }
.sidebar-footer { padding:20px 10px 0; border-top:1px solid var(--line); }
.outlet-profile { display:flex; align-items:center; gap:10px; }
.avatar { display:grid; width:38px; height:38px; flex:0 0 auto; place-items:center; border-radius:50%; background:#daddcd; color:var(--olive); font-size:11px; font-weight:800; }
.outlet-profile strong,.outlet-profile small { display:block; }
.outlet-profile strong { overflow:hidden; max-width:130px; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.outlet-profile small { overflow:hidden; max-width:130px; margin-top:3px; color:var(--muted); font-size:9px; text-overflow:ellipsis; white-space:nowrap; }
.text-button { margin-top:14px; padding:0; border:0; background:transparent; color:#8b5a48; font-size:10px; font-weight:700; cursor:pointer; }

.content { min-width:0; padding:36px clamp(26px,4.6vw,74px) 64px; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:34px; }
.topbar h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(25px,2.4vw,37px); font-weight:500; letter-spacing:-.04em; }
.topbar-actions { display:flex; align-items:center; gap:12px; }
.menu-button { display:none; }
.search { display:flex; align-items:center; gap:10px; width:min(22vw,252px); padding:11px 14px; border:1px solid var(--line); border-radius:12px; background:var(--cream); color:#85877e; }
.search input { width:100%; border:0; outline:0; background:transparent; color:var(--ink); font-size:12px; }
.search input::placeholder { color:#96988f; }
.round-button { width:41px; height:41px; border:1px solid var(--line); border-radius:50%; background:var(--cream); color:var(--olive); cursor:pointer; }

.featured { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr); min-height:365px; overflow:hidden; border-radius:23px; background:var(--olive); color:#f7f5ec; box-shadow:var(--shadow); }
.featured-copy { z-index:1; padding:clamp(38px,5vw,67px); }
.featured .pill { color:var(--lime); }
.kicker { margin:30px 0 13px; color:#c7cabf; font-size:11px; font-weight:650; letter-spacing:.04em; }
.featured h2 { max-width:630px; margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,4.2vw,60px); font-weight:400; line-height:.99; letter-spacing:-.05em; }
.summary { max-width:565px; min-height:21px; margin:22px 0 28px; color:#d7d9d0; font-size:13px; line-height:1.65; }
.button-accent { min-height:48px; padding:0 17px 0 9px; border-radius:999px; background:var(--lime); color:#253021; }
.button-accent:hover { background:#e4f89d; }
.button-accent small { color:#687455; font-size:9px; }
.button-play { display:grid; width:30px; height:30px; place-items:center; border-radius:50%; background:var(--olive); color:var(--lime); font-size:9px; }
.featured-art { position:relative; min-height:360px; overflow:hidden; background:var(--lime); }
.featured-art::after { content:""; position:absolute; inset:0; background:linear-gradient(120deg,rgba(62,73,57,.04),transparent 60%); }
.art-label { position:absolute; z-index:3; right:12%; bottom:10%; color:var(--olive); font-family:Georgia,serif; font-size:clamp(30px,4vw,54px); line-height:.78; letter-spacing:-.07em; text-align:right; transform:rotate(-6deg); }
.art-orbit { position:absolute; z-index:1; border:2px solid rgba(62,73,57,.75); border-radius:50%; transform:rotate(-25deg); }
.orbit-one { width:135%; height:52%; left:-17%; top:24%; }
.orbit-two { width:76%; height:110%; right:13%; top:-4%; }
.art-disc { position:absolute; z-index:2; width:116px; height:116px; right:38%; top:28%; border-radius:50%; background:var(--coral); box-shadow:0 0 0 28px rgba(231,116,82,.17); }

.library-section { margin-top:51px; }
.section-heading,.panel-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:20px; }
.section-heading h2 { margin:0; font-family:Georgia,serif; font-size:29px; font-weight:500; letter-spacing:-.035em; }
.result-count,.panel-heading > span { color:#82847c; font-size:10px; font-weight:700; }
.library-actions { display:flex; align-items:center; gap:13px; }
.library-view-toggle { display:flex; padding:3px; border:1px solid var(--line); border-radius:10px; background:rgba(242,228,211,.75); box-shadow:var(--shadow-inset); }
.library-view-toggle button { display:inline-flex; min-height:30px; align-items:center; gap:5px; padding:0 9px; border:0; border-radius:7px; background:transparent; color:#85877e; font-size:9px; font-weight:800; cursor:pointer; }
.library-view-toggle button span { font-size:13px; line-height:1; }
.library-view-toggle button.active { background:var(--cream); color:var(--olive); box-shadow:3px 3px 7px rgba(112,72,43,.13),-3px -3px 7px rgba(255,250,241,.66); }
.kiosk-launch-button { display:inline-flex; min-height:38px; align-items:center; gap:8px; padding:0 13px; border:0; border-radius:10px; background:var(--olive); color:white; font-size:9px; font-weight:800; cursor:pointer; }
.kiosk-launch-button:hover:not(:disabled) { background:var(--olive-dark); transform:translateY(-1px); }
.kiosk-launch-button:disabled { cursor:not-allowed; opacity:.45; }
.kiosk-launch-button span { color:var(--lime); font-size:15px; }
.video-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:18px; }
.video-card { min-width:0; }
.thumbnail { position:relative; display:block; width:100%; aspect-ratio:16/9; overflow:hidden; border:0; border-radius:12px; cursor:pointer; transition:transform .2s ease,box-shadow .2s ease; }
.thumbnail:hover { transform:translateY(-3px); box-shadow:0 14px 28px rgba(43,45,38,.15); }
.thumbnail::before,.thumbnail::after { content:""; position:absolute; border:2px solid rgba(255,255,255,.58); border-radius:50%; }
.thumbnail::before { width:78%; height:150%; left:-18%; top:-23%; }
.thumbnail::after { width:72%; height:105%; right:-19%; bottom:-40%; }
.thumbnail.coral { background:var(--coral); }
.thumbnail.ochre { background:var(--ochre); }
.thumbnail.blue { background:var(--blue); }
.thumbnail.plum { background:var(--plum); }
.thumbnail.sage { background:var(--sage); }
.episode-number { position:absolute; left:12px; top:10px; color:rgba(255,255,255,.82); font-family:Georgia,serif; font-size:17px; }
.thumb-play { position:absolute; z-index:2; left:50%; top:50%; display:grid; width:36px; height:36px; place-items:center; border-radius:50%; background:rgba(255,255,255,.92); color:var(--olive); font-size:10px; transform:translate(-50%,-50%); }
.duration { position:absolute; right:11px; bottom:10px; padding:5px 7px; border-radius:6px; background:rgba(33,35,29,.8); color:white; font-size:9px; font-weight:700; }
.card-copy { padding:10px 2px; }
.card-copy p { margin:0 0 6px; color:#85877e; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.card-copy h3 { margin:0; font-family:Georgia,serif; font-size:15px; font-weight:500; letter-spacing:-.025em; }
.card-copy > span { display:block; margin-top:7px; color:#96988f; font-size:9px; }
.card-title-row { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.card-title-row h3 { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.share-link-button,.table-link-button { display:inline-flex; flex:0 0 auto; align-items:center; gap:5px; border:0; background:transparent; color:var(--olive); font-size:8px; font-weight:800; cursor:pointer; }
.share-link-button { min-height:31px; padding:0 9px; border-radius:9px; background:var(--surface); box-shadow:4px 4px 9px rgba(112,72,43,.14),-4px -4px 9px rgba(255,250,241,.66); }
.share-link-button span,.table-link-button span { color:var(--lime); font-size:13px; }
.video-grid.is-list { grid-template-columns:minmax(0,1fr); gap:10px; }
.video-grid.is-list .video-card { display:grid; grid-template-columns:144px minmax(0,1fr); align-items:center; overflow:hidden; border:1px solid rgba(218,198,175,.72); border-radius:12px; background:rgba(242,228,211,.68); box-shadow:var(--shadow-soft); }
.video-grid.is-list .thumbnail { height:81px; border-radius:11px 0 0 11px; }
.video-grid.is-list .thumbnail:hover { transform:none; }
.video-grid.is-list .episode-number { left:10px; top:8px; font-size:15px; }
.video-grid.is-list .thumb-play { width:32px; height:32px; }
.video-grid.is-list .card-copy { min-width:0; padding:10px 14px; }
.video-grid.is-list .card-copy p { margin-bottom:4px; }
.video-grid.is-list .card-copy h3 { font-size:17px; }
.video-grid.is-list .card-copy > span { margin-top:5px; }
.empty-state { display:grid; min-height:280px; padding:40px; place-items:center; align-content:center; border:1px dashed #cccbc1; border-radius:17px; background:rgba(251,250,245,.55); text-align:center; }
.empty-mark { display:grid; width:51px; height:51px; margin-bottom:15px; place-items:center; border-radius:50%; background:#e5e5da; color:var(--olive); font-size:14px; }
.empty-state h3 { margin:0; font-family:Georgia,serif; font-size:22px; font-weight:500; }
.empty-state p { max-width:390px; margin:8px 0 18px; color:var(--muted); font-size:11px; line-height:1.55; }

.workspace-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:20px; }
.panel { border:1px solid var(--line); border-radius:18px; background:var(--cream); }
.upload-panel,.create-outlet-panel,.outlet-list-panel { padding:clamp(25px,3.4vw,46px); }
.guidance-panel { align-self:start; padding:28px; background:var(--olive); color:white; }
.guidance-panel .eyebrow { color:#aeb5aa; }
.guidance-panel h3,.create-outlet-panel h3,.published-panel h3,.panel-heading h3 { margin:0; font-family:Georgia,serif; font-size:24px; font-weight:500; letter-spacing:-.03em; }
.drop-zone { display:grid; min-height:175px; margin-bottom:25px; padding:25px; place-items:center; align-content:center; border:1px dashed #b9bcb0; border-radius:14px; background:#f4f3ec; text-align:center; cursor:pointer; transition:border .15s,background .15s; }
.drop-zone.dragging { border-color:var(--olive); background:#eaedde; }
.drop-zone input { position:absolute; width:1px; height:1px; opacity:0; }
.upload-icon { display:grid; width:44px; height:44px; margin-bottom:12px; place-items:center; border-radius:50%; background:var(--olive); color:var(--lime); font-size:20px; }
.drop-zone strong { max-width:100%; overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.drop-zone small { margin-top:5px; color:#8a8c84; font-size:10px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.check-field { display:flex; align-items:flex-start; gap:11px; margin:4px 0 24px; cursor:pointer; }
.check-field input { width:16px; height:16px; margin:2px 0 0; accent-color:var(--olive); }
.check-field strong,.check-field small { display:block; }
.check-field strong { font-size:11px; }
.check-field small { margin-top:4px; color:var(--muted); font-size:9px; }
.upload-progress { margin:0 0 18px; padding:13px 14px; border-radius:10px; background:#e9ecdf; }
.upload-progress > span { display:flex; justify-content:space-between; margin-bottom:8px; }
.upload-progress strong,.upload-progress small { font-size:9px; }
.upload-progress progress { display:block; width:100%; height:7px; border:0; border-radius:999px; overflow:hidden; }
.upload-progress progress::-webkit-progress-bar { background:#d1d5c5; }
.upload-progress progress::-webkit-progress-value { background:var(--olive); }
.upload-progress progress::-moz-progress-bar { background:var(--olive); }
.check-list { display:grid; gap:25px; margin:28px 0 0; padding:0; list-style:none; }
.check-list li { display:flex; gap:12px; }
.check-list li > span { display:grid; width:26px; height:26px; flex:0 0 auto; place-items:center; border:1px solid rgba(216,239,136,.38); border-radius:50%; color:var(--lime); font-family:Georgia,serif; font-size:12px; }
.check-list p { margin:0; }
.check-list strong,.check-list small { display:block; }
.check-list strong { font-size:10px; }
.check-list small { margin-top:5px; color:#c3c7be; font-size:9px; line-height:1.5; }
.published-panel { margin-top:20px; padding:28px; }
.panel-heading { align-items:center; }
.panel-heading .eyebrow { margin-bottom:6px; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:10px; }
th { padding:10px 12px; border-bottom:1px solid var(--line); color:#8b8d85; font-size:8px; letter-spacing:.08em; text-align:left; text-transform:uppercase; }
td { padding:13px 12px; border-bottom:1px solid #e8e6dd; color:#6e7069; }
tbody tr:last-child td { border-bottom:0; }
.table-video { display:flex; align-items:center; gap:9px; padding:0; border:0; background:transparent; cursor:pointer; }
.table-video > span { display:grid; width:29px; height:29px; place-items:center; border-radius:8px; background:var(--coral); color:white; font-size:8px; }
.table-video strong { color:var(--ink); font-size:10px; }
.delete-button { padding:6px 8px; border:1px solid #e4cbc4; border-radius:7px; background:#fff6f3; color:var(--danger); font-size:8px; font-weight:750; cursor:pointer; }
.table-actions { display:flex; align-items:center; justify-content:flex-end; gap:7px; }
.table-link-button { min-height:28px; padding:0 8px; border-radius:7px; background:var(--surface); box-shadow:3px 3px 7px rgba(112,72,43,.13),-3px -3px 7px rgba(255,250,241,.6); }
.table-empty { margin:15px 0 0; color:var(--muted); font-size:10px; }

.outlet-workspace { grid-template-columns:minmax(0,1.3fr) minmax(330px,.7fr); }
.create-outlet-panel { align-self:start; }
.create-outlet-panel h3 { margin-bottom:25px; }
.outlet-list { display:grid; }
.outlet-row { display:grid; grid-template-columns:auto minmax(0,1fr) auto auto auto; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid #e5e3da; }
.outlet-row:last-child { border-bottom:0; }
.outlet-row strong,.outlet-row small { display:block; }
.outlet-row strong { font-size:11px; }
.outlet-row small { margin-top:4px; color:#85877f; font-size:9px; }
.outlet-code { padding:6px 8px; border-radius:7px; background:#edece4; color:#6a6c65; font-size:8px; font-weight:750; }
.active-badge { color:#57764c; font-size:8px; font-weight:750; }
.active-badge i { display:inline-block; width:6px; height:6px; margin-right:4px; border-radius:50%; background:#77a569; }
.empty-state.compact { min-height:240px; border:0; background:transparent; }

.share-modal { position:fixed; z-index:95; inset:0; display:grid; padding:24px; place-items:center; }
.share-dialog { position:relative; z-index:1; width:min(590px,100%); overflow:hidden; border:1px solid rgba(255,255,255,.3); border-radius:22px; background:var(--surface); box-shadow:18px 18px 48px rgba(65,34,18,.4),-10px -10px 28px rgba(255,248,236,.46); }
.share-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 28px 20px; border-bottom:1px solid rgba(90,42,25,.12); }
.share-heading { display:flex; align-items:center; gap:13px; }
.share-heading .eyebrow { margin-bottom:5px; }
.share-heading h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:27px; font-weight:500; letter-spacing:-.04em; }
.share-mark { display:grid; width:45px; height:45px; flex:0 0 auto; place-items:center; border-radius:50%; background:var(--surface); color:var(--lime); box-shadow:var(--shadow-soft); font-size:19px; }
.share-body { padding:24px 28px; }
.share-body > p:first-child { margin:0 0 22px; color:var(--muted); font-size:11px; line-height:1.65; }
.public-link-field { display:grid; gap:8px; }
.public-link-field > span:first-child { font-size:10px; font-weight:800; }
.public-link-control { display:grid; grid-template-columns:minmax(0,1fr) auto; padding:5px; border-radius:13px; background:var(--cream); box-shadow:var(--shadow-inset); }
.public-link-control input { width:100%; min-width:0; height:39px; padding:0 10px; border:0; outline:0; background:transparent; color:var(--ink); font-size:10px; }
.public-link-control button { min-width:94px; border:0; border-radius:9px; background:var(--olive); color:white; font-size:9px; font-weight:800; cursor:pointer; box-shadow:4px 4px 9px rgba(74,36,20,.22),-3px -3px 7px rgba(255,255,255,.2); }
.share-note { display:flex; align-items:flex-start; gap:9px; margin:17px 0 0 !important; padding:12px 13px; border-radius:11px; background:var(--surface); color:#7e6354 !important; box-shadow:var(--shadow-inset); font-size:9px !important; line-height:1.55 !important; }
.share-note span { display:grid; width:19px; height:19px; flex:0 0 auto; place-items:center; border-radius:50%; background:var(--lime); color:var(--olive-dark); font-family:Georgia,serif; font-weight:800; }
.share-dialog > footer { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 28px 22px; border-top:1px solid rgba(90,42,25,.12); }
.disable-link-button { padding:9px 0; border:0; background:transparent; color:var(--danger); font-size:9px; font-weight:800; cursor:pointer; }

.player-modal { position:fixed; z-index:80; inset:0; display:grid; padding:24px; place-items:center; }
.player-backdrop { position:absolute; inset:0; width:100%; height:100%; border:0; background:rgba(29,32,26,.78); backdrop-filter:blur(7px); cursor:pointer; }
.player-dialog { position:relative; z-index:1; width:min(1040px,100%); max-height:calc(100vh - 48px); overflow:auto; border-radius:20px; background:#11130f; color:white; box-shadow:0 24px 80px rgba(0,0,0,.38); }
.player-dialog header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 25px 18px; }
.player-dialog header .eyebrow { color:#9ea399; }
.player-dialog h2 { margin:0; font-family:Georgia,serif; font-size:25px; font-weight:500; letter-spacing:-.03em; }
.close-button { flex:0 0 auto; border-color:#3d4139; background:#23261f; color:white; font-size:23px; }
.player-dialog video { display:block; width:100%; max-height:68vh; background:black; }
.player-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:16px 22px 18px 25px; }
.player-footer > p { max-width:55%; margin:0; color:#aeb2aa; font-size:11px; line-height:1.6; }
.player-options { display:flex; align-items:center; gap:10px; margin-left:auto; }
.repeat-option { display:flex; min-height:43px; align-items:center; gap:9px; padding:7px 12px 7px 8px; border:1px solid #3d4139; border-radius:10px; background:#1b1e18; cursor:pointer; }
.repeat-option input { position:absolute; width:1px; height:1px; opacity:0; }
.option-icon { display:grid; width:28px; height:28px; place-items:center; border-radius:8px; background:#2d3228; color:#c9cebf; font-size:17px; transition:background .15s,color .15s; }
.repeat-option strong,.repeat-option small { display:block; white-space:nowrap; }
.repeat-option strong { color:#f2f3ef; font-size:9px; }
.repeat-option small { margin-top:2px; color:#858b80; font-size:8px; }
.repeat-option:has(input:checked) { border-color:#7e8f55; background:#242b1e; }
.repeat-option:has(input:checked) .option-icon { background:var(--lime); color:var(--olive); }
.fullscreen-button { display:inline-flex; min-height:43px; align-items:center; gap:8px; padding:0 14px; border:0; border-radius:10px; background:var(--lime); color:var(--olive); font-size:9px; font-weight:800; cursor:pointer; }
.fullscreen-button:hover { background:#e4f89d; }
.fullscreen-button span { font-size:15px; }

.kiosk-setup-modal { position:fixed; z-index:90; inset:0; display:grid; padding:24px; place-items:center; }
.kiosk-setup-dialog { position:relative; z-index:1; display:flex; width:min(760px,100%); max-height:calc(100vh - 48px); flex-direction:column; overflow:hidden; border-radius:20px; background:var(--cream); box-shadow:0 24px 80px rgba(0,0,0,.3); }
.kiosk-setup-dialog > header { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:25px 28px 20px; border-bottom:1px solid var(--line); }
.kiosk-setup-dialog h2 { margin:0; font-family:Georgia,serif; font-size:28px; font-weight:500; letter-spacing:-.04em; }
.kiosk-setup-dialog .close-button { color:var(--ink); }
.kiosk-setup-copy { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:16px 28px; }
.kiosk-setup-copy p { max-width:570px; margin:0; color:var(--muted); font-size:10px; line-height:1.55; }
.text-action { flex:0 0 auto; padding:0; border:0; border-bottom:1px solid #94978d; background:transparent; color:#5e6259; font-size:9px; font-weight:800; cursor:pointer; }
.kiosk-list { min-height:160px; overflow-y:auto; padding:0 28px 10px; }
.kiosk-list-row { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:14px; margin-bottom:8px; padding:11px 12px; border:1px solid #e2e0d7; border-radius:12px; background:white; transition:border .15s,background .15s; }
.kiosk-list-row.selected { border-color:#bdc5ab; background:#f5f7ee; }
.kiosk-list-row > label { display:grid; min-width:0; grid-template-columns:auto auto minmax(0,1fr); align-items:center; gap:11px; cursor:pointer; }
.kiosk-list-row input { position:absolute; width:1px; height:1px; opacity:0; }
.kiosk-check { display:grid; width:25px; height:25px; place-items:center; border:1px solid #cfd1c6; border-radius:7px; background:white; color:transparent; font-size:11px; font-weight:900; }
.kiosk-list-row input:checked + .kiosk-check { border-color:var(--olive); background:var(--olive); color:var(--lime); }
.kiosk-order { color:#9b9d94; font-family:Georgia,serif; font-size:17px; }
.kiosk-list-copy { min-width:0; }
.kiosk-list-copy strong,.kiosk-list-copy small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kiosk-list-copy strong { font-size:11px; }
.kiosk-list-copy small { margin-top:4px; color:#8a8c84; font-size:8px; }
.kiosk-move-controls { display:flex; gap:5px; }
.kiosk-move-controls button { display:grid; width:30px; height:30px; place-items:center; border:1px solid #d9d8cf; border-radius:8px; background:#f7f6f1; color:#5f635a; font-size:12px; cursor:pointer; }
.kiosk-move-controls button:hover:not(:disabled) { border-color:#9da292; background:#eceee4; }
.kiosk-move-controls button:disabled { cursor:not-allowed; opacity:.3; }
.kiosk-setup-dialog > .form-error { margin:4px 28px 12px; }
.kiosk-setup-dialog > footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:17px 28px 20px; border-top:1px solid var(--line); }
.kiosk-setup-dialog > footer > span { color:#797c73; font-size:9px; font-weight:750; }
.kiosk-setup-dialog > footer > div { display:flex; gap:8px; }
.kiosk-cancel-button { border:1px solid var(--line); background:white; color:var(--ink); }

.kiosk-player { position:fixed; z-index:200; inset:0; display:flex; min-width:320px; min-height:100vh; flex-direction:column; overflow:hidden; background:#050604; color:white; }
.kiosk-player:fullscreen { width:100vw; height:100vh; }
.kiosk-player-header { display:grid; flex:0 0 auto; grid-template-columns:1fr auto 1fr; align-items:center; gap:20px; min-height:82px; padding:14px 24px; border-bottom:1px solid #252820; background:#11130f; }
.kiosk-brand { display:flex; min-width:0; align-items:center; gap:11px; }
.kiosk-brand > span:last-child { min-width:0; }
.kiosk-brand small,.kiosk-brand strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kiosk-brand small { margin-bottom:4px; color:#858b80; font-size:8px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.kiosk-brand strong { font-family:Georgia,serif; font-size:17px; font-weight:500; }
.kiosk-progress-copy { text-align:center; }
.kiosk-progress-copy span,.kiosk-progress-copy small { display:block; }
.kiosk-progress-copy span { color:var(--lime); font-family:Georgia,serif; font-size:18px; }
.kiosk-progress-copy small { margin-top:3px; color:#747970; font-size:8px; }
.kiosk-exit-button { display:inline-flex; min-height:40px; align-items:center; justify-self:end; gap:12px; padding:0 8px 0 14px; border:1px solid #353931; border-radius:999px; background:#1a1d17; color:#d7dad2; font-size:9px; font-weight:750; cursor:pointer; }
.kiosk-exit-button span { display:grid; width:25px; height:25px; place-items:center; border-radius:50%; background:#2b2f27; color:white; font-size:16px; }
.kiosk-stage { position:relative; display:grid; min-height:0; flex:1 1 auto; place-items:center; overflow:hidden; background:black; }
.kiosk-stage video { display:block; width:100%; height:100%; object-fit:contain; background:black; }
.kiosk-loading { position:absolute; inset:0; display:grid; place-items:center; align-content:center; background:rgba(0,0,0,.8); }
.kiosk-loading > span { width:35px; height:35px; border:2px solid #454a40; border-top-color:var(--lime); border-radius:50%; animation:kiosk-spin .8s linear infinite; }
.kiosk-loading p { margin:13px 0 0; color:#aab0a5; font-size:10px; }
@keyframes kiosk-spin { to { transform:rotate(360deg); } }
.kiosk-player-footer { display:grid; flex:0 0 auto; grid-template-columns:1fr minmax(0,1.4fr) 1fr; align-items:center; gap:20px; min-height:86px; padding:13px 24px; border-top:1px solid #252820; background:#11130f; }
.kiosk-transport { display:flex; align-items:center; gap:8px; }
.kiosk-transport button { display:grid; width:37px; height:37px; place-items:center; border:1px solid #353931; border-radius:50%; background:#1c1f19; color:#d9dcd4; font-size:10px; cursor:pointer; }
.kiosk-transport .kiosk-play-button { width:44px; height:44px; border:0; background:var(--lime); color:var(--olive); font-size:13px; }
.kiosk-current-meta { min-width:0; text-align:center; }
.kiosk-current-meta strong,.kiosk-current-meta small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kiosk-current-meta strong { font-family:Georgia,serif; font-size:17px; font-weight:500; }
.kiosk-current-meta small { margin-top:4px; color:#858b80; font-size:8px; letter-spacing:.08em; text-transform:uppercase; }
.kiosk-fullscreen-button { display:inline-flex; min-height:39px; align-items:center; justify-self:end; gap:8px; padding:0 13px; border:1px solid #3a3e35; border-radius:9px; background:#1c1f19; color:#e1e3dd; font-size:9px; font-weight:750; cursor:pointer; }
.kiosk-fullscreen-button span { color:var(--lime); font-size:15px; }

/* Waffle Street-inspired neomorphic theme */
body { background:radial-gradient(circle at 15% 5%,#f5e9d9 0,transparent 31%),var(--paper); }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible { outline:3px solid rgba(245,124,22,.38); outline-offset:3px; }
.login-story { background:radial-gradient(circle at 82% 18%,#743921 0,transparent 28%),var(--olive); box-shadow:inset -18px 0 32px rgba(44,19,10,.24),inset 10px 10px 24px rgba(255,255,255,.035); }
.login-message > p:last-child { color:#f0dfcf; }
.pill { border-color:rgba(245,124,22,.45); color:#ffad61; background:rgba(70,27,13,.22); box-shadow:inset 2px 2px 5px rgba(35,12,5,.25),inset -2px -2px 5px rgba(255,255,255,.05); }
.art-ring { border-color:rgba(245,124,22,.66); }
.art-sun { background:var(--lime); box-shadow:0 0 0 29px rgba(245,124,22,.14),8px 8px 20px rgba(44,18,9,.24); }
.art-word { color:#ffad61; }
.login-footnote { color:#d9bca9; }
.login-panel { background:var(--paper); }
.login-card { padding:42px; border:1px solid rgba(255,255,255,.34); border-radius:28px; background:var(--surface); box-shadow:var(--shadow); }
.mobile-brand { align-items:center; gap:10px; }
.field input,.field textarea { border:1px solid rgba(255,255,255,.28); background:var(--cream); box-shadow:var(--shadow-inset); }
.field input:focus,.field textarea:focus { border-color:rgba(245,124,22,.7); box-shadow:var(--shadow-inset),0 0 0 3px rgba(245,124,22,.12); }
.button,.kiosk-launch-button { box-shadow:5px 5px 11px rgba(91,51,29,.2),-4px -4px 10px rgba(255,250,241,.55); }
.button:active:not(:disabled),.kiosk-launch-button:active:not(:disabled) { transform:translateY(1px); box-shadow:inset 3px 3px 7px rgba(42,18,9,.28),inset -2px -2px 6px rgba(255,255,255,.08); }
.button-primary,.kiosk-launch-button { background:var(--olive); }
.button-primary:hover:not(:disabled),.kiosk-launch-button:hover:not(:disabled) { background:var(--olive-dark); }
.button-accent { background:var(--lime); color:#37170c; box-shadow:5px 5px 12px rgba(34,11,4,.25),-3px -3px 9px rgba(255,191,125,.2); }
.button-accent:hover { background:#ff8e2e; }
.button-play { background:var(--olive-dark); color:#ffad61; }
.support-copy,.eyebrow { color:#8c6d5d; }
.toast { border:1px solid rgba(255,255,255,.1); background:var(--olive); box-shadow:10px 10px 28px rgba(70,35,20,.3),-7px -7px 20px rgba(255,249,239,.4); }

.portal-shell { background:var(--paper); }
.sidebar { border-right:0; background:var(--paper); box-shadow:8px 0 24px rgba(104,65,38,.13),-6px 0 18px rgba(255,250,241,.62); }
.nav-item { color:#806759; transition:box-shadow .18s,background .18s,color .18s,transform .18s; }
.nav-item:hover:not(.active) { background:var(--surface); color:var(--ink); box-shadow:var(--shadow-soft); transform:translateY(-1px); }
.nav-item.active { background:var(--surface); color:var(--olive); box-shadow:var(--shadow-inset); }
.nav-item.active .nav-icon { color:var(--lime); }
.sidebar-note { border:1px solid rgba(255,255,255,.28); background:var(--surface); box-shadow:var(--shadow-soft); }
.sidebar-footer { border-color:rgba(90,42,25,.12); }
.avatar { background:var(--surface); color:var(--olive); box-shadow:var(--shadow-inset); }
.content { background:radial-gradient(circle at 95% 0,rgba(255,249,239,.66),transparent 30%); }
.search { border:1px solid rgba(255,255,255,.25); background:var(--surface); box-shadow:var(--shadow-inset); }
.round-button { border:1px solid rgba(255,255,255,.32); background:var(--surface); color:var(--olive); box-shadow:var(--shadow-soft); transition:transform .15s,box-shadow .15s; }
.round-button:hover { transform:translateY(-1px); }
.round-button:active { transform:translateY(1px); box-shadow:var(--shadow-inset); }

.featured { background:linear-gradient(135deg,#5a2a19,#432013); box-shadow:14px 14px 30px rgba(92,52,29,.25),-12px -12px 26px rgba(255,249,238,.63); }
.featured .pill { color:#ffb36f; }
.kicker,.summary { color:#ead5c5; }
.featured-art { background:linear-gradient(145deg,#f68928,#e86b17); box-shadow:inset 8px 8px 18px rgba(99,39,8,.18),inset -7px -7px 18px rgba(255,193,124,.28); }
.featured-art::after { background:linear-gradient(120deg,rgba(255,242,222,.18),transparent 60%); }
.art-label { color:var(--olive); }
.art-orbit { border-color:rgba(90,42,25,.7); }
.art-disc { background:#f4dfc6; box-shadow:0 0 0 28px rgba(255,237,215,.22),8px 9px 18px rgba(99,39,8,.18); }
.thumbnail { box-shadow:var(--shadow-soft); }
.thumbnail:hover { box-shadow:11px 12px 25px rgba(103,62,36,.22),-7px -7px 18px rgba(255,250,241,.6); }
.thumb-play { color:var(--olive); box-shadow:5px 5px 12px rgba(63,31,17,.24),-3px -3px 8px rgba(255,255,255,.4); }
.empty-state { border:1px solid rgba(255,255,255,.32); background:var(--surface); box-shadow:var(--shadow-inset); }
.empty-mark { background:var(--surface); color:var(--lime); box-shadow:var(--shadow-soft); }

.panel { border:1px solid rgba(255,255,255,.3); background:var(--surface); box-shadow:var(--shadow); }
.guidance-panel { background:linear-gradient(145deg,#612e1b,#482014); box-shadow:9px 9px 22px rgba(87,48,27,.24),-7px -7px 18px rgba(255,248,235,.55); }
.guidance-panel .eyebrow { color:#d7bba7; }
.check-list li > span { border-color:rgba(245,124,22,.42); color:#ff9b43; }
.check-list small { color:#ddc5b4; }
.drop-zone { border:0; background:var(--surface); box-shadow:var(--shadow-inset); }
.drop-zone.dragging { background:#f0d7bd; box-shadow:inset 5px 5px 11px rgba(142,74,34,.2),inset -5px -5px 11px rgba(255,247,234,.65),0 0 0 2px rgba(245,124,22,.45); }
.upload-icon { background:var(--surface); color:var(--lime); box-shadow:var(--shadow-soft); }
.upload-progress { background:var(--surface); box-shadow:var(--shadow-inset); }
.upload-progress progress::-webkit-progress-value { background:var(--lime); }
.upload-progress progress::-moz-progress-bar { background:var(--lime); }
.table-video > span { box-shadow:3px 3px 7px rgba(90,49,28,.18),-3px -3px 7px rgba(255,250,241,.5); }
.delete-button { border:0; background:var(--surface); box-shadow:4px 4px 9px rgba(109,65,39,.15),-4px -4px 9px rgba(255,250,241,.62); }
.outlet-row { margin-bottom:11px; padding:13px 14px; border:1px solid rgba(255,255,255,.25); border-radius:13px; background:var(--surface); box-shadow:var(--shadow-soft); }
.outlet-code { background:var(--surface); box-shadow:var(--shadow-inset); }

.player-backdrop { background:rgba(56,28,17,.72); }
.player-dialog { background:#25130d; box-shadow:18px 20px 55px rgba(38,17,8,.5),-8px -8px 30px rgba(255,226,198,.08); }
.close-button,.repeat-option { border-color:#4b2d22; background:#2d1810; box-shadow:4px 4px 10px rgba(8,3,1,.32),-3px -3px 8px rgba(255,220,190,.04); }
.repeat-option:has(input:checked) { border-color:#a95016; background:#3a1d11; box-shadow:inset 3px 3px 7px rgba(8,3,1,.36),inset -2px -2px 6px rgba(255,214,178,.04); }
.option-icon { background:#3a2118; }
.repeat-option:has(input:checked) .option-icon,.fullscreen-button { background:var(--lime); color:var(--olive-dark); }
.fullscreen-button { box-shadow:4px 4px 10px rgba(6,2,1,.35),-3px -3px 8px rgba(255,193,125,.14); }

.kiosk-setup-dialog { border:1px solid rgba(255,255,255,.28); background:var(--surface); box-shadow:18px 18px 48px rgba(65,34,18,.4),-10px -10px 28px rgba(255,248,236,.46); }
.kiosk-setup-dialog > header,.kiosk-setup-dialog > footer { border-color:rgba(90,42,25,.12); }
.kiosk-list-row { border:1px solid rgba(255,255,255,.28); background:var(--surface); box-shadow:var(--shadow-soft); }
.kiosk-list-row.selected { border-color:rgba(245,124,22,.35); background:var(--surface); box-shadow:var(--shadow-inset); }
.kiosk-check,.kiosk-move-controls button,.kiosk-cancel-button { border:1px solid rgba(255,255,255,.28); background:var(--surface); box-shadow:var(--shadow-soft); }
.kiosk-list-row input:checked + .kiosk-check { border-color:var(--lime); background:var(--lime); color:var(--olive-dark); box-shadow:inset 2px 2px 5px rgba(87,38,9,.22),inset -2px -2px 5px rgba(255,201,142,.3); }
.kiosk-player { background:#100906; }
.kiosk-player-header,.kiosk-player-footer { border-color:#3a2117; background:#21120c; box-shadow:inset 0 -5px 12px rgba(8,3,1,.26),inset 0 4px 10px rgba(255,220,190,.03); }
.kiosk-brand .brand-icon { width:43px; height:43px; }
.kiosk-progress-copy span,.kiosk-fullscreen-button span { color:#ff963b; }
.kiosk-exit-button,.kiosk-transport button,.kiosk-fullscreen-button { border-color:#4d2d21; background:#2d1911; box-shadow:4px 4px 9px rgba(5,2,1,.35),-3px -3px 7px rgba(255,223,196,.04); }
.kiosk-transport .kiosk-play-button { background:var(--lime); color:var(--olive-dark); box-shadow:5px 5px 12px rgba(5,2,1,.38),-3px -3px 8px rgba(255,178,104,.12); }
.kiosk-loading > span { border-color:#593120; border-top-color:var(--lime); }

@media (max-width:1380px) {
  .video-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}

@media (max-width:1020px) {
  .login-screen { grid-template-columns:1fr 1fr; }
  .featured { grid-template-columns:1fr 270px; }
  .featured-copy { padding:43px 36px; }
  .video-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .workspace-grid,.outlet-workspace { grid-template-columns:1fr; }
  .guidance-panel { display:none; }
}

@media (max-width:820px) {
  .login-screen { grid-template-columns:1fr; }
  .login-story { display:none; }
  .login-panel { padding:28px; }
  .mobile-brand { display:flex; align-items:center; gap:10px; margin-bottom:56px; font-size:20px; }
  .portal-shell { grid-template-columns:1fr; }
  .sidebar { position:fixed; left:0; top:0; width:250px; transform:translateX(-105%); box-shadow:20px 0 50px rgba(43,45,38,.17); transition:transform .2s ease; }
  body.menu-open::after { content:""; position:fixed; z-index:15; inset:0; background:rgba(31,34,28,.4); }
  body.menu-open .sidebar { transform:translateX(0); }
  .content { padding:24px 24px 48px; }
  .menu-button { display:block; flex:0 0 auto; }
  .topbar { align-items:flex-start; }
  .topbar-actions { margin-left:auto; }
  .search { display:none; }
}

@media (max-width:620px) {
  .login-panel { min-height:100svh; padding:25px 20px; }
  .mobile-brand { margin-bottom:44px; }
  .login-card h2 { font-size:33px; }
  .content { padding:20px 16px 40px; }
  .topbar { gap:11px; margin-bottom:24px; }
  .topbar .eyebrow { display:none; }
  .topbar h1 { padding-top:8px; font-size:21px; }
  .topbar-actions .round-button { display:none; }
  .featured { display:block; min-height:auto; }
  .featured-copy { padding:38px 27px 36px; }
  .featured h2 { font-size:38px; }
  .featured-art { min-height:215px; }
  .library-section { margin-top:39px; }
  .section-heading { align-items:flex-start; }
  .library-actions { align-items:flex-end; flex-direction:column; gap:7px; }
  .kiosk-launch-button { min-height:34px; padding:0 10px; }
  .video-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
  .video-grid.is-list { grid-template-columns:1fr; }
  .video-grid.is-list .video-card { grid-template-columns:112px minmax(0,1fr); }
  .video-grid.is-list .thumbnail { height:70px; }
  .workspace-grid { gap:14px; }
  .upload-panel,.create-outlet-panel,.outlet-list-panel { padding:24px 19px; }
  .form-grid { grid-template-columns:1fr; gap:0; }
  .published-panel { padding:20px 12px; }
  th:nth-child(2),td:nth-child(2),th:nth-child(3),td:nth-child(3) { display:none; }
  .outlet-row { grid-template-columns:auto minmax(0,1fr) auto; }
  .outlet-code { display:none; }
  .outlet-row .active-badge { display:none; }
  .player-modal { padding:0; }
  .player-dialog { width:100%; max-height:100vh; border-radius:0; }
  .player-dialog header { padding:17px 18px; }
  .player-dialog h2 { font-size:20px; }
  .player-footer { align-items:stretch; flex-direction:column; gap:13px; padding:15px 17px 18px; }
  .player-footer > p { max-width:none; }
  .player-options { width:100%; margin-left:0; }
  .repeat-option,.fullscreen-button { flex:1; }
  .fullscreen-button { justify-content:center; }
  .share-modal { padding:0; }
  .share-dialog { width:100%; border-radius:0; }
  .share-dialog > header,.share-body,.share-dialog > footer { padding-left:18px; padding-right:18px; }
  .share-heading h2 { font-size:23px; }
  .share-dialog > footer { align-items:stretch; flex-direction:column-reverse; }
  .share-dialog > footer .button { width:100%; }
  .kiosk-setup-modal { padding:0; }
  .kiosk-setup-dialog { width:100%; max-height:100vh; border-radius:0; }
  .kiosk-setup-dialog > header,.kiosk-setup-copy,.kiosk-list,.kiosk-setup-dialog > footer { padding-left:17px; padding-right:17px; }
  .kiosk-setup-dialog h2 { font-size:23px; }
  .kiosk-list-row { gap:8px; padding:9px 8px; }
  .kiosk-list-row > label { gap:8px; }
  .kiosk-order { display:none; }
  .kiosk-setup-dialog > footer { align-items:stretch; flex-direction:column; }
  .kiosk-setup-dialog > footer > div { display:grid; grid-template-columns:1fr 1fr; }
  .kiosk-player-header { grid-template-columns:minmax(0,1fr) auto; min-height:68px; padding:10px 12px; }
  .kiosk-progress-copy { display:none; }
  .kiosk-exit-button { padding-left:10px; }
  .kiosk-exit-button > span { width:22px; height:22px; }
  .kiosk-player-footer { grid-template-columns:1fr auto; min-height:76px; padding:10px 12px; }
  .kiosk-current-meta { display:none; }
  .kiosk-fullscreen-button { padding:0 10px; }
  .toast { right:16px; top:16px; }
}

@media (max-width:420px) {
  .video-grid { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce) {
  * { scroll-behavior:auto !important; transition:none !important; }
}
