:root{--3ds-primary: #e60023;--3ds-primary-hover: #AD081B;--brand-primary: #e60023;--page-background: #ffffff;--surface-subtle: #f7f7f7;--text-primary: #111111;--studio-canvas: #191919;--panel-border: #e6e6e6;--radius-control: 10px;--radius-panel: 14px;--radius-card: 18px;--3ds-canvas: #FFFFFF;--3ds-surface-secondary: #F7F7F7;--3ds-search-surface: #E9E9E9;--3ds-text-primary: #111111;--3ds-text-secondary: #5F5F5F;--3ds-border-subtle: #E6E6E6;--3ds-focus: #111111;--3ds-success: #0d7a48;--3ds-warning: #b54708;--3ds-error: #b42318;--3ds-radius-card: 18px;--3ds-radius-pill: 999px;--3ds-radius-panel: 14px;--3ds-radius-control: 10px;--3ds-space-1: 4px;--3ds-space-2: 8px;--3ds-space-3: 12px;--3ds-space-4: 16px;--3ds-space-5: 24px;--3ds-space-6: 32px;--3ds-space-7: 48px;--3ds-space-8: 64px;--3ds-space-9: 96px;--3ds-motion-fast: .15s;--3ds-content-max: 1440px;--3ds-card-min: 220px;--3ds-font-body: "Inter", system-ui, sans-serif;--3ds-font-display: "Inter", system-ui, sans-serif}@media(prefers-reduced-motion:reduce){:root{--3ds-motion-fast: 0ms}}.ui-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--3ds-border-subtle, #DEDEDE);background:var(--3ds-canvas, #fff);border-radius:var(--3ds-radius-pill, 999px);padding:.55rem 1rem;min-height:44px;cursor:pointer;font-weight:600;font-size:.9375rem;line-height:1.25;color:var(--3ds-text-primary, #111);transition:background var(--3ds-motion-fast),border-color var(--3ds-motion-fast),color var(--3ds-motion-fast)}.ui-btn:focus-visible{outline:2px solid var(--3ds-focus, #111);outline-offset:2px}.ui-btn:disabled{opacity:.55;cursor:not-allowed}.ui-btn--primary{background:var(--3ds-primary, #E60023);border-color:var(--3ds-primary, #E60023);color:#fff}.ui-btn--primary:hover:not(:disabled){background:var(--3ds-primary-hover, #AD081B);border-color:var(--3ds-primary-hover, #AD081B)}.ui-btn--secondary{background:var(--3ds-surface-secondary, #F7F7F7)}.ui-btn--ghost{background:transparent;border-color:transparent}.ui-btn--danger{background:var(--3ds-error, #b42318);border-color:var(--3ds-error, #b42318);color:#fff}.ui-search{display:flex;align-items:center;gap:var(--3ds-space-2, 8px);background:var(--3ds-search-surface, #E9E9E9);border-radius:var(--3ds-radius-pill, 999px);padding:.5rem 1rem;min-height:44px;border:1px solid transparent}.ui-search:focus-within{border-color:var(--3ds-focus, #111);outline:none}.ui-search input{flex:1;border:none;background:transparent;font-size:1rem;line-height:1.5;color:var(--3ds-text-primary, #111);min-width:0}.ui-search input:focus{outline:none}.ui-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .75rem;border-radius:var(--3ds-radius-pill, 999px);border:1px solid var(--3ds-border-subtle, #DEDEDE);background:var(--3ds-canvas, #fff);font-size:.875rem;font-weight:500;cursor:pointer;min-height:36px}.ui-chip[aria-pressed=true],.ui-chip.selected{background:var(--3ds-text-primary, #111);color:#fff;border-color:var(--3ds-text-primary, #111)}.ui-chip:focus-visible{outline:2px solid var(--3ds-focus, #111);outline-offset:2px}.ui-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:var(--3ds-radius-pill, 999px);font-size:.8125rem;font-weight:600;line-height:1.25}.ui-badge--neutral{background:var(--3ds-surface-secondary, #F7F7F7);color:var(--3ds-text-secondary, #5F5F5F)}.ui-badge--success{background:#e6f4ed;color:var(--3ds-success, #0d7a48)}.ui-badge--warning{background:#fef3e6;color:var(--3ds-warning, #b54708)}.ui-badge--error{background:#fdecec;color:var(--3ds-error, #b42318)}.ui-badge--accent{background:#fde8eb;color:var(--3ds-primary, #E60023)}.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}.ui-state-panel{background:var(--3ds-canvas, #fff);border:1px solid var(--3ds-border-subtle, #DEDEDE);border-radius:var(--3ds-radius-card, 20px);padding:var(--3ds-space-5, 24px)}.ui-state-panel--empty,.ui-state-panel--error{text-align:center}.ui-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#111 45%,transparent);display:grid;place-items:center;padding:var(--3ds-space-4, 16px);z-index:50}.ui-dialog{width:min(440px,100%);background:var(--3ds-canvas, #fff);border-radius:var(--3ds-radius-card, 20px);padding:var(--3ds-space-5, 24px);border:1px solid var(--3ds-border-subtle, #DEDEDE)}.ui-progress{height:6px;background:var(--3ds-surface-secondary, #F7F7F7);border-radius:var(--3ds-radius-pill, 999px);overflow:hidden}.ui-progress__bar{height:100%;background:var(--3ds-primary, #E60023);transition:width var(--3ds-motion-fast)}:root{--bg: var(--3ds-canvas);--surface: var(--3ds-canvas);--surface-secondary: var(--3ds-surface-secondary);--ink: var(--3ds-text-primary);--muted: var(--3ds-text-secondary);--line: var(--3ds-border-subtle);--accent: var(--3ds-primary);--accent-hover: var(--3ds-primary-hover);--accent-soft: #fde8eb;--danger: var(--3ds-error);--radius: var(--3ds-radius-card);--font-display: var(--3ds-font-display);--font-body: var(--3ds-font-body);color:var(--ink);background:var(--bg);font-family:var(--font-body);font-size:16px;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}img{display:block;max-width:100%}.app{min-height:100vh;display:flex;flex-direction:column}.site-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--3ds-space-4);padding:var(--3ds-space-3) var(--3ds-space-5);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.site-header__search{max-width:560px;width:100%;justify-self:center}.wordmark{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;font-size:1.25rem;color:var(--ink)}.wordmark__symbol{width:28px;height:28px;flex-shrink:0}.wordmark__accent{color:var(--accent)}.nav{display:flex;gap:var(--3ds-space-3);align-items:center;flex-wrap:wrap}.nav a,.nav button.linkish{color:var(--muted);font-weight:500;font-size:.9375rem;min-height:44px;display:inline-flex;align-items:center;padding:0 .25rem;border:none;background:none;cursor:pointer}.nav a.active{color:var(--accent);font-weight:600}.nav a:hover,.nav button.linkish:hover{color:var(--ink)}.nav a:focus-visible,.nav button.linkish:focus-visible{outline:2px solid var(--3ds-focus);outline-offset:2px;border-radius:4px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);border-radius:var(--3ds-radius-pill);padding:.5rem 1rem;min-height:44px;cursor:pointer;font-weight:600;font-size:.9375rem;transition:background .15s,border-color .15s,color .15s}.btn:focus-visible{outline:2px solid var(--3ds-focus);outline-offset:2px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}.btn.ghost{background:transparent}.page{width:min(var(--3ds-content-max),calc(100% - var(--3ds-space-5)));margin:0 auto;padding:var(--3ds-space-5) 0 var(--3ds-space-7);flex:1}.page--narrow{max-width:720px}.muted{color:var(--muted)}.err{color:var(--danger)}.hero{display:grid;gap:var(--3ds-space-5);padding:var(--3ds-space-6) 0 var(--3ds-space-5)}.hero__eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8125rem;font-weight:600;color:var(--muted);margin:0}.hero__title{font-family:var(--font-display);font-size:clamp(2rem,4vw + 1rem,3.5rem);line-height:1.08;letter-spacing:-.03em;margin:0;max-width:18ch}.hero__body{font-size:1.0625rem;line-height:1.55;color:var(--muted);margin:0;max-width:52ch}.hero__actions{display:flex;flex-wrap:wrap;gap:var(--3ds-space-3);align-items:center}.category-row{display:flex;flex-wrap:wrap;gap:var(--3ds-space-2);margin-bottom:var(--3ds-space-5)}.section-title{font-family:var(--font-display);font-size:1.375rem;letter-spacing:-.02em;margin:0 0 var(--3ds-space-4)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(var(--3ds-card-min),1fr));gap:var(--3ds-space-4)}.channel-strip{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,280px);gap:.85rem;overflow-x:auto;padding-bottom:.35rem;margin-bottom:1.25rem;scroll-snap-type:x mandatory}.channel-card{scroll-snap-align:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:.85rem}.channel-card h3{margin:.35rem 0 .15rem;font-family:var(--font-display);font-size:1rem;letter-spacing:-.02em}.channel-previews{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.65rem}.channel-previews a{aspect-ratio:1;border-radius:8px;overflow:hidden;background:var(--3ds-search-surface)}.masonry{columns:4 var(--3ds-card-min);column-gap:var(--3ds-space-4)}.object-card{break-inside:avoid;margin-bottom:var(--3ds-space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.object-card .poster{width:100%;background:var(--3ds-search-surface);display:block;object-fit:cover}.object-card .poster.r11{aspect-ratio:1 / 1}.object-card .poster.r45{aspect-ratio:4 / 5}.object-card .poster.r169{aspect-ratio:16 / 9}.object-card .meta{padding:.85rem 1rem 1rem;display:grid;gap:.5rem}.object-card h2{margin:0;font-size:1rem;font-family:var(--font-display);letter-spacing:-.02em;line-height:1.3}.creator-row{display:flex;align-items:center;gap:.45rem;color:var(--muted);font-size:.875rem}.avatar{width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:.7rem;font-weight:700}.detail-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--3ds-space-5);align-items:start}.detail-panel{position:sticky;top:80px;display:grid;gap:var(--3ds-space-4);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--3ds-space-5)}.viewer-shell{display:flex;flex-direction:column;min-height:calc(100vh - 64px);background:var(--surface-secondary)}.viewer-canvas{min-height:50vh;height:min(60vh,640px);position:relative;background:var(--3ds-search-surface)}.viewer-canvas canvas{display:block;width:100%!important;height:100%!important}.viewer-canvas--message{display:grid;place-items:center;padding:1rem}.viewer-canvas--poster img{width:100%;height:100%;object-fit:contain}.gate{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#111 45%,transparent);display:grid;place-items:center;padding:1rem;z-index:40}.gate-card{width:min(440px,100%);background:var(--surface);border-radius:var(--radius);padding:1.4rem;border:1px solid var(--line)}.gate-card h2{font-family:var(--font-display);letter-spacing:-.03em;margin:0 0 .5rem}.site-footer{border-top:1px solid var(--line);background:var(--surface-secondary);padding:var(--3ds-space-7) var(--3ds-space-5) var(--3ds-space-6);margin-top:auto}.site-footer__grid{width:min(var(--3ds-content-max),calc(100% - var(--3ds-space-5)));margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--3ds-space-5)}.site-footer h3{font-size:.875rem;font-weight:700;margin:0 0 var(--3ds-space-3)}.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--3ds-space-2)}.site-footer a{color:var(--muted);font-size:.875rem}.site-footer a:hover{color:var(--ink)}.create-layout{display:grid;gap:1rem;grid-template-columns:1.2fr .8fr}@media(max-width:900px){.site-header{grid-template-columns:1fr auto;grid-template-areas:"brand account" "search search"}.wordmark{grid-area:brand}.site-header__search{grid-area:search;max-width:none}.site-header__account{grid-area:account}.detail-layout{grid-template-columns:1fr}.detail-panel{position:static}.create-layout{grid-template-columns:1fr}.masonry{columns:2 160px}.hero__title{max-width:none}}textarea.prompt{width:100%;min-height:180px;border-radius:12px;border:1px solid var(--line);padding:.9rem 1rem;resize:vertical;background:var(--surface)}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem}.row{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}.field{display:grid;gap:.35rem;font-weight:600}.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:10px;padding:.65rem .75rem;background:var(--surface);min-height:44px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.create-hero{padding:var(--3ds-space-5) 0 var(--3ds-space-6);max-width:720px}.create-hero__title{font-family:var(--font-display);font-size:clamp(1.75rem,3vw + 1rem,2.5rem);letter-spacing:-.03em;line-height:1.15;margin:.35rem 0 .5rem}.create-hero__tabs{display:flex;gap:.35rem;margin-bottom:.75rem}.create-hero__tabs button{border:1px solid var(--panel-border, var(--line));background:var(--surface);border-radius:var(--radius-control, 10px);padding:.45rem .9rem;min-height:40px;cursor:pointer;font-weight:600;font-size:.875rem;color:var(--muted)}.create-hero__tabs button.active{color:var(--ink);border-color:var(--ink)}.create-hero__panel{background:var(--surface-subtle, var(--surface-secondary));border:1px solid var(--panel-border, var(--line));border-radius:var(--radius-panel, 14px);padding:1rem}.create-hero__drop{border:1px dashed var(--line);border-radius:var(--radius-control, 10px);padding:1.25rem;text-align:center;cursor:pointer;background:var(--surface);font-weight:500}.create-hero__drop:focus-visible{outline:2px solid var(--3ds-focus);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.object-card--focus{outline:2px solid var(--accent);outline-offset:2px}.workspace{display:flex;flex-direction:column;min-height:calc(100vh - 64px);background:var(--surface-subtle, #f7f7f7)}.workspace__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.65rem 1rem;background:var(--surface);border-bottom:1px solid var(--panel-border, var(--line))}.workspace__crumbs{display:flex;gap:.4rem;align-items:center;font-size:.875rem;color:var(--muted)}.workspace__crumbs strong{color:var(--ink)}.workspace__body{display:grid;grid-template-columns:64px 300px minmax(0,1fr) 280px;flex:1;min-height:0}.workspace__rail{display:flex;flex-direction:column;gap:.25rem;padding:.5rem .35rem;background:var(--surface);border-right:1px solid var(--panel-border, var(--line))}.workspace__rail-btn{writing-mode:horizontal-tb;border:none;background:transparent;border-radius:8px;padding:.55rem .25rem;font-size:.7rem;font-weight:600;color:var(--muted);cursor:pointer;min-height:44px}.workspace__rail-btn.active,.workspace__rail-btn:hover{background:var(--accent-soft);color:var(--accent)}.workspace__context{padding:1rem;background:var(--surface);border-right:1px solid var(--panel-border, var(--line));overflow:auto}.workspace__tabs{display:flex;gap:.25rem;margin-bottom:.85rem}.workspace__tabs button{flex:1;border:1px solid var(--line);background:var(--surface-secondary);border-radius:8px;padding:.4rem;font-size:.8125rem;font-weight:600;cursor:pointer;color:var(--muted)}.workspace__tabs button.active{background:var(--surface);color:var(--ink);border-color:var(--ink)}.workspace__stage{position:relative;background:var(--studio-canvas, #191919);min-height:420px}.workspace__stage .viewer-canvas{height:100%;min-height:420px;background:transparent}.workspace__stage-msg{position:absolute;left:1rem;bottom:1rem;margin:0;background:#000000a6;color:#fff;padding:.5rem .75rem;border-radius:8px;font-size:.875rem}.workspace__inspector{padding:1rem;background:var(--surface);border-left:1px solid var(--panel-border, var(--line));overflow:auto}.workspace__meta{display:grid;grid-template-columns:auto 1fr;gap:.35rem .75rem;font-size:.8125rem;margin:0}.workspace__meta dt{color:var(--muted)}.workspace__meta dd{margin:0}.workspace__caps{margin:0;padding-left:1.1rem;font-size:.8125rem;color:var(--muted)}.workspace__materials .field{margin-bottom:.75rem}@media(max-width:1100px){.workspace__body{grid-template-columns:64px 280px minmax(0,1fr)}.workspace__inspector{display:none}}@media(max-width:800px){.workspace__body{grid-template-columns:1fr}.workspace__rail{flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line)}.workspace__context{border-right:none;border-bottom:1px solid var(--line)}.workspace__stage{min-height:360px}}
