:root{--crust:#11111b;--mantle:#181825;--base:#1e1e2e;--surface0:#313244;--surface1:#45475a;--text:#cdd6f4;--subtext0:#a6adc8;--blue:#89b4fa;--peach:#fab387;--green:#a6e3a1}*,::after,::before{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,sans-serif;background-color:var(--crust);color:var(--text);display:flex;flex-direction:column;height:100dvh;overflow:hidden}.hidden{display:none!important}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{opacity:1}.header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background-color:var(--mantle);border-bottom:1px solid var(--surface0);gap:16px;flex-wrap:wrap;z-index:20;box-shadow:0 1px 3px rgba(0,0,0,.2)}.header h1{font-size:18px;font-weight:700;letter-spacing:-.3px;white-space:nowrap;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header h1 .title{color:var(--text)}.header h1 .handle{font-size:12px;font-weight:400;color:var(--subtext0);text-decoration:none}.header h1 .handle:hover{color:var(--text);text-decoration:underline}.status{font-size:15px;font-weight:500;text-align:center;flex:1}.header-actions{display:flex;gap:8px}.btn{padding:8px 14px;font-size:14px;border-radius:6px;border:1px solid var(--surface1);background:var(--surface0);color:var(--text);cursor:pointer;transition:background .2s,transform .1s;font-weight:500}.btn:hover{background:var(--surface1)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--green);color:var(--crust);border-color:var(--green);font-weight:600}.btn-primary:hover{background:#b5e8b0}.canvas-wrapper{flex:1;position:relative;min-height:0;background-color:var(--crust)}#canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.steal-banner{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:10;display:flex;align-items:center;gap:12px;padding:8px 16px;background:rgba(24,24,37,.95);backdrop-filter:blur(8px);border:1px solid rgba(250,179,135,.3);border-radius:999px;box-shadow:0 4px 20px rgba(0,0,0,.3);white-space:nowrap}.steal-banner span{font-size:14px;color:var(--text)}.steal-banner strong{color:var(--peach)}.btn-steal{background:var(--peach);color:var(--crust);font-weight:700;font-size:13px;border:none;border-radius:999px;padding:6px 14px;cursor:pointer;transition:transform .1s}.btn-steal:active{transform:scale(.95)}.modal-overlay{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:rgba(17,17,27,.7);backdrop-filter:blur(4px);padding:16px}.modal{background:var(--mantle);border:1px solid var(--surface1);border-radius:12px;padding:24px;width:100%;max-width:380px;box-shadow:0 10px 40px rgba(0,0,0,.6)}.modal h2{margin-bottom:20px;font-size:18px;color:var(--text)}.form-group{margin-bottom:16px}.form-group-last{margin-bottom:24px;padding:14px;background:var(--crust);border:1px solid var(--surface0);border-radius:8px}.form-label{display:block;font-size:12px;color:var(--subtext0);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-weight:600}.form-input{width:100%;padding:8px 12px;font-size:14px;background:var(--base);border:1px solid var(--surface0);border-radius:6px;color:var(--text);outline:0;transition:border-color .2s}.form-input:focus{border-color:var(--blue)}.form-input:disabled{opacity:.4;cursor:not-allowed}.toggle-group{display:flex;gap:8px}.btn-toggle{flex:1;padding:8px;font-size:14px;border-radius:6px;border:1px solid var(--surface0);background:var(--base);color:var(--subtext0);cursor:pointer;font-weight:500;transition:.2s}.btn-toggle:hover{background:var(--surface0)}.btn-toggle.active{background:var(--blue);color:var(--crust);border-color:var(--blue);font-weight:600}.checkbox-group{display:flex;align-items:center;gap:8px;margin-bottom:10px}.checkbox-group input{accent-color:var(--blue);width:16px;height:16px;cursor:pointer}.checkbox-group label{font-size:13px;color:var(--text);font-weight:500;cursor:pointer;user-select:none}.form-desc{font-size:12px;color:var(--subtext0);margin-top:8px;height:14px}.modal-actions{display:flex;gap:8px;margin-top:8px}.modal-actions .btn{flex:1;padding:10px}.ai-thinking{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;padding:8px 16px;background:rgba(24,24,37,.95);border:1px solid rgba(137,180,250,.3);border-radius:8px;font-size:14px;color:var(--blue)}@media (max-width:600px){.steal-banner{flex-direction:column;padding:12px;border-radius:16px}}