.connection-status.svelte-101jw49{flex:none}.disconnected.svelte-101jw49{color:#b84535}.connecting.svelte-101jw49{color:var(--muted);animation:svelte-101jw49-spin 1s linear infinite}.connected.svelte-101jw49{color:var(--green)}.error.svelte-101jw49{color:#a4650b}@keyframes svelte-101jw49-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.connecting.svelte-101jw49{animation:none}}.chart-box.svelte-g45s4w{width:100%}.caption.svelte-g45s4w{margin:0 0 8px;color:var(--ink);font-size:13px}.note.svelte-g45s4w{margin:0 0 8px;color:var(--muted);font-size:13px}.code-head.svelte-3pacvv{display:flex;align-items:center;justify-content:space-between;max-width:760px}.code-origin.svelte-3pacvv{display:flex;align-items:center;gap:5px;margin:2px 0 0;color:var(--muted);font-size:12px}.lock.svelte-3pacvv{display:inline-flex;cursor:help}button.copy.svelte-3pacvv{width:auto;height:auto;padding:2px;border:0;background:transparent;color:var(--muted)}button.copy.svelte-3pacvv:hover{background:transparent;color:var(--green)}.code-scroll.svelte-3pacvv{max-width:760px;margin-top:8px;overflow-x:auto}.code-sheet.svelte-3pacvv{width:100%;border:1px solid rgba(36,85,60,.2);border-radius:7px;border-collapse:separate;border-spacing:0;overflow:hidden}.code-sheet.svelte-3pacvv th:where(.svelte-3pacvv){width:32px;padding:0 10px;border-right:1px solid rgba(36,85,60,.15);background:#f6f7f2;color:var(--muted);font:12px/1.7 ui-monospace,monospace;text-align:right;-webkit-user-select:none;user-select:none}.code-sheet.svelte-3pacvv td:where(.svelte-3pacvv){padding:0 12px;font:13px/1.7 ui-monospace,monospace;white-space:pre}.code-sheet.svelte-3pacvv tr:where(.svelte-3pacvv):first-child>:where(.svelte-3pacvv){padding-top:8px}.code-sheet.svelte-3pacvv tr:where(.svelte-3pacvv):last-child>:where(.svelte-3pacvv){padding-bottom:8px}.sql-keyword.svelte-3pacvv{color:var(--green);font-weight:700}.code-comment.svelte-3pacvv{color:var(--muted)}.sql-param.svelte-3pacvv{padding:0 5px;border:1px solid rgba(36,85,60,.35);border-radius:9px;background:#fff7c2;color:var(--green);cursor:help}button.sql-node.svelte-3pacvv{width:auto;height:auto;padding:0;border:0;background:transparent;color:var(--green);font:inherit;text-decoration:underline;text-underline-offset:3px}button.sql-node.svelte-3pacvv:hover{background:transparent;color:var(--green-hover)}.input-name.svelte-cwfx5n{margin:0;color:var(--green);font-size:16px;font-weight:700}.prompt.svelte-cwfx5n{display:inline-flex;align-items:center;gap:7px;margin:8px 0 0;padding:6px 12px;border:1px solid rgba(36,85,60,.2);border-radius:14px 14px 14px 4px;background:#fff7c2;color:var(--ink);font-size:13px}.prompt.svelte-cwfx5n svg:where(.svelte-cwfx5n){flex:none;color:var(--muted)}.visually-hidden.svelte-cwfx5n{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tabs.svelte-cwfx5n{display:flex;gap:18px;margin:14px 0 12px;border-bottom:1px solid rgba(36,85,60,.2)}.tabs.svelte-cwfx5n button:where(.svelte-cwfx5n){width:auto;height:auto;margin-bottom:-1px;padding:6px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500}.tabs.svelte-cwfx5n button:where(.svelte-cwfx5n):hover{background:transparent;color:var(--green)}.tabs.svelte-cwfx5n button[aria-selected=true]:where(.svelte-cwfx5n){border-bottom-color:var(--green);color:var(--green)}.controls.svelte-cwfx5n{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px}.control.svelte-cwfx5n{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.control.svelte-cwfx5n select:where(.svelte-cwfx5n){max-width:200px;padding:3px 6px;border:1px solid rgba(36,85,60,.3);border-radius:6px;background:#fff;color:var(--ink);font:500 13px Satoshi,Segoe UI,sans-serif}.control.data.svelte-cwfx5n select:where(.svelte-cwfx5n){background:#fff7c2}.divider.svelte-cwfx5n{width:1px;height:18px;background:#24553c40}.chart-wrap.svelte-cwfx5n{max-width:760px}.note.svelte-cwfx5n{margin:0 0 8px;color:var(--muted);font-size:13px}.note.runs.svelte-cwfx5n{margin-top:10px;font-size:12px}h3.svelte-cwfx5n{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:500}.rows-wrap.svelte-cwfx5n{max-width:760px;overflow-x:auto}.table.svelte-cwfx5n{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.table.svelte-cwfx5n th:where(.svelte-cwfx5n){padding:6px 8px;border-bottom:1px solid rgba(36,85,60,.2);color:var(--muted);font-size:12px;font-weight:400}.table.svelte-cwfx5n td:where(.svelte-cwfx5n){padding:6px 8px;border-bottom:1px solid rgba(36,85,60,.12);white-space:nowrap}.table.svelte-cwfx5n .num:where(.svelte-cwfx5n){text-align:right}button.node-link.svelte-1fs3oaj{display:inline;width:auto;height:auto;margin:0;padding:6px 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:inherit}button.node-link.svelte-1fs3oaj:hover,button.node-link.svelte-1fs3oaj:focus-visible{background:transparent;color:var(--green);text-decoration:underline;text-underline-offset:3px}button.node-link.svelte-1fs3oaj:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:3px}.arrow.svelte-1fs3oaj{display:none;margin-left:3px}button.node-link.svelte-1fs3oaj:hover .arrow:where(.svelte-1fs3oaj),button.node-link.svelte-1fs3oaj:focus-visible .arrow:where(.svelte-1fs3oaj){display:inline-block}.tile.svelte-ad458b{display:grid;align-content:start;gap:4px;min-width:0;margin:0;padding:14px 16px 16px;border:1px solid rgba(36,85,60,.35);border-radius:10px;background:#fff;color:var(--ink);font-family:Satoshi,Segoe UI,sans-serif}.label.svelte-ad458b{color:var(--muted);font-size:13px;font-weight:500}.value.svelte-ad458b{margin:0;overflow-wrap:anywhere;color:var(--green);font-size:30px;font-weight:700;line-height:1.15}.note.svelte-ad458b{margin:2px 0 0;color:var(--muted);font-size:12px;line-height:1.4}.title.svelte-9q71tj{margin:0 0 12px;color:var(--green);font-size:16px;font-weight:700}.dashboard.svelte-9q71tj{container-type:inline-size;max-width:1100px}.tiles.svelte-9q71tj{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin-bottom:16px}.charts.svelte-9q71tj{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@container (max-width: 620px){.charts.svelte-9q71tj{grid-template-columns:minmax(0,1fr)}}.chart.svelte-9q71tj{min-width:0;padding:12px 14px 10px;border:1px solid rgba(36,85,60,.2);border-radius:10px;background:#fff}h4.svelte-9q71tj{margin:0 0 8px;color:var(--ink);font-size:13px;font-weight:500;line-height:1.4}.note.svelte-9q71tj{margin:0;color:var(--muted);font-size:13px}.input-name.svelte-1emhyh3{margin:0;color:var(--green);font-size:16px;font-weight:700}.prompt.svelte-1emhyh3{display:inline-flex;align-items:center;gap:7px;margin:8px 0 0;padding:6px 12px;border:1px solid rgba(36,85,60,.2);border-radius:14px 14px 14px 4px;background:#fff7c2;color:var(--ink);font-size:13px}.prompt.svelte-1emhyh3 svg:where(.svelte-1emhyh3){flex:none;color:var(--muted)}.visually-hidden.svelte-1emhyh3{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tabs.svelte-1emhyh3{display:flex;gap:18px;margin:14px 0 12px;border-bottom:1px solid rgba(36,85,60,.2)}.tabs.svelte-1emhyh3 button:where(.svelte-1emhyh3){width:auto;height:auto;margin-bottom:-1px;padding:6px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500}.tabs.svelte-1emhyh3 button:where(.svelte-1emhyh3):hover{background:transparent;color:var(--green)}.tabs.svelte-1emhyh3 button[aria-selected=true]:where(.svelte-1emhyh3){border-bottom-color:var(--green);color:var(--green)}.tile-box.svelte-1emhyh3{max-width:360px}h3.svelte-1emhyh3{margin:0 0 4px;color:var(--muted);font-size:12px;font-weight:500}.rows-wrap.svelte-1emhyh3{max-width:760px;overflow-x:auto}.table.svelte-1emhyh3{width:100%;border-collapse:collapse;font-size:13px;text-align:left}.table.svelte-1emhyh3 th:where(.svelte-1emhyh3){padding:6px 8px;border-bottom:1px solid rgba(36,85,60,.2);color:var(--muted);font-size:12px;font-weight:400}.table.svelte-1emhyh3 td:where(.svelte-1emhyh3){padding:6px 8px;border-bottom:1px solid rgba(36,85,60,.12);white-space:nowrap}.table.svelte-1emhyh3 .num:where(.svelte-1emhyh3){text-align:right}main:has(>.task-view){min-height:0}.task-view.svelte-tpnwjz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;min-height:0}.task-result.svelte-tpnwjz{border-left:1px solid rgba(36,85,60,.2)}.task-canvas.svelte-tpnwjz,.task-result.svelte-tpnwjz{min-width:0;overflow:auto;padding:16px 24px;background:#fff}h2.svelte-tpnwjz{margin:0 0 12px;color:var(--muted);font-size:12px;font-weight:500}button.node.svelte-tpnwjz{position:relative;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;justify-items:start;gap:0;width:210px;height:108px;padding:0;border:1px solid var(--green);border-radius:10px;background:#fff7c2;color:var(--ink);font:500 14px/1.4 Satoshi,Segoe UI,sans-serif;text-align:left}.flow.svelte-tpnwjz{position:relative;transform-origin:top left}.flow-frame.svelte-tpnwjz{overflow:hidden;overflow:clip;overflow-clip-margin:6px}.canvas-head.svelte-tpnwjz{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.canvas-head.svelte-tpnwjz h2:where(.svelte-tpnwjz){margin:0}.fit.svelte-tpnwjz{display:inline-flex;flex-direction:row;align-items:center;gap:5px;width:auto;height:auto;padding:3px 9px;border:1px solid rgba(36,85,60,.3);border-radius:999px;background:#fff;color:var(--muted);font:500 12px/1.4 Satoshi,Segoe UI,sans-serif;cursor:pointer}.fit.svelte-tpnwjz:hover,.fit.svelte-tpnwjz:focus-visible{border-color:var(--green);color:var(--ink)}.flow.svelte-tpnwjz button.node:where(.svelte-tpnwjz){position:absolute}.edges.svelte-tpnwjz{position:absolute;top:0;right:0;bottom:0;left:0}.edges.svelte-tpnwjz path:where(.svelte-tpnwjz){fill:none;stroke:var(--green);stroke-width:1.2}button.node.svelte-tpnwjz:hover{background:#fff7c2;color:var(--ink)}button.node[aria-pressed=true].svelte-tpnwjz{outline:2px solid var(--green);outline-offset:2px}.node-header.svelte-tpnwjz{display:flex;align-items:center;gap:7px;width:100%;padding:7px 12px;border-bottom:1px solid rgba(36,85,60,.35);color:var(--muted);font-size:12px}.node-header.svelte-tpnwjz svg:where(.svelte-tpnwjz){width:15px;height:15px;fill:none;stroke:var(--green);stroke-width:1.6}.node-name.svelte-tpnwjz{padding:8px 12px 0;color:var(--green);font-size:15px;font-weight:700}.node-sub.svelte-tpnwjz{padding:2px 12px 0;color:var(--muted);font-size:12px}.node-port.svelte-tpnwjz{position:absolute;top:50%;right:-5px;width:8px;height:8px;margin-top:-4px;border:1px solid var(--green);border-radius:50%;background:#fff}.node-port.in.svelte-tpnwjz{right:auto;left:-5px}.result-note.svelte-tpnwjz{margin:0;color:var(--muted);font-size:14px}.source-head.svelte-tpnwjz{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.source-name.svelte-tpnwjz{color:var(--green);font-size:16px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.source-hash.svelte-tpnwjz{display:flex;align-items:center;gap:5px;color:var(--muted);font:12px ui-monospace,monospace}button.hash-info.svelte-tpnwjz{width:auto;height:auto;padding:0;border:0;background:transparent;color:var(--muted)}button.hash-info.svelte-tpnwjz:hover,button.hash-info[aria-expanded=true].svelte-tpnwjz{background:transparent;color:var(--green)}.source-top.svelte-tpnwjz{position:relative}.input-name.svelte-tpnwjz{margin:0;color:var(--green);font-size:16px;font-weight:700}.source-stats.pair.svelte-tpnwjz{grid-template-columns:repeat(2,minmax(0,1fr));max-width:360px}.years.svelte-tpnwjz{max-width:560px}.years.svelte-tpnwjz .num:where(.svelte-tpnwjz){text-align:right}.years.svelte-tpnwjz .bar-cell:where(.svelte-tpnwjz){width:45%}.bar.svelte-tpnwjz{display:block;height:8px;border-radius:2px;background:var(--green);opacity:.55}.prompt.svelte-tpnwjz{display:inline-flex;align-items:center;gap:7px;margin:8px 0 0;padding:6px 12px;border:1px solid rgba(36,85,60,.2);border-radius:14px 14px 14px 4px;background:#fff7c2;color:var(--ink);font-size:13px}.prompt.svelte-tpnwjz svg:where(.svelte-tpnwjz){flex:none;color:var(--muted)}.visually-hidden.svelte-tpnwjz{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.input-origin.svelte-tpnwjz{display:flex;align-items:center;gap:5px}.lock.svelte-tpnwjz{display:inline-flex;cursor:help}.sheet.svelte-tpnwjz{max-width:760px;margin-top:12px}.sheet.svelte-tpnwjz th:where(.svelte-tpnwjz),.sheet.svelte-tpnwjz td:where(.svelte-tpnwjz){border:1px solid rgba(36,85,60,.15)}.sheet.svelte-tpnwjz thead:where(.svelte-tpnwjz) th:where(.svelte-tpnwjz),.sheet.svelte-tpnwjz tbody:where(.svelte-tpnwjz) th:where(.svelte-tpnwjz){background:#f6f7f2}.sheet.svelte-tpnwjz tbody:where(.svelte-tpnwjz) th:where(.svelte-tpnwjz){width:32px;color:var(--muted);font-size:12px;font-weight:400;text-align:center}.hash-popover.svelte-tpnwjz{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:2;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--green);border-radius:7px;background:#fff7c2;font-size:12px;line-height:1.5}.hash-full.svelte-tpnwjz{color:var(--muted);font-family:ui-monospace,monospace;word-break:break-all;-webkit-user-select:all;user-select:all}.source-origin.svelte-tpnwjz{margin:2px 0 0;color:var(--muted);font-size:12px}.source-tabs.svelte-tpnwjz{display:flex;gap:18px;margin:14px 0 12px;border-bottom:1px solid rgba(36,85,60,.2)}.source-tabs.svelte-tpnwjz button:where(.svelte-tpnwjz){width:auto;height:auto;margin-bottom:-1px;padding:6px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--muted);font-size:13px;font-weight:500}.source-tabs.svelte-tpnwjz button:where(.svelte-tpnwjz):hover{background:transparent;color:var(--green)}.source-tabs.svelte-tpnwjz button[aria-selected=true]:where(.svelte-tpnwjz){border-bottom-color:var(--green);color:var(--green)}.source-tabs.svelte-tpnwjz button.flagged:where(.svelte-tpnwjz),.source-tabs.svelte-tpnwjz button.flagged:where(.svelte-tpnwjz):hover{padding:6px 10px;border-radius:7px 7px 0 0;background:#fff7c2}.month-bars.svelte-tpnwjz{display:block;width:100%;max-width:760px;height:54px;margin-bottom:12px}.month-bars.svelte-tpnwjz rect:where(.svelte-tpnwjz){fill:var(--green);opacity:.55}.month-bars.svelte-tpnwjz rect.jump:where(.svelte-tpnwjz){fill:#ba7517;opacity:1}.profile-table.svelte-tpnwjz td:where(.svelte-tpnwjz):last-child{white-space:normal}.hints.svelte-tpnwjz{max-width:760px;padding:10px 12px;border:1px solid var(--green);border-radius:7px;background:#fff7c2;font-size:13px}.hints.svelte-tpnwjz ul:where(.svelte-tpnwjz){margin:0;padding-left:18px}.source-description.svelte-tpnwjz{margin:0 0 12px;font-size:14px;font-weight:400}.source-stats.svelte-tpnwjz{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:560px;margin:12px 0 16px}.source-stats.svelte-tpnwjz div:where(.svelte-tpnwjz){display:grid;padding:8px 10px;border:1px solid rgba(36,85,60,.2);border-radius:7px}.source-stats.svelte-tpnwjz strong:where(.svelte-tpnwjz){font-size:16px;font-weight:400}.source-stats.svelte-tpnwjz span:where(.svelte-tpnwjz){color:var(--muted);font-size:12px}.source-table.svelte-tpnwjz{width:100%;border-collapse:collapse;font-size:13px;font-weight:400;text-align:left}.source-table.svelte-tpnwjz th:where(.svelte-tpnwjz){padding:6px 8px;border-bottom:1px solid rgba(36,85,60,.2);color:var(--muted);font-size:12px;font-weight:400;white-space:nowrap}.source-table.svelte-tpnwjz td:where(.svelte-tpnwjz){padding:6px 8px;border-bottom:1px solid rgba(36,85,60,.12);white-space:nowrap}.mono.svelte-tpnwjz{font:12px ui-monospace,monospace}h3.svelte-tpnwjz{margin:16px 0 4px;color:var(--muted);font-size:12px;font-weight:500}.rows-wrap.svelte-tpnwjz{overflow-x:auto}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Satoshi;src:url(/fonts/satoshi-700.woff2) format("woff2");font-weight:700;font-display:swap}:root{color-scheme:light;--paper: #fff3a8;--surface: #fffefb;--ink: #222d27;--muted: #62685e;--green: #24553c;--green-hover: #173e2a;--line: #dcdfd1;--on-green: #fffef5;font-family:Satoshi,Segoe UI,sans-serif;color:var(--ink);font-weight:500;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100svh;background:var(--paper) url(/friday-sheet-surface.svg) left top / 960px 416px repeat}#app{display:flex;flex-direction:column;min-height:100svh}.top-banner{position:relative;display:block;padding:10px 48px 10px 18px;background:var(--green);color:var(--on-green);font-size:13px;line-height:1.4;text-align:center;text-decoration:none}.banner-download{color:#ffd45a;font-weight:700;text-decoration:none}.banner-download:hover{text-decoration:underline;text-underline-offset:3px}.banner-more{display:inline-block;margin-left:8px;padding:2px 8px;border:1px solid currentColor;border-radius:4px;color:var(--on-green);font-size:12px;text-decoration:none}.banner-more:hover{background:var(--on-green);color:var(--green)}main{display:grid;flex:1;grid-template-columns:minmax(0,1fr)}main.panel-open{grid-template-columns:min(384px,50%) minmax(0,1fr)}#app:has(.task-view){height:100svh}#app:has(.task-view) main{min-height:0}.home-content{display:grid;grid-template-columns:minmax(0,1fr) min(576px,50%);min-width:0}.actions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;min-width:0;padding:24px}.recent{display:flex;flex-direction:column;min-width:0;padding:24px;border-left:1px solid rgba(36,85,60,.2);background:#fff7c2}@media(max-width:900px){.home-content{grid-template-columns:minmax(0,1fr)}.actions{min-height:320px}.recent{min-height:280px;border-left:0;border-top:1px solid rgba(36,85,60,.2)}}.recent h2{margin:0 0 12px;color:var(--green);font-size:14px;font-weight:700}button{display:inline-flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;width:184px;height:152px;padding:12px;border:1px solid var(--green);border-radius:7px;background:#fff7c2;color:var(--green);font:700 22px/1.4 Satoshi,Segoe UI,sans-serif;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent}button:hover{background:var(--green);border-color:var(--green);color:#fff7c2}:focus-visible{outline:3px solid var(--green);outline-offset:5px}::selection{background:#dce7be;color:var(--ink)}.recent-panel{flex:1;overflow-x:auto}.recent-table{width:100%;min-width:440px;border-collapse:collapse;text-align:left;font-size:14px}.recent-table th{padding:10px 16px;border-bottom:1px solid rgba(36,85,60,.16);color:var(--muted);font-size:12px;font-weight:500;white-space:nowrap}.recent-table th:nth-child(2){width:140px}.recent-table th:last-child{width:88px}.recent-table td{height:64px;padding:12px 16px}.recent-table th:last-child,.recent-table td:last-child{text-align:right}.recent-table tbody tr:hover{background:#fffbe0}.recent-meta{color:var(--muted)}button.recent-file{flex-direction:row;justify-content:flex-start;gap:10px;width:100%;height:auto;padding:0;border:0;border-radius:0;background:transparent;color:var(--green);font-size:14px;font-weight:500;text-align:left}button.recent-file svg{flex:none;width:28px;height:32px}button.recent-file span{white-space:nowrap}button.banner-dismiss{position:absolute;top:50%;right:8px;transform:translateY(-50%);width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--on-green);font:500 24px/1 Satoshi,Segoe UI,sans-serif}button.banner-dismiss:hover{background:#ffffff1f}button.banner-dismiss:focus-visible{outline-color:#ffd45a;outline-offset:0}.top-bar{position:relative;display:grid;grid-template-columns:repeat(auto-fill,96px);align-items:center;min-height:32px;border-bottom:1px solid rgba(36,85,60,.18)}.top-bar-title{position:absolute;left:calc(min(384px,50%) + 16px);right:104px;overflow:hidden;color:var(--green);font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.title-home-icon{margin-right:6px;vertical-align:-2px}.title-home{color:inherit;text-decoration:underline;text-underline-offset:3px}.title-home:hover{color:var(--green-hover)}.task-mode{margin-left:8px;color:#a33d16;font-weight:700}.top-nav{display:flex;gap:4px}.top-nav button,button.profile{width:27px;height:27px;padding:0;border:0;border-radius:4px;background:transparent}.top-nav button{flex-direction:row;gap:6px;width:96px;height:31px;padding:0;border:0;border-radius:0;background:transparent;font:700 13px/1 Satoshi,Segoe UI,sans-serif}button.profile{grid-column:-2 / -1;width:96px;height:31px;border-radius:0}.top-nav button,button.profile{border:1px solid rgba(36,85,60,.35);background:transparent}.top-nav button:hover,button.profile:hover{border-color:var(--green);background:var(--green);color:var(--on-green)}.data-panel{min-width:0;overflow-y:auto;border-right:1px solid rgba(36,85,60,.35);background:#fff7c2}.top-nav.panel-open{position:relative;z-index:2;width:min(384px,100vw);gap:0}.top-nav button.active{border-color:var(--green);background:var(--green);color:var(--on-green);width:min(288px,calc(100vw - 48px));justify-content:flex-start;padding-left:16px}.top-nav button.data-close{flex:1;min-width:48px;background:var(--green);border-color:var(--green);color:var(--on-green);font-size:22px;font-weight:500}.top-nav button.data-close:hover{background:var(--green-hover)}.data-panel button.data-source{flex-direction:row;justify-content:flex-start;gap:8px;width:100%;height:64px;padding:0 16px;border:0;border-radius:0;background:transparent;font-size:14px;font-weight:500}.data-panel button.data-source{color:var(--ink)}.data-panel button.data-source:hover{background:#222d270a;color:var(--ink)}.data-panel button.data-source:focus-visible{outline-offset:-3px}.data-panel button.data-source[aria-current=page]>span:not(.connection-status){font-weight:700;text-decoration:underline;text-decoration-color:var(--green);text-decoration-thickness:2px;text-underline-offset:6px}.files-page{min-width:0;padding:24px 32px;background:#fff7c2}.files-table-wrap{overflow-x:auto}.files-table{width:100%;min-width:280px;border-collapse:collapse;text-align:left;font-size:14px}.files-table th{padding:12px 16px;border-bottom:1px solid rgba(36,85,60,.2);color:var(--muted);font-size:13px;font-weight:700}.files-table td:not(.files-empty){padding:14px 16px;border-bottom:1px solid rgba(36,85,60,.12)}.files-table td.file-size{text-align:right;white-space:nowrap}.files-table th:first-child{width:60%}.files-table th:nth-child(2){width:140px}.files-table th:nth-child(3){width:100px;text-align:right}.files-table th:last-child{width:110px;text-align:center;white-space:nowrap}.files-table td.file-actions{padding:6px 16px;text-align:center}button.file-play{width:32px;height:32px;padding:0;border-radius:4px;background:transparent;color:var(--green)}button.file-play:hover{background:var(--green);color:var(--on-green)}.files-table .files-empty{padding:64px 16px;color:var(--muted);text-align:center}.files-empty svg{display:block;margin:0 auto 12px;color:var(--green);opacity:.65}.files-empty span{display:block}.drive-page{display:grid;place-items:center;min-width:0;padding:32px}.drive-content{max-width:360px;text-align:center}.drive-content h1{margin:0;color:var(--green);font-size:28px;line-height:1.2}.drive-content p{margin:12px 0 24px;color:var(--muted)}button.drive-connect{width:auto;height:40px;padding:0 24px;background:var(--green);color:var(--on-green);font-size:14px}button.drive-connect:hover{background:var(--green-hover);border-color:var(--green-hover)}.login-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:grid;place-items:center;padding:24px;background:#222d2759}.login-dialog{position:relative;width:min(100%,400px);padding:32px;border:1px solid var(--green);border-radius:7px;background:#fff7c2}.login-dialog h2{margin:0;color:var(--green);font-size:24px}.login-dialog p{margin:12px 0 20px;color:var(--muted)}.login-dialog form{display:grid;gap:10px}.login-dialog label{font-size:14px;font-weight:700}.login-dialog input{width:100%;height:40px;padding:0 10px;border:1px solid var(--green);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit}button.login-action{width:100%;height:40px;margin-top:6px;background:var(--green);color:var(--on-green);font-size:14px}button.login-action:hover{background:var(--green-hover)}button.login-action:disabled{opacity:.6;cursor:wait}button.login-close{position:absolute;top:8px;right:8px;width:32px;height:32px;padding:0;border:0;background:transparent;font-size:24px}button.login-back{width:auto;height:auto;padding:4px;border:0;background:transparent;font-size:13px}.login-dialog .login-error{margin-bottom:0;color:#a63025;font-size:14px}.google-signin:empty{display:none}.google-signin{margin-top:20px}.login-dialog .login-or{margin:16px 0 0;font-size:13px}button.google-unavailable{width:100%;height:40px;margin-top:20px;border-color:var(--line);background:var(--surface);color:var(--muted);font-size:14px;cursor:default}.login-dialog p.migrate-banner{display:flex;align-items:center;gap:8px;margin:0 0 14px;padding:8px 12px;border-left:3px solid var(--green);background:#24553c12;color:var(--green);font-size:13px;font-weight:500}.migrate-example{color:var(--green);font-weight:700;text-underline-offset:3px;white-space:nowrap}.migrate-sources{display:grid;gap:10px}.migrate-source{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 8px 0 16px;border:1px solid var(--green);border-radius:7px;color:var(--green);font-size:15px;font-weight:700}button.migrate-action{width:auto;min-width:96px;height:34px;padding:0 16px;background:var(--green);color:#fff7c2;font-size:14px}button.migrate-action:hover{background:var(--green-hover);border-color:var(--green-hover)}button.migrate-action:disabled{opacity:.45;cursor:not-allowed}button.migrate-action:disabled:hover{background:var(--green);border-color:var(--green)}.action-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:24px}button.migrate{flex-direction:row;gap:14px;width:min(100%,392px);height:auto;padding:16px;background:var(--green);color:#fff7c2;font-size:14px;font-weight:500;white-space:nowrap}button.migrate:hover{background:var(--green-hover);border-color:var(--green-hover);color:#fff7c2}.migrate-text{display:grid;gap:2px;text-align:left;line-height:1.3}button.migrate strong{font-size:22px;font-weight:700}.fro-chip-label{fill:#fff7c2}button:hover .fro-chip-label{fill:var(--green)}
