:root{--void:#0e0a1a;--aubergine:#1a1228;--twilight:#2a1f40;--heath:#3a2e55;--moss-shadow:#2d2438;--mage:#7c3aed;--violet:#a78bfa;--glow-violet:#c4b5fd;--forest:#22c55e;--spring:#4ade80;--glow-green:#86efac;--today-cyan:#67e8f9;--today-soft:#67e8f966;--text-primary:#f4f0ff;--text-secondary:#c9c0d9;--text-dim:#78718a;--alert:#dc2626;--text-display:24px;--text-display-lh:1.3;--text-display-weight:500;--text-h1:18px;--text-h1-lh:1.4;--text-h1-weight:600;--text-h2:16px;--text-h2-lh:1.4;--text-h2-weight:600;--text-body:14px;--text-body-lh:1.5;--text-body-weight:400;--text-small:12px;--text-small-lh:1.4;--text-small-weight:400;--text-tiny:10px;--text-tiny-lh:1.3;--text-tiny-weight:500;--font-chrome:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Consolas, monospace;--space-0:0px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--motion-rooting:1.5s;--motion-rooting-ease:cubic-bezier(.4, 0, .2, 1);--motion-branch-zoom:.4s;--motion-branch-zoom-ease:cubic-bezier(.4, 0, .2, 1);--motion-leaf-drawin:2s;--motion-leaf-drawin-ease:cubic-bezier(.65, 0, .35, 1);--motion-bud-burst:2s;--motion-bud-burst-ease:cubic-bezier(.34, 1.56, .64, 1);--motion-threshold:.6s;--motion-threshold-ease:cubic-bezier(.4, 0, .2, 1);--motion-silhouette:1.2s;--motion-silhouette-ease:cubic-bezier(.65, 0, .35, 1)}@media (prefers-reduced-motion:reduce){:root{--motion-rooting:0s;--motion-branch-zoom:0s;--motion-leaf-drawin:0s;--motion-bud-burst:0s;--motion-threshold:0s;--motion-silhouette:0s}}:root{--bg:#0a0a0c;--bg-elev-1:#14151a;--bg-elev-2:#1d1f26;--border:#2a2c34;--border-strong:#3a3d47;--text:#cdd6df;--text-dim:#7c8492;--text-strong:#f0f4f8;--accent:#5fbf5f;--accent-strong:#7fdf7f;--danger:#d96a6a;--radius-sm:6px;--radius-md:10px;--shadow-1:0 1px 2px #0006, 0 4px 12px #00000040;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.45 var(--sans);color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#app{height:100%;margin:0;padding:0}body{overscroll-behavior:none}#app{flex-direction:column;min-height:100svh;display:flex}button{font:inherit;color:var(--text);background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:8px 14px;transition:background .12s,border-color .12s,color .12s}button:hover:not(:disabled){background:var(--bg-elev-2);border-color:var(--border-strong);color:var(--text-strong)}button:disabled{opacity:.4;cursor:not-allowed}input[type=range]{accent-color:var(--accent)}.app-booting,.app-unrecoverable,.browser-not-supported{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.app{flex-direction:column;flex:1;display:flex;position:relative}.view-shell{flex-direction:column;flex:1;min-height:0;display:flex}.streak-counter{font-family:var(--mono);color:var(--text-dim);-webkit-user-select:none;user-select:none;font-size:13px;position:absolute;top:10px;right:14px}.update-banner,.day1-hint,.ios-backup-notice{background:var(--bg-elev-1);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 14px;font-size:14px;display:flex}.update-banner button,.day1-hint button{padding:4px 10px;font-size:13px}.tree-view{background:var(--bg);flex:1;position:relative}.tree-canvas{width:100%;height:100%;display:block}.leaf-preview-overlay{cursor:pointer;background:#0a0a0cb3;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.leaf-preview{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;max-width:320px;box-shadow:var(--shadow-1);padding:18px 22px}.editor-view{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.editor-header{border-bottom:1px solid var(--border);background:var(--bg-elev-1);align-items:center;gap:14px;padding:10px 14px;display:flex}.editor-back{background:0 0;border-color:#0000;padding:4px 10px;font-size:16px}.editor-back:hover{background:var(--bg-elev-2)}.editor-title{color:var(--text-strong);text-align:center;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:15px;overflow:hidden}.editor-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elev-1);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.tool-strip{flex-wrap:wrap;gap:6px;display:flex}.tool-strip .tool{background:var(--bg);border:1px solid var(--border);padding:6px 12px;font-size:13px}.tool-strip .tool[aria-pressed=true]{background:var(--bg-elev-2);color:var(--text-strong);border-color:var(--accent)}.brush-slider-row,.symmetry-slider-row{background:var(--bg-elev-1);border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:8px 14px;display:flex}.brush-slider-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);min-width:48px;font-size:12px}.brush-slider,.symmetry-slider{flex:1}.brush-slider-readout,.symmetry-axis-readout{min-width:60px;font-family:var(--mono);color:var(--text-dim);text-align:right;font-size:12px}.symmetry-toggle{color:var(--text-dim);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:inline-flex}.symmetry-toggle input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer}.editor-canvas-wrap{background-color:#0000;background-image:linear-gradient(45deg,#1a1b22 25%,#0000 25%),linear-gradient(-45deg,#1a1b22 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#1a1b22 75%),linear-gradient(-45deg,#0000 75%,#1a1b22 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:16px 16px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;flex:1;justify-content:center;align-items:center;min-height:0;padding:16px;display:flex;position:relative}.editor-canvas-frame{border:1px solid var(--border-strong);position:relative}.editor-canvas{background:var(--bg);image-rendering:pixelated;cursor:crosshair;display:block}.symmetry-guide{background:var(--accent);pointer-events:none;width:1px;box-shadow:0 0 6px var(--accent);position:absolute;top:0;transform:translate(-.5px)}.palette-pin{background:var(--bg-elev-1);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:6px;padding:12px 14px;display:flex}.palette-pin .swatch{border:2px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;padding:0}.palette-pin .swatch.empty{background-image:linear-gradient(45deg, var(--border) 25%, transparent 25%), linear-gradient(-45deg, var(--border) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--border) 75%), linear-gradient(-45deg, transparent 75%, var(--border) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px}.palette-pin .swatch.active{border-color:var(--accent-strong);transform:scale(1.08)}.editor-chrome-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--aubergine);border-top:1px solid var(--twilight);display:flex}.seed-twig-indicator{color:var(--violet);transition:color var(--motion-rooting) var(--motion-rooting-ease);flex:none}.seed-twig-indicator.state-rooting{color:var(--glow-violet)}.seed-twig-indicator.state-twig{color:var(--spring)}.seed-twig-indicator .rooting-glyph{display:block}.set-aside-chrome{font-size:var(--text-small);flex:1}.set-aside-chrome.unrooted{color:var(--text-secondary);border-color:var(--heath);background:0 0}.set-aside-chrome.rooted{color:var(--text-primary);background:var(--twilight);border-color:var(--mage);font-style:italic}.editor-actions{border-top:1px solid var(--border);background:var(--bg-elev-1);gap:8px;padding:12px 14px;display:flex}.action-btn{flex:1;padding:10px 0;font-size:14px}.action-btn.primary{background:var(--accent);border-color:var(--accent);color:#0a0a0c;font-weight:500}.action-btn.primary:hover:not(:disabled){background:var(--accent-strong);border-color:var(--accent-strong);color:#0a0a0c}.threshold-ritual{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:32px;display:flex}.threshold-canvas{border:1px solid var(--border);background:var(--bg-elev-1);image-rendering:pixelated}.threshold-overlay{flex-direction:column;align-items:center;gap:10px;display:flex}.threshold-overlay button{min-width:140px}.threshold-skip{color:var(--text-dim);background:0 0;border-color:#0000}.tree-view-archive-btn{background:var(--bg-elev-1);border:1px solid var(--border);color:var(--text);z-index:1;border-radius:999px;padding:8px 14px;font-size:13px;position:absolute;bottom:14px;right:48px}.tree-view-archive-btn:hover:not(:disabled){background:var(--bg-elev-2);border-color:var(--border-strong);color:var(--text-strong)}.archive-view{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.archive-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elev-1);z-index:1;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.archive-toolbar h1{color:var(--text-strong);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:16px}.archive-back-btn{color:var(--text);background:0 0;border-color:#0000;padding:6px 12px;font-size:13px}.archive-back-btn:hover{background:var(--bg-elev-2);border-color:var(--border-strong)}.archive-toolbar-spacer{width:64px}.archive-grid-scroll{flex:1;min-height:0;position:relative;overflow-y:auto}.archive-grid{grid-template-columns:repeat(2,1fr);gap:12px;padding:12px;display:grid}@media (width>=640px){.archive-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.archive-grid{grid-template-columns:repeat(5,1fr)}}.archive-row{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=640px){.archive-row{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.archive-row{grid-template-columns:repeat(5,1fr)}}.archive-card{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;font:inherit;color:inherit;text-align:left;flex-direction:column;gap:6px;padding:0;display:flex;overflow:hidden}.archive-card:hover,.archive-card:focus-visible{border-color:var(--border-strong);outline:none}.archive-card .archive-thumb-canvas,.archive-card .archive-thumb-placeholder{aspect-ratio:1;background:var(--bg-elev-2);width:100%;image-rendering:pixelated;display:block}.archive-card-label{color:var(--text-dim);text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:6px 8px 8px;font-size:12px;display:-webkit-box;overflow:hidden}.archive-empty{color:var(--text-dim);text-align:center;padding:40px 24px}.piece-preview-overlay{z-index:10;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.piece-preview-canvas{width:auto;max-width:min(95vw,600px);height:auto;max-height:80vh;image-rendering:pixelated;background:var(--bg-elev-2)}.settings-view{background:var(--bg);flex-direction:column;flex:1;min-height:0;display:flex}.settings-toolbar{border-bottom:1px solid var(--border);background:var(--bg-elev-1);z-index:1;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.settings-toolbar h1{color:var(--text-strong);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:16px}.settings-back-btn{color:var(--text);background:0 0;border-color:#0000;padding:6px 12px;font-size:13px}.settings-back-btn:hover{background:var(--bg-elev-2);border-color:var(--border-strong)}.settings-toolbar-spacer{width:64px}.settings-body{flex:1;min-height:0;overflow-y:auto}.settings-view .debug-log,.settings-view .update-section{border-bottom:1px solid var(--border);padding:16px}.settings-view h2{color:var(--text-strong);letter-spacing:.04em;text-transform:uppercase;margin:0 0 12px;font-size:14px}.debug-log-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.debug-log-header h2{margin:0}.debug-log-refresh{padding:4px 10px;font-size:12px}.debug-log-loading,.debug-log-empty,.debug-log-error{color:var(--text-dim);padding:12px 0;font-size:13px}.debug-log-error{color:var(--danger)}.debug-log-table{border-collapse:collapse;width:100%;font-size:12px;font-family:var(--mono);color:var(--text-dim);table-layout:fixed}.debug-log-table th,.debug-log-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;text-overflow:ellipsis;word-break:break-word;padding:4px 8px;overflow:hidden}.debug-log-table th{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.debug-log-time{white-space:nowrap}.debug-log-date{color:var(--text-dim);opacity:.7;font-size:10px;display:block}.debug-log-level-error{color:var(--danger)}.debug-log-level-warn{color:#d9b66a}.debug-log-level-info{color:var(--text)}.debug-log-level-debug{color:var(--text-dim)}.debug-log-message{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.update-reload-btn{background:var(--accent);border-radius:var(--radius-sm);color:var(--bg);cursor:pointer;border:0;padding:8px 14px;font-weight:600}.update-reload-btn:disabled{opacity:.6;cursor:default}.update-status-line{color:var(--text-dim);margin:0 0 8px}.settings-long-press-target{opacity:0;pointer-events:auto;touch-action:none;background:0 0;border:0;width:32px;height:32px;padding:0;position:absolute;bottom:8px;right:8px}
