/* slate. by SURVYR. / Advisor Studio. Locked: Inter everywhere (inputs, tabs, selectors too), Midnight Navy default with
   Teal Ink / Brass alternate, champagne period + champagne slash in the lockup, fixed top + bottom navs with iOS
   safe-area insets, no rounded-capsule badges (max radius 14px). */
@font-face{font-family:"Inter";src:url("/static/fonts/inter-var-latin.woff2") format("woff2");font-weight:100 900;font-display:swap}
:root,[data-theme="navy"]{--bg:#0B1220;--bg2:#111A2C;--bg3:#182338;--line:#1F2B44;--txt:#F1ECE2;--mut:#8C96AA;--acc:#E3C99A;--acc-ink:#0B1220;--bad:#E58A7A;--ok:#9BCB9F}
[data-theme="teal"]{--bg:#0A1A1C;--bg2:#0F2426;--bg3:#153032;--line:#1D3A3C;--txt:#E6EEEC;--mut:#8DA5A2;--acc:#C9A15A;--acc-ink:#0A1A1C}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;background:var(--bg)}
body,input,select,textarea,button{font-family:"Inter",-apple-system,system-ui,sans-serif;font-feature-settings:"ss01","cv11"}
body{background:var(--bg);color:var(--txt);-webkit-font-smoothing:antialiased;min-height:100vh;font-size:15px;line-height:1.45}
a{color:var(--acc);text-decoration:none}
button{cursor:pointer;color:inherit;background:none;border:0}
input,select,textarea{font-size:16px;color:var(--txt);background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--acc)}
textarea{min-height:84px;resize:vertical;line-height:1.4}
select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mut) 50%),linear-gradient(135deg,var(--mut) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}
::placeholder{color:var(--mut);opacity:.75}
.muted{color:var(--mut)}
.eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--acc)}

/* ---------- lockup */
.lockup{display:inline-flex;align-items:center;gap:9px;white-space:nowrap;color:var(--txt)}
.lockup .emb{width:28px;height:28px;flex:none;display:block}.lockup .emb svg{width:100%;height:100%;display:block}
.lockup .sl{fill:var(--txt)}.lockup .tp{fill:var(--acc)}
.lockup .wm-stack{display:flex;flex-direction:column;gap:4px;padding-top:2px}
.lockup .wordmark{font-weight:600;letter-spacing:-.045em;line-height:1;font-size:22px}
.lockup .wordmark i{font-style:normal;color:var(--acc)}
.lockup .by{font-weight:500;letter-spacing:.3em;text-transform:uppercase;font-size:7px;color:var(--mut);padding-left:1px;line-height:1}
.lockup .slash{font-weight:300;font-size:30px;line-height:1;color:var(--acc);margin:0 2px 0 4px;transform:translateY(-1px)}
.lockup .studio{display:flex;flex-direction:column;gap:4px;font-size:7.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;opacity:.85;line-height:1}
.lockup-lg .emb{width:40px;height:40px}.lockup-lg .wordmark{font-size:34px}.lockup-lg .by{font-size:8px}.lockup-lg .slash{font-size:44px}.lockup-lg .studio{font-size:8.5px}
.lockup-sm .emb{width:24px;height:24px}.lockup-sm .wordmark{font-size:19px}.lockup-sm .slash{font-size:26px}

