:root{color-scheme:dark;font-family:Inter,Segoe UI,sans-serif;background:#0b0d12;color:#f5f7fb}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #222733}.brand{font-weight:700}.app-header nav{display:flex;gap:1rem}.app-main{flex:1;min-height:0;padding:1.5rem;display:flex;flex-direction:column}.page-intro{margin-bottom:1.25rem}.page-intro h1{margin:0 0 .35rem;font-size:1.75rem;letter-spacing:-.02em}.page-intro .muted{margin:0;max-width:48rem;line-height:1.5}.toolbar,.player-toolbar{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}input[type=text],input:not([type=checkbox]){padding:.5rem .75rem;border-radius:.5rem;border:1px solid #2d3444;background:#121722;color:inherit}button{padding:.5rem .9rem;border-radius:.5rem;border:1px solid #394158;background:#1a2130;color:inherit;cursor:pointer}button.secondary{background:transparent}button:disabled{opacity:.6;cursor:not-allowed}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.local-player-page{gap:.65rem}.local-player-page .page-intro{margin-bottom:.35rem;flex-shrink:0}.local-player-page .page-intro .muted{display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.local-player-page>.local-command-bar,.local-player-page>.transport-bar,.local-player-page>.local-player-error{flex-shrink:0}.local-player-page>.player-dropzone{flex:1 1 0;min-height:0;display:flex;flex-direction:column}.local-player-page .player-stage{flex:1 1 0;min-height:0}.local-player-intro{position:relative}.local-player-intro .back-link,.player-head-main .back-link{display:inline-block;margin-bottom:.5rem;font-size:.85rem;color:#8b93a7}.local-player-intro .back-link:hover,.player-head-main .back-link:hover{color:#f5f7fb}.player-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem 1.25rem;align-items:start}.player-head-main{min-width:0}.player-head-main h1{margin:.15rem 0 .25rem;font-size:1.35rem;letter-spacing:-.02em}.player-description{margin:0 0 .35rem;font-size:.88rem;line-height:1.4;color:#8b93a7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.player-head-actions{display:flex;flex-direction:column;align-items:flex-end}.player-head-actions .transport-controls{justify-content:flex-end}.player-head .player-meta{margin:0;gap:.5rem .75rem}@media(max-width:720px){.player-head{grid-template-columns:1fr}.player-head-actions{align-items:stretch}.player-head-actions .transport-controls{justify-content:flex-start}}.local-command-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1rem;padding:.65rem .85rem;border:1px solid #252b3a;border-radius:.65rem;background:linear-gradient(180deg,#ffffff0a,#ffffff03)}.command-main,.command-alt{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.btn-accent{padding:.5rem 1rem;border:none;border-radius:.5rem;background:#f0f3fa;color:#0b0d12;font-weight:600;cursor:pointer}.btn-accent:hover:not(:disabled){background:#fff}.btn-ghost{padding:.45rem .65rem;border:none;border-radius:.4rem;background:transparent;color:#9aa3b8;cursor:pointer}.btn-ghost:hover:not(:disabled){color:#f5f7fb;background:#ffffff0f}.select-compact select{padding:.45rem .6rem;border-radius:.45rem;border:1px solid #2d3444;background:#0f131c;color:#c5ccdc;font-size:.85rem}.transport-bar{display:flex;flex-direction:column;gap:.5rem}.transport-controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.btn-chip{padding:.35rem .7rem;border-radius:999px;border:1px solid #2d3444;background:#141a26;color:#d5dbe8;font-size:.82rem;cursor:pointer}.btn-chip:hover:not(:disabled){border-color:#3d4a63;background:#1a2230}.btn-chip-strong{border-color:#4a5f88;background:#1e2a42;color:#f5f7fb}.transport-meta{display:flex;flex-wrap:wrap;gap:.75rem;font-size:.82rem;color:#8b93a7}.transport-mode{color:#aab2c5}.player-playback-time{font-size:.88rem;color:#8b93a7;font-variant-numeric:tabular-nums;white-space:nowrap;align-self:center;padding:0 .15rem}.local-player-error{margin:0}.player-empty .empty-title{margin:0;font-size:1.05rem;font-weight:500;color:#e8ecf4}.player-empty .empty-hint{margin:.35rem 0 .75rem;max-width:22rem;line-height:1.5}.btn-link{padding:0;border:none;background:none;color:#8b93a7;font-size:.85rem;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}.btn-link:hover:not(:disabled){color:#dbe4ff}.player-dropzone:not(.has-session) .player-stage{border-style:dashed;border-color:#2a3142;background:#080a0f}.dropzone-overlay{font-size:.9rem}.content-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.75rem;border:1px solid #394158}.content-badge.mature{color:#ffb4b4;border-color:#7a3a3a;background:#7a3a3a2e}.gallery-result-count{margin:0 0 1rem;color:#8b93a7;font-size:.9rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.gallery-card{border:1px solid #2a3142;border-radius:.75rem;overflow:hidden;background:#121722}.gallery-card-thumb{aspect-ratio:16 / 9;background:#090b10}.gallery-card-thumb img,.placeholder{width:100%;height:100%;object-fit:cover;display:grid;place-items:center;color:#8b93a7}.gallery-card-body{padding:1rem}.gallery-card-body h2{margin:0 0 .5rem;font-size:1.1rem}.gallery-card-body p{margin:0 0 .75rem;color:#aab2c5}.meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:#8b93a7}.player-page{display:flex;flex:1;flex-direction:column;gap:.65rem;min-height:0}.player-dropzone{position:relative}.player-dropzone.has-session .dropzone-overlay{border-radius:.75rem}.player-page>.player-stage-wrap{flex:1 1 0;min-height:max(14rem,calc(100dvh - 12rem))}.local-player-page .player-dropzone.has-session .player-stage-wrap{flex:1 1 0;min-height:0}.player-stage{display:flex;flex-direction:column;border:1px solid #2a3142;border-radius:.75rem;overflow:hidden;background:#000}.player-dropzone.drag-active .player-stage{border-color:#5b8cff;box-shadow:0 0 0 1px #5b8cff59}.dropzone-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;gap:.35rem;border:2px dashed #5b8cff;border-radius:.75rem;background:#0b0d12d1;color:#dbe4ff;text-align:center;pointer-events:none}.dropzone-panel{display:grid;gap:.75rem;max-width:36rem}.dropzone-panel strong{font-size:1.1rem}.dropzone-list{margin:0;padding-left:1.1rem;text-align:left;color:#aab2c5}.dropzone-list li+li{margin-top:.35rem}.dropzone-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.player-stage>*{flex:1 1 0;min-height:0;width:100%;height:100%}.player-stage [data-testid=webxr-viewport]{position:relative;min-height:0}.player-stage canvas{display:block}.player-stage-wrap{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}.player-stage-wrap>.player-stage{flex:1 1 0;min-height:0}.viewport-pad{position:absolute;right:.85rem;bottom:.85rem;z-index:24;pointer-events:none}.viewport-pad-ring{position:relative;width:7.25rem;height:7.25rem;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:#080a10b8;box-shadow:0 4px 18px #00000073;pointer-events:auto}.viewport-pad-arrow,.viewport-pad-reset{position:absolute;border:none;background:transparent;color:#e8ecf4;cursor:pointer;padding:0;display:grid;place-items:center}.viewport-pad-arrow{width:2rem;height:2rem;border-radius:50%}.viewport-pad-arrow:hover{background:#ffffff1a}.viewport-pad-arrow:active{background:#ffffff2e}.viewport-pad-arrow-up{top:.2rem;left:50%;transform:translate(-50%)}.viewport-pad-arrow-right{right:.2rem;top:50%;transform:translateY(-50%)}.viewport-pad-arrow-down{bottom:.2rem;left:50%;transform:translate(-50%)}.viewport-pad-arrow-left{left:.2rem;top:50%;transform:translateY(-50%)}.viewport-pad-reset{width:2.35rem;height:2.35rem;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,255,255,.35);background:#ffffff1f}.viewport-pad-reset:hover{background:#ffffff38}.viewport-pad-chevron{display:block;width:0;height:0;border-style:solid}.viewport-pad-chevron-up{border-width:0 .35rem .55rem;border-color:transparent transparent currentColor transparent;margin-top:-.1rem}.viewport-pad-chevron-down{border-width:.55rem .35rem 0;border-color:currentColor transparent transparent transparent;margin-bottom:-.1rem}.viewport-pad-chevron-left{border-width:.35rem .55rem .35rem 0;border-color:transparent currentColor transparent transparent;margin-left:-.1rem}.viewport-pad-chevron-right{border-width:.35rem 0 .35rem .55rem;border-color:transparent transparent transparent currentColor;margin-right:-.1rem}.player-empty{display:grid;place-items:center;gap:1rem;padding:2rem;text-align:center;color:#aab2c5}.player-empty p{margin:0}.muted{color:#8b93a7;font-size:.85rem}.error{color:#ff8a8a}.age-gate-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;padding:1.5rem;background:#05070cb8}.age-gate-dialog{width:min(100%,32rem);padding:1.5rem;border:1px solid #394158;border-radius:.85rem;background:#121722;box-shadow:0 24px 64px #00000073}.age-gate-dialog h2{margin:0 0 .75rem;font-size:1.25rem}.age-gate-dialog p{margin:0 0 .75rem;line-height:1.5}.age-gate-note{margin-bottom:1rem}.age-gate-actions{display:flex;justify-content:flex-end;gap:.75rem}
