@font-face{font-family:TikTok Sans;src:local("TikTok Sans"),local("TikTokSans");font-weight:600;font-display:swap}@font-face{font-family:TikTok Sans;src:local("TikTok Sans"),local("TikTokSans");font-weight:800;font-display:swap}:root{font-family:TikTok Sans,Inter,ui-sans-serif,system-ui,sans-serif;color:#f7f7f7;background:#080808;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,textarea,input{font:inherit}.app{width:100%;height:100dvh;overflow:hidden;background:#080808}.topbar{height:60px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #242424;background:#050505}.brand,.topbar nav{display:flex;align-items:center;gap:9px}.brand svg{width:32px;height:32px;color:#28d7eb}.brand strong{font-size:17px;letter-spacing:-.025em}.topbar nav{gap:8px}.app button,.app textarea{border:1px solid #323232;border-radius:8px;background:#161616;color:#fff}.app button{min-height:34px;padding:7px 12px;cursor:pointer}.app button:disabled{cursor:default;opacity:.35}.app button:hover,.app button.active{border-color:#28d7eb;background:#10282c}.app button.clear{color:#ff8c86}.app button.clear:hover{color:#fff;border-color:#ff3b30;background:#351310}.app button.primary,.connect{border-color:#28d7eb;background:#28d7eb;color:#061014;font-weight:800}.app button.tips{border-color:#34707a;color:#bdf7ff}.workspace{--panel:280px;height:calc(100dvh - 60px);display:grid;grid-template-columns:var(--panel) 8px minmax(0,1fr)}aside{overflow-y:auto;padding:18px;border-right:1px solid #242424;background:#0d0d0d}.panel-section{margin-bottom:22px}.panel-section>label,.gallery-heading label,.text-panel__heading label{display:block;margin-bottom:8px;color:#bdbdbd;font-size:12px;font-weight:700}.panel-section small{display:block;margin-top:7px;color:#777;font-size:11px}.connect,.panel-section textarea,.panel-section input[type=range]{width:100%}.connect{min-height:42px}.panel-section textarea{padding:11px;resize:vertical;line-height:1.25}.notice{font-size:11px;color:#ff8c86}.folder{display:flex;justify-content:space-between;gap:10px;margin:14px 0 8px;padding:10px;border:1px solid #29353b;border-radius:8px}.folder small{margin:0}.empty{margin-top:25px;padding:22px 10px;text-align:center;color:#8b9599}.empty svg{width:58px;color:#28d7eb}.empty h2{margin:8px 0 5px;color:#f7f7f7;font-size:17px}.empty p{margin:0;font-size:12px;line-height:1.5}.gallery-heading,.text-panel__heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px}.gallery-heading label,.text-panel__heading label{margin:0}.gallery-heading button{min-height:28px;padding:4px 9px;font-size:11px}.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:360px;margin-top:8px;padding:3px;overflow-y:auto}.gallery button{aspect-ratio:2/3;min-height:0;padding:0;overflow:hidden}.gallery img{display:block;width:100%;height:100%;object-fit:cover}.layout-row,.weight-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.layout-row button{text-transform:capitalize}.text-panel{padding:10px;margin-inline:-10px;border:1px solid transparent;border-radius:10px;transition:border-color .12s,background .12s,box-shadow .12s}.text-panel.selected{border-color:#28d7eb;background:#0c2428;box-shadow:0 0 0 1px #28d7eb55}.text-panel__heading span{padding:3px 7px;border-radius:5px;background:#28d7eb;color:#061014;font-size:10px;font-weight:800}.swatches{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.swatches button{width:28px;min-height:28px;padding:0;border-radius:50%}.swatches button.active{outline:2px solid #fff;outline-offset:2px}.weight-row button:first-child{font-weight:600}.weight-row button:last-child{font-weight:800}.resizer{position:relative;z-index:6;cursor:col-resize;background:#151515;border-inline:1px solid #242424;touch-action:none}.resizer:after{content:"";position:absolute;top:50%;left:50%;width:3px;height:58px;border-radius:99px;background:#626262;transform:translate(-50%,-50%);transition:.15s}.resizer:hover:after{height:92px;background:#28d7eb}.stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:#111;cursor:grab;-webkit-user-select:none;user-select:none}.stage:active{cursor:grabbing}.canvas-board{--card-width:130px;position:absolute;left:calc(50% + var(--board-x));top:calc(50% + var(--board-y));display:grid;grid-template-columns:repeat(7,var(--card-width));align-items:start;gap:10px;width:max-content;padding:8px;transform:translate(-50%,-50%) scale(var(--zoom));transform-origin:center;will-change:transform}.card{position:relative;width:var(--card-width);border:1px solid #323232;background:transparent}.card.active{border-color:#28d7eb;box-shadow:0 0 0 2px #28d7eb}.card>span{position:absolute;z-index:2;top:5px;left:5px;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#050505d9;color:#fff;font-size:11px}.card canvas{display:block;width:100%;height:auto;outline:0;background:#161616;box-shadow:0 12px 35px #000;cursor:grab;touch-action:none}.card canvas:active{cursor:grabbing}.status{position:absolute;left:24px;bottom:14px;color:#8d8d8d;font-size:11px}.overlay{position:fixed;z-index:50;inset:60px 0 0;display:grid;grid-template-rows:auto minmax(0,1fr);background:#090909f8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.overlay>header{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 22px;border-bottom:1px solid #2b2b2b;background:#0d0d0d}.overlay>header div{display:grid;gap:3px}.overlay>header span{color:#9a9a9a;font-size:12px}.full-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-auto-rows:minmax(280px,42vh);align-content:start;gap:18px;overflow-y:auto;padding:24px}.full-gallery button{position:relative;min-height:0;padding:10px;overflow:hidden;background:#111}.full-gallery img{display:block;width:100%;height:100%;object-fit:contain}.full-gallery span{position:absolute;right:7px;bottom:7px;padding:4px 6px;border-radius:5px;background:#050505c9;color:#fff;font-size:10px}.help-backdrop{position:fixed;z-index:100;inset:0;display:grid;place-items:center;padding:24px;background:#020506d9;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px)}.help-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(880px,calc(100vw - 36px));max-height:min(840px,calc(100dvh - 36px));overflow:hidden;border:1px solid #31515a;border-radius:16px;background:#0d1113;box-shadow:0 30px 100px #000}.help-modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #273137;background:#0a0e10}.help-modal__brand{display:flex;align-items:flex-start;gap:14px}.help-modal__brand svg{flex:0 0 auto;width:42px;color:#28d7eb}.help-modal h1{margin:1px 0 5px;font-size:24px;letter-spacing:-.035em}.help-modal__header p,.help-modal__body p,.help-modal__footer p{margin:0;color:#aab3b7;line-height:1.5}.help-modal__header>button{min-width:36px;padding:4px;font-size:24px}.help-modal__body{display:grid;gap:24px;overflow-y:auto;padding:24px}.help-modal__body section{display:grid;gap:11px}.help-modal h2{margin:0;color:#f3f7f8;font-size:14px}.help-intro{padding:16px 18px;border:1px solid #285966;border-radius:11px;background:#0c2428}.help-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0;padding:0;list-style:none}.help-steps li{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #283137;border-radius:10px;background:#111719}.help-steps li>span{display:grid;place-items:center;flex:0 0 auto;width:24px;height:24px;border-radius:50%;background:#28d7eb;color:#061014;font-size:11px;font-weight:800}.help-steps strong{font-size:12px}.help-steps p{margin-top:5px;font-size:11px}.shortcut-table{display:grid;overflow:hidden;border:1px solid #29343a;border-radius:10px}.shortcut-table>div{display:grid;grid-template-columns:1.35fr 1fr 1fr;align-items:center;min-height:39px;border-top:1px solid #202a2f}.shortcut-table>div:first-child{border-top:0}.shortcut-table>div>span,.shortcut-table>div>kbd{padding:8px 12px}.shortcut-table__head{background:#151d20;color:#89969b;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.shortcut-table>div:not(.shortcut-table__head)>span{color:#d7dddf;font-size:11px}.shortcut-table kbd{justify-self:start;margin:6px 12px;padding:4px 7px;border:1px solid #3c494f;border-bottom-width:2px;border-radius:5px;background:#191f22;color:#fff;font:600 10px TikTok Sans,system-ui,sans-serif;white-space:nowrap}.help-modal__footer{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:16px 24px;border-top:1px solid #273137;background:#0a0e10}.help-modal__footer p{font-size:11px}.help-modal a{color:#62eaff;text-decoration:none}.help-modal a:hover{text-decoration:underline}.help-modal__footer .primary{flex:0 0 auto;min-width:135px}@media(max-width:980px){.brand strong{display:none}.topbar{padding-inline:8px}.topbar nav{overflow-x:auto}.workspace{--panel:240px!important}.canvas-board{--card-width:110px}}@media(max-width:700px){.help-backdrop{padding:8px}.help-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.help-steps{grid-template-columns:1fr}.shortcut-table>div{grid-template-columns:1.2fr 1fr 1fr}.help-modal__footer{align-items:stretch;flex-direction:column}.help-modal__footer .primary{width:100%}}
