@font-face{font-family:"Bricolage Grotesque";src:url("/assets/fonts/bricolage-grotesque-latin.woff2") format("woff2");font-style:normal;font-weight:500 800;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/instrument-serif-italic-latin.woff2") format("woff2");font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("/assets/fonts/instrument-serif-latin.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Adjusted UI";src:local("Arial");size-adjust:96%;ascent-override:91%;descent-override:23%;line-gap-override:0%}
:root {
  color-scheme:light; --bg:#f1f3ec; --surface:#fbfcf9; --surface-2:#e7eee8; --ink:#18302e;
  --muted:#526a67; --line:#c8d5ce; --teal:#176f68; --teal-dark:#105a55; --amber:#efc76f;
  --amber-ink:#30230a; --green:#24734d; --red:#a64040; --blue:#4f7cff; --shadow:0 12px 38px #18302e12;
}
*{box-sizing:border-box} [hidden]{display:none!important}
html{scroll-behavior:smooth} body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font:15px/1.55 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input{font:inherit} a{color:var(--teal);text-underline-offset:3px} :focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.app-header{height:70px;padding:0 max(25px,calc((100% - 1240px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #c8d5ce;background:#f1f3eced;position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:760;font-size:20px;letter-spacing:-.04em;color:var(--ink)}
.brand-mark{width:31px;height:31px;display:grid;place-items:center;border-radius:10px;background:var(--blue);color:white;font-weight:800}
.header-actions{display:flex;align-items:center;gap:23px}.header-link,.text-button{font-size:13px;color:var(--muted);text-decoration:none}
.text-button{border:0;background:none;padding:8px 0;cursor:pointer}.header-link:hover,.text-button:hover{color:var(--teal)}
#app{width:min(1180px,calc(100% - 40px));margin:0 auto;min-height:calc(100dvh - 120px);padding:44px 0 90px}
.app-footer{border-top:1px solid var(--line);padding:22px max(25px,calc((100% - 1180px)/2));display:flex;gap:20px;align-items:center;justify-content:space-between;color:var(--muted);font-size:12px}
.loading-card{max-width:540px;margin:13vh auto;padding:38px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.loading-mark{width:40px;height:40px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:13px;font-weight:800}
.loading-card h1{font-size:23px;letter-spacing:-.04em;margin:22px 0 5px}.loading-card p{color:var(--muted)}
.skeleton-line{height:10px;width:80%;border-radius:8px;background:linear-gradient(90deg,#e6ece6,#f3f6f1,#e6ece6);background-size:200% 100%;animation:skeleton 1.5s linear infinite;margin-top:16px}.skeleton-line.short{width:53%}
@keyframes skeleton{to{background-position:-200% 0}}
.auth-layout{min-height:calc(100dvh - 240px);display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:9%;padding:26px 0}
.auth-story{padding:32px 0}.auth-story .eyebrow,.eyebrow{display:flex;align-items:center;gap:10px;color:var(--teal);text-transform:uppercase;font-size:11px;letter-spacing:.15em;font-weight:800}
.eyebrow:before{content:"";height:2px;width:24px;background:var(--amber)}
.auth-story h1{font-size:clamp(42px,5vw,68px);line-height:.99;letter-spacing:-.07em;margin:22px 0 20px;max-width:600px}
.auth-story h1 em{font-style:normal;color:var(--teal)}.auth-story>p{max-width:480px;color:var(--muted);font-size:17px}
.auth-points{padding:0;margin:30px 0 0;list-style:none;display:grid;gap:14px;color:#38534d;font-size:14px}
.auth-points li{display:flex;gap:11px;align-items:flex-start}.auth-points li:before{content:"";width:7px;height:7px;margin-top:7px;border-radius:50%;background:var(--teal);flex:none}
.auth-card{padding:37px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow);position:relative;overflow:hidden}
.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--teal) 0 60%,var(--amber) 60%)}
.auth-card h2{font-size:29px;letter-spacing:-.05em;margin:0 0 5px}.auth-intro{margin:0 0 24px;color:var(--muted);font-size:13px}
.auth-form{display:grid;gap:15px}.field-label{display:block;font-size:12px;font-weight:700;margin-bottom:6px}
.field-input{width:100%;height:48px;padding:0 13px;border:1px solid #b9c9c1;border-radius:7px;background:#fff;color:var(--ink)}
.field-input::placeholder{color:#71827b}.field-input:focus{border-color:var(--teal)}
.primary-button,.secondary-button,.small-button{border:1px solid transparent;border-radius:7px;min-height:47px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s}
.primary-button{color:#f7fcfa;background:var(--teal)}.primary-button:hover{background:var(--teal-dark);transform:translateY(-1px)}
.secondary-button{border-color:var(--line);color:var(--ink);background:transparent}.secondary-button:hover{background:var(--surface-2)}
.text-link{border:0;padding:8px 0;background:none;color:var(--teal);text-align:left;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-weight:650}
.form-status{min-height:21px;color:var(--muted);font-size:13px}.form-status.error{color:var(--red)}.form-status.success{color:var(--green)}
.auth-foot{border-top:1px solid #dce4de;margin-top:22px;padding-top:18px;color:var(--muted);font-size:12px}
.alert{padding:13px 15px;border:1px solid #d8c27e;border-radius:8px;background:#fff3d0;color:#594416;font-size:13px;margin-bottom:19px}
.connect-banner{padding:14px 16px;border:1px solid #a8cdb7;border-radius:8px;background:#e8f4ec;color:var(--green);font-size:14px;font-weight:600}
.dash-wrap{display:grid;gap:22px}.welcome-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:2px 0 4px}
.welcome-row h1{font-size:clamp(32px,4vw,48px);line-height:1.05;letter-spacing:-.06em;margin:10px 0 6px}
.welcome-row p{color:var(--muted);margin:0;max-width:640px}.status-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:11px;white-space:nowrap}
.status-chip:before{content:"";width:7px;height:7px;border-radius:50%;background:#b2c1b8}.status-chip.done{color:var(--green);border-color:#a8cdb7}.status-chip.done:before{background:var(--green)}.status-chip.waiting:before{background:#daa832}
.install-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;padding:31px;border-radius:13px;background:#19332f;color:#eff6f1;overflow:hidden;position:relative}
.install-hero:after{content:"";position:absolute;width:340px;height:340px;border-radius:50%;border:1px solid #41645d;right:8%;top:-210px;box-shadow:0 0 0 37px #34564a45,0 0 0 78px #34564a24}
.install-copy,.install-symbol{position:relative;z-index:1}.install-kicker{color:#9bd1c4;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:800}
.install-hero h2{font-size:clamp(27px,3.6vw,42px);line-height:1.06;letter-spacing:-.05em;margin:12px 0}
.install-hero p{max-width:620px;color:#bfd1c8;font-size:13px;margin:0 0 17px}
.download-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.download-btn{background:var(--amber);color:var(--amber-ink);font-weight:800}.download-btn:hover{background:#ffdc85}
.download-meta{font-size:11px;color:#c1d3ca}.install-symbol{display:grid;place-items:center;min-height:155px}
.symbol-rings{width:134px;height:134px;border:1px solid #6e9d8c;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 14px #ffffff09,0 0 0 30px #ffffff07}
.symbol-g{width:66px;height:66px;display:grid;place-items:center;background:var(--blue);color:#fff;border-radius:22px;font-size:37px;font-weight:800}
.hash-row{display:flex;gap:10px;align-items:flex-start;margin-top:18px;max-width:720px}.hash-label{color:#a8c2b7;font-size:10px;white-space:nowrap;padding-top:3px}
.hash-value{font:10px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;color:#d7e7de;overflow-wrap:anywhere}
.small-button{min-height:29px;padding:0 9px;font-size:10px;background:#2b4a44;border-color:#4e7067;color:#edf6f0;flex:none}.small-button:hover{background:#365951}
.progress-row{display:flex;align-items:center;gap:9px;margin-top:23px}.progress-track{height:3px;flex:1;background:#35564f;border-radius:5px;overflow:hidden}.progress-fill{height:100%;width:var(--progress,0%);background:var(--amber);transition:width .5s}.progress-text{font-size:10px;color:#bbd0c6;white-space:nowrap}
.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.75fr);align-items:start;gap:22px}
.main-column,.side-column{display:grid;gap:22px;min-width:0}.panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:22px;box-shadow:0 4px 16px #18302e06}
.panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:15px}.panel-heading h2{font-size:20px;letter-spacing:-.04em;margin:0}.panel-heading p{font-size:12px;color:var(--muted);margin:4px 0 0}
.setup-list{display:grid;gap:0}.setup-step{display:grid;grid-template-columns:36px minmax(0,1fr) minmax(190px,.82fr);gap:15px;align-items:center;padding:17px 0;border-top:1px solid #e4eae5}
.setup-step:first-child{border-top:0}.step-number{width:30px;height:30px;border-radius:50%;border:1px solid #b8cbc0;color:var(--teal);display:grid;place-items:center;font:11px ui-monospace,monospace}
.setup-step.complete .step-number{background:#e1f0e5;border-color:#9bc8a8;color:var(--green)}.step-copy h3{font-size:14px;margin:0 0 4px}.step-copy p{font-size:11px;line-height:1.5;color:var(--muted);margin:0}
.step-copy .inline-action{margin-top:8px}.step-visual{height:108px;border:1px solid #d5e0d8;border-radius:7px;background:#edf2ed;overflow:hidden;padding:7px;display:flex;align-items:center;justify-content:center}
.mock-browser{width:100%;height:100%;border:1px solid #d0dad3;border-radius:5px;background:#fbfcfa;overflow:hidden}
.mock-top{height:14px;background:#e3eae4;border-bottom:1px solid #d2ddd5;display:flex;align-items:center;gap:3px;padding:0 5px}.mock-top i{width:4px;height:4px;border-radius:50%;background:#9eafa4}
.mock-main{display:flex;gap:6px;padding:7px 6px}.mock-side{width:27%;height:58px;background:repeating-linear-gradient(to bottom,#e5ebe6 0 4px,transparent 4px 10px)}
.mock-content{flex:1;font-size:7px;color:#3f5950}.mock-line{height:5px;background:#e5ebe6;margin:5px 0;width:74%;border-radius:4px}.mock-line.wide{width:96%}.mock-cta{margin-top:7px;width:43px;height:12px;background:#176f68;border-radius:3px}
.mock-control{border:1px solid #d1ddd5;background:#fff;border-radius:4px;padding:5px 7px;font-size:8px;color:#455f54}
.mock-toggle{display:flex;align-items:center;gap:8px;font-size:8px;color:#455f54}.mock-switch{width:25px;height:14px;border-radius:8px;background:#176f68;position:relative}.mock-switch:after{content:"";position:absolute;right:2px;top:2px;width:10px;height:10px;border-radius:50%;background:white}
.mock-extension{display:flex;align-items:center;gap:7px;border:1px solid #dce5dd;padding:6px;border-radius:4px;font-size:7px;width:92%}.mock-extension .brand-mark{width:18px;height:18px;border-radius:5px;font-size:9px}.mock-puzzle{font-size:23px;color:#586d62}.mock-puzzle-svg{width:26px;height:26px;flex:none;color:#586d62}.mock-sidepanel{width:76px;height:88px;background:#fafcfb;border-left:1px solid #d0dad3;padding:7px}.mock-chatline{background:#e0ece6;border-radius:5px;padding:5px;font-size:6px;margin-bottom:7px}.mock-amber{background:#fff0c6;color:#604b19;padding:5px;border-radius:4px;font-size:6px;margin-top:8px}
.mock-wide{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.step-visual[data-kind="folder"] .mock-main{height:75px;align-items:center;justify-content:center}.folder-icon{width:48px;height:34px;border-radius:3px;background:#e9c469;position:relative}.folder-icon:before{content:"";position:absolute;top:-6px;left:3px;width:20px;height:9px;background:#e9c469;border-radius:3px 3px 0 0}
.guide-note{padding:12px 14px;background:#f5f0dc;border-left:3px solid var(--amber);color:#5b4b27;border-radius:3px;font-size:11px;margin-top:12px}
.faq-mini{display:grid;gap:0}.faq-mini details{border-top:1px solid #e2e9e3;padding:12px 0}.faq-mini details:first-child{border-top:0}.faq-mini summary{font-size:12px;font-weight:680;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:8px}.faq-mini summary::-webkit-details-marker{display:none}.faq-mini summary:after{content:"+";color:var(--teal);font-size:16px}.faq-mini details[open] summary:after{content:"−"}.faq-mini p{margin:8px 0 0;font-size:11px;color:var(--muted)}
.metric-list{display:grid;gap:0}.metric{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid #e4eae5;font-size:12px}.metric:first-child{border-top:0}.metric dt{color:var(--muted)}.metric dd{margin:0;text-align:right;font-weight:650;overflow-wrap:anywhere}
.data-note{font-size:10px;color:var(--muted);margin:13px 0 0;line-height:1.5}
.empty-state,.error-state,.loading-state{padding:15px;border-radius:8px;background:#f0f4ef;color:var(--muted);font-size:12px}
.error-state{background:#fbebea;color:#8f3737}.error-state button{margin-left:8px}.empty-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:4px}
.table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th,.data-table td{text-align:left;padding:9px 8px;border-bottom:1px solid #e3eae4;vertical-align:top}.data-table th{font-size:10px;color:var(--muted);font-weight:700}.data-table td{max-width:280px;overflow-wrap:anywhere}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}.quiet-action{padding:4px 0;border:0;background:none;color:var(--teal);font-size:11px;text-decoration:underline;cursor:pointer}
.revoke-action{color:var(--red)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.profile-item{border-top:1px solid #e4eae5;padding-top:9px}.profile-item span{display:block;font-size:10px;color:var(--muted)}.profile-item strong{font-size:12px;overflow-wrap:anywhere}
.section-separator{height:1px;background:var(--line);margin:3px 0}
.session-detail{margin-top:15px;padding:15px;border-radius:8px;background:#f0f4ef}.session-detail h3{font-size:15px;margin:0 0 12px}
.section-heading-inline{display:flex;align-items:center;justify-content:space-between;gap:10px}
.bridge-status{font-size:11px;color:var(--muted);margin-top:10px}.bridge-status.success{color:var(--green)}.bridge-status.error{color:var(--red)}
.pair-controls{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pair-input{flex:1;min-width:170px;height:40px;border:1px solid var(--line);border-radius:6px;padding:0 10px;background:#fff}
.small-button.light{background:#e8efea;color:var(--ink);border-color:#c9d7ce}.danger-button{color:var(--red)}
.inline-action{min-height:31px;padding:0 11px;font-size:11px}
.unavailable{padding:12px;border:1px solid #e2d39f;background:#fff5d7;color:#5b4a20;border-radius:8px;font-size:12px}
.review-box{border:1px solid #d5e0d8;border-radius:8px;padding:13px;background:#f4f7f3;margin-top:14px}
.review-box h3{font-size:13px;margin:0 0 5px}.review-box p{font-size:11px;color:var(--muted);margin:0}
.footer-note{font-size:11px;color:var(--muted)}
@media(max-width:900px){.auth-layout{grid-template-columns:1fr;max-width:650px;margin:auto;gap:15px}.auth-story{padding:20px 0 0}.auth-story h1{max-width:650px}.auth-points{grid-template-columns:1fr 1fr}.dashboard-columns{grid-template-columns:1fr}.side-column{grid-template-columns:1fr 1fr}.install-hero{grid-template-columns:1fr .5fr}.setup-step{grid-template-columns:36px minmax(0,1fr) minmax(170px,.7fr)}}
@media(max-width:620px){.app-header{height:61px;padding-inline:17px}.header-actions{gap:12px}.header-link{font-size:11px}.brand{font-size:18px}#app{width:calc(100% - 30px);padding:29px 0 60px}.app-footer{padding:18px 15px;flex-wrap:wrap;gap:8px 15px}.auth-layout{gap:8px;padding-top:10px}.auth-story{padding-top:12px}.auth-story h1{font-size:46px}.auth-story>p{font-size:15px}.auth-points{grid-template-columns:1fr;gap:9px;margin-top:20px}.auth-card{padding:28px 21px}.welcome-row{align-items:flex-start;flex-direction:column}.install-hero{grid-template-columns:1fr;padding:24px 21px}.install-symbol{display:none}.download-row{align-items:flex-start;flex-direction:column}.dashboard-columns{gap:15px}.side-column{grid-template-columns:1fr}.panel{padding:17px}.setup-step{grid-template-columns:31px minmax(0,1fr);gap:10px;padding:14px 0}.step-visual{grid-column:2;height:96px}.profile-grid{grid-template-columns:1fr 1fr}.hash-row{flex-wrap:wrap}.hash-value{width:100%}.welcome-row h1{font-size:36px}}
@media(max-width:370px){.header-actions{gap:9px}.header-link{font-size:10px}.profile-grid{grid-template-columns:1fr}.step-visual{height:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

body{font-family:system-ui,"Adjusted UI",-apple-system,BlinkMacSystemFont,sans-serif}
h1,h2,h3,.brand{font-family:"Bricolage Grotesque","Adjusted UI",system-ui,sans-serif;font-optical-sizing:auto}
.auth-story h1,.welcome-row h1,.install-hero h2,.panel-heading h2,.step-copy h3,.auth-card h2{letter-spacing:-.045em}
.auth-story h1,.welcome-row h1,.install-hero h2{line-height:1.04}
.step-number{font-family:"Bricolage Grotesque","Adjusted UI",system-ui,sans-serif;font-optical-sizing:auto;font-weight:700}
.hash-details{margin-top:14px;border-top:1px solid #48635c;padding-top:10px}
.hash-details summary{width:max-content;cursor:pointer;color:#c2d9cf;font-size:11px;text-underline-offset:3px}
.hash-details[open] summary{margin-bottom:10px}
.hash-explain{margin:0 0 8px!important;font-size:10px!important;color:#afc6bc!important}
.hash-row{margin-top:0;max-width:none;align-items:center}
.hash-value{flex:1;min-width:120px}
.step-shot{margin:0;min-width:0}
.shot-open{display:block;width:100%;height:100%;padding:0;border:0;border-radius:5px;background:transparent;color:inherit;cursor:zoom-in}
.shot-open:focus-visible{outline-offset:-3px}
.step-visual{height:auto;aspect-ratio:16/10;min-height:0;padding:7px}
.step-visual .mock-browser{height:100%}
.step-shot img.step-visual{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border:1px solid #d5e0d8;border-radius:5px;padding:0}
.step-shot figcaption{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.35}
.setup-step{align-items:start}
.step-shot{align-self:center}
.shot-dialog{width:min(1000px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 36px);padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 24px 80px #10272455}
.shot-dialog::backdrop{background:#102724a8;backdrop-filter:blur(3px)}
.shot-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:10px}
.shot-dialog-head p{margin:0;color:var(--muted);font-size:12px}
.shot-dialog-content{display:grid;place-items:center;max-height:calc(100dvh - 110px);overflow:auto}
.shot-dialog-content .step-visual{width:min(100%,900px);height:auto;aspect-ratio:16/10}
.shot-dialog-content .mock-browser{height:100%}
.shot-dialog-content img.step-visual{display:block;width:100%;height:auto;max-height:calc(100dvh - 120px);aspect-ratio:16/10;object-fit:contain}
.shot-close{min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);color:var(--ink);cursor:pointer}
@media(max-width:900px){.setup-step{align-items:start}}
@media(max-width:620px){.step-shot{grid-column:2;width:100%}.step-visual{width:100%;aspect-ratio:16/10}.setup-step{align-items:start}.shot-dialog-content .step-visual{width:100%}}
@media(prefers-reduced-motion:reduce){.shot-dialog::backdrop{backdrop-filter:none}}
/* Social sign-in (data-driven provider buttons; icons are local SVGs under /assets/img/providers/) */
.auth-social:empty{display:none}.provider-list{display:grid;gap:9px;margin-top:17px}
.provider-divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.provider-divider:before,.provider-divider:after{content:'';flex:1;height:1px;background:var(--line)}
.provider-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:45px;padding:0 16px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font:inherit;font-weight:650;cursor:pointer;transition:background .18s,border-color .18s}.provider-button:hover{background:var(--surface-2);border-color:var(--teal)}.provider-button:disabled{opacity:.6;cursor:progress}
.provider-icon{width:18px;height:18px;flex:none}
