:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;--canvas:#e8eaed;--grid-line:#c8cdd3;--surface:#f7f8f8;--raised:#fff;--inset:#e1e5e8;--text:#17202a;--muted:#596573;--primary:#146b68;--primary-ink:#fff;--signal:#a75518;--danger:#b4232c;--focus:#355eae;--line:#bac1c8;--soft-line:#17202a1a;--shadow:0 10px 28px #202a331c;--header-height:72px;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--canvas:#10161e;--grid-line:#283442;--surface:#18222d;--raised:#202d3a;--inset:#111a24;--text:#f1f3f2;--muted:#a7b2bc;--primary:#73c9c1;--primary-ink:#0b2827;--signal:#f0ad68;--danger:#ff8a91;--focus:#9cb8ff;--line:#394857;--soft-line:#ffffff14;--shadow:0 12px 32px #00000047}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--canvas:#10161e;--grid-line:#283442;--surface:#18222d;--raised:#202d3a;--inset:#111a24;--text:#f1f3f2;--muted:#a7b2bc;--primary:#73c9c1;--primary-ink:#0b2827;--signal:#f0ad68;--danger:#ff8a91;--focus:#9cb8ff;--line:#394857;--soft-line:#ffffff14;--shadow:0 12px 32px #00000047}}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;min-height:100%}body{background-color:var(--canvas);background-image:linear-gradient(var(--soft-line) 1px, transparent 1px), linear-gradient(90deg, var(--soft-line) 1px, transparent 1px);min-width:320px;min-height:100dvh;color:var(--text);background-size:32px 32px;margin:0}button,input,textarea,select{font:inherit}button,label.file-button{touch-action:manipulation}button{color:inherit}a{color:var(--primary)}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.025em;font-family:Bahnschrift,Arial Narrow,ui-sans-serif,sans-serif}h1{font-size:clamp(2rem,4vw,3.75rem);line-height:.96}h2{font-size:1.45rem;line-height:1.1}h3{font-size:1.1rem}input,textarea,select{border:1px solid var(--line);background:var(--inset);width:100%;min-height:46px;color:var(--text);border-radius:6px;padding:10px 12px}textarea{resize:vertical;line-height:1.5}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--focus) 68%, transparent);outline-offset:2px}button,.file-button{cursor:pointer;border-radius:6px;min-height:44px;transition:background-color .16s,border-color .16s,color .16s,opacity .16s,box-shadow .16s}button:disabled{cursor:not-allowed;opacity:.48}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:1000;background:var(--raised);color:var(--text);border:2px solid var(--focus);border-radius:6px;padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-140%)}.skip-link:focus{transform:translateY(0)}.eyebrow,.section-kicker{letter-spacing:.11em;color:var(--muted);margin:0 0 6px;font:700 .72rem/1.2 ui-monospace,SFMono-Regular,Consolas,monospace}.brand-mark{fill:none;width:44px;height:44px;stroke:var(--primary);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;flex:none}.primary-button,.secondary-button,.lock-button,.file-button{border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-weight:700;text-decoration:none;display:inline-flex}.primary-button{background:var(--primary);color:var(--primary-ink);box-shadow:inset 0 -2px #00000029}.primary-button:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 88%, var(--text))}.secondary-button,.file-button{background:var(--raised);color:var(--text);border-color:var(--line)}.secondary-button:hover:not(:disabled),.file-button:hover{border-color:var(--primary);color:var(--primary)}.lock-button{border-color:var(--line);background:0 0}.lock-button:hover{border-color:var(--danger);color:var(--danger)}.text-button{color:var(--primary);background:0 0;border:0;padding:6px 10px;font-weight:700}.icon-button{background:0 0;border:0;width:44px;min-width:44px;font-size:1.55rem}.icon-button:hover{background:var(--inset)}.square-button{border:1px solid var(--line);background:var(--raised);width:44px;padding:0;font-size:1.5rem}.square-button:hover{color:var(--primary);border-color:var(--primary)}.loading-screen{min-height:100dvh;color:var(--muted);place-content:center;justify-items:center;gap:12px;display:grid}.access-shell{background:var(--canvas);grid-template-columns:minmax(0,620px) minmax(280px,440px);justify-content:center;align-items:stretch;min-height:100dvh;display:grid}.access-panel{background:var(--surface);border-inline:1px solid var(--line);flex-direction:column;justify-content:center;min-height:100dvh;padding:clamp(32px,8vw,96px);display:flex}.access-brand{align-items:center;gap:16px;margin-bottom:42px;display:flex}.access-brand h1{margin:0;font-size:clamp(2.7rem,7vw,5rem)}.access-intro{color:var(--muted);max-width:48ch;margin-bottom:28px;line-height:1.7}.access-form{gap:10px;display:grid}.access-form>label,.stack-form>label{margin-top:4px;font-size:.86rem;font-weight:700}.access-form .primary-button{margin-top:8px}.password-input{position:relative}.password-input input{padding-right:74px}.password-input .text-button{position:absolute;top:2px;right:4px}.field-error{color:var(--danger);margin:2px 0;font-size:.88rem;line-height:1.45}.access-divider{color:var(--muted);align-items:center;gap:12px;margin:24px 0;font-size:.82rem;display:flex}.access-divider:before,.access-divider:after{content:"";background:var(--line);flex:1;height:1px}.file-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.file-button.compact{width:auto}.privacy-note{color:var(--muted);text-align:center;margin:24px 0 0;font-size:.78rem}.access-calibration{background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 12%, transparent), transparent 55%), var(--canvas);border-right:1px solid var(--line);flex-direction:column;justify-content:center;padding:clamp(32px,7vw,88px);display:flex}.access-calibration h2{margin-bottom:12px}.access-calibration p{color:var(--muted);max-width:38ch;line-height:1.7}.calibration-number{color:var(--signal);letter-spacing:.12em;font:800 .78rem ui-monospace,monospace}.calibration-rule{background:var(--line);height:1px;margin:36px 0;position:relative}.calibration-rule:after{content:"";border-inline:1px solid var(--signal);width:52px;height:9px;position:absolute;top:-4px;left:0}.app-shell{min-height:100dvh}.app-header{z-index:30;height:var(--header-height);border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;align-items:center;gap:16px;padding:0 clamp(16px,3vw,40px);display:flex;position:sticky;top:0}.brand-lockup{align-items:center;gap:12px;display:flex}.brand-lockup>div{display:grid}.brand-lockup span{font-family:Bahnschrift,Arial Narrow,sans-serif;font-size:1.25rem;font-weight:800}.brand-lockup small{color:var(--muted);letter-spacing:.09em;font:650 .62rem ui-monospace,monospace}.header-actions{align-items:center;gap:10px;display:flex}.vault-status{color:var(--muted);align-items:center;gap:7px;margin-right:8px;font-size:.82rem;display:inline-flex}.vault-status i,.strength-badge i{background:var(--primary);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--primary) 18%, transparent);border-radius:50%}.update-banner{z-index:20;background:var(--signal);color:#1d130a;justify-content:center;align-items:center;gap:16px;padding:9px 16px;font-size:.88rem;font-weight:700;display:flex;position:relative}.update-banner button{background:0 0;border:1px solid;min-height:32px;padding:4px 10px}.workspace{min-height:calc(100dvh - var(--header-height));border-inline:1px solid var(--line);background:var(--surface);grid-template-columns:320px minmax(0,1fr);max-width:1600px;margin:0 auto;display:grid}.project-rail{border-right:1px solid var(--line);background:var(--surface);flex-direction:column;min-width:0;display:flex}.rail-heading{justify-content:space-between;align-items:center;padding:24px 20px 16px;display:flex}.rail-heading h2{margin:0}.search-field{padding:0 20px 14px;display:block}.search-field input{background:var(--inset)}.segmented-control{border:1px solid var(--line);background:var(--inset);border-radius:7px;grid-template-columns:1fr 1fr;margin:0 20px 14px;padding:3px;display:grid}.segmented-control button{min-height:38px;color:var(--muted);background:0 0;border:0;font-size:.84rem;font-weight:700}.segmented-control button.active{background:var(--raised);color:var(--text);box-shadow:0 1px 3px #00000024}.project-list{flex:1;padding:0 10px 16px;overflow-y:auto}.project-item{text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:42px 1fr 7px;align-items:center;gap:12px;width:100%;min-height:68px;padding:9px 8px;display:grid;position:relative}.project-item:hover{background:var(--inset)}.project-item.selected{background:var(--raised);border-color:var(--line);box-shadow:inset 3px 0 var(--primary)}.project-monogram{border:1px solid var(--line);background:var(--inset);width:42px;height:42px;color:var(--primary);border-radius:5px;place-items:center;font:800 .78rem ui-monospace,monospace;display:grid}.project-copy{gap:4px;min-width:0;display:grid}.project-copy strong,.project-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.project-copy small{color:var(--muted);font-size:.76rem}.project-notch{border-block:4px solid var(--line);width:7px;height:26px}.project-item.selected .project-notch{border-color:var(--primary)}.rail-empty{text-align:center;color:var(--muted);padding:32px 18px}.rail-empty button,.rail-footer button{color:var(--primary);background:0 0;border:0;font-weight:700}.rail-footer{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;font-size:.74rem;display:flex}.workbench{background:var(--canvas);min-width:0;padding:clamp(24px,4vw,56px)}.project-heading{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:32px;display:flex}.project-heading h1{margin-bottom:10px}.project-heading>div>p:last-child{color:var(--muted);margin:0}.key-bench,.instrument-panel,.project-details{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:10px}.key-bench{padding:clamp(18px,3vw,32px);position:relative;overflow:hidden}.key-bench:before{content:"";background:repeating-linear-gradient(90deg, var(--primary) 0 24px, transparent 24px 31px);opacity:.8;height:5px;position:absolute;inset:0 0 auto}.bench-label,.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.bench-label h2,.panel-heading h2{margin:0}.strength-badge{border:1px solid var(--line);min-height:32px;color:var(--muted);border-radius:999px;align-items:center;gap:8px;padding:5px 10px;font:700 .74rem ui-monospace,monospace;display:inline-flex}.key-strip{border:1px solid var(--line);background:var(--inset);border-radius:7px;flex-wrap:wrap;align-items:stretch;gap:5px;min-height:94px;margin:28px 0 22px;padding:13px;display:flex;box-shadow:inset 0 2px 8px #0000001f}.key-strip>span:not(.key-loading){border:1px solid var(--line);background:var(--raised);border-radius:4px 4px 7px 7px;flex:32px;place-items:center;min-width:30px;max-width:52px;height:66px;font:800 clamp(1rem,2vw,1.35rem) ui-monospace,SFMono-Regular,Consolas,monospace;animation:.28s both key-in;display:grid;position:relative}.key-strip>span:not(.key-loading):after{content:"";background:var(--kind,var(--line));border-radius:2px 2px 0 0;height:5px;position:absolute;bottom:-1px;left:32%;right:32%}.key-strip [data-kind=lower]{--kind:var(--primary)}.key-strip [data-kind=upper]{--kind:var(--focus)}.key-strip [data-kind=digit]{--kind:var(--signal)}.key-strip [data-kind=symbol]{--kind:var(--danger)}.key-loading{color:var(--muted);margin:auto}.key-actions{flex-wrap:wrap;gap:10px;display:flex}.bench-note{color:var(--muted);margin:16px 0 0;font-size:.82rem;line-height:1.55}.workbench-grid{grid-template-columns:minmax(0,1.55fr) minmax(260px,.75fr);gap:20px;margin-top:20px;display:grid}.instrument-panel,.project-details{box-shadow:none;padding:24px}.panel-heading>span{color:var(--signal);border:1px solid var(--line);border-radius:4px;padding:4px 7px;font:800 .78rem ui-monospace,monospace}.rule-editor{gap:18px;margin-top:24px;display:grid}.rule-length{grid-template-columns:64px minmax(0,1fr) 48px;align-items:center;gap:12px;display:grid}.rule-length label{font-weight:700}.rule-length input{min-height:auto;accent-color:var(--primary);padding:0}.rule-length output{background:var(--inset);border:1px solid var(--line);border-radius:5px;place-items:center;min-height:38px;font:800 .9rem ui-monospace,monospace;display:grid}.rule-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.rule-grid legend{width:100%;color:var(--muted);margin-bottom:8px;font-size:.78rem;font-weight:700}.check-control{border:1px solid var(--line);background:var(--raised);cursor:pointer;border-radius:6px;align-items:center;gap:10px;min-height:46px;padding:9px 11px;display:flex}.check-control input{width:18px;height:18px;min-height:18px;accent-color:var(--primary);padding:0}.advanced-rules{border-top:1px solid var(--line);padding-top:14px}.advanced-rules summary{cursor:pointer;min-height:44px;color:var(--muted);align-items:center;font-weight:700;display:flex}.advanced-rules .check-control{margin-bottom:12px}.advanced-rules>label:not(.check-control){margin:8px 0 6px;font-size:.82rem;font-weight:700;display:block}.save-rule{justify-self:start}.project-details dl{margin:24px 0}.project-details dl div{border-bottom:1px solid var(--soft-line);justify-content:space-between;gap:16px;padding:11px 0;display:flex}.project-details dt{color:var(--muted)}.project-details dd{text-align:right;margin:0;font:700 .84rem ui-monospace,monospace}.tag-list{flex-wrap:wrap;gap:7px;margin-top:20px;display:flex}.tag-list span{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:.75rem}.project-notes{border:1px solid var(--line);background:var(--inset);white-space:pre-wrap;border-radius:6px;min-height:92px;padding:14px;line-height:1.6}.project-notes.empty{color:var(--muted)}.danger-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:20px;padding-top:16px;display:flex}.danger-actions button{min-height:40px;color:var(--muted);background:0 0;border:0;font-weight:700}.danger-actions .danger-link{color:var(--danger)}.empty-workbench{min-height:calc(100dvh - var(--header-height) - 112px);place-content:center;justify-items:start;max-width:560px;margin:auto;display:grid}.empty-workbench .brand-mark{width:72px;height:72px;margin-bottom:28px}.empty-workbench h1{margin-bottom:16px}.empty-workbench>p:not(.eyebrow){color:var(--muted);line-height:1.7}.modal{border:1px solid var(--line);background:var(--surface);width:min(92vw,560px);max-height:min(88dvh,820px);color:var(--text);border-radius:10px;padding:0;overflow:auto;box-shadow:0 24px 80px #00000057}.modal-wide{width:min(94vw,960px)}.modal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050a10a8}.modal-heading{z-index:2;border-bottom:1px solid var(--line);background:var(--surface);justify-content:space-between;align-items:center;padding:18px 22px;display:flex;position:sticky;top:0}.modal-heading h2{margin:0}.stack-form{gap:8px;padding:22px;display:grid}.form-actions{justify-content:flex-end;gap:10px;margin-top:16px;display:flex}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.settings-section{border-bottom:1px solid var(--line);padding:24px}.settings-section:nth-child(odd){border-right:1px solid var(--line)}.settings-section.stack-form{align-content:start}.settings-section p:not(.section-kicker){color:var(--muted);line-height:1.6}.helper-text{font-size:.78rem}.button-row{flex-wrap:wrap;gap:10px;display:flex}.settings-message{color:var(--primary);border-top:1px solid var(--line);margin:0;padding:14px 24px;font-weight:700}.toast{z-index:80;border:1px solid var(--line);background:var(--raised);max-width:calc(100vw - 32px);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:12px;padding:10px 12px 10px 16px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast button{min-height:36px;color:var(--primary);background:0 0;border:0;font-weight:800}.mobile-nav{display:none}@keyframes key-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (width<=1023px){.workspace{grid-template-columns:270px minmax(0,1fr)}.workbench{padding:28px}.workbench-grid{grid-template-columns:1fr}}@media (width<=767px){:root{--header-height:64px}body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.access-shell{display:block}.access-panel{border:0;min-height:100dvh;padding:32px 20px}.access-brand{margin-bottom:32px}.access-calibration,.brand-lockup small,.vault-status,.desktop-action{display:none}.app-header{padding-inline:14px}.app-header .brand-mark{width:38px;height:38px}.lock-button{padding-inline:12px}.workspace{min-height:calc(100dvh - var(--header-height) - 64px);border:0;display:block}.project-rail,.workbench{min-height:calc(100dvh - var(--header-height) - 64px);display:none}.project-rail.mobile-active{border-right:0;display:flex}.workbench.mobile-active{display:block}.workbench{padding:20px 14px 32px}.project-heading{align-items:flex-end;margin-bottom:20px}.project-heading h1{font-size:2.35rem}.project-heading .secondary-button{padding-inline:11px}.key-bench{padding:20px 14px}.bench-label{align-items:center}.key-strip{gap:4px;margin:22px 0 18px;padding:9px}.key-strip>span:not(.key-loading){flex-basis:27px;min-width:25px;height:52px}.key-actions{grid-template-columns:1fr 1fr;display:grid}.key-actions .primary-button{grid-column:1/-1}.workbench-grid{gap:14px;margin-top:14px}.instrument-panel,.project-details{padding:18px 14px}.rule-grid{grid-template-columns:1fr 1fr}.mobile-nav{z-index:40;min-height:calc(64px + env(safe-area-inset-bottom));padding:6px 8px env(safe-area-inset-bottom);border-top:1px solid var(--line);background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);grid-template-columns:repeat(3,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.mobile-nav button{color:var(--muted);background:0 0;border:0;font-size:.78rem;font-weight:750}.mobile-nav button.active{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, transparent)}.toast{bottom:calc(76px + env(safe-area-inset-bottom))}.settings-grid{grid-template-columns:1fr}.settings-section:nth-child(odd){border-right:0}.modal{max-height:92dvh}}@media (width<=420px){.rule-grid{grid-template-columns:1fr}.project-heading{display:grid}.project-heading .secondary-button{justify-self:start}.form-actions{grid-template-columns:1fr 1fr;display:grid}}@media (orientation:landscape) and (height<=520px) and (width<=900px){.access-panel{justify-content:flex-start}.app-header{position:relative}.project-rail,.workbench{min-height:auto}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
