@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-vietnamese-800-normal-CpjukuLw.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-800-normal-BZxKbt5V.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-ext-800-normal-DGNyg4u8.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-800-normal-gY_0Gifi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/barlow-condensed-latin-800-normal-BKzMuPgK.woff2) format("woff2"),url(/assets/barlow-condensed-latin-800-normal-e9GbPXiK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2) format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2) format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@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"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #0b0b0e;--bg2: #101015;--surface: #15151b;--surface2: #1c1c24;--surface3: #24242d;--line: #25252e;--line2: #33333e;--text: #f4f4f6;--muted: #9c9ca6;--faint: #6b6b76;--accent: #ff5c1a;--accent-h: #ff7a45;--accent-soft: rgba(255, 92, 26, .14);--accent-line: rgba(255, 92, 26, .55);--ok: #3dd67a;--warn: #ffc24d;--err: #ff6b5a;--info: #7f9cf5;--display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;--body: "Barlow", "Segoe UI", Helvetica, Arial, sans-serif;--mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--radius: 5px;--left-w: 268px;--right-w: 318px;--tl-h: 214px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);overflow:hidden}body{font-family:var(--body);font-size:13.5px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:default;opacity:.38}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mono,kbd{font-family:var(--mono)}kbd{font-size:11px;background:var(--surface3);border:1px solid var(--line2);border-bottom-width:2px;border-radius:4px;padding:0 5px;color:var(--text);white-space:nowrap}.icon{flex:none;display:block}.grow{flex:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2c2c36;border-radius:6px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.app{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:46px 40px minmax(0,1fr) var(--tl-h) 26px}.workspace{display:grid;grid-template-columns:var(--left-w) minmax(0,1fr) var(--right-w);min-height:0;background:var(--bg2);position:relative}.topbar{display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--bg);border-bottom:1px solid var(--line);min-width:0}.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--text);flex:none;padding-right:6px}.logo svg{width:26px;height:26px}.logo-text{font-family:var(--display);font-weight:800;font-size:19px;letter-spacing:.04em;text-transform:uppercase}.logo-text b{color:var(--accent);font-weight:800}.menus{display:flex;gap:1px}.menu{position:relative}.menu-btn{font-family:var(--display);font-weight:600;font-size:14.5px;letter-spacing:.03em;text-transform:uppercase;color:var(--muted);padding:5px 9px;border-radius:4px}.menu-btn:hover,.menu-btn.on{color:var(--text);background:var(--surface2)}.menu-pop{position:absolute;top:calc(100% + 4px);left:0;z-index:80;min-width:250px;background:#17171d;border:1px solid var(--line2);border-radius:7px;box-shadow:0 16px 40px #0000008c;padding:5px;display:flex;flex-direction:column}.menu-pop>button{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;padding:6px 8px;border-radius:4px;white-space:nowrap}.menu-pop>button:hover:not(:disabled){background:var(--accent-soft);color:#fff}.menu-pop kbd{color:var(--faint);background:none;border:0}.proj-name{color:var(--faint);font-size:12.5px;padding-left:8px;border-left:1px solid var(--line2);margin-left:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.save-st{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--faint)}.save-st.saved .icon{color:var(--ok)}.save-st.error{color:var(--err)}.lang{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.05em;color:var(--muted);border:1px solid var(--line2);border-radius:4px;padding:3px 7px}.lang:hover{color:var(--text);border-color:var(--accent-line)}.btn{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:var(--radius);background:var(--surface2);border:1px solid var(--line2);color:var(--text);font-family:var(--display);font-weight:600;font-size:13.5px;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.btn:hover:not(:disabled){border-color:var(--accent-line);background:var(--surface3)}.btn.sm{height:26px;padding:0 8px;font-size:12.5px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#160800}.btn.primary:hover:not(:disabled){background:var(--accent-h);border-color:var(--accent-h)}.export-btn{height:30px}.ibtn{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:var(--radius);color:var(--muted);flex:none}.ibtn:hover:not(:disabled){color:var(--text);background:var(--surface2)}.ibtn.on{color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-line)}.ibtn.xs{width:22px;height:22px}.ibtn.lg{width:38px;height:38px}.ibtn.play{color:var(--text);background:var(--surface3)}.ibtn.play.on{color:#160800;background:var(--accent)}.toolbar{display:flex;align-items:center;gap:2px;padding:0 8px;background:var(--bg);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}.toolbar .sep{width:1px;height:20px;background:var(--line2);margin:0 6px;flex:none}.tb-hint{color:var(--faint);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 10px}.panel{background:var(--surface);display:flex;flex-direction:column;min-height:0;min-width:0}.panel.left{border-right:1px solid var(--line)}.panel.right{border-left:1px solid var(--line)}.panel-head,.panel-tabs{display:flex;align-items:stretch;height:38px;border-bottom:1px solid var(--line);flex:none}.panel-head{align-items:center;gap:7px;padding:0 12px;font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase}.panel-head .icon{color:var(--accent)}.panel-tabs button{display:flex;align-items:center;gap:6px;padding:0 14px;font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint);border-bottom:2px solid transparent}.panel-tabs button.on{color:var(--text);border-bottom-color:var(--accent)}.panel-tabs button.on .icon{color:var(--accent)}.panel-body{flex:1;min-height:0;overflow:auto}.lib-search{display:flex;align-items:center;gap:6px;margin:8px 10px 4px;padding:0 8px;height:30px;background:var(--bg2);border:1px solid var(--line2);border-radius:var(--radius);color:var(--faint)}.lib-search input{flex:1;min-width:0;background:none;border:0;outline:0;color:var(--text)}.lib-tabs{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;padding:6px 8px;border-bottom:1px solid var(--line)}.lib-tabs button{position:relative;display:grid;place-items:center;height:32px;border-radius:4px;color:var(--muted)}.lib-tabs button:hover{background:var(--surface2);color:var(--text)}.lib-tabs button.on{background:var(--accent-soft);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-line)}.lib-tab-l{display:none}.lib-tab-n{position:absolute;right:1px;top:0;font-family:var(--mono);font-size:8.5px;color:var(--faint)}.lib-hint{font-size:11.5px;color:var(--faint);padding:6px 12px 2px}.lib-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;padding:8px 10px 16px;align-content:start}.lib-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 3px 6px;border-radius:6px;background:#f7f1e6;border:1px solid transparent;cursor:grab;color:#3b2a24;user-select:none;min-width:0}.lib-card:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.lib-card img{width:64px;height:64px;object-fit:contain;pointer-events:none}.lib-card span{font-size:10.5px;line-height:1.15;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-new{background:var(--surface2);color:var(--muted);border:1px dashed var(--line2);justify-content:center;min-height:92px;cursor:pointer}.lib-new:hover{color:var(--accent)}.lib-new span{white-space:normal}.lib-edit{position:absolute;top:3px;right:3px;width:20px;height:20px;display:grid;place-items:center;border-radius:4px;background:#0b0b0ebf;color:#fff}.lib-empty,.tl-empty{grid-column:1 / -1;color:var(--faint);font-size:12.5px;padding:18px 12px;text-align:center}.stage-wrap{position:relative;min-width:0;min-height:0;overflow:hidden}.stage-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;outline:none}.stage-tip{position:absolute;left:50%;top:10px;transform:translate(-50%);background:#15151beb;border:1px solid var(--line2);border-radius:5px;padding:4px 10px;font-size:12px;color:var(--text);pointer-events:none;opacity:0;transition:opacity .12s;white-space:nowrap}.stage-hud{position:absolute;right:10px;bottom:10px;display:flex;align-items:center;background:#15151be6;border:1px solid var(--line2);border-radius:6px;overflow:hidden}.stage-hud.dim{opacity:.35}.hud-btn{width:28px;height:26px;color:var(--muted);font-size:16px}.hud-btn:hover{color:var(--text);background:var(--surface3)}.hud-zoom{min-width:52px;height:26px;font-size:11.5px;color:var(--muted);border-left:1px solid var(--line2);border-right:1px solid var(--line2)}.props{padding-bottom:24px}.props-head{display:flex;align-items:center;gap:6px;padding:10px 10px 8px;border-bottom:1px solid var(--line)}.ptitle{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.04em;text-transform:uppercase}.pname{flex:1;min-width:0;height:28px;background:var(--bg2);border:1px solid var(--line2);border-radius:var(--radius);padding:0 8px;font-weight:600}.pname:focus,.ptext:focus,.pnum:focus,.psel:focus{outline:none;border-color:var(--accent)}.pkind{font-family:var(--display);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);border-radius:3px;padding:1px 6px}.psec{border-bottom:1px solid var(--line)}.psec-h{display:flex;align-items:center;padding-right:8px}.psec-t{flex:1;display:flex;align-items:center;gap:6px;padding:9px 10px;font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);text-align:left}.psec-t:hover{color:var(--text)}.psec-t .icon:nth-child(2){color:var(--accent)}.psec-b{padding:0 10px 12px;display:flex;flex-direction:column;gap:6px}.psub{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-top:2px}.hint{font-size:11.5px;color:var(--faint);margin:2px 0 0;line-height:1.35}.prow{display:grid;grid-template-columns:16px 92px minmax(0,1fr) 52px;align-items:center;gap:6px;min-height:24px}.prow .pcheck{grid-column:2 / -1}.plabel{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plabel.sm{font-size:11.5px}.pval{font-size:12px;color:var(--text)}.pslider{width:100%;accent-color:var(--accent);height:16px}.pnum{width:52px;height:24px;background:var(--bg2);border:1px solid var(--line2);border-radius:4px;padding:0 5px;font-size:11.5px;text-align:right}.pnum.ro{border-color:transparent;background:none;color:var(--muted);display:inline-flex;align-items:center;justify-content:flex-end}.ptext{flex:1;min-width:0;height:28px;background:var(--bg2);border:1px solid var(--line2);border-radius:var(--radius);padding:0 8px}.psel{flex:1;min-width:0;height:26px;background:var(--bg2);border:1px solid var(--line2);border-radius:4px;padding:0 6px}.pfield{display:flex;align-items:center;gap:8px;min-height:28px}.pfield>.plabel{min-width:70px}.pgrid2{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px}.pnumf{display:grid;grid-template-columns:16px minmax(0,1fr) 58px;align-items:center;gap:5px}.pnumf .pnum{width:58px}.pcheck{display:flex;align-items:center;gap:7px;font-size:12.5px;cursor:pointer}.pcheck input{accent-color:var(--accent)}.checks{display:flex;flex-wrap:wrap;gap:4px 14px}.btnrow{display:flex;flex-wrap:wrap;gap:6px}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:12px;padding:4px 8px;border-radius:4px;background:var(--surface2);border:1px solid var(--line2);color:var(--text)}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip.ch{border-left:2px solid var(--accent-line)}.mlen{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mlen .seg button{padding:2px 6px;font-size:11.5px}.pchoice{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:3px}.pchoice button{font-size:11.5px;padding:4px 3px;border-radius:4px;background:var(--surface2);border:1px solid var(--line2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pchoice button:hover{border-color:var(--accent-line)}.pchoice button.on{background:var(--accent);border-color:var(--accent);color:#160800;font-weight:600}.seg{display:inline-flex;border:1px solid var(--line2);border-radius:4px;overflow:hidden;flex-wrap:wrap}.seg button{padding:3px 9px;font-size:12px;color:var(--muted);border-right:1px solid var(--line2)}.seg button:last-child{border-right:0}.seg button.on{background:var(--accent-soft);color:var(--accent)}.keydot{width:16px;height:16px;display:grid;place-items:center;color:#4a4a55;border-radius:3px}.keydot:hover{color:var(--muted);background:var(--surface3)}.keydot.anim{color:var(--accent-line)}.keydot.on{color:var(--accent)}.keydot-sp{width:16px}.colorf{display:flex;flex-direction:column;gap:4px}.swatches{display:flex;flex-wrap:wrap;gap:4px}.sw{width:20px;height:20px;border-radius:4px;border:1px solid rgba(255,255,255,.15);position:relative}.swatches.big .sw{width:24px;height:24px}.sw.on{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--accent)}.sw-pick{display:grid;place-items:center;background:conic-gradient(#ff6b6b,#ffd76a,#8fcf7f,#7fb2e8,#c9b6ec,#ff6b6b);color:#111;cursor:pointer;overflow:hidden}.sw-pick input{position:absolute;inset:0;opacity:0;cursor:pointer}.lookrow{display:flex;gap:10px;align-items:flex-start;margin-top:4px}.lookside{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.lookside .prow{grid-template-columns:16px 46px minmax(0,1fr) 42px}.lookside .pnum{width:42px}.lookpad-w{display:flex;flex-direction:column;align-items:center;gap:3px}.lookpad{position:relative;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,#fff 0 60%,#e9e3da 61%);border:2px solid #3b2a24;cursor:crosshair;touch-action:none}.lookdot{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#2c1f1a;box-shadow:inset -4px -4px #fff0,inset 5px 5px 0 -3px #ffffffe6;pointer-events:none}.lookcap{display:flex;align-items:center;gap:3px;font-size:11.5px;color:var(--muted)}.howto{margin:0;padding-left:18px;font-size:12.5px;color:var(--muted);display:flex;flex-direction:column;gap:5px}.attach-list{display:flex;flex-wrap:wrap;gap:5px}.layers-bar{display:flex;gap:4px;padding:8px 10px;border-bottom:1px solid var(--line)}.layer-list{list-style:none;margin:0;padding:4px 0}.layer{display:flex;align-items:center;gap:6px;height:28px;padding-right:6px;cursor:pointer;color:var(--muted);border-left:2px solid transparent}.layer:hover{background:var(--surface2);color:var(--text)}.layer.on{background:var(--accent-soft);color:var(--text);border-left-color:var(--accent)}.layer.hid .layer-name{opacity:.45}.layer-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12.5px}.layer-name-in{flex:1;min-width:0;height:22px;background:var(--bg2);border:1px solid var(--accent);border-radius:3px;padding:0 5px}.layer-slot{font-size:10.5px;color:var(--accent);background:var(--accent-soft);padding:0 5px;border-radius:3px;white-space:nowrap}.timeline{background:var(--surface);border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.tl-bar{display:flex;align-items:center;gap:10px;padding:4px 8px;border-bottom:1px solid var(--line);flex-wrap:wrap;row-gap:4px}.tl-group{display:flex;align-items:center;gap:3px}.tl-group.right{margin-left:auto;gap:6px}.tl-frame{font-size:12px;color:var(--muted);padding:0 8px;min-width:70px}.tl-frame b{color:var(--text)}.tl-sec{font-size:11.5px;color:var(--faint)}.tl-zoom{width:80px;accent-color:var(--accent)}.rec{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 9px;border-radius:4px;border:1px solid var(--line2);font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--faint)}.rec.on{color:#ff4d4d;border-color:#ff4d4d8c;background:#ff4d4d1a}.tl-ease{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted);margin-left:6px}.tl-ease select{height:26px;background:var(--bg2);border:1px solid var(--line2);border-radius:4px;padding:0 4px}.tl-scroll{flex:1;min-height:0;overflow:auto;position:relative}.tl-inner{position:relative;min-height:100%}.tl-row{display:flex;height:26px;border-bottom:1px solid #1b1b22}.tl-row.sub{height:21px;background:#121217}.tl-row.sel .tl-name{color:var(--text);background:#1f1a18;box-shadow:inset 2px 0 0 var(--accent)}.tl-row.sel .tl-track{background:#ff5c1a0d}.tl-name{position:sticky;left:0;z-index:3;width:176px;flex:none;display:flex;align-items:center;gap:5px;padding-right:6px;background:var(--surface);border-right:1px solid var(--line);color:var(--muted);font-size:12px;cursor:pointer;white-space:nowrap;overflow:hidden}.tl-name.sub{font-size:11px;color:var(--faint);background:#121217;cursor:default}.tl-oname{overflow:hidden;text-overflow:ellipsis}.tl-exp{width:14px;height:14px;display:grid;place-items:center;color:var(--faint);flex:none}.tl-corner{font-family:var(--display);font-size:11.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--faint);padding-left:10px;cursor:default}.tl-ruler-row{position:sticky;top:0;z-index:4;background:var(--bg)}.tl-ruler{position:relative;height:26px;cursor:ew-resize;background:var(--bg)}.tl-tick{position:absolute;top:0;height:100%;border-left:1px solid #1e1e26;font-family:var(--mono);font-size:9.5px;color:var(--faint);padding:2px 0 0 2px;user-select:none}.tl-num{position:relative;z-index:1;background:var(--bg);padding-right:2px}.tl-tick.major{border-left-color:#2e2e38;color:var(--muted)}.tl-tick.sec{border-left-color:#4a4a58}.tl-track{position:relative;flex:none;cursor:pointer;background-image:repeating-linear-gradient(90deg,transparent 0 calc(var(--cw, 16px) - 1px),transparent 0)}.tl-span{position:absolute;top:11px;height:4px;background:#ff5c1a38;border-radius:2px;pointer-events:none}.tl-key{position:absolute;top:7px;width:11px;height:11px;margin-left:-5.5px;background:#e8e3dc;border:1.5px solid #0b0b0e;transform:rotate(45deg);cursor:grab;z-index:2}.tl-key:hover{background:var(--accent-h)}.tl-key.on{background:var(--accent);box-shadow:0 0 0 2px #ff5c1a73}.tl-key.sm{top:6px;width:8px;height:8px;margin-left:-4px;background:#b9b3ac}.tl-key.step{border-radius:0;transform:none;background:#8fa7e8}.tl-playhead{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);pointer-events:none;z-index:5}.tl-playhead:before{content:"";position:absolute;top:0;left:-5px;border:6px solid transparent;border-top:8px solid var(--accent)}.tl-empty{padding-left:190px;text-align:left}.ctx-back{position:fixed;inset:0;z-index:150}.ctx{position:fixed;transform:translateY(-100%);min-width:170px;background:#17171d;border:1px solid var(--line2);border-radius:7px;box-shadow:0 16px 40px #0000008c;padding:5px;display:flex;flex-direction:column}.ctx-h{font-size:11px;color:var(--faint);padding:3px 8px 5px}.ctx button{display:flex;align-items:center;gap:6px;text-align:left;padding:5px 8px;border-radius:4px;font-size:12.5px}.ctx button:hover{background:var(--accent-soft)}.ctx button.on{color:var(--accent)}.ctx button.danger{color:var(--err)}.ctx-sep{height:1px;background:var(--line2);margin:4px 2px}.status{display:flex;align-items:center;gap:14px;padding:0 10px;font-size:11.5px;color:var(--faint);background:var(--bg);border-top:1px solid var(--line);white-space:nowrap;overflow:hidden}.st-rec{color:#ff6b6b;font-family:var(--display);letter-spacing:.06em;text-transform:uppercase}.st-brand{font-family:var(--display);letter-spacing:.05em;text-transform:uppercase}.modal-back{position:fixed;inset:0;z-index:100;background:#050508a8;display:grid;place-items:center;padding:16px}.modal{width:min(560px,100%);max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line2);border-radius:9px;box-shadow:0 24px 60px #0009;overflow:hidden}.modal.wide{width:min(880px,100%)}.modal.paint{width:min(980px,100%)}.modal-h{display:flex;align-items:center;gap:8px;padding:0 8px 0 14px;height:44px;border-bottom:1px solid var(--line);font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.06em;text-transform:uppercase}.modal-h .icon:first-child{color:var(--accent)}.modal-h span{flex:1}.modal-b{padding:14px;overflow:auto;display:flex;flex-direction:column;gap:10px}.modal-f{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--line);flex-wrap:wrap}.sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:6px}.size-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;border-radius:6px;background:var(--surface2);border:1px solid var(--line2);font-size:12px}.size-card b{font-weight:600}.size-card .mono{color:var(--faint);font-size:11px}.size-card.on{border-color:var(--accent);background:var(--accent-soft)}.size-shape{display:block;border:1.5px solid var(--muted);border-radius:2px;margin-bottom:2px}.size-card.on .size-shape{border-color:var(--accent)}.new-sample{display:flex;justify-content:center;padding-top:6px;border-top:1px dashed var(--line2)}.export{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.export-opts{display:flex;flex-direction:column;gap:10px}.export-prev{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:300px;background:var(--bg2);border:1px solid var(--line);border-radius:6px;padding:10px}.export-prev img{max-width:100%;max-height:360px;border-radius:4px}.checker{background:repeating-conic-gradient(#ccc 0 25%,#fff 0 50%) 0 0 / 16px 16px}.export-empty{color:var(--faint);font-size:12.5px;text-align:center;max-width:260px}.export-busy{display:flex;flex-direction:column;align-items:center;gap:8px;width:80%}.bar{width:100%;height:8px;background:var(--surface3);border-radius:4px;overflow:hidden}.bar>div{height:100%;background:var(--accent);transition:width .1s}.paint-body{display:grid;grid-template-columns:52px minmax(0,1fr) 220px;gap:12px;padding:12px;min-height:0;overflow:auto}.paint-tools{display:flex;flex-direction:column;gap:4px;align-items:center}.sep-h{width:26px;height:1px;background:var(--line2);margin:4px 0}.paint-canvas-w{display:grid;place-items:center;min-width:0}.paint-canvas{position:relative;width:min(100%,512px,calc(100vh - 220px));aspect-ratio:1;background:repeating-conic-gradient(#ece6dc 0 25%,#f8f4ee 0 50%) 0 0 / 24px 24px;border-radius:6px;border:1px solid var(--line2);overflow:hidden}.paint-canvas canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.paint-pivot{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;pointer-events:none;background:linear-gradient(var(--accent),var(--accent)) center / 100% 1.5px no-repeat,linear-gradient(var(--accent),var(--accent)) center / 1.5px 100% no-repeat;opacity:.6}.paint-opts{display:flex;flex-direction:column;gap:8px}.help{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px}.help h4{font-family:var(--display);font-weight:700;font-size:13.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);margin:4px 0 8px}.keys{border-collapse:collapse;font-size:12.5px}.keys td{padding:4px 8px 4px 0;color:var(--muted);vertical-align:top}.toasts{position:fixed;left:50%;bottom:250px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;z-index:200;pointer-events:none}.toast{background:#1b1b22;border:1px solid var(--line2);border-left:3px solid var(--info);border-radius:6px;padding:7px 14px;font-size:13px;box-shadow:0 10px 30px #00000073}.toast.ok{border-left-color:var(--ok)}.toast.warn{border-left-color:var(--warn)}.app.narrow{--tl-h: 250px}.app.narrow .tl-zoom,.app.narrow .tl-ease span,.app.narrow .tl-sec{display:none}.app.narrow .tl-bar{gap:4px 8px}.app.narrow .workspace{grid-template-columns:minmax(0,1fr)}.app.narrow .panel{position:absolute;top:0;bottom:44px;z-index:20;width:min(330px,92vw);box-shadow:0 10px 40px #0009}.app.narrow .panel.left{left:0}.app.narrow .panel.right{right:0}.drawer-btns{position:absolute;left:8px;bottom:8px;display:flex;gap:6px;z-index:25}.app.narrow .menus,.app.narrow .proj-name,.app.narrow .tb-hint,.app.narrow .save-l,.app.narrow .export-btn span{display:none}.app.narrow .tl-group.right{margin-left:0}@media(max-width:700px){.export,.help,.paint-body{grid-template-columns:minmax(0,1fr)}.paint-tools{flex-direction:row;flex-wrap:wrap;justify-content:center}.sep-h{display:none}}
