:root{--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--pad-x: clamp(16px, 2.4vw, 28px);--page-pad: clamp(12px, 2.5vw, 32px);--radius: 10px;--rt-supabase: #3ecf8e;--rt-cloudflare:#f6821f}:root[data-theme=dark]{--bg: #0a0a0c;--bg-deep: #06060a;--surface: #0d0d10;--surface-2: #141418;--surface-3: #1a1a20;--hairline: #24242c;--hairline-2: #34343e;--ink: #f5f3ec;--ink-soft: #b8b6ac;--ink-mute: #807e76;--ink-line: #4a4a52;--accent: #14e8be;--accent-soft: rgba(20, 232, 190, .14);--accent-glow: rgba(20, 232, 190, .4);--rt-vercel: #ededed;--green: #6ed28b;--red: #ff5d5d;--ink-on-accent: #06060a;--grid-line: rgba(255, 255, 255, .012);--bg-glow-1: rgba(20, 232, 190, .06);--bg-glow-2: rgba(62, 207, 142, .04);--hover-wash: rgba(255, 255, 255, .02);--hover-wash-2: rgba(255, 255, 255, .03);--window-shadow: 0 1px 0 rgba(255, 255, 255, .025) inset, 0 30px 80px -30px rgba(0, 0, 0, .7)}:root[data-theme=light]{--bg: #f1efe9;--bg-deep: #ffffff;--surface: #fbfaf6;--surface-2: #ecebe4;--surface-3: #ddd9cd;--hairline: #c8c5b9;--hairline-2: #a8a59a;--ink: #0a0a0c;--ink-soft: #3d3c36;--ink-mute: #6a685f;--ink-line: #95938a;--accent: #0aa183;--accent-soft: rgba(10, 161, 131, .12);--accent-glow: rgba(10, 161, 131, .3);--rt-vercel: #1a1a1c;--green: #2f9b54;--red: #d13a3a;--ink-on-accent: #ffffff;--grid-line: rgba(0, 0, 0, .03);--bg-glow-1: rgba(10, 161, 131, .06);--bg-glow-2: rgba(62, 207, 142, .05);--hover-wash: rgba(0, 0, 0, .025);--hover-wash-2: rgba(0, 0, 0, .04);--window-shadow: 0 1px 0 rgba(255, 255, 255, .6) inset, 0 24px 60px -28px rgba(0, 0, 0, .18)}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{font-family:var(--mono);font-size:13px;line-height:1.55;letter-spacing:0;color:var(--ink);background:radial-gradient(ellipse at top,var(--bg-glow-1),transparent 50%),radial-gradient(ellipse at bottom right,var(--bg-glow-2),transparent 60%),var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:var(--page-pad);min-height:100vh;transition:background-color .2s ease,color .2s ease}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--grid-line) 1px,transparent 1px),linear-gradient(to bottom,var(--grid-line) 1px,transparent 1px);background-size:24px 24px;mask-image:radial-gradient(ellipse at center,black 60%,transparent 100%);z-index:0}.window{position:relative;z-index:1;max-width:1280px;margin:0 auto;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);overflow:hidden;display:grid;grid-template-rows:auto 1fr auto auto auto;min-height:calc(100vh - 2 * var(--page-pad));box-shadow:var(--window-shadow);animation:win-in .5s cubic-bezier(.2,0,0,1) both}@keyframes win-in{0%{opacity:0;transform:translateY(8px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.titlebar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:10px 14px;background:linear-gradient(180deg,var(--surface-3),var(--surface-2));border-bottom:1px solid var(--hairline);user-select:none}.lights{display:inline-flex;gap:8px;align-items:center}.light{width:11px;height:11px;border-radius:50%}.light-r{background:#ff5f57}.light-y{background:#febc2e}.light-g{background:#28c840}.title{text-align:center;font-size:12px;color:var(--ink-soft);letter-spacing:.01em}.title-file{color:var(--ink);font-weight:500}.title-sep{color:var(--ink-line);margin:0 6px}.title-repo{color:var(--ink-soft)}.title-right{display:flex;justify-content:flex-end}.title-link{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:.04em;color:var(--ink-soft);text-decoration:none;padding:5px 10px;border:1px solid var(--hairline);border-radius:6px;transition:color .18s,border-color .18s,background .18s}.title-link:hover{color:var(--ink);border-color:var(--hairline-2);background:var(--surface-3)}.layout{display:grid;grid-template-columns:1fr;min-height:0;border-bottom:1px solid var(--hairline)}.dot-supabase{background:var(--rt-supabase)}.dot-vercel{background:var(--rt-vercel)}.dot-cloudflare{background:var(--rt-cloudflare)}.editor{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--surface);animation:editor-in .45s .1s cubic-bezier(.2,0,0,1) both}@keyframes editor-in{0%{opacity:0;transform:scale(.992)}to{opacity:1;transform:scale(1)}}.tabs{position:relative;display:flex;background:var(--surface-2);border-bottom:1px solid var(--hairline);padding-left:4px;overflow-x:auto}.tabs::-webkit-scrollbar{height:0}.tab{display:inline-flex;align-items:center;gap:8px;background:transparent;border:0;border-right:1px solid var(--hairline);padding:12px 16px;font-family:var(--mono);font-size:12px;color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:color .18s,background .18s}.tab:hover{color:var(--ink);background:var(--hover-wash)}.tab.active{color:var(--ink);background:var(--surface)}.tab-dot{width:7px;height:7px;border-radius:50%}.tab-meta{color:var(--ink-mute);font-size:10px;letter-spacing:.04em}.tab-underline{position:absolute;bottom:-1px;left:4px;height:2px;background:var(--accent);box-shadow:0 0 12px var(--accent-glow);width:0;transition:transform .32s cubic-bezier(.2,0,0,1),width .32s cubic-bezier(.2,0,0,1)}.editor-pane{flex:1;padding:20px var(--pad-x) 24px;display:grid;gap:18px;background:linear-gradient(var(--surface),var(--surface)) padding-box,radial-gradient(circle at top right,var(--accent-soft),transparent 50%) padding-box;min-height:0}.snippet{border:1px solid var(--hairline);border-radius:8px;background:var(--bg-deep);overflow:hidden;position:relative}.snippet-handler{border-color:var(--hairline)}.snippet-head{display:flex;align-items:center;gap:12px;padding:8px 14px;background:var(--surface-2);border-bottom:1px solid var(--hairline);font-size:11px;color:var(--ink-mute);letter-spacing:.02em}.snippet-path{font-weight:500;color:var(--ink-soft)}.snippet-tag{margin-left:auto;font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute)}.handler-tag{color:var(--accent);border:1px solid var(--accent);padding:1px 7px;border-radius:99px;background:var(--accent-soft)}.snippet-meta{font-size:10px;letter-spacing:.04em;color:var(--ink-mute);font-variant-numeric:tabular-nums}.variant-toggle{display:inline-flex;margin-left:auto;background:var(--bg-deep);border:1px solid var(--hairline);border-radius:99px;padding:2px;gap:2px}.variant-btn{font:inherit;font-size:10px;letter-spacing:.04em;text-transform:none;color:var(--ink-mute);background:transparent;border:0;padding:3px 10px;border-radius:99px;cursor:pointer;white-space:nowrap;transition:color .18s,background .18s}.variant-btn code{font-family:var(--mono);font-size:inherit;color:inherit}.variant-btn:hover{color:var(--ink-soft)}.variant-btn.active{background:var(--accent);color:var(--ink-on-accent)}.variant-btn.active code{color:var(--ink-on-accent)}.variant-btn:focus-visible{outline:1px solid var(--accent);outline-offset:1px}.snippet-collapse{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;padding:2px 4px;margin-right:-4px;color:var(--ink-mute);cursor:pointer;transition:color .18s}.snippet-collapse:hover{color:var(--ink)}.snippet-collapse:focus-visible{outline:1px solid var(--accent);outline-offset:1px;border-radius:4px}.snippet-caret{width:14px;display:inline-flex;justify-content:center;font-size:10px;transition:transform .22s cubic-bezier(.2,0,0,1),color .18s ease}.snippet:not([data-collapsed]) .snippet-caret{transform:rotate(90deg);color:var(--accent)}.snippet-code{padding:12px 0;overflow-x:auto;overflow-y:hidden;font-size:12.5px;line-height:1.25;position:relative;max-height:2400px;transition:opacity .22s ease,max-height .32s cubic-bezier(.2,0,0,1),padding .28s cubic-bezier(.2,0,0,1)}.snippet-code.swapping{opacity:0}.snippet[data-collapsed] .snippet-code{max-height:calc(5lh + 14px);padding-bottom:4px}.snippet[data-collapsed] .snippet-code:after{content:"";position:absolute;inset:auto 0 0;height:36px;background:linear-gradient(to bottom,transparent,var(--bg-deep));pointer-events:none}.snippet-expand{display:block;width:100%;background:transparent;border:0;color:var(--ink-soft);font:inherit;font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:8px 14px 4px;cursor:pointer;transition:background .18s,color .18s;position:relative;z-index:1}.snippet-expand:hover{color:var(--ink);background:var(--hover-wash)}.snippet-expand:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.snippet-expand-meta{color:var(--ink-mute);margin-left:8px;letter-spacing:.04em;text-transform:none;font-variant-numeric:tabular-nums}.snippet[data-collapsed] .snippet-expand-hide{display:none}.snippet:not([data-collapsed]) .snippet-expand-show{display:none}.snippet-code pre,.snippet-code .shiki{background:transparent!important;margin:0;padding:0 18px;font-family:var(--mono)!important}[data-theme=dark] .snippet-code .shiki span{color:var(--shiki-dark)}[data-theme=light] .snippet-code .shiki span{color:var(--shiki-light)}.snippet-code code{counter-reset:line;display:block}.snippet-code .line{counter-increment:line;display:block;position:relative;padding-left:3.6em;min-height:1lh}.snippet-code .line:before{content:counter(line);position:absolute;left:0;width:2.6em;text-align:right;color:var(--ink-mute);user-select:none;font-variant-numeric:tabular-nums;border-right:1px solid var(--hairline);margin-right:1em;padding-right:.6em}.divider{display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.divider-line{flex:1;height:1px;background:var(--hairline)}.divider-label{white-space:nowrap}.repl{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px var(--pad-x);background:var(--surface-2);border-bottom:1px solid var(--hairline);position:relative;animation:repl-in .4s .18s cubic-bezier(.2,0,0,1) both}@keyframes repl-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.repl-prompt{font-family:var(--mono);font-size:14px;color:var(--ink)}.repl-tok-key{color:var(--accent);font-weight:500;margin-left:6px}.repl-tok-eq{color:var(--ink-mute);margin:0 6px}#name-input{font-family:var(--mono);font-size:15px;background:transparent;border:0;color:var(--ink);outline:none;width:100%;caret-color:var(--accent);padding:4px 0}#name-input::placeholder{color:var(--ink-mute);font-style:italic}#name-input:focus{color:var(--ink)}.run{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--ink-on-accent);border:0;padding:8px 16px;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:lowercase;cursor:pointer;border-radius:6px;box-shadow:0 0 0 1px var(--accent-glow),0 0 24px var(--accent-soft);transition:transform .12s,box-shadow .18s,background .18s}.run:hover{box-shadow:0 0 0 1px var(--accent-glow),0 0 32px var(--accent-glow)}.run:active{transform:scale(.98)}.run:disabled{opacity:.5;cursor:wait}.run-arrow{font-size:11px}.repl.is-running:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);background-size:200% 100%;animation:scan 1.1s linear infinite}@keyframes scan{0%{background-position:200% 0}to{background-position:-200% 0}}.terminal{background:var(--bg-deep);border-bottom:1px solid var(--hairline);animation:term-in .45s .22s cubic-bezier(.2,0,0,1) both}@keyframes term-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.terminal-head{display:flex;align-items:center;gap:10px;padding:10px var(--pad-x);border-bottom:1px solid var(--hairline);background:var(--surface-2);font-size:11px;letter-spacing:.04em;color:var(--ink-mute)}.term-prompt{color:var(--accent);font-weight:700}.term-label{color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;font-size:10px}.term-meta{color:var(--ink-mute)}.term-clear{margin-left:auto;background:transparent;border:1px solid var(--hairline);color:var(--ink-soft);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:4px;cursor:pointer;transition:color .18s,border-color .18s}.term-clear:hover{color:var(--ink);border-color:var(--hairline-2)}.term-log{list-style:none;padding:14px var(--pad-x);font-family:var(--mono);font-size:12.5px;line-height:1.8;min-height:168px;max-height:320px;overflow-y:auto;color:var(--ink)}.term-log li{display:grid;grid-template-columns:16px 110px auto auto 1fr auto;gap:10px;align-items:baseline;position:relative;padding:2px 0 2px 8px;border-left:2px solid transparent;animation:line-in .3s cubic-bezier(.2,0,0,1) both}@keyframes line-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.term-log li.hint{display:block;padding-left:10px;color:var(--ink-mute);border-left:0}.term-log .comment{color:var(--ink-mute)}.term-log .icon{font-weight:700}.term-log .icon.ok{color:var(--green)}.term-log .icon.err{color:var(--red)}.term-log .icon.req{color:var(--accent)}.term-log .rt{letter-spacing:.04em;font-weight:500}.term-log .rt.supabase{color:var(--rt-supabase)}.term-log .rt.vercel{color:var(--rt-vercel)}.term-log .rt.cloudflare{color:var(--rt-cloudflare)}.term-log .ms{color:var(--ink-mute);font-variant-numeric:tabular-nums;text-align:right;min-width:56px}.term-log .arrow{color:var(--ink-line)}.term-log .body{color:var(--ink);white-space:pre-wrap;word-break:break-word}.term-log .body .greeting{color:var(--ink);font-weight:500}.term-log .body .lang{color:var(--ink-mute);margin-left:6px}.term-log li.req{grid-template-columns:16px 1fr}.statusbar{display:flex;align-items:center;gap:0;padding:0 var(--pad-x);height:28px;background:var(--surface-2);font-size:10px;letter-spacing:.06em;color:var(--ink-mute);text-transform:uppercase}.status-segment{display:inline-flex;align-items:center;gap:6px;padding:0 12px;border-right:1px solid var(--hairline);height:100%}.status-segment:first-child{padding-left:0}.status-segment:last-child{border-right:0;padding-right:0}.status-spacer{flex:1;height:100%;border-right:1px solid var(--hairline)}.status-icon{color:var(--ink-soft)}.status-ok .status-icon{color:var(--green);font-size:8px}.status-theme{background:transparent;border:0;border-right:1px solid var(--hairline);font:inherit;font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink-soft);cursor:pointer;transition:color .18s,background .18s}.status-theme:hover{color:var(--ink);background:var(--hover-wash)}.status-theme:focus-visible{outline:1px solid var(--accent);outline-offset:-1px}.status-theme .theme-icon{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--accent-soft);display:inline-block}.title-auth{cursor:pointer;gap:6px;max-width:200px;font:inherit;font-size:11px;letter-spacing:.04em;background:transparent}.title-auth:hover{color:var(--ink);border-color:var(--hairline-2);background:var(--surface-3)}.title-auth-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-auth-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-line);flex-shrink:0;transition:background .18s,box-shadow .18s}body[data-auth=in] .title-auth-dot{background:var(--green);box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 22%,transparent)}.modal{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;padding:24px;animation:modal-in .18s cubic-bezier(.2,0,0,1) both}.modal[hidden]{display:none}@keyframes modal-in{0%{opacity:0}to{opacity:1}}.modal-backdrop{position:absolute;inset:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}[data-theme=light] .modal-backdrop{background:#14141852}.modal-content{position:relative;width:100%;max-width:380px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--radius);box-shadow:var(--window-shadow);animation:modal-content-in .22s cubic-bezier(.2,0,0,1) both;overflow:hidden}@keyframes modal-content-in{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-head{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--hairline);background:var(--surface-2)}.modal-title{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:lowercase;color:var(--ink);margin:0}.modal-title [data-when]{display:none}body[data-auth=in] .modal-title [data-when=in],body[data-auth=out] .modal-title [data-when=out]{display:inline}body:not([data-auth]) .modal-title [data-when=out]{display:inline}.modal-close{margin-left:auto;background:transparent;border:0;color:var(--ink-mute);font-size:22px;line-height:1;cursor:pointer;padding:0 4px;transition:color .15s}.modal-close:hover{color:var(--ink)}.modal-body{padding:20px}.modal-body[data-when]{display:none}body[data-auth=in] .modal-body[data-when=in],body[data-auth=out] .modal-body[data-when=out]{display:block}body:not([data-auth]) .modal-body[data-when=out]{display:block}.modal-sub{font-size:12px;color:var(--ink-mute);margin:0 0 16px;line-height:1.55}.auth-field{display:block;margin-bottom:12px}.auth-field>span{display:block;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:6px}.auth-input{font-family:var(--mono);font-size:13px;background:var(--bg-deep);border:1px solid var(--hairline);color:var(--ink);outline:none;border-radius:6px;padding:8px 11px;width:100%;caret-color:var(--accent);transition:border-color .15s,background .15s}.auth-input::placeholder{color:var(--ink-mute)}.auth-input:focus{border-color:var(--accent)}.auth-actions{display:flex;align-items:center;gap:8px;margin-top:16px}.auth-btn{font-family:var(--mono);font-size:12px;letter-spacing:.04em;text-transform:lowercase;padding:8px 14px;border-radius:6px;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;background:transparent;color:var(--ink-soft);border:1px solid var(--hairline)}.auth-btn:hover{color:var(--ink);border-color:var(--hairline-2)}.auth-btn--primary{background:var(--accent);color:var(--ink-on-accent);border-color:transparent;font-weight:600}.auth-btn--primary:hover{color:var(--ink-on-accent);box-shadow:0 0 0 1px var(--accent-glow),0 0 18px var(--accent-soft)}.auth-btn--ghost{background:transparent}.auth-msg{font-size:11px;color:var(--ink-mute);margin:12px 0 0;min-height:1em}.auth-msg[data-kind=error]{color:var(--red)}.auth-status{display:flex;align-items:center;gap:12px;padding:8px 12px;background:var(--surface-2);border:1px solid var(--hairline);border-radius:8px;margin-bottom:16px}.auth-status-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 18%,transparent)}.auth-status-meta{display:flex;flex-direction:column;min-width:0}.auth-status-label{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-mute)}.auth-status-email{color:var(--ink);font-weight:500;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-body[data-when=in] #signout-btn{width:100%}.stats{background:var(--bg-deep);border-bottom:1px solid var(--hairline)}.stats-body-wrap{position:relative;min-height:168px}.stats-overlay{position:absolute;inset:0;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-deep) 70%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}body[data-auth=out] .stats-overlay,body:not([data-auth]) .stats-overlay{display:flex}.stats-overlay-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 24px}.stats-overlay-title{font-family:var(--mono);font-size:13px;color:var(--ink);letter-spacing:.02em}.stats-overlay-sub{font-size:11px;color:var(--ink-mute);margin-bottom:10px}.stats-overlay-card .auth-btn{padding:6px 16px;font-size:11.5px}.stats-head{display:flex;align-items:center;gap:10px;padding:10px var(--pad-x);border-bottom:1px solid var(--hairline);background:var(--surface-2);font-size:11px;letter-spacing:.04em;color:var(--ink-mute)}.stats-prompt{color:var(--accent);font-weight:700}.stats-label{color:var(--ink-soft);letter-spacing:.16em;text-transform:uppercase;font-size:10px}.stats-meta{color:var(--ink-mute)}.stats-refresh{margin-left:auto;background:transparent;border:1px solid var(--hairline);color:var(--ink-soft);font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:4px 10px;border-radius:4px;cursor:pointer;transition:color .18s,border-color .18s}.stats-refresh:hover{color:var(--ink);border-color:var(--hairline-2)}.stats-table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12.5px}.stats-table th,.stats-table td{padding:8px var(--pad-x);text-align:left;border-bottom:1px solid var(--hairline)}.stats-table tbody tr:last-child td{border-bottom:0}.stats-table th{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);font-weight:400}.stats-table .num{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}.stats-table th.num{color:var(--ink-mute)}.stats-table .rt{letter-spacing:.04em;font-weight:500}.stats-table .rt.supabase{color:var(--rt-supabase)}.stats-table .rt.vercel{color:var(--rt-vercel)}.stats-table .rt.cloudflare{color:var(--rt-cloudflare)}@media (max-width: 700px){body{padding:0}.window{border-radius:0;min-height:100vh;box-shadow:none}.titlebar{padding:9px 12px;gap:10px}.title{font-size:11px}.title-link span{display:none}.term-log li{grid-template-columns:16px 90px 50px 1fr auto}.term-log li>.arrow{display:none}.statusbar .status-segment:nth-child(3){display:none}.title-auth{max-width:120px}}
