@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-400-normal-CJ-V5oYT.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-grotesk-latin-ext-400-normal-CfP_5XZW.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-500-normal-lFbtlQH6.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/space-grotesk-latin-ext-500-normal-DUe3BAxM.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-600-normal-DjKNqYRj.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/space-grotesk-latin-ext-600-normal-DxxdqCpr.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-700-normal-RjhwGPKo.woff2) format("woff2")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-grotesk-latin-ext-700-normal-BQnZhY3m.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2) format("woff2")}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-kr-korean-400-normal-CERZrUqY.woff2) format("woff2");unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF,U+FF00-FFEF}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-kr-korean-500-normal-Ckzu_fXz.woff2) format("woff2");unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF,U+FF00-FFEF}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-kr-korean-600-normal-CluKJkJB.woff2) format("woff2");unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF,U+FF00-FFEF}@font-face{font-family:Noto Sans KR;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-kr-korean-700-normal-C6l4wo6f.woff2) format("woff2");unicode-range:U+1100-11FF,U+3000-303F,U+3130-318F,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF,U+FF00-FFEF}:root{--g-0: #000000;--g-1: #0a0a0a;--g-2: #141414;--g-3: #1f1f1f;--g-4: #2b2b2b;--g-5: #3d3d3d;--g-6: #575757;--g-7: #7a7a7a;--g-8: #a3a3a3;--g-9: #c9c9c9;--g-10: #e5e5e5;--g-11: #f5f5f5;--g-12: #ffffff;--bg-app: #000000;--bg-card: rgba(255, 255, 255, .034);--bg-inset: rgba(255, 255, 255, .045);--bg-raised: rgba(255, 255, 255, .07);--bg-hover: rgba(255, 255, 255, .065);--bg-field: rgba(0, 0, 0, .34);--bg-float: rgba(0, 0, 0, .74);--bg-solid: #0a0a0a;--bg-select: #141414;--bg-backdrop: rgba(0, 0, 0, .62);--line: rgba(255, 255, 255, .085);--line-strong: rgba(255, 255, 255, .17);--text-primary: #ffffff;--text-secondary: #a3a3a3;--text-tertiary: #7a7a7a;--text-inverse: #000000;--glass-sheen: linear-gradient(180deg, rgba(255, 255, 255, .05), transparent 46%);--glass-rim: inset 0 1px 0 rgba(255, 255, 255, .09);--shadow-card: 0 1px 2px rgba(0, 0, 0, .5), 0 8px 24px rgba(0, 0, 0, .35);--shadow-float: 0 12px 40px rgba(0, 0, 0, .6);--shadow-field: inset 0 1px 2px rgba(0, 0, 0, .25);--accent: #ffffff;--accent-text: #000000;--accent-hover: #e5e5e5;--glow-soft: 0 0 0 1px rgba(255, 255, 255, .22), 0 0 18px rgba(255, 255, 255, .16);--glow-focus: 0 0 0 2px #000000, 0 0 0 4px rgba(255, 255, 255, .85), 0 0 16px rgba(255, 255, 255, .25);--nav-rail: #ffffff;--nav-rail-glow: 0 0 12px rgba(255, 255, 255, .55);--danger-line: rgba(255, 255, 255, .55);--status-strong: #ffffff;--status-muted: #7a7a7a;--canvas-checker-a: #141414;--canvas-checker-b: #1f1f1f;--selection: rgba(255, 255, 255, .9);--selection-fill: rgba(255, 255, 255, .06);--guide: rgba(255, 255, 255, .65);--scrim-ambient: radial-gradient(120% 90% at 50% 0%, transparent 35%, rgba(0, 0, 0, .72) 100%);--ambient-veil: rgba(0, 0, 0, .55);--ambient-opacity: 1;--radius-card: 14px;--radius-control: 10px;--radius-pill: 999px;--blur-float: 18px;--font-display: "Space Grotesk", "Noto Sans KR", system-ui, sans-serif;--font-body: "Inter", "Noto Sans KR", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Noto Sans KR", ui-monospace, monospace;--ease: cubic-bezier(.2, .8, .2, 1);color-scheme:dark}:root[data-theme=light]{--bg-app: #f2f2f2;--bg-card: rgba(255, 255, 255, .6);--bg-inset: rgba(0, 0, 0, .045);--bg-raised: rgba(255, 255, 255, .85);--bg-hover: rgba(0, 0, 0, .05);--bg-field: rgba(255, 255, 255, .9);--bg-float: rgba(255, 255, 255, .84);--bg-solid: #ffffff;--bg-select: #ffffff;--bg-backdrop: rgba(0, 0, 0, .32);--line: rgba(0, 0, 0, .1);--line-strong: rgba(0, 0, 0, .2);--text-primary: #000000;--text-secondary: #575757;--text-tertiary: #666666;--text-inverse: #ffffff;--glass-sheen: linear-gradient(180deg, rgba(255, 255, 255, .7), transparent 46%);--glass-rim: inset 0 1px 0 rgba(255, 255, 255, .9);--shadow-card: 0 1px 2px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .06);--shadow-float: 0 12px 40px rgba(0, 0, 0, .16);--shadow-field: inset 0 1px 2px rgba(0, 0, 0, .06);--accent: #000000;--accent-text: #ffffff;--accent-hover: #2b2b2b;--glow-soft: 0 0 0 1px rgba(0, 0, 0, .18), 0 4px 14px rgba(0, 0, 0, .12);--glow-focus: 0 0 0 2px #ffffff, 0 0 0 4px rgba(0, 0, 0, .85);--nav-rail: #000000;--nav-rail-glow: none;--danger-line: rgba(0, 0, 0, .55);--status-strong: #000000;--status-muted: #666666;--canvas-checker-a: #e5e5e5;--canvas-checker-b: #f5f5f5;--selection: rgba(0, 0, 0, .85);--selection-fill: rgba(0, 0, 0, .05);--guide: rgba(0, 0, 0, .6);--scrim-ambient: radial-gradient(120% 90% at 50% 0%, transparent 40%, rgba(242, 242, 242, .8) 100%);--ambient-veil: rgba(242, 242, 242, .45);color-scheme:light}:root[data-effects=off]{--blur-float: 0px;--bg-float: #0a0a0a;--ambient-opacity: 0}:root[data-effects=off][data-theme=light]{--bg-float: #ffffff}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100dvh;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.01em;margin:0;line-height:1.2}:lang(ko) h1,:lang(ko) h2,:lang(ko) h3,:lang(ko) h4{letter-spacing:0;word-break:keep-all}:lang(ko){word-break:keep-all;overflow-wrap:anywhere}h1{font-size:24px}h2{font-size:18px}h3{font-size:15px}p{margin:0}a{color:inherit}.mono,.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-secondary)}.subtle{color:var(--text-tertiary)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}:focus-visible{outline:none;box-shadow:var(--glow-focus);border-radius:var(--radius-control)}.card{background:var(--glass-sheen),var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-card);box-shadow:var(--glass-rim),var(--shadow-card);min-width:0}.card-pad{padding:18px}.inset{background:var(--bg-inset);border:1px solid var(--line);border-radius:var(--radius-control)}.float{background:var(--bg-float);-webkit-backdrop-filter:blur(var(--blur-float));backdrop-filter:blur(var(--blur-float));border:1px solid var(--line-strong);box-shadow:var(--glass-rim),var(--shadow-float)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:0 14px;border-radius:var(--radius-control);border:1px solid var(--line-strong);background:var(--bg-raised);color:var(--text-primary);font:500 13px/1 var(--font-body);cursor:pointer;white-space:nowrap;transition:background .15s var(--ease),box-shadow .2s var(--ease),transform .1s var(--ease);user-select:none}.btn:hover{background:var(--bg-hover)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);color:var(--accent-text);border-color:transparent}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--glow-soft)}.btn-ghost{background:transparent;border-color:transparent}.btn-ghost:hover{background:var(--bg-hover)}.btn-danger{background:transparent;border:1px dashed var(--danger-line)}.btn-sm{min-height:30px;padding:0 10px;font-size:12px}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.btn svg{width:16px;height:16px;flex:none}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label,.label{font-size:12px;font-weight:500;color:var(--text-secondary)}.hint{font-size:12px;color:var(--text-tertiary)}.error-text{font-size:12px;color:var(--text-primary);display:flex;gap:6px;align-items:center}.error-text:before{content:"!";display:inline-grid;place-items:center;width:16px;height:16px;border-radius:50%;border:1px solid var(--text-primary);font-size:11px;font-weight:700;flex:none}.input,.select,.textarea{width:100%;min-width:0;min-height:38px;padding:8px 12px;border-radius:var(--radius-control);border:1px solid var(--line);background:var(--bg-field);color:var(--text-primary);font:400 14px/1.4 var(--font-body);box-shadow:var(--shadow-field)}.textarea{resize:vertical;min-height:80px}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--line-strong);box-shadow:var(--glow-focus)}.input[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger-line);border-style:dashed}.select{appearance:none;background-color:var(--bg-select);background-image:linear-gradient(45deg,transparent 50%,var(--text-secondary) 50%),linear-gradient(135deg,var(--text-secondary) 50%,transparent 50%);background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}.select option{background:var(--bg-select);color:var(--text-primary)}.input-sm{min-height:30px;padding:4px 8px;font-size:13px}.check{display:inline-flex;gap:8px;align-items:center;cursor:pointer;font-size:13px}.check input{accent-color:var(--accent);width:16px;height:16px}.badge{display:inline-flex;align-items:center;gap:6px;padding:2px 9px;min-height:22px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap}.badge .dot{width:7px;height:7px;border-radius:50%;flex:none}.badge[data-tone=strong]{color:var(--text-primary)}.badge[data-tone=strong] .dot{background:var(--status-strong)}.badge[data-tone=ring] .dot{border:1.5px solid var(--status-strong)}.badge[data-tone=muted] .dot{border:1.5px dashed var(--status-muted)}.badge[data-tone=slash] .dot{background:linear-gradient(135deg,transparent 42%,var(--status-strong) 42%,var(--status-strong) 58%,transparent 58%);border:1px solid var(--status-muted)}.badge[data-tone=solid]{background:var(--accent);color:var(--accent-text);border-color:transparent}.table{width:100%;border-collapse:collapse}.table th{text-align:left;font-size:12px;font-weight:500;color:var(--text-tertiary);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:12px;border-bottom:1px solid var(--line);vertical-align:middle;min-width:0;overflow-wrap:anywhere}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--bg-hover)}@media(max-width:820px){.table thead{display:none}.table,.table tbody,.table tr,.table td{display:block;width:100%}.table tr{padding:10px 4px;border-bottom:1px solid var(--line)}.table td{border:none;padding:5px 12px;display:grid;grid-template-columns:minmax(84px,max-content) minmax(0,1fr);align-items:center;gap:12px}.table td[data-label=""]{grid-template-columns:minmax(0,1fr)}.table td:before{content:attr(data-label);color:var(--text-tertiary);font-size:12px;flex:none}.table td[data-label=""]:before{content:none}}.skeleton{background:linear-gradient(90deg,var(--bg-inset),var(--bg-raised),var(--bg-inset));background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:8px}@keyframes shimmer{to{background-position:-200% 0}}.spinner{width:16px;height:16px;border:2px solid var(--line-strong);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.row{display:flex;align-items:center;gap:10px;min-width:0}.wrap{flex-wrap:wrap}.grow{flex:1 1 auto;min-width:0}.stack{display:flex;flex-direction:column;gap:12px;min-width:0}.divider{height:1px;background:var(--line);border:none;margin:0}.kbd{font-family:var(--font-mono);font-size:11px;border:1px solid var(--line-strong);border-radius:5px;padding:1px 5px;color:var(--text-secondary)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}:root{--sv-font-body: "Inter", "Noto Sans KR", system-ui, sans-serif;--sv-font-display: "Space Grotesk", "Noto Sans KR", system-ui, sans-serif;--sv-font-mono: "JetBrains Mono", "Noto Sans KR", ui-monospace, monospace}.sv-viewport{position:relative;width:100%;height:100%;overflow:hidden;contain:strict}.sv-stage{position:absolute;left:0;top:0;transform-origin:0 0;overflow:hidden}.sv-clip{position:absolute;overflow:hidden}.sv-media-box{position:absolute}.sv-media{display:block;width:100%;height:100%;object-fit:fill;user-select:none;-webkit-user-drag:none}.sv-media-box>.sv-media{position:absolute;inset:0}.sv-live{position:absolute;inset:0}.sv-live video,.sv-live canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.sv-live.sv-cover video,.sv-live.sv-cover canvas{object-fit:cover}.sv-layer{position:absolute;transform-origin:50% 50%}.sv-fill{display:block;width:100%;height:100%;user-select:none;-webkit-user-drag:none}.sv-text{display:flex;flex-direction:column;width:100%;height:100%;box-sizing:border-box;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:keep-all;font-variant-numeric:tabular-nums}.ambient{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;opacity:var(--ambient-opacity);contain:strict}.ambient-layer{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 2.4s linear;will-change:opacity}.ambient-layer.on{opacity:1}.ambient-veil{position:absolute;inset:0;background:var(--scrim-ambient),var(--ambient-veil)}:root[data-effects=off] .ambient-layer{transition:none}.shell{position:relative;z-index:1;display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;gap:6px;padding:18px 12px;border-right:1px solid var(--line);overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 16px;font-family:var(--font-display);font-weight:700;font-size:18px;letter-spacing:-.02em}.brand-mark{width:26px;height:26px;border-radius:8px;background:var(--accent);color:var(--accent-text);display:grid;place-items:center;font-size:15px}.nav-section{margin-top:14px;padding:0 10px 4px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary)}.nav a{position:relative;display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-control);color:var(--text-secondary);text-decoration:none;font-weight:500}.nav a:hover{background:var(--bg-hover);color:var(--text-primary)}.nav a.active{background:var(--bg-raised);color:var(--text-primary)}.nav a.active:before{content:"";position:absolute;left:-12px;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--nav-rail);box-shadow:var(--nav-rail-glow)}.sidebar-foot{margin-top:auto;display:flex;flex-direction:column;gap:8px;padding-top:12px}.main{min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;min-height:58px;padding:10px 24px;background:var(--bg-float);-webkit-backdrop-filter:blur(var(--blur-float));backdrop-filter:blur(var(--blur-float));border-bottom:1px solid var(--line)}.topbar .menu-btn{display:none}.content{--content-pad: 24px;padding:var(--content-pad);min-width:0;width:100%;max-width:1360px;margin:0 auto}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.page-head p{margin-top:6px;max-width:70ch}.lang-switch{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--radius-pill);padding:2px}.lang-switch button{white-space:nowrap;border:none;background:transparent;color:var(--text-secondary);font:500 12px/1 var(--font-body);padding:6px 10px;border-radius:var(--radius-pill);cursor:pointer}.lang-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.rtt-chip{font-size:12px;color:var(--text-tertiary);white-space:nowrap}.banner{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px dashed var(--line-strong);border-radius:var(--radius-card);background:var(--bg-inset);margin-bottom:16px}.drawer-backdrop{display:none}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}.grid-2{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.stat{display:flex;flex-direction:column;gap:6px}.stat .value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:28px;font-weight:500}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar .input{max-width:280px}.toolbar .select{width:auto;min-width:140px}.filters-toggle{display:none}.empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;text-align:center}.empty-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:14px;border:1px solid var(--line-strong);background:var(--bg-inset)}.thumb{width:64px;aspect-ratio:16 / 9;border-radius:8px;background:repeating-conic-gradient(var(--canvas-checker-a) 0 25%,var(--canvas-checker-b) 0 50%) 0 0 / 12px 12px;object-fit:cover;flex:none;border:1px solid var(--line)}.media-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr))}.media-card{display:flex;flex-direction:column;overflow:hidden;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.media-card .preview{aspect-ratio:16 / 10;background:repeating-conic-gradient(var(--canvas-checker-a) 0 25%,var(--canvas-checker-b) 0 50%) 0 0 / 16px 16px;display:grid;place-items:center;overflow:hidden}.media-card .preview img{width:100%;height:100%;object-fit:contain}.media-card .meta{padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.media-card[aria-pressed=true]{box-shadow:var(--glow-focus)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-card);padding:26px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;background:var(--bg-inset);transition:background .15s}.dropzone.drag{background:var(--bg-raised);border-style:solid}.progress{height:4px;border-radius:4px;background:var(--bg-inset);overflow:hidden}.progress>span{display:block;height:100%;background:var(--accent);transition:width .2s}.copy-field{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;min-width:0}.copy-field code{font-size:12px}.segmented{display:inline-flex;padding:3px;gap:2px;flex-wrap:wrap}.segmented button{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--text-secondary);padding:6px 10px;border-radius:8px;font:500 12px/1 var(--font-body);cursor:pointer}.segmented button.active{background:var(--bg-raised);color:var(--text-primary);box-shadow:var(--glass-rim)}.pager{justify-content:flex-end;margin-top:14px}.kv{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 16px;font-size:13px}.kv dt{color:var(--text-tertiary)}.kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.form-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}.metric{display:flex;flex-direction:column;gap:2px}.metric .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:18px}.code-box{font-family:var(--font-mono);font-size:30px;letter-spacing:.12em;text-align:center;padding:18px}.modal-backdrop{position:fixed;inset:0;z-index:100;background:var(--bg-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:grid;place-items:center;padding:16px}:root[data-effects=off] .modal-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.modal{width:min(520px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;border-radius:var(--radius-card);outline:none}.modal-wide{width:min(860px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 6px 20px}.modal-body{padding:10px 20px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px 16px;border-top:1px solid var(--line);flex-wrap:wrap}.toasts{position:fixed;z-index:200;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;max-width:min(420px,calc(100vw - 32px))}.toast{display:flex;gap:10px;align-items:center;padding:12px 14px;border-radius:12px;font-size:13px}.toast[data-tone=error]{border-style:dashed}.auth-wrap{position:relative;z-index:1;min-height:100dvh;display:grid;place-items:center;padding:20px}.auth-card{width:min(400px,100%);padding:28px;display:flex;flex-direction:column;gap:16px}.editor{margin:calc(var(--content-pad) * -1);display:grid;grid-template-columns:260px minmax(0,1fr) 300px;grid-template-rows:auto minmax(0,1fr);height:calc(100dvh - 58px);min-height:520px}.editor-bar{grid-column:1 / -1;display:flex;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap;min-width:0}.editor-side{border-right:1px solid var(--line);overflow-y:auto;padding:12px;min-width:0}.editor-inspector{border-left:1px solid var(--line);overflow-y:auto;padding:12px;min-width:0}.editor-stage{position:relative;min-width:0;min-height:0;overflow:hidden;display:grid;place-items:center;background:var(--bg-inset)}.stage-frame{position:relative;background:repeating-conic-gradient(var(--canvas-checker-a) 0 25%,var(--canvas-checker-b) 0 50%) 0 0 / 20px 20px;box-shadow:0 0 0 1px var(--line-strong);touch-action:none}.stage-frame .sv-viewport{position:absolute;inset:0}.overlay{position:absolute;inset:0;transform-origin:0 0}.sel-box{position:absolute;cursor:move;touch-action:none}.sel-box.hover{outline:1px dashed var(--selection)}.sel-box.selected{outline:1.5px solid var(--selection);background:var(--selection-fill)}.sel-box.locked{cursor:not-allowed}.handle{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;background:var(--accent);border:1.5px solid var(--accent-text);border-radius:3px;touch-action:none}.guide{position:absolute;background:var(--guide);pointer-events:none}.layer-row{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:8px;cursor:pointer;min-width:0}.layer-row:hover{background:var(--bg-hover)}.layer-row.selected{background:var(--bg-raised);box-shadow:var(--glass-rim)}.panel-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin:14px 2px 8px}.num-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.num-field{display:flex;align-items:center;gap:6px}.num-field span{width:18px;font-size:11px;color:var(--text-tertiary);text-align:center;flex:none}.color-field{display:flex;gap:8px;align-items:center}.color-field input[type=color]{width:38px;height:32px;padding:2px;border:1px solid var(--line);border-radius:8px;background:var(--bg-field);flex:none}.editor-mobile-toggle{display:none}@media(max-width:1100px){.editor{grid-template-columns:220px minmax(0,1fr) 260px}}@media(max-width:900px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;z-index:60;left:0;top:0;width:min(290px,86vw);background:var(--bg-float);-webkit-backdrop-filter:blur(var(--blur-float));backdrop-filter:blur(var(--blur-float));transform:translate(-102%);transition:transform .22s var(--ease)}.shell.drawer-open .sidebar{transform:none}.shell.drawer-open .drawer-backdrop{display:block;position:fixed;inset:0;z-index:50;background:var(--bg-backdrop)}.topbar{padding:10px 14px}.topbar .menu-btn{display:inline-flex}.content{--content-pad: 16px}.topbar{gap:6px}.filters-toggle{display:inline-flex}.toolbar .filters{display:none;width:100%;flex-direction:column;align-items:stretch}.toolbar .filters.open{display:flex}.toolbar .filters .select,.toolbar .input{max-width:none;width:100%}.editor{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(260px,1fr) auto;height:auto;min-height:calc(100dvh - 58px)}.editor-stage{min-height:56vw}.editor-side,.editor-inspector{border:none;border-top:1px solid var(--line);display:none}.editor[data-panel=layers] .editor-side,.editor[data-panel=props] .editor-inspector{display:block}.editor-mobile-toggle{display:inline-flex}.rtt-chip.hide-sm{display:none}}@media(max-width:520px){.page-head{align-items:stretch}.page-head>.row{width:100%}.modal-foot .btn{flex:1 1 auto}.stat .value{font-size:24px}}
