:root{--bg: #0e0f14;--surface: #161821;--surface-2: #1d2030;--surface-3: #262a3d;--line: rgba(255, 255, 255, .07);--text: #f3f4f8;--muted: #8d93a8;--accent: #9b7bff;--accent-2: #ff6fb5;--grad: linear-gradient(135deg, #8b5cf6 0%, #d946ef 55%, #ff6fb5 100%);--good: #3ddc97;--mid: #ffc857;--bad: #ff6b6b;--danger: #ff5c7a;--radius: 16px;--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;background:var(--bg)}body{color:var(--text);font:15px/1.4 -apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior:none;user-select:none;-webkit-user-select:none}input,textarea{user-select:text;-webkit-user-select:text}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}button:disabled{opacity:.45;cursor:default}img{display:block}h2{font-size:17px;margin:0;font-weight:700;letter-spacing:-.01em}.row{display:flex;align-items:center}.col{display:flex;flex-direction:column}.gap8{gap:8px}.gap12{gap:12px}.grow{flex:1}.muted{color:var(--muted)}.hint{color:var(--muted);font-size:13px;line-height:1.35}.hint.center{text-align:center}.hint.pad{padding:16px}.title{font-size:17px;font-weight:700;letter-spacing:-.01em}.big-emoji{font-size:44px;line-height:1}.center-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center}.center-pad{padding:40px;display:flex;justify-content:center}.checker{background-color:#2a2d3a;background-image:linear-gradient(45deg,#343849 25%,transparent 25%),linear-gradient(-45deg,#343849 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#343849 75%),linear-gradient(-45deg,transparent 75%,#343849 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:44px;padding:0 18px;border-radius:14px;background:var(--surface-3);font-weight:600;white-space:nowrap;transition:transform .12s ease,opacity .2s}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--grad);color:#fff;box-shadow:0 6px 20px -8px #d946efb3}.btn-soft{background:var(--surface-2);height:40px;padding:0 14px;font-size:14px;border:1px solid var(--line)}.btn-ghost{background:transparent;color:var(--muted)}.btn-sm{height:36px;padding:0 14px;font-size:14px;border-radius:12px}.btn-block{width:100%}.btn.danger,.btn-soft.danger{color:var(--danger)}.btn-row{display:flex;gap:8px;flex-wrap:wrap}.btn-row .btn{flex:1}.icon-btn{width:40px;height:40px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);transition:background .15s}.icon-btn:active:not(:disabled){background:var(--surface-2)}.chip-btn{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font-size:13px;font-weight:600}.chip-btn.accent{background:#9b7bff29;color:#c8b8ff;border-color:#9b7bff4d}.screen{min-height:100%;padding:14px 16px calc(100px + var(--safe-bottom))}.home-head,.screen-head,.pack-head{display:flex;align-items:center;gap:10px;margin-bottom:18px}.home-head>div:first-child,.screen-head>div:first-child{flex:1}.brand{font-size:26px;font-weight:800;letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.section{margin-bottom:26px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.empty-card{border:1.5px dashed rgba(155,123,255,.35);border-radius:20px;padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:radial-gradient(120% 100% at 50% 0%,rgba(155,123,255,.12),transparent 70%);margin-bottom:12px}.pack-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.pack-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:10px;text-align:left;transition:transform .15s}.pack-card:active{transform:scale(.97)}.pack-covers{display:grid;grid-template-columns:1fr 1fr;gap:4px;aspect-ratio:1}.pack-cover{background:var(--surface-2);border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}.pack-cover img{width:86%;height:86%;object-fit:contain}.pack-meta{padding:8px 4px 2px}.pack-title{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-strip{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.media-strip::-webkit-scrollbar{display:none}.media-thumb{flex:0 0 76px;height:76px;border-radius:14px;overflow:hidden;background:var(--surface-2);position:relative;display:flex;align-items:center;justify-content:center}.media-thumb img{width:100%;height:100%;object-fit:cover}.badge{font-size:10.5px;font-weight:700;background:#0000009e;color:#fff;padding:2px 6px;border-radius:7px;backdrop-filter:blur(6px)}.media-thumb .badge{position:absolute;right:4px;bottom:4px}.badge.tg{background:#2aabee}.pack-head-text{flex:1;min-width:0;cursor:pointer}.pack-head-text .title{display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sticker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sticker-cell{aspect-ratio:1;border-radius:16px;background:var(--surface);border:1px solid var(--line);position:relative;display:flex;align-items:center;justify-content:center;touch-action:manipulation;-webkit-touch-callout:none}.sticker-cell img{width:88%;height:88%;object-fit:contain;pointer-events:none}.sticker-cell.ghost{opacity:.25}.sticker-cell.dragging{transform:scale(1.12);box-shadow:0 16px 40px -10px #000c;border-color:var(--accent);background:var(--surface-2)}.cell-emoji{position:absolute;right:3px;bottom:1px;font-size:13px}.cell-index{position:absolute;left:6px;top:4px;font-size:10px;color:var(--muted);font-weight:700}.cell-dot{position:absolute;right:6px;top:6px;width:6px;height:6px;border-radius:3px;background:var(--accent-2)}.add-cell{border:1.5px dashed rgba(155,123,255,.45);color:var(--accent);background:#9b7bff0f}.floating-bar{position:fixed;left:12px;right:12px;bottom:calc(14px + var(--safe-bottom));z-index:30;display:flex;gap:8px;padding:8px;border-radius:20px;background:#1d2030eb;backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 16px 40px -12px #000000b3;animation:rise .25s ease}.floating-bar .btn-primary{flex:1}@keyframes rise{0%{transform:translateY(30px);opacity:0}}.sticker-detail,.media-detail{display:flex;flex-direction:column;gap:12px}.sticker-big,.media-big,.result-preview{width:min(280px,78vw);height:min(280px,78vw);border-radius:22px;overflow:hidden;align-self:center;display:flex;align-items:center;justify-content:center}.sticker-big img,.sticker-big video,.media-big img,.result-preview img{width:92%;height:92%;object-fit:contain}.action-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.action{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:14px;background:var(--surface-2);border:1px solid var(--line);font-size:11.5px;font-weight:600;text-align:center}.action.danger{color:var(--danger)}.pick-list{display:flex;flex-direction:column;gap:6px}.pick-item{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:12px;background:var(--surface-2);font-weight:600}.add-options{display:flex;flex-direction:column;gap:8px}.add-option{display:flex;align-items:center;gap:14px;text-align:left;padding:14px;border-radius:16px;background:var(--surface-2);border:1px solid var(--line)}.add-option svg{color:var(--accent);flex-shrink:0}.menu-list{display:flex;flex-direction:column;gap:4px}.menu-list>button{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:12px;font-weight:600;text-align:left}.menu-list>button:active{background:var(--surface-2)}.menu-list>button.danger{color:var(--danger)}.menu-list>button.primary{background:var(--grad);color:#fff}.error-box{background:#ff5c7a1f;color:#ff9db0;padding:10px 12px;border-radius:12px;font-size:13px}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.media-grid.compact{margin-top:12px;grid-template-columns:repeat(4,1fr)}.media-tile{aspect-ratio:1;border-radius:14px;overflow:hidden;position:relative}.media-tile img{width:100%;height:100%;object-fit:contain}.media-tile.busy img{opacity:.4}.tile-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.tile-overlay.err{color:var(--danger);background:#0006}.tile-badges{position:absolute;left:4px;bottom:4px;right:4px;display:flex;gap:3px;flex-wrap:wrap}.upload-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.upload-item{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}.form{display:flex;flex-direction:column;gap:12px}.input-label,.field-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px}.input,.text-input{width:100%;height:48px;padding:0 14px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);color:var(--text);font:inherit;font-size:16px;outline:none}.input:focus,.text-input:focus{border-color:#9b7bff99}.text-input{height:auto;padding:12px 14px;resize:none;font-size:17px;font-weight:600}.input-affix{display:flex;align-items:center;height:48px;border-radius:14px;border:1px solid var(--line);background:var(--surface-2);overflow:hidden;font-size:13px;color:var(--muted)}.input-affix span{padding:0 2px 0 12px;white-space:nowrap}.input-affix .affix-end{padding:0 12px 0 0;max-width:40%;overflow:hidden;text-overflow:ellipsis}.input-affix input{flex:1;min-width:40px;height:100%;border:0;background:none;color:var(--text);font:inherit;font-size:15px;outline:none}.slider{display:flex;flex-direction:column;gap:6px}.slider-top{display:flex;justify-content:space-between;font-size:13.5px;font-weight:600}.slider-val{color:var(--muted);font-variant-numeric:tabular-nums}.slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:30px;background:transparent;margin:0;touch-action:pan-y}.slider input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:3px;background:linear-gradient(90deg,var(--accent) 0,var(--accent-2) var(--pct),var(--surface-3) var(--pct))}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;border-radius:50%;margin-top:-9px;background:#fff;box-shadow:0 2px 8px #00000080}.slider input[type=range]::-moz-range-track{height:6px;border-radius:3px;background:var(--surface-3)}.slider input[type=range]::-moz-range-progress{height:6px;border-radius:3px;background:var(--accent)}.slider input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:#fff;border:0}.segmented{display:flex;background:var(--surface-2);border-radius:12px;padding:3px;border:1px solid var(--line)}.segmented button{flex:1;height:34px;border-radius:9px;font-size:13.5px;font-weight:600;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.segmented button.on{background:var(--surface-3);color:var(--text);box-shadow:0 2px 6px #0000004d}.toggle-row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:4px 0}.toggle-text{flex:1;font-weight:600}.toggle{width:46px;height:28px;border-radius:14px;background:var(--surface-3);position:relative;flex-shrink:0;transition:background .2s}.toggle div{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:11px;background:#fff;transition:transform .2s}.toggle.on{background:var(--grad)}.toggle.on div{transform:translate(18px)}.color-row{display:flex;flex-direction:column;gap:8px}.swatches{display:flex;flex-wrap:wrap;gap:7px}.swatch{width:30px;height:30px;border-radius:10px;border:2px solid rgba(255,255,255,.12);position:relative;overflow:hidden}.swatch.on{border-color:#fff;box-shadow:0 0 0 2px var(--accent)}.swatch.custom{background-image:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red)!important}.swatch.custom input{position:absolute;inset:0;opacity:0;width:100%;height:100%}.chip-row{display:flex;gap:6px;flex-wrap:wrap}.chip{height:34px;padding:0 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font-weight:600;font-size:13.5px}.chip.on{background:#9b7bff33;border-color:var(--accent);color:#d9ceff}.card-soft{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:10px}.card-title{font-weight:700;font-size:14px}.spinner{border-radius:50%;border:2.5px solid rgba(255,255,255,.15);border-top-color:var(--accent);animation:spin .8s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.progress{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden;width:100%}.progress div{height:100%;background:var(--grad);transition:width .3s ease}.sheet-root{position:fixed;inset:0;z-index:100}.sheet-backdrop{position:absolute;inset:0;background:#0000008c;opacity:0;transition:opacity .25s}.sheet{position:absolute;left:0;right:0;bottom:0;max-height:86%;display:flex;flex-direction:column;background:var(--surface);border-radius:24px 24px 0 0;border-top:1px solid var(--line);transform:translateY(100%);transition:transform .28s cubic-bezier(.2,.8,.2,1);padding-bottom:var(--safe-bottom)}.sheet-tall{height:88%;max-height:88%}.sheet-root.shown .sheet-backdrop{opacity:1}.sheet-root.shown .sheet{transform:translateY(0)}.sheet-grip{width:38px;height:5px;border-radius:3px;background:var(--surface-3);margin:8px auto 4px;flex-shrink:0}.sheet-head{display:flex;align-items:center;padding:4px 8px 6px 18px;flex-shrink:0}.sheet-title{flex:1;font-size:18px;font-weight:800;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-body{padding:4px 16px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;gap:12px}.toasts{position:fixed;top:10px;left:12px;right:12px;z-index:200;display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none}.toast{padding:10px 16px;border-radius:14px;background:#262a3df5;backdrop-filter:blur(12px);font-size:14px;font-weight:600;box-shadow:0 10px 30px -10px #000000b3;animation:drop .25s ease;max-width:100%}.toast.err{background:#781c30f5}@keyframes drop{0%{transform:translateY(-20px);opacity:0}}.chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.emoji-chip{height:42px;min-width:42px;padding:0 6px;border-radius:12px;background:var(--surface-2);border:1px solid var(--line);font-size:24px;display:inline-flex;align-items:center;justify-content:center;position:relative}.emoji-chip.main{border-color:var(--accent);background:#9b7bff29}.emoji-chip .chip-x{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:9px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;color:var(--muted)}.emoji-chip.add{color:var(--accent);font-size:16px}.emoji-chip.add.on{background:#9b7bff33}.counter{color:var(--muted);font-size:12px;margin-left:4px}.emoji-picker{background:var(--surface-2);border:1px solid var(--line);border-radius:16px;overflow:hidden;margin-top:6px}.emoji-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--line);color:var(--muted)}.emoji-search input{flex:1;background:none;border:0;color:var(--text);font:inherit;outline:none;height:28px}.emoji-cats{display:flex;overflow-x:auto;border-bottom:1px solid var(--line);scrollbar-width:none}.emoji-cats button{flex:1 0 auto;min-width:40px;height:40px;font-size:20px;opacity:.5}.emoji-cats button.on{opacity:1;box-shadow:inset 0 -2px 0 var(--accent)}.emoji-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));max-height:230px;overflow-y:auto;padding:6px}.emoji-grid button{height:42px;font-size:26px;border-radius:10px}.emoji-grid button:active{background:var(--surface-3)}.emoji-grid button.picked{background:#9b7bff40}.kw-editor{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:8px}.kw-chip{display:inline-flex;align-items:center;gap:4px;height:30px;padding:0 6px 0 10px;border-radius:9px;background:var(--surface-3);font-size:13.5px;font-weight:600}.kw-chip button{display:flex;color:var(--muted)}.kw-input{flex:1;min-width:120px;height:30px;background:none;border:0;color:var(--text);font:inherit;outline:none}.counter-line{font-size:12px;color:var(--muted);padding:6px 4px 0}.counter-line.warn{color:var(--mid)}.editor{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--bg)}.editor-top{display:flex;align-items:center;gap:2px;padding:8px 10px 4px;flex-shrink:0}.editor-meta{font-size:12px;color:var(--muted);margin-right:8px;font-weight:600}.editor-stage{flex-shrink:0;display:flex;justify-content:center;align-items:center;padding:8px 0 12px;background:radial-gradient(70% 90% at 50% 40%,rgba(155,123,255,.09),transparent 70%)}.stage{position:relative;border-radius:14px;touch-action:none}.stage-canvas{display:block;border-radius:14px;touch-action:none;background-color:#2a2d3a;background-image:linear-gradient(45deg,#333748 25%,transparent 25%),linear-gradient(-45deg,#333748 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#333748 75%),linear-gradient(-45deg,transparent 75%,#333748 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;box-shadow:0 20px 50px -20px #000c}.sel-frame{position:absolute;border:1.5px dashed rgba(255,255,255,.85);border-radius:8px;pointer-events:none;box-shadow:0 0 0 1px #00000059}.sel-frame.sel-media{border-color:#9b7bffb3}.sel-handle{position:absolute;right:-14px;bottom:-14px;width:28px;height:28px;border-radius:14px;pointer-events:auto;touch-action:none;background:#fff;box-shadow:0 2px 10px #00000080;background-image:radial-gradient(circle,var(--accent) 0 4px,transparent 5px)}.guide{position:absolute;background:#ff6fb5d9;pointer-events:none}.guide-v{left:50%;top:0;bottom:0;width:1px}.guide-h{top:50%;left:0;right:0;height:1px}.editor-tabs{display:flex;gap:4px;padding:0 10px 8px;flex-shrink:0;border-bottom:1px solid var(--line)}.editor-tabs button{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0 7px;border-radius:12px;font-size:11px;font-weight:700;color:var(--muted);transition:background .15s,color .15s}.editor-tabs button.on{color:var(--text);background:var(--surface-2)}.editor-tabs button.on svg{color:var(--accent)}.editor-panel{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 16px calc(24px + var(--safe-bottom))}.panel{display:flex;flex-direction:column;gap:14px}.media-row{display:flex;gap:12px;align-items:center}.media-mini{width:84px;height:84px;border-radius:14px;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.media-mini img{width:100%;height:100%;object-fit:contain}.timeline{position:relative;height:58px;border-radius:12px;overflow:visible;touch-action:none;margin:4px 6px 0}.timeline-strip{position:absolute;inset:0;border-radius:12px;background-size:100% 100%;background-color:var(--surface-2)}.timeline-dim{position:absolute;top:0;bottom:0;background:#0e0f14b8}.timeline-dim:first-of-type{border-radius:12px 0 0 12px}.timeline-window{position:absolute;top:-3px;bottom:-3px;border:3px solid #ffd257;border-radius:10px;touch-action:none}.timeline-handle{position:absolute;top:-3px;bottom:-3px;width:22px;background:#ffd257;touch-action:none}.timeline-handle:after{content:"";position:absolute;left:9px;top:50%;width:4px;height:18px;margin-top:-9px;border-radius:2px;background:#00000073}.timeline-handle.left{left:-14px;border-radius:10px 0 0 10px}.timeline-handle.right{right:-14px;border-radius:0 10px 10px 0}.timeline-len{position:absolute;left:50%;top:-24px;transform:translate(-50%);font-size:11px;font-weight:800;background:#ffd257;color:#241a00;padding:1px 7px;border-radius:7px;white-space:nowrap}.timeline-head{position:absolute;top:-6px;bottom:-6px;width:2px;margin-left:-1px;background:#fff;border-radius:1px;pointer-events:none;box-shadow:0 0 6px #0009}.duration-line{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.duration-line b{color:var(--text)}.duration-line.warn span:last-child{color:var(--mid);font-weight:700}.shape-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.shape-tile,.anim-tile,.preset-tile,.font-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 7px;border-radius:14px;background:var(--surface-2);border:1.5px solid transparent;font-size:11px;font-weight:600;color:var(--muted);transition:border-color .15s,background .15s}.shape-tile.on,.anim-tile.on,.font-tile.on{border-color:var(--accent);background:#9b7bff24;color:var(--text)}.anim-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset-tile{padding:6px 2px 8px}.font-row{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.font-row::-webkit-scrollbar{display:none}.font-tile{flex:0 0 108px;padding:10px 6px 8px}.font-tile span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.font-sample{font-size:22px;color:var(--text);white-space:nowrap;overflow:hidden;max-width:100%;height:32px;line-height:32px;transition:opacity .3s}.layer-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.layer-chip{flex:0 0 auto;height:34px;padding:0 12px;border-radius:10px;background:var(--surface-2);border:1px solid var(--line);font-weight:600;font-size:13.5px;display:inline-flex;align-items:center;gap:4px}.layer-chip.on{border-color:var(--accent);background:#9b7bff29}.layer-chip.add{color:var(--accent)}.subtabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;margin:0 -2px}.subtabs button{flex:0 0 auto;height:32px;padding:0 12px;border-radius:9px;font-size:13px;font-weight:700;color:var(--muted)}.subtabs button.on{background:var(--surface-3);color:var(--text)}.layer-actions{padding-top:4px;border-top:1px solid var(--line)}.layer-actions .btn{flex:0 0 auto}.layer-actions .btn.danger{flex:1}.pack-pick{display:flex;flex-wrap:wrap;gap:6px}.pack-pill{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 6px;border-radius:12px;background:var(--surface-2);border:1.5px solid var(--line);font-weight:600;font-size:14px;max-width:100%}.pack-pill img{width:28px;height:28px;object-fit:contain}.pack-pill .pill-dot{width:28px;height:28px;border-radius:8px;background:var(--surface-3)}.pack-pill.on{border-color:var(--accent);background:#9b7bff29}.pack-pill.add{color:var(--accent);padding:0 12px}.render-progress{display:flex;flex-direction:column;align-items:center;gap:14px;padding:30px 8px;text-align:center}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats>div{background:var(--surface-2);border-radius:14px;padding:10px;display:flex;flex-direction:column;gap:2px}.stats span{font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.stats b{font-size:16px}.stats b.good{color:var(--good)}.stats b.mid{color:var(--mid)}.stats b.bad{color:var(--bad)}.stats small{color:var(--muted);font-size:11.5px}.emoji-input{flex:1;min-width:60px;height:42px;background:none;border:0;outline:none;color:var(--text);font:inherit;font-size:22px;padding:0 6px}.emoji-input::placeholder{font-size:14px;color:var(--muted)}.emoji-editor .chips{background:var(--surface-2);border:1px solid var(--line);border-radius:14px;padding:6px;min-height:56px}.hint.warn{color:var(--mid)}.ramp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.ramp-tile{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px 7px;border-radius:12px;background:var(--surface-3);border:1.5px solid transparent;font-size:10.5px;font-weight:600;color:var(--muted);text-align:center;line-height:1.15}.ramp-tile.on{border-color:var(--accent);background:#9b7bff29;color:var(--text)}.timeline-cut{position:absolute;top:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(135deg,#ff5c7a8c 0 5px,#0e0f1499 5px 10px)}.timeline-curve{position:absolute;inset:4px 0;width:100%;height:calc(100% - 8px);pointer-events:none;filter:drop-shadow(0 0 2px rgba(0,0,0,.9))}.segmented button{padding:0 4px;font-size:12.5px;line-height:1.1}.tile-media{position:relative;width:88%;height:88%}.tile-media img,.tile-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;transition:opacity .15s}.sticker-big,.result-preview{background:var(--surface)}.sticker-big.checker,.result-preview.checker{background-color:#2a2d3a}.sticker-big video,.result-preview video{width:100%;height:100%;object-fit:contain}.queue-pill{position:fixed;left:50%;transform:translate(-50%);bottom:calc(14px + var(--safe-bottom));z-index:40;display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 14px;border-radius:18px;max-width:80vw;background:#262a3df2;backdrop-filter:blur(12px);border:1px solid var(--line);font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:0 10px 30px -10px #000000b3}.editor~.queue-pill{bottom:auto;top:calc(56px + env(safe-area-inset-top,0px))}.spin{animation:spin 1s linear infinite;flex-shrink:0}.job-list{display:flex;flex-direction:column;gap:8px}.job-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--surface-2)}.job-row.cancelled,.job-row.done{opacity:.55}.job-row.error .hint{color:var(--bad)}.job-main{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.job-title{font-weight:700;font-size:14px}.footer-link{display:block;margin:8px auto 0;color:var(--muted);font-size:12.5px;text-decoration:underline;text-underline-offset:3px}.diag-list{display:flex;flex-direction:column;gap:6px;margin:14px 0}.diag-row{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:var(--surface-2);font-size:13.5px}.diag-row b{text-align:right;font-weight:600}.diag-row.ok b{color:var(--good)}.diag-row.no b{color:var(--bad)}.sheet.sheet-export{max-height:50%}.sheet-root:has(.sheet-export) .sheet-backdrop{background:#0000001f}.asis-hint{background:var(--surface-2);padding:10px 12px;border-radius:12px}.where{padding:10px 12px;border-radius:12px;font-size:13px;font-weight:600}.where.here{background:#3ddc971f;color:#8ff0c3}.where.server{background:var(--surface-2);color:var(--muted)}
