:root{--ink:#18181b;--ink-soft:#52525b;--ink-faint:#a1a1aa;--accent:#ff00bc;--paper:#fbfbfc;--panel:#fff;--line:#18181b1a;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", monospace;--sans:"Hanken Grotesk", "Helvetica Neue", Arial, sans-serif;--display:var(--sans);--editor-font:var(--sans)}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}.wrap{max-width:680px;margin:0 auto;padding:56px 24px}.wrap h1{font-family:var(--display);letter-spacing:-.02em;font-weight:800}.lede{color:var(--ink-soft);line-height:1.6}.accent-serif{color:var(--accent);font-family:PT Serif,Georgia,serif;font-style:italic;font-weight:700}.hero{text-align:center;max-width:620px;margin:0 auto;padding:104px 24px 0}.hero h1{font-family:var(--display);letter-spacing:-.025em;margin:0 0 16px;font-size:40px;font-weight:800;line-height:1.08}.hero p{color:var(--ink-soft);max-width:440px;margin:0 auto 28px;font-size:16px;line-height:1.6}.hero form{margin:0}.import{font-family:var(--sans);text-align:center;margin-top:30px}.import summary{color:var(--ink-faint);cursor:pointer;font-size:13px;list-style:none}.import summary:hover{color:var(--ink-soft)}.import-area{width:100%;font-family:var(--mono);border:1px solid var(--line);background:var(--panel);resize:vertical;border-radius:10px;margin:16px 0 12px;padding:12px 14px;font-size:13px;line-height:1.6;display:block}.btn,.ghost-btn{font-family:var(--sans);cursor:pointer;border-radius:7px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-block}.btn{background:var(--accent);color:#fff;border:1px solid var(--accent)}.ghost-btn{color:var(--ink-soft);border:1px solid var(--line);background:0 0}.ghost-btn:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.editor-page{background:var(--panel);border:1px solid var(--line);border-radius:13px;max-width:860px;margin:28px auto;overflow:hidden;box-shadow:0 1px 2px #18181b0a,0 6px 16px -12px #18181b1f}.editor-bar{border-bottom:1px solid var(--line);color:var(--ink-faint);align-items:center;gap:10px;padding:11px 16px;font-size:12px;display:flex}.editor-bar .dot{background:var(--accent);border-radius:50%;width:10px;height:10px}.editor-bar .editor-title{font-family:var(--sans)}.editor-bar .ghost-btn{margin-left:auto}.fx-note{font-family:var(--sans);color:var(--ink-faint);white-space:nowrap;margin-left:auto;font-size:11px}.fx-note.fx-stale{color:var(--accent)}.rename-offer{border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--accent) 7%, #fff);color:var(--ink-soft);align-items:center;gap:10px;padding:9px 16px;font-size:13px;display:flex}.rename-offer-text{flex:auto}.rename-offer strong{color:var(--ink);font-weight:600}.editor-shell{align-items:flex-start;display:flex}.cm-host{flex:auto;min-width:0;padding:18px 0 24px 6px}.cm-host .cm-editor{min-height:320px}.results{border-left:1px solid var(--line);font-family:var(--editor-font);text-align:right;font-variant-numeric:tabular-nums;flex:0 0 160px;align-self:stretch;padding:18px 18px 24px 14px;font-size:14px;line-height:1.7}.res-line{min-height:23.8px;color:var(--ink-faint);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.results .res-line:not(:empty){color:var(--ink)}.res-line.res-err{color:var(--accent)}.sheet-readonly{font-family:var(--mono);white-space:pre-wrap;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;font-size:14px;line-height:1.7}.client-page{background:var(--panel);border:1px solid var(--line);border-radius:13px;max-width:640px;margin:36px auto;overflow:hidden;box-shadow:0 1px 2px #18181b0a,0 6px 16px -12px #18181b1f}.client-bar{border-bottom:1px solid var(--line);color:var(--ink-faint);align-items:center;gap:10px;padding:11px 16px;font-size:12px;display:flex}.client-bar .fx-note{margin-left:0}.client-bar .ghost-btn{margin-left:auto;padding:6px 12px;font-size:11px}.client-body{padding:28px 30px 34px}.c-loading,.c-expired{text-align:center;color:var(--ink-soft);padding:48px 30px;font-size:14px}.view-title{color:var(--ink-soft);font-weight:600}.pop-feat .pop-tag{cursor:pointer}.pop-feat .pop-tag.active{background:var(--accent);color:#fff;border-color:var(--accent)}.c-gap{height:14px}.c-heading{font-family:var(--display);letter-spacing:-.02em;margin:4px 0 16px;font-size:18px;font-weight:800}.c-note{color:var(--ink-faint);margin-bottom:10px;font-size:13px;font-style:italic}.c-title{font-family:var(--sans);color:var(--ink-soft);margin:16px 0 6px;font-size:13px;font-weight:600;line-height:1.4}.c-row{border-bottom:1px solid #18181b0e;align-items:center;gap:16px;padding:8px 0;display:flex}.c-row:last-child{border-bottom:none}.c-label{font-family:var(--sans);color:var(--ink-soft);flex:auto;font-size:14px}.c-val{font-family:var(--sans);color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;flex:none;min-width:92px;font-size:14px}.c-val-input{color:var(--accent);font-weight:500}.c-err .c-val{color:var(--accent)}.c-editable .c-label,.c-editable .c-val{flex:1 1 0}.c-slider{appearance:none;cursor:pointer;background:0 0;flex:0 0 220px;height:16px}.c-slider::-webkit-slider-runnable-track{background:repeating-linear-gradient(90deg,#18181b38 0 4px,#0000 4px 7px);height:1px}.c-slider::-moz-range-track{background:repeating-linear-gradient(90deg,#18181b38 0 4px,#0000 4px 7px);height:1px}.c-slider::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);border:none;border-radius:50%;width:11px;height:11px;margin-top:-5px}.c-slider::-moz-range-thumb{background:var(--accent);border:none;border-radius:50%;width:11px;height:11px}.c-key .c-label{color:var(--ink);font-weight:700}.c-key .c-val{color:var(--accent);font-size:16px;font-weight:700}.c-locked .c-label{color:var(--ink-faint)}.c-rollup{border-top:1px solid var(--line);margin-top:5px;padding-top:11px}.c-rollup .c-label{color:var(--ink);font-weight:700}.c-val-rollup{font-size:15px;font-weight:700}.c-row.is-excluded .c-label,.c-row.is-excluded .c-val{color:var(--ink-faint)}.c-tag{font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);background:#f4f4f6;border-radius:5px;padding:2px 7px;font-size:10px;font-weight:600}.res-line.cfg{cursor:pointer}.res-line.cfg .cfg-val{border-bottom:1.5px dotted #ff00bc33;padding-bottom:1px;transition:border-color .12s}.res-line.cfg:hover .cfg-val{border-bottom-color:var(--accent)}.pop{z-index:50;border:1px solid var(--line);width:268px;font-family:var(--sans);transform-origin:100% 0;background:#fff;border-radius:13px;animation:.13s ease-out both pop-in;position:absolute;box-shadow:0 1px 2px #18181b0a,0 8px 20px -12px #18181b29}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pop-in-b{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-in-c{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.anim-a{transform-origin:100% 0;animation:.13s ease-out both pop-in}.anim-b{transform-origin:100% 0;animation:.14s ease-out both pop-in-b}.anim-c{transform-origin:100% 0;animation:.18s cubic-bezier(.22,1,.36,1) both pop-in-c}@media (prefers-reduced-motion:reduce){.pop,.anim-a,.anim-b,.anim-c{animation:none}}.pop:before{content:"";border-left:1px solid var(--line);border-top:1px solid var(--line);background:#fff;width:12px;height:12px;position:absolute;top:-6px;right:28px;transform:rotate(45deg)}.pop-hd{align-items:center;gap:9px;padding:12px 14px;display:flex}.pop-name{letter-spacing:-.01em;color:var(--ink);flex:auto;font-size:14px;font-weight:600}.pop-hair{background:var(--line);height:1px}.sw{color:var(--ink-soft);cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.sw input{opacity:0;width:0;height:0;position:absolute}.sw .track{background:#d7d7db;border-radius:999px;width:30px;height:18px;transition:all .15s;position:relative}.sw .track .knob{background:#fff;border-radius:50%;width:14px;height:14px;transition:all .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.sw input:checked+.track{background:var(--accent)}.sw input:checked+.track .knob{left:14px}.pop-bounds{gap:8px;padding:12px 14px 14px;display:flex}.pop-bounds .f{flex:1 1 0}.pop-bounds label{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-faint);margin-bottom:4px;font-size:9.5px;font-weight:600;display:block}.pop-bounds input{width:100%;font-family:var(--mono);text-align:right;border:1px solid var(--line);border-radius:8px;padding:6px 8px;font-size:13px}.pop-bounds input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #ff00bc1f}.pop-locked{color:var(--ink-faint);align-items:center;gap:8px;padding:13px 14px 15px;font-size:12.5px;display:flex}.pop-tag{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);background:var(--grey-tint);border-radius:5px;padding:2px 7px;font-size:9.5px;font-weight:700}.pop-sel{font:inherit;cursor:pointer;color:var(--ink);background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:12.5px;display:inline-flex}.pop-sel:hover{background:var(--paper)}.pop-mem{cursor:pointer;align-items:center;gap:10px;padding:8px 14px;font-size:13px;display:flex}.pop-mem.inc{background:var(--grey-tint)}.pop-mem input{opacity:0;width:0;height:0;position:absolute}.pop-mem .box{background:#fff;border:1.5px solid #cdcdd2;border-radius:5px;flex:none;width:15px;height:15px;position:relative}.pop-mem.inc .box{background:var(--accent);border-color:var(--accent)}.pop-mem.inc .box:after{content:"✓";color:#fff;justify-content:center;align-items:center;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;inset:0}.pop-mem .ml{color:var(--ink);flex:auto}.pop-mem .mv{font-family:var(--mono);color:var(--ink-soft);font-size:12px}.pop-mem.exc{opacity:.9}.pop-mem.exc .ml,.pop-mem.exc .mv{color:var(--ink-faint)}.pop-foot{justify-content:space-between;align-items:baseline;padding:11px 14px 12px;display:flex}.pop-foot .fl{text-transform:uppercase;letter-spacing:.09em;color:var(--ink-faint);font-size:10.5px;font-weight:600}.pop-foot .fv{font-family:var(--mono);color:var(--ink);font-size:15px;font-weight:600}.pop-feat{color:var(--ink);align-items:center;gap:9px;padding:13px 14px;font-size:13px;display:flex}.pop-feat .star{color:var(--accent)}:root{--grey-tint:#18181b0d}.prov-r1{--prov:#5fc880}.prov-r2{--prov:#5a8fd6}.prov-r3{--prov:#ff7044}.prov-r4{--prov:#7d6fdb}.prov-r5{--prov:#ff665e}.prov-dot{background:var(--prov);vertical-align:middle;border-radius:50%;flex:none;width:8px;height:8px;margin-right:6px;display:inline-block}.approx{color:var(--ink-faint);margin-right:.2em}.results .res-line.is-rollup{font-weight:700}.results .res-line.is-excluded{color:var(--ink-faint)}.home-shell{background:var(--paper);min-height:100vh;color:var(--ink)}.home-page{background:var(--panel);border:1px solid var(--line);border-radius:13px;max-width:860px;margin:28px auto;overflow:hidden;box-shadow:0 1px 2px #18181b0a,0 6px 16px -12px #18181b1f}.home-bar{border-bottom:1px solid var(--line);color:var(--ink-faint);justify-content:space-between;align-items:center;gap:10px;padding:11px 16px;font-size:12px;display:flex}.home-bar .home-auth .btn{border-radius:6px;justify-content:center;align-items:center;width:21px;height:21px;padding:0;line-height:1;display:inline-flex}.app-brand{font-family:var(--sans);letter-spacing:-.02em;color:var(--ink-soft);border-radius:6px;margin-left:-8px;padding:3px 8px;font-size:13px;font-weight:600;text-decoration:none;transition:color .12s,background .12s}.app-brand:hover{color:var(--ink);background:#f4f4f6}.home-content{padding:16px}.home-empty{flex-direction:column;justify-content:center;align-items:center;padding:64px 0 32px;display:flex}.home-section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.home-section-title{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);font-size:11px;font-weight:700}.home-section-toggle{font-family:var(--sans);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600;transition:color .1s,background .1s}.home-section-toggle:hover{color:var(--ink);background:#f4f4f6}.home-list{flex-direction:column;margin:0 0 8px;padding:0;list-style:none;display:flex}.doc-row{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:6px;outline:none;align-items:center;gap:12px;padding:11px 8px;transition:background .12s;display:flex}.doc-row:hover{background:#f4f4f6}.doc-row--selected{background:#f4f4f6;box-shadow:inset 2px 0 #ff00bc99}.doc-row--archived{opacity:.65}.doc-row__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.doc-row__info{flex:1;align-items:baseline;gap:12px;min-width:0;display:flex}.doc-row__title{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.doc-row__date{color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-size:11px}.doc-row__actions{opacity:0;flex-shrink:0;gap:6px;transition:opacity .1s;display:flex}.doc-row:hover .doc-row__actions,.doc-row:focus-within .doc-row__actions,.doc-row--selected .doc-row__actions{opacity:1}.doc-row__action-btn{color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:color .1s,background .1s;display:inline-flex}.doc-row__action-btn:hover{color:var(--ink);background:#ececef}.doc-row__action-btn--danger:hover{color:#c0392b}.home-command{margin-bottom:16px;position:relative}.command-input{box-sizing:border-box;width:100%;font-family:var(--sans);color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:8px;outline:none;padding:10px 14px;font-size:14px;transition:border-color .12s,box-shadow .12s}.command-input:focus{border-color:#ff00bc66;box-shadow:0 0 0 3px #ff00bc14}.command-input--hidden{visibility:hidden;pointer-events:none;position:absolute}.command-paste-preview{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.command-paste-text{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-soft);flex:1;font-style:italic;overflow:hidden}.command-paste-kbd{color:var(--ink-faint);white-space:nowrap;flex-shrink:0;font-size:11px}.create-row{cursor:pointer;color:var(--ink-soft);background:0 0;border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:10px 8px;font-size:14px;transition:background .1s,box-shadow .1s;display:flex}.create-row:hover,.create-row--selected{background:#f4f4f6;box-shadow:inset 2px 0 #ff00bc99}.create-row-text{flex:1}.create-row-kbd{color:var(--ink-faint);font-size:13px}.home-empty-hint{color:var(--ink-faint);text-align:center;margin:0;padding:32px 0;font-size:14px}.home-auth{align-items:center;gap:10px;display:flex}.home-auth-name{color:var(--ink-soft);font-size:12px}.home-auth-link{font-family:var(--sans);color:var(--ink-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:600;text-decoration:none;transition:color .1s,background .1s}.home-auth-link:hover{color:var(--ink);background:#f4f4f6}.auth-page{background:#f4f4f6;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--panel);border:1px solid var(--line);border-radius:13px;width:100%;max-width:340px;padding:32px 28px;box-shadow:0 1px 2px #18181b0a,0 6px 16px -12px #18181b1f}.auth-wordmark{text-align:center;font-family:var(--sans);letter-spacing:-.03em;color:var(--ink);margin-bottom:32px;font-size:18px;font-weight:700;display:block}.auth-error{color:#c0392b;background:#fdecea;border-left:2px solid #c0392b;border-radius:8px;margin-bottom:20px;padding:10px 12px;font-size:13px}.oauth-buttons{flex-direction:column;gap:10px;display:flex}.btn-oauth{border:1px solid var(--line);font-family:var(--sans);text-align:center;color:#fff;background:var(--accent);border-color:var(--accent);border-radius:8px;padding:10px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .15s;display:block}.btn-oauth:hover{opacity:.9}.auth-divider{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:12px;margin:24px 0 16px;font-size:11px;font-weight:600;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--line);flex:1;height:1px}.dev-login{gap:10px;display:flex}.btn-dev{border:1px dashed var(--line);color:var(--ink-soft);font-family:var(--mono);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;flex:1;padding:9px 12px;font-size:12px;transition:color .15s,border-color .15s}.btn-dev:hover{border-color:var(--ink-faint);color:var(--ink)}.btn-dev:disabled{opacity:.4;cursor:not-allowed}.ai-bar{align-items:center;margin-left:auto;display:flex}.ai-bar .ai-trigger{padding:6px 12px;font-size:12px}.ai-form{border:1px solid var(--accent);transform-origin:100% 0;background:#fff;border-radius:10px;align-items:center;gap:8px;padding:4px 10px;animation:.18s cubic-bezier(.22,1,.36,1) both pop-in;display:flex}.ai-form .ai-spark{color:var(--accent);font-size:12px}.ai-input{font-family:var(--sans);min-width:240px;color:var(--ink);background:0 0;border:none;outline:none;font-size:13px}.ai-input:disabled{opacity:.6}.ai-status{color:var(--ink-faint);white-space:nowrap;font-size:11px}.ai-error{color:#c0392b;white-space:nowrap;font-size:11px}@media (prefers-reduced-motion:reduce){.ai-form{animation:none}}