/* ---------- fixed navs (safe area) */
.topbar{position:fixed;top:0;left:0;right:0;z-index:30;background:color-mix(in srgb,var(--bg) 95%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top)}
.topbar-in{height:58px;max-width:760px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 18px 0 20px}
.avatar{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--mut)}
.botnav{position:fixed;left:0;right:0;bottom:0;z-index:30;background:color-mix(in srgb,var(--bg) 96%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom)}
.botnav a{flex:1;max-width:152px;height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--mut);font-size:12px;font-weight:500}
.botnav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.botnav a.on{color:var(--txt);font-weight:600}.botnav a.on svg{stroke:var(--acc)}
.strip{position:fixed;left:0;right:0;z-index:29;bottom:calc(60px + env(safe-area-inset-bottom));height:30px;display:flex;align-items:center;justify-content:center;background:var(--bg2);border-top:1px solid var(--line);font-size:10px;font-weight:600;letter-spacing:.12em;color:var(--acc);text-align:center;padding:0 8px}
.view{display:block;max-width:760px;margin:0 auto;padding:calc(58px + env(safe-area-inset-top) + 18px) 20px calc(90px + env(safe-area-inset-bottom) + 28px);min-height:100vh;outline:none;position:relative;z-index:1}
.wm-bg{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='360' height='220'%3E%3Ctext x='0' y='130' transform='rotate(-28 180 110)' font-family='Inter,Arial' font-size='18' font-weight='700' fill='%23F1ECE2' letter-spacing='3'%3EMOCK %C2%B7 NOT COMPLIANCE APPROVED%3C/text%3E%3C/svg%3E")}
.loading{color:var(--mut);padding:40px 0;text-align:center}
.ptr{position:fixed;left:0;right:0;top:calc(58px + env(safe-area-inset-top));z-index:25;display:flex;justify-content:center;align-items:center;gap:8px;height:0;overflow:hidden;color:var(--mut);font-size:12.5px;transition:height .18s}
.ptr-ico{width:14px;height:14px;border:2px solid var(--acc);border-top-color:transparent;border-radius:50%}
.ptr.spin .ptr-ico{animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- blocks */
.banner{border-radius:14px;background:var(--bg3);border:1.5px solid var(--acc);padding:16px 16px 14px}
.banner-h{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:700;letter-spacing:.06em}
.banner-h svg{width:18px;height:18px;flex:none}
.banner-g{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px;margin-top:12px}
.banner-g div{display:flex;gap:7px;font-size:12px;line-height:1.3;opacity:.86}.banner-g b{color:var(--acc)}
h1.h{font-size:24px;font-weight:600;letter-spacing:-.03em;margin:22px 0 0}
h2.h2{font-size:17px;font-weight:600;letter-spacing:-.015em;margin:22px 0 10px}
.cta{margin-top:14px;border-radius:14px;background:var(--acc);color:var(--acc-ink);padding:16px 18px;display:flex;align-items:center;gap:14px;width:100%;text-align:left}
.cta svg{flex:none}.cta .t{font-size:16.5px;font-weight:600;letter-spacing:-.015em}.cta .s{font-size:12px;opacity:.78;margin-top:3px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.tile{border-radius:14px;background:var(--bg2);border:1px solid var(--line);padding:14px 14px 13px;display:flex;flex-direction:column;gap:10px;text-align:left;color:var(--txt);width:100%}
.tile .ic{width:36px;height:36px;border-radius:10px;background:var(--bg3);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.tile .ic svg{width:19px;height:19px;fill:none;stroke:var(--acc);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tile .t{font-size:15px;font-weight:600;letter-spacing:-.01em}.tile .s{font-size:11.5px;color:var(--mut);margin-top:3px}
.tile.wide{flex-direction:row;align-items:center}
.card{border-radius:14px;background:var(--bg2);border:1px solid var(--line);padding:14px 16px;margin-top:10px}
.notice{border-radius:12px;border:1px dashed var(--acc);background:color-mix(in srgb,var(--acc) 8%,transparent);padding:10px 12px;font-size:12.5px;line-height:1.4;margin:12px 0}
.notice b{color:var(--acc)}
.row{display:flex;gap:10px;align-items:center}.row.wrap{flex-wrap:wrap}.grow{flex:1;min-width:0}
.fld{display:block;margin-top:12px}.fld>span{display:block;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:7px}
.btn-gold{display:block;width:100%;border-radius:14px;background:var(--acc);color:var(--acc-ink);font-size:17px;font-weight:600;padding:16px;margin-top:16px;text-align:center}
.btn-gold:disabled{opacity:.5}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:10px;border:1px solid var(--line);background:var(--bg2);color:var(--txt);font-size:13.5px;font-weight:600;padding:9px 13px;white-space:nowrap}
.btn.acc{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.btn.bad{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 50%,var(--line))}
.btn.sm{font-size:12px;padding:6px 10px;border-radius:8px}
.btn:disabled{opacity:.5}
.btn-line{display:inline-block;border:1px solid var(--acc);border-radius:10px;padding:10px 14px;margin-top:20px}
.tabs{display:flex;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-top:16px;background:var(--bg2)}
.tab{flex:1;padding:11px 8px;font-size:14px;font-weight:600;color:var(--mut);text-align:center}
.tab.on{background:var(--bg3);color:var(--txt);box-shadow:inset 0 -2px 0 var(--acc)}
.seg{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.seg button{border:1px solid var(--line);background:var(--bg2);border-radius:10px;padding:9px 12px;font-size:13.5px;font-weight:500;color:var(--txt)}
.seg button.on{border-color:var(--acc);background:color-mix(in srgb,var(--acc) 14%,var(--bg2));color:var(--txt);font-weight:600}
.seg button:disabled{opacity:.45;cursor:not-allowed}
.tag{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--acc);border:1px solid color-mix(in srgb,var(--acc) 45%,transparent);border-radius:6px;padding:2px 6px}
.tag.tpl{border-radius:4px;vertical-align:2px;margin-left:2px;font-family:Inter,system-ui,sans-serif}
.meta .tag.tpl{margin-left:0}
.list .li{display:flex;gap:12px;align-items:center;padding:13px 14px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);margin-top:8px;color:var(--txt)}
.li .t{font-weight:600;font-size:14.5px}.li .s{font-size:12px;color:var(--mut);margin-top:2px}
.empty{text-align:center;padding:42px 18px 30px;color:var(--mut)}
.empty .emb-lg{width:64px;height:64px;margin:0 auto 14px;opacity:.9}
.empty .t{color:var(--txt);font-size:17px;font-weight:600;margin-bottom:6px}
.pagefoot{max-width:760px;margin:30px auto 0;padding:14px 0 0;border-top:1px solid var(--line);font-size:10.5px;line-height:1.45;color:var(--mut)}
.pagefoot div:first-child{color:var(--acc);font-weight:600;letter-spacing:.1em;margin-bottom:4px}
.doc-body .pagefoot{padding:14px 20px calc(30px + env(safe-area-inset-bottom))}

/* ---------- item view */
.it-h{font-size:23px;font-weight:650;letter-spacing:-.025em;line-height:1.2;margin-top:6px}
.it-sub{color:var(--mut);margin-top:4px}
.meta{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px;color:var(--mut);margin-top:8px}
.bar{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.flags{margin-top:12px}.flags div{font-size:12.5px;border-left:3px solid var(--acc);padding:6px 10px;background:var(--bg2);border-radius:0 8px 8px 0;margin-top:6px}
.sec{border-radius:14px;background:var(--bg2);border:1px solid var(--line);padding:14px 16px;margin-top:12px;position:relative}
.sec.added{border-color:var(--acc)}
.sec h3{font-size:16px;font-weight:600;letter-spacing:-.01em;padding-right:70px}
.sec ul{margin:8px 0 0 18px}.sec li{margin-top:5px;font-size:14.5px}
.sec .notes{font-size:12.5px;color:var(--mut);margin-top:10px;border-top:1px dashed var(--line);padding-top:8px}
.sec .tools{position:absolute;top:10px;right:10px;display:flex;gap:6px}
.sec .tools button{font-size:11.5px;color:var(--mut);border:1px solid var(--line);border-radius:7px;padding:4px 7px}
.sec .origin{font-size:11px;color:var(--mut);margin-top:6px}
table.facts{width:100%;border-collapse:collapse;margin-top:8px;font-size:13.5px}
table.facts td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}
table.facts td.v{text-align:right;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.ref{font-size:11px;font-weight:600;color:var(--acc);margin-left:3px}
.chart svg{width:100%;height:190px;display:block;margin-top:8px}
.qa .q{font-weight:600;margin-top:10px}.qa .a{color:var(--mut);font-size:14px;margin-top:3px}
.cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.fc{border:1px solid var(--line);border-radius:10px;padding:10px;min-height:76px;background:var(--bg3);font-size:13.5px;text-align:left;color:var(--txt);width:100%}
.fc .back{display:none;color:var(--mut)}.fc.flip .front{display:none}.fc.flip .back{display:block}
.script .ln{margin-top:7px;font-size:14px}.script .ln b{color:var(--acc)}
.srcs li{font-size:12.5px;margin-top:6px;word-break:break-word}
.img-sec img{max-width:100%;border-radius:10px;margin-top:8px;display:block}
.diff .d{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px}
.diff .op{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;width:66px;flex:none}
.op.added{color:var(--ok)}.op.removed{color:var(--bad)}.op.changed{color:var(--acc)}
.working{display:flex;align-items:center;gap:12px;padding:16px;border-radius:14px;border:1px solid var(--line);background:var(--bg2);margin-top:14px}
.working .ptr-ico{animation:spin .7s linear infinite;flex:none}
.err{color:var(--bad);font-size:13px;margin-top:8px}
.checks label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:14px}
.checks input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--acc)}
.swatch{width:26px;height:26px;border-radius:7px;border:1px solid var(--line);flex:none}
.trace-out{font-size:13px;margin-top:10px;white-space:pre-wrap}

/* ---------- sheet + toast */
.sheet-back{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:40}
.sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-height:86vh;overflow:auto;background:var(--bg);border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding:18px 20px calc(22px + env(safe-area-inset-bottom));max-width:760px;margin:0 auto}
.sheet h3{font-size:18px;font-weight:600;margin-bottom:6px}
.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(104px + env(safe-area-inset-bottom));z-index:50;background:var(--bg3);border:1px solid var(--line);border-radius:12px;padding:11px 16px;font-size:13.5px;max-width:90vw}

/* ---------- gate */
.gate-body{background:radial-gradient(120% 60% at 50% 0%,var(--bg3),var(--bg) 60%)}
.gate{max-width:460px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 34px) 22px calc(env(safe-area-inset-bottom) + 28px)}
.gate-lock{display:flex;justify-content:center;margin-bottom:26px}
.gate-h{font-size:25px;font-weight:600;letter-spacing:-.03em;margin:8px 0 14px}
ol.disc{list-style:none;border-radius:14px;background:var(--bg2);border:1px solid var(--line);border-left:3px solid var(--acc);padding:4px 0}
ol.disc li{display:flex;gap:16px;padding:12px 18px;border-top:1px solid var(--line)}
ol.disc li:first-child{border-top:0}
ol.disc .n{color:var(--acc);font-weight:600;font-size:14px;width:20px;flex:none;padding-top:1px}
ol.disc b{display:block;font-weight:600;font-size:15.5px}
ol.disc small{display:block;color:var(--mut);font-size:13px;margin-top:2px}
.gate-form{margin-top:18px}
.chk{display:flex;gap:12px;align-items:flex-start;margin-top:12px;font-size:14px;line-height:1.4;cursor:pointer}
.chk input{position:absolute;opacity:0;width:1px;height:1px}
.chk .box{width:24px;height:24px;flex:none;border-radius:7px;border:1.5px solid var(--line);background:var(--bg2);margin-top:1px;display:flex;align-items:center;justify-content:center}
.chk input:checked+.box{background:var(--acc);border-color:var(--acc)}
.chk input:checked+.box::after{content:"";width:6px;height:11px;border:solid var(--acc-ink);border-width:0 2.5px 2.5px 0;transform:rotate(45deg) translate(-1px,-1px)}
.chk input:focus-visible+.box{outline:2px solid var(--acc);outline-offset:2px}
.gate-err{margin-top:12px;color:var(--bad);font-size:13.5px}
.gate-hint,.gate-note{font-size:12.5px;color:var(--mut);margin-top:8px}
.gate-foot{text-align:center;font-size:12px;color:var(--mut);margin-top:12px}

/* ---------- doc (terms) */
.doc-body .topbar{position:sticky}
.doc{max-width:760px;margin:0 auto;padding:26px 20px 10px}
.doc h1{font-size:28px;letter-spacing:-.03em;margin:6px 0 6px}
.doc h2{font-size:16px;margin:22px 0 6px}
.doc p{font-size:14.5px;line-height:1.55}
.draft-note{margin:14px 0;border:1.5px solid var(--acc);border-radius:12px;padding:12px 14px;font-weight:600;font-size:14px;background:var(--bg2)}
.disc-doc{margin-top:8px}

@media (min-width:900px){
  .view{padding-left:24px;padding-right:24px}
}
@media (max-width:360px){.banner-g{grid-template-columns:1fr}}
