/* Shared responsive workspace. Layout changes never remount the application. */
/* Theme changes keep foreground/background colors together; motion is on
   transforms and borders so text never fades through an unreadable contrast. */
:root:not([data-theme='light']),:root[data-theme='dark']{color-scheme:dark;--ink0:#101410;--ink1:#171d16;--ink2:#222b20;--edge:#35422f;--edge2:#293226;--text:#f1f4ec;--text2:#b2bfaa;--text3:#8b9c82;--live:#c3f482;--wait:#efc479;--fail:#f3a294;--accent-text:#1b2c0f}
:root[data-theme='light']{color-scheme:light;--ink0:#f5f7f2;--ink1:#fff;--ink2:#eaf0e4;--edge:#c9d5c0;--edge2:#e0e7d9;--text:#20291b;--text2:#55684a;--text3:#57694e;--live:#416d26;--wait:#966213;--fail:#ad4335;--accent-text:#fff}
body{background:var(--ink0);font-size:15px;line-height:1.55}button,a,input{touch-action:manipulation}.app{max-width:none;margin:0;min-height:100dvh;background:transparent;box-shadow:none}.workspace-body{margin-left:232px;min-width:0}.top{height:84px;margin:0;padding:0 48px;border-bottom:1px solid var(--edge2);background:var(--ink0);display:flex;gap:16px;position:sticky;top:0;z-index:20}.top .name{font-size:16px;font-weight:550;color:var(--text2)}.iconbtn{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--edge);border-radius:50%;color:var(--text2);flex:none}.mobile-brand{display:none}.vault-state{display:flex;align-items:center;gap:8px;border:1px solid var(--edge);border-radius:20px;padding:8px 14px;color:var(--text2);font-size:12px}.vault-state:hover{background:var(--ink2)}main{max-width:1160px;margin:0 auto;padding:40px 48px 70px}.title{font-size:36px;line-height:1.2;font-weight:550;letter-spacing:-.045em}.hero{font-size:56px;font-weight:550;line-height:1.07;white-space:pre-line;letter-spacing:-.055em}.lede{font-size:15px;line-height:1.75;max-width:65ch;color:var(--text2)}.h{font-size:10px;letter-spacing:.15em;font-weight:600;text-transform:uppercase;color:var(--text3);margin:34px 0 14px}.faint,.field-note{color:var(--text3)}.calm{margin:8px 0 32px;padding:0}.calm .title{font-size:42px}.calm .lede{margin-top:15px;max-width:62ch}.tally{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border:0;margin:30px 0}.tally>div{padding:22px;border:1px solid var(--edge);border-radius:14px;background:var(--ink1);text-align:left}.tally .v{font-size:34px;line-height:1.3;letter-spacing:-.04em;color:var(--text);font-weight:550}.tally .v.live{color:var(--live)}.tally .v.wait{color:var(--wait)}.tally .l{font-size:11px;margin-top:8px;color:var(--text3)}
.tabs{position:fixed;inset:0 auto 0 0;left:0;transform:none;max-width:none;width:232px;height:100dvh;background:var(--ink1);border:0;border-right:1px solid var(--edge2);padding:30px 18px 22px;display:flex;flex-direction:column;align-items:stretch;gap:7px;z-index:30}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:0 12px 36px;text-decoration:none;color:var(--text);font-size:23px;letter-spacing:-.045em;font-weight:650}.sidebar-brand .mark{width:28px;height:28px;color:var(--live)}.nav-label{display:block;font-size:9px;letter-spacing:.15em;color:var(--text3);margin:0 12px 12px}.tabs button{display:flex;flex-direction:row;justify-content:flex-start;gap:13px;padding:13px 15px;font-size:13px;font-weight:500;border-radius:9px;color:var(--text2)}.tabs button svg{width:19px;height:19px}.tabs button[aria-current='true']{color:var(--live);background:var(--ink2);font-weight:550}.tabs button[aria-current='true']::before{display:none}.tabs button:hover{background:var(--ink2)}.nav-count{margin-left:auto;border-radius:12px;min-width:22px;padding:0 5px;background:var(--live);color:var(--accent-text);font-size:11px;text-align:center}.sidebar-bottom{margin-top:auto;padding:20px 12px 0;border-top:1px solid var(--edge2);color:var(--text3);font-size:11px}.sidebar-bottom a{display:block;color:var(--text2);text-decoration:none;margin-top:16px}.service-indicator{display:flex;align-items:center;gap:8px}.service-indicator i{width:6px;height:6px;border-radius:50%;background:var(--live)}
.act{height:auto;min-height:46px;border-radius:24px;padding:13px 22px;background:var(--live);color:var(--accent-text);font-size:14px;font-weight:550;line-height:1.4;border:1px solid transparent}.act.allow{background:var(--live);color:var(--accent-text)}.act.ghost{background:transparent;color:var(--text);border-color:var(--edge)}.act.deny{background:transparent;color:var(--fail);border-color:var(--fail)}.act.text{color:var(--text2);background:transparent;border-color:transparent}.top a.act{text-decoration:none}.act.small{min-height:36px;font-size:12px;padding:8px 16px}.act:hover{filter:brightness(1.07)}.act:disabled{opacity:.45;cursor:wait}.row2{gap:12px}.proof{display:inline-flex;align-items:center;gap:6px;color:var(--live);font-size:11px}.field{border:1px solid var(--edge);border-radius:12px;background:var(--ink1);padding:14px 16px;font-size:16px;font-weight:450;letter-spacing:0}.field:focus{border-color:var(--live);outline:2px solid color-mix(in srgb,var(--live) 18%,transparent);outline-offset:2px}.field-note{font-size:12px}.field::placeholder{color:var(--text3)}.rowitem{padding:18px 20px;margin-bottom:10px;border:1px solid var(--edge);border-radius:12px;background:var(--ink1);gap:16px}.rowitem .g b{font-size:16px;font-weight:550}.rowitem .g span{font-size:12px;overflow-wrap:anywhere}.rowitem:hover{border-color:var(--text3)}.entry{grid-template-columns:58px 1fr;padding:20px 0;gap:16px}.entry .t{font-size:12px}.entry .s{font-size:14px;line-height:1.65}.entry .v{font-size:12px;margin-top:5px}.session{padding:24px;border:1px solid var(--edge);border-radius:16px;background:var(--ink1);margin:12px 0}.session .what{font-size:18px;font-weight:550}.session .sub{font-size:13px}.session .clock{margin-top:18px}.drain{height:3px;border-radius:3px;margin-top:22px;background:var(--edge2)}.drain i{background:var(--live)}.setrow{padding:20px 0;gap:20px;border-bottom:1px solid var(--edge2)}.setrow .g b{font-size:14px;font-weight:550}.setrow .g span{font-size:12px;color:var(--text3)}select{max-width:100%;background:var(--ink1);color:var(--text);padding:9px 12px;border:1px solid var(--edge);border-radius:9px;font-size:12px}option{background:var(--ink1)}.empty{padding:28px;border:1px dashed var(--edge);border-radius:14px;background:var(--ink1);margin:12px 0}.empty b{font-size:17px;font-weight:550}.empty span{display:block;margin-top:8px;font-size:13px}.stillive{border-radius:14px;padding:24px}.hist{padding-left:0;list-style:none}.hist li{padding:16px 0;border-bottom:1px solid var(--edge2)}.hist .needs-fix .st{color:var(--wait)}
.approval-main{padding-top:40px}.chamber{min-height:auto;max-width:760px;padding:36px;border:1px solid var(--edge);border-radius:22px;background:linear-gradient(145deg,var(--ink2),var(--ink1) 50%);margin:0 auto}.chamber .who{font-size:12px;margin-bottom:28px;color:var(--text3)}.chamber .body{display:block}.chamber .hero{font-size:38px;white-space:normal}.chamber .facts{margin:30px 0 22px}.facts .fact{padding:16px 0;border-color:var(--edge)}.facts dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text3)}.facts dd{font-size:14px}.facts dd small{font-size:12px;line-height:1.7;color:var(--text3)}.chamber .faint{font-size:12px!important;line-height:1.75}.chamber .foot{margin-top:30px}.chamber .foot>.act.text{min-height:30px;padding:6px}
.step{min-height:100dvh;max-width:600px;margin:0 auto;padding:72px 32px 40px}.step>.body{justify-content:center;padding:20px 0}.step>.foot{padding-top:26px}.step .mark{width:64px;height:64px;margin-bottom:30px;color:var(--live)}.step .title{font-size:35px}.step .lede{font-size:15px}.rail{background:var(--edge2)}.rail i{background:var(--live)}.back{position:fixed;top:24px;left:24px;color:var(--text3)}.sensor{width:130px;height:130px;margin:36px auto;color:var(--live)}.authenticator-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.code{border:1px solid var(--edge);border-radius:12px;padding:16px;background:var(--ink1);overflow-wrap:anywhere}.sheet{align-items:center;justify-content:center;backdrop-filter:blur(8px);padding:24px}.sheet .panel{width:100%;max-width:500px;border-radius:22px;padding:32px;box-shadow:0 28px 90px #0006;border:1px solid var(--edge)}.sheet .title{font-size:26px}.sheet .lede{font-size:14px}.sheet form>.act{width:100%;margin-top:10px}.unlock-error{color:var(--fail);font-size:13px;line-height:1.6;min-height:0}.unlock-error:empty{display:none}.notice{left:auto;right:28px;top:100px;transform:none;width:min(420px,calc(100vw - 32px));max-width:none;background:var(--ink2);color:var(--text);font-size:13px;border-radius:12px}.switch:checked{background:var(--live)}.switch:disabled{opacity:.4}:focus-visible{outline:2px solid var(--live);outline-offset:4px}
@media(max-width:1050px){.workspace-body{margin-left:200px}.tabs{width:200px}main{padding:32px}.top{padding:0 32px}.tally{gap:10px}.tally>div{padding:18px}.calm .title{font-size:36px}}
@media(max-width:760px){.workspace-body{margin-left:0}.app{width:100%;max-width:none}.top{height:72px;padding:0 20px;gap:10px}.mobile-brand{display:block;width:24px;height:24px;color:var(--live)}.top .name{font-size:14px}.vault-state{font-size:11px;padding:7px 10px}.vault-state svg{display:none}main{padding:28px 20px 110px}.tabs{inset:auto 0 0;left:0;transform:none;max-width:none;width:100%;height:calc(70px + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);gap:0;border:0;border-top:1px solid var(--edge);background:var(--ink1)}.tabs button{flex-direction:column;justify-content:center;gap:5px;font-size:10px;padding:10px 3px;border-radius:0}.tabs button[aria-current='true']{background:transparent}.sidebar-brand,.nav-label,.sidebar-bottom{display:none}.nav-count{position:absolute;top:5px;right:calc(50% - 27px);font-size:9px;min-width:16px}.tally{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}.tally>div{padding:19px}.tally .v{font-size:30px}.calm .title{font-size:31px}.calm .lede{font-size:13px}.title{font-size:28px}.hero{font-size:44px}.chamber{padding:24px 20px;border-radius:18px}.chamber .hero{font-size:30px}.chamber .facts{margin-top:24px}.chamber .who{margin-bottom:22px}.approval-main{padding:24px 14px 94px}.facts .fact{grid-template-columns:85px 1fr}.rowitem{padding:16px}.rowitem .g b{font-size:15px}.entry{grid-template-columns:44px 1fr;gap:10px}.session{padding:20px}.sheet{align-items:flex-end;padding:0}.sheet .panel{max-width:none;border-radius:24px 24px 0 0;padding:28px 24px calc(24px + env(safe-area-inset-bottom))}.notice{left:16px;right:16px;top:84px;transform:none;width:auto;max-width:none}.step{padding:64px 24px 30px}.step .title{font-size:30px}.authenticator-choice{grid-template-columns:1fr}.setrow{gap:12px}.setrow .g{min-width:0}.setrow .g span{overflow-wrap:anywhere}}
.account-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.editor-field{margin-top:18px}.editor-field label{display:block;font-size:12px;color:var(--text2);margin-bottom:8px}.editor-field .field{font-size:14px}.sheet .account-actions{margin:14px 0}.sheet .account-actions .act{padding:7px 12px;font-size:11px}.unlock-error .act{margin-top:16px;width:100%}
input[type=file]{white-space:normal;font-size:12px}input[type=file]::file-selector-button{padding:7px 12px;background:var(--ink2);border:1px solid var(--edge);border-radius:8px;color:var(--text);margin-right:10px}

.setrow>.act{flex:0 0 auto;width:auto;min-height:36px;padding:8px 14px;white-space:nowrap}.setrow>.g{flex:1;min-width:0}.setrow>.g>span{line-height:1.6}button.setrow{width:100%;text-align:left;cursor:pointer}button.setrow:hover{background:var(--ink2)}@media(max-width:560px){.setrow:has(>.act){flex-wrap:wrap}.setrow>.act{max-width:100%}}
.panel .code{overflow-wrap:anywhere;font-size:clamp(16px,4vw,26px);letter-spacing:.06em}.sheet .panel{max-height:94dvh;overflow-y:auto}

.agent-options{margin-top:22px;padding:14px 16px;border:1px solid var(--edge);border-radius:12px;background:var(--ink1)}.agent-options summary{cursor:pointer;color:var(--text);font-weight:550}.agent-options summary:focus-visible{outline:2px solid var(--live);outline-offset:5px;border-radius:3px}.agent-options-status{display:block;margin:4px 0 0 17px;color:var(--text2);font-size:12px;font-weight:400}.agent-options .faint{font-size:13px;line-height:1.6;margin-top:12px}.agent-options .agent-provider{margin:4px 0;font-size:15px}.agent-options [hidden]{display:none!important}
.request-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 48px;border-bottom:1px solid var(--edge);background:var(--ink1);color:var(--text2);font-size:14px}.request-banner .act{width:auto;margin:0;flex-shrink:0}@media(max-width:899px){.request-banner{padding:12px 24px;flex-wrap:wrap}}

/* Spatial workspace: finite motion, visible states, no animation loop at idle. */
body{font-size:16px}.top .name{margin-right:auto}.vault-status-label{font-size:13px;color:var(--text2)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 28px}.page-heading .lede{margin:9px 0 0}.status-chip,.count-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--edge);border-radius:24px;font-size:13px;color:var(--text2)}.count-chip{padding:3px 10px}.overview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,1fr);gap:24px;align-items:start}.overview-personal{display:grid;gap:18px}.workspace-card{padding:26px;border:1px solid var(--edge);border-radius:18px;background:var(--ink1);min-width:0}.workspace-card h2,.approval-panel h2,.section-title,.active-section h2{font-size:19px;font-weight:550;letter-spacing:-.02em;margin:0 0 12px}.workspace-card .card-icon{display:block;color:var(--live);margin-bottom:18px}.card-value{font-size:29px;line-height:1.2;letter-spacing:-.035em;margin:14px 0}.workspace-card>.faint{font-size:15px;line-height:1.6;margin:10px 0 22px}.workspace-card>.act{width:auto;display:inline-flex}.compact-card .entry{padding:12px 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.section-heading h2{margin:0}.approval-panel{min-width:0;border:1px solid var(--edge);border-radius:18px;padding:24px;background:var(--ink1)}.approval-empty{padding:32px 8px;min-height:238px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.approval-empty>span{color:var(--live);margin-bottom:18px}.approval-empty p{max-width:28ch;font-size:15px}.approval-panel .chamber{padding:0;border:0;background:transparent;border-radius:0;max-width:none}.approval-panel .chamber .hero{font-size:29px}.approval-panel .chamber .who{margin:10px 0 18px}.approval-panel .chamber .facts{margin:20px 0}.approval-panel .facts .fact{grid-template-columns:86px minmax(0,1fr)}.approval-panel .chamber .foot{margin-top:20px}.approval-panel .facts dd{overflow-wrap:anywhere}.request-queue{border-top:1px solid var(--edge);padding-top:16px;margin-top:24px}.active-section{margin-top:28px}.h{font-size:12px;letter-spacing:.09em}.tabs button{font-size:14px}.rowitem .g span{font-size:14px}.editor-field label,.field-note{font-size:13px}.editor-field .field{font-size:16px}.account-actions .act.small{font-size:14px}.account-access-badge{border:1px solid var(--edge);padding:4px 9px;border-radius:16px;font-size:12px;color:var(--live);white-space:nowrap}.search-label{display:block;margin-bottom:8px;font-size:14px;font-weight:550}.account-search{width:100%}.search-match{color:var(--live)!important}.activity-insights .tally{margin:26px 0 20px}.activity-insights .tally .l{font-size:13px}.activity-chart{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;margin:20px 0}.chart-day{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 6px;border:1px solid transparent;border-radius:10px;font-size:13px;color:var(--text2)}.chart-day:hover,.chart-day[aria-pressed=true]{background:var(--ink2);border-color:var(--edge)}.chart-track{height:130px;width:min(100%,50px);display:flex;align-items:flex-end;border-bottom:1px solid var(--edge)}.chart-track i{display:block;width:100%;background:linear-gradient(0deg,color-mix(in srgb,var(--live) 32%,var(--ink1)),var(--live));border-radius:5px 5px 0 0}.chart-value{font-size:16px;color:var(--text);font-weight:550}.chart-detail{min-height:3.2em;margin:0;font-size:14px;color:var(--text2)}.section-title{margin:32px 0 10px}.settings-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}.settings-tile{display:flex;align-items:flex-start;text-align:left;gap:12px;padding:22px 18px;border:1px solid var(--edge);border-radius:16px;background:var(--ink1);min-width:0;color:var(--text2)}.settings-tile>span:first-child{color:var(--live)}.settings-tile b{font-size:15px;color:var(--text);display:block}.settings-tile small{display:block;margin-top:8px;font-size:13px;line-height:1.55}.settings-tile .chev{margin-left:auto}.settings-tile[aria-expanded=true]{border-color:var(--live);background:var(--ink2)}.settings-detail{scroll-margin-top:100px}.settings-detail>.h{margin:22px 0 12px}.settings-detail .setrow .g b{font-size:16px}.settings-detail .setrow .g span{font-size:14px}.settings-detail>.lede{font-size:14px}.connector-insight{display:grid;gap:10px}.connector-insight .session{margin:6px 0 0;padding:16px}.connector-meta{font-size:13px;color:var(--text2)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.act,.rowitem,.settings-tile,.tabs button,.status-chip{transition:border-color 140ms ease,transform 140ms ease}.act:hover,.settings-tile:hover,.status-chip:hover{transform:translateY(-2px)}.act:active,.settings-tile:active,.status-chip:active{transform:translateY(0) scale(.985)}.rowitem .chev{transition:transform 140ms ease}.rowitem:hover .chev{transform:translateX(3px)}.sidebar-brand .mark{border-radius:50%;background:radial-gradient(ellipse at 30% 25%,color-mix(in srgb,var(--live) 25%,transparent),transparent 70%);transition:transform 650ms cubic-bezier(.2,.7,.2,1),color 160ms}.sidebar-brand:hover .mark,.sidebar-brand:focus-visible .mark{transform:rotate(150deg);color:var(--text)}}
@media(max-width:1100px){.overview-grid{grid-template-columns:1fr 1fr;gap:18px}.workspace-card,.approval-panel{padding:20px}.settings-map{grid-template-columns:repeat(2,minmax(0,1fr))}.vault-status-label{display:none}}
@media(max-width:850px){.overview-grid{grid-template-columns:1fr}.overview-personal{grid-template-columns:1fr 1fr}.compact-card{grid-column:1/-1}.page-heading{align-items:flex-start;flex-direction:column}.approval-empty{min-height:160px}}
@media(max-width:760px){.tabs button{font-size:11px}.overview-personal{grid-template-columns:1fr}.workspace-card h2,.approval-panel h2{font-size:18px}.card-value{font-size:27px}.account-actions .act.small{font-size:13px}.chart-day{font-size:11px;padding:10px 2px}.activity-chart{gap:4px}.settings-map{gap:10px}.settings-tile{padding:16px 12px;gap:9px;flex-wrap:wrap}.settings-tile>span:nth-child(2){flex:1 1 100%}.settings-tile .chev{display:none}.settings-tile b{font-size:14px}.settings-tile small{font-size:12px}.account-access-badge{font-size:11px;white-space:normal;max-width:70px}.top{gap:8px}.top .name{font-size:14px}.vault-state{font-size:12px}.activity-insights .tally .l{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Give passwords and agent access equal visual weight, with approvals alongside. */
@media(min-width:1201px){.overview-grid{grid-template-columns:minmax(0,1.65fr) minmax(320px,1fr)}.overview-personal{grid-template-columns:1fr 1fr}.overview-personal .workspace-card{padding:22px}.overview-personal .compact-card{grid-column:1/-1}.overview-personal .card-value{font-size:26px}.overview-personal .workspace-card>.act{font-size:13px;padding:11px 16px}.overview-personal .workspace-card>.faint{font-size:14px;min-height:3.2em}.overview-personal .workspace-card h2{font-size:18px}}
.recent-summary{width:100%;display:grid;grid-template-columns:48px minmax(0,1fr) 18px;gap:12px;align-items:center;text-align:left;padding:16px 0;border-bottom:1px solid var(--edge2);color:var(--text2);font-size:14px}.recent-summary time{font-size:12px;color:var(--text3)}.recent-summary .event-description{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-summary:hover{color:var(--text)}
.setup-choices { display: grid; gap: 16px; margin: 28px 0; }
.setup-choice { display: grid; gap: 8px; padding: 24px; border: 1px solid var(--edge); border-radius: 18px; background: var(--ink1); color: inherit; text-align: left; font: inherit; cursor: pointer; transition: transform 160ms ease, border-color 160ms ease; }
.setup-choice b { font-size: 21px; }
.setup-choice span { font-size: 16px; line-height: 1.5; }
.setup-choice:hover { transform: translateY(-2px); border-color: currentColor; }
.setup-qr { width: min(280px, 100%); margin: 20px auto; padding: 8px; background: white; border-radius: 16px; }
.setup-qr svg { display: block; width: 100%; height: auto; }
.phone-action-wait { padding: 24px 0 4px; border-top: 1px solid var(--edge); margin-top: 20px; }

@media (prefers-reduced-motion: reduce) { .setup-choice { transition: none; } .setup-choice:hover { transform: none; } }
.activity-visuals { display: grid; grid-template-columns: minmax(0, 1.75fr) minmax(260px, 1fr); gap: 20px; }
.chart-track .chart-stack { display: flex; flex-direction: column; width: 100%; border-radius: 7px 7px 2px 2px; overflow: hidden; }
.chart-track .chart-stack i { display: block; position: static; width: 100%; height: auto; border-radius: 0; min-height: 0; }
.chart-track .event-live, .chart-legend .event-live { background: var(--live); }
.chart-track .event-denied, .chart-legend .event-denied { background: var(--fail); }
.chart-track .event-request, .chart-legend .event-request { background: var(--wait); }
.chart-track .event-other, .chart-legend .event-other { background: var(--text3); }
.chart-legend { display: flex; flex-wrap: wrap; gap: 10px 18px; font-size: 13px; color: var(--text2); }
.chart-legend span { display: inline-flex; align-items: center; gap: 7px; }
.chart-legend i { width: 8px; height: 8px; border-radius: 2px; }
.decision-card { text-align: center; }
.decision-card h2 { text-align: left; }
.decision-ring { display: grid; place-items: center; width: 174px; height: 174px; border-radius: 50%; margin: 24px auto; background: conic-gradient(var(--live) 0 var(--decision-share), var(--fail) var(--decision-share) 100%); }
.decision-ring > div { display: grid; align-content: center; width: 144px; height: 144px; border-radius: 50%; background: var(--ink1); }
.decision-ring b { font-size: 36px; line-height: 1.2; font-weight: 550; }
.decision-ring span { font-size: 13px; color: var(--text2); }
.activity-log { margin-top: 24px; }
.activity-log > summary { cursor: pointer; font-size: 18px; padding: 4px 0; }
.activity-log > summary small { display: block; margin-left: 22px; font-size: 14px; color: var(--text2); }
@media (max-width: 1150px) { .activity-visuals { grid-template-columns: 1fr; } .decision-ring { width: 150px; height: 150px; } .decision-ring > div { width: 124px; height: 124px; } }
.protection-check { display: flex; justify-content: space-between; align-items: start; gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--edge2); }
.protection-check .g { display: grid; gap: 7px; }
.protection-check .g b { font-size: 16px; font-weight: 550; }
.protection-check .g span { font-size: 14px; color: var(--text2); max-width: 56ch; }
.check-state { flex: 0 1 190px; min-width: 120px; text-align: right; font-size: 14px; color: var(--text); }
.crypto-details { margin-top: 24px; }
.crypto-details > summary { cursor: pointer; font-size: 17px; }
.crypto-details > .lede { margin-top: 20px; }
.crypto-details > button { margin: 22px 0; }
.section-heading > .act { width: auto; flex: none; min-width: 88px; }
.section-heading > h2 { min-width: 0; overflow-wrap: anywhere; }
.account-checkup-heading { margin-top: 28px; flex-wrap: wrap; }
.account-checkup-heading .h { margin: 0; }
.account-checkup-heading .act { width: auto; }
.checkup-summary { font-size: 17px; font-weight: 500; margin: 20px 0; }
.checkup-choices { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
.checkup-choice { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 110px; border: 1px solid var(--edge); border-radius: 14px; padding: 16px; background: var(--ink2); color: var(--text); text-align: left; font: inherit; cursor: pointer; }
.checkup-choice[aria-pressed=true] { border-color: var(--live); box-shadow: inset 0 0 0 1px var(--live); }
.checkup-count { font-size: 30px; font-weight: 500; line-height: 1; }
.checkup-choice:hover { background: var(--ink1); border-color: var(--live); }
.checkup-results .rowitem .g { min-width: 0; overflow-wrap: anywhere; }
.checkup-results small { color: var(--text2); margin-top: 5px; }
.checkup-empty { padding: 22px 0; color: var(--text2); }
.vault-idle-warning { position: fixed; z-index: 100; top: 18px; left: 50%; transform: translateX(-50%); width: min(600px, calc(100% - 28px)); display: flex; align-items: center; gap: 18px; padding: 18px; border: 1px solid var(--wait); border-radius: 16px; background: var(--ink1); color: var(--text); box-shadow: 0 12px 40px #0004; }
.vault-idle-warning p { margin: 5px 0; color: var(--text2); font-size: 14px; }
.vault-idle-warning small { color: var(--text2); }
.vault-idle-warning .act { flex: 0 0 auto; width: auto; white-space: nowrap; }
#vault-idle-minutes { flex: 0 0 auto; width: 150px; }
@media (max-width: 600px) { .vault-idle-warning { align-items: stretch; flex-direction: column; gap: 10px; padding: 14px; } #vault-idle-minutes { width: 100%; } .setrow:has(#vault-idle-minutes) { flex-direction: column; align-items: stretch; gap: 12px; } }
.connection-result { font-size: 15px; overflow-wrap: anywhere; }
.connection-probes { display: grid; gap: 12px; margin: 18px 0; }
.connection-probes > div { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; }
.connection-probes b { font-weight: 500; text-align: right; }
@media (max-width: 600px) { .protection-check { flex-direction: column; gap: 12px; } .check-state { flex-basis: auto; text-align: left; } .connection-probes > div { flex-direction: column; gap: 4px; } .connection-probes b { text-align: left; } }

.android-install-step{margin:26px 0 16px;padding:22px;border:1px solid var(--edge);border-radius:18px;background:var(--ink1)}
.step .android-install-step .title{font-size:21px;margin:0 0 16px}
.android-install-step details{margin-top:16px;font-size:13px;color:var(--text2)}
.android-install-step summary{cursor:pointer;min-height:32px}
.step .body>.act{margin-top:20px;text-align:center}
.totp-display { display:grid; gap:10px; margin:18px 0; padding:18px; border:1px solid var(--edge); border-radius:16px; }
.totp-code { font-size:clamp(28px,6vw,40px); font-variant-numeric:tabular-nums; letter-spacing:.08em; font-weight:650; line-height:1.2; }
.totp-progress { overflow:hidden; height:4px; border-radius:8px; background:var(--edge); }
.totp-progress > span { display:block; height:100%; background:var(--live); transform-origin:left; transition:transform 1s linear; }
.totp-confirm { display:flex; gap:10px; align-items:center; margin:16px 0; }
.totp-confirm input { flex:none; width:20px; height:20px; }
.totp-advanced { margin:16px 0; }
.totp-advanced label { display:block; margin-top:12px; }
.totp-editor [hidden] { display:none; }
@media (prefers-reduced-motion:reduce) { .totp-progress > span { transition:none; } }

/* Sign-in choices remain compact, with a stable, keyboard-accessible disclosure. */
.signin-option { border:1px solid var(--edge); border-radius:12px; margin:12px 0; background:var(--ink1); overflow:hidden; }
.signin-option > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:48px; padding:12px 16px; cursor:pointer; list-style:none; font-size:16px; }
.signin-option > summary::-webkit-details-marker { display:none; }
.signin-option > summary::after { content:'+'; flex:none; font-size:22px; }
.signin-option[open] > summary::after { content:'−'; }
.signin-option > summary:focus-visible { outline:2px solid var(--live); outline-offset:-3px; border-radius:10px; }
.signin-option[open] > summary { border-bottom:1px solid var(--edge); }
.signin-option > :not(summary) { margin:16px; }

/* At 200 % text the five-column tab bar is the only thing that pushed the page sideways
   (accessibility run 20260918-220505, WCAG 1.4.4): grid items default to min-width:auto, so a
   button whose scaled label is wider than its 1fr share widens the whole bar. Let the label wrap
   and the bar grow instead; at the default size nothing wraps and the height is unchanged. */
@media(max-width:760px){
  .tabs{height:auto;min-height:calc(70px + env(safe-area-inset-bottom))}
  .tabs button{min-width:0}
  .tabs button>span{overflow-wrap:anywhere;text-align:center;line-height:1.15}
}

/* The header bar was the next thing to push the page sideways at 200 % text (run 20260918-220932):
   a single no-wrap flex row whose vault-state button and icon buttons cannot shrink. Let the row
   wrap and its text items shrink; at the default size it stays one row of the same height. */
@media(max-width:760px){
  .top{height:auto;min-height:72px;flex-wrap:wrap;align-content:center;padding-block:8px}
  .top>*{min-width:0}
  .top .name{overflow-wrap:anywhere}
  .vault-state{min-width:0;flex-shrink:1}
  .vault-state span,.vault-state .vault-status-label{overflow-wrap:anywhere}
}

/* At 400 % zoom the wrapped header is 129 px of a 256 px viewport, and sticky chrome that tall put
   84 controls out of reach even after scrolling to them (accessibility run 20260918-222231, WCAG
   1.4.10). On a viewport this short the header scrolls away with the page instead. */
@media(max-height:480px){
  .top{position:static}
}

/* The last thing wider than its own box at 200 % text (run 20260918-223803 named it: div.setrow,
   content 284 px inside 238 px): a settings row keeps its action on one line and the action may not
   shrink. On a narrow viewport the row wraps and the action's label may break. */
@media(max-width:760px){
  .setrow{flex-wrap:wrap}
  .setrow>.act{white-space:normal;max-width:100%}
}
