:root{color-scheme:dark;--bg:#050607;--bg-soft:#08090b;--surface:#0b0d10;--surface-2:#101317;--surface-3:#15191e;--line:#ffffff14;--line-strong:#ffffff29;--ink:#f2f4f6;--muted:#98a0a8;--faint:#646c74;--signal:#ff453a;--signal-soft:#ff453a24;--ok:#32d74b;--warn:#ffd60a;--radius:14px;--radius-sm:10px;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ease:cubic-bezier(.22, .8, .2, 1);--dur:.18s;--topbar-h:56px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scrollbar-gutter:stable}body{background:var(--bg);min-height:100dvh;color:var(--ink);font:15px/1.5 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;overflow-wrap:break-word;margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img,svg{display:block}::selection{background:var(--signal);color:var(--bg)}:focus-visible{outline-offset:3px;outline:1px solid #fffc}.icon{stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;fill:none;width:20px;height:20px}.icon-sm{width:16px;height:16px}.mono{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.eyebrow{color:var(--faint);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:10px;font-weight:500}.muted{color:var(--muted)}.faint{color:var(--faint)}.hidden{display:none!important}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{border:1px solid var(--line-strong);border-radius:var(--radius-sm);min-height:44px;color:var(--ink);font:500 14px/1 var(--font);letter-spacing:-.01em;cursor:pointer;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), opacity var(--dur) var(--ease);background:0 0;justify-content:center;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.btn:hover{background:#ffffff0a;border-color:#ffffff52}.btn:active{background:#ffffff12}.btn.primary{background:var(--ink);color:#060708;border-color:#0000;font-weight:600}.btn.primary:hover{background:#fff}.btn.ghost{color:var(--muted);border-color:#0000}.btn.ghost:hover{color:var(--ink);background:#ffffff0a}.btn.danger{color:var(--signal);border-color:#ff453a59}.btn.danger:hover{background:var(--signal-soft);border-color:#ff453a8c}.icon-btn{width:36px;height:36px;color:var(--muted);cursor:pointer;transition:color var(--dur) var(--ease), background var(--dur) var(--ease), border-color var(--dur) var(--ease);background:0 0;border:1px solid #0000;border-radius:9px;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover{color:var(--ink);background:#ffffff0d}.field{margin:0 0 14px;display:block}.field>span{color:var(--faint);font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;margin:0 0 7px;font-size:10px;display:block}.input,.field input,.field textarea,.field select{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-soft);width:100%;min-height:44px;color:var(--ink);font:15px/1.4 var(--font);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);outline:none;padding:11px 13px}.field textarea{resize:vertical;min-height:120px}.field input:hover,.field textarea:hover,.input:hover{border-color:var(--line-strong)}.field input:focus,.field textarea:focus,.input:focus{background:var(--surface);border-color:#fff6}.alert{border-radius:var(--radius-sm);background:var(--signal-soft);color:#ffb4ae;border:1px solid #ff453a4d;margin:0 0 14px;padding:10px 12px;font-size:13px}.notice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--muted);margin:0 0 16px;padding:10px 12px;font-size:13px}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.empty{border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);text-align:center;padding:28px 20px;font-size:14px}.shell{flex-direction:column;min-height:100vh;display:flex}.topbar{z-index:20;min-height:var(--topbar-h);border-bottom:1px solid var(--line);background:#050607f0;align-items:center;gap:14px;padding:0 clamp(14px,4vw,20px);display:flex;position:sticky;top:0}.topbar .spacer{flex:1}.topbar-actions{align-items:center;gap:4px;display:flex}.brand-mark{border:1px solid var(--line);width:34px;height:34px;color:var(--ink);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.brand-mark:hover{border-color:var(--line-strong);background:#ffffff0a}.page{width:100%;max-width:720px;margin:0 auto;padding:clamp(32px,6vw,56px) clamp(18px,4vw,24px) clamp(56px,8vw,80px)}.page.narrow{max-width:460px}.page-head{margin:0 0 28px}.page-head h1{letter-spacing:-.02em;text-wrap:balance;margin:0;font-size:clamp(22px,3vw,24px);font-weight:600;line-height:1.2}.auth-shell{min-height:100dvh;padding:max(24px, var(--safe-top)) max(16px, var(--safe-right)) calc(64px + var(--safe-bottom)) max(16px, var(--safe-left));overscroll-behavior:contain;flex-direction:column;justify-content:center;align-items:center;gap:22px;display:flex;overflow-y:auto}.auth-brand{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.auth-card{border:1px solid var(--line);background:var(--surface);border-radius:clamp(14px,2vw,16px);width:min(100%,380px);padding:clamp(20px,5vw,26px);box-shadow:0 24px 80px #0000008c}.auth-card h1{letter-spacing:-.02em;margin:0 0 20px;font-size:24px;font-weight:600;line-height:1.2}.auth-card .btn{width:100%;margin-top:6px}.auth-alt{color:var(--faint);text-align:center;margin:16px 0 0;font-size:13px}.auth-alt a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}.auth-alt a:hover{color:var(--ink)}.auth-foot{color:var(--faint);letter-spacing:.22em;font-size:9px}@media (width<=520px){.page{padding:32px 16px calc(56px + var(--safe-bottom))}.auth-card{padding:20px 18px 18px}}@media (prefers-reduced-transparency:reduce){.topbar{background:var(--bg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:3px solid var(--bg);background:var(--surface-3);border-radius:999px}::-webkit-scrollbar-track{background:0 0}.vault{background-color:var(--bg);min-height:100dvh;padding-bottom:calc(72px + var(--safe-bottom));background-image:linear-gradient(#ffffff06 1px,#0000 1px),linear-gradient(90deg,#ffffff06 1px,#0000 1px);background-position:50%;background-size:48px 48px;place-items:center;display:grid;position:relative;overflow:hidden}.site-foot{left:50%;bottom:calc(18px + var(--safe-bottom));z-index:4;width:max-content;max-width:calc(100vw - 32px);color:var(--faint);font-family:var(--font);letter-spacing:.03em;text-align:center;pointer-events:none;opacity:.9;padding:0 12px;font-size:11px;line-height:1.5;position:fixed;transform:translate(-50%)}.dock{align-items:center;gap:14px;margin:0;padding:0;list-style:none;display:flex}.dock-item{width:68px;height:68px;color:var(--muted);transition:color var(--dur) var(--ease), transform var(--dur) var(--ease);background:0 0;border:0;border-radius:16px;justify-content:center;align-items:center;display:flex;position:relative}.dock-item .icon{stroke-width:1.35px;width:23px;height:23px}.dock-item:after{content:attr(data-label);color:var(--faint);font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease);font-size:9px;position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%,3px)}.dock-item:hover,.dock-item:focus-visible{color:var(--ink)}.dock-item:hover:after,.dock-item:focus-visible:after{opacity:1;transform:translate(-50%)}.dock-item:focus-visible{outline-offset:3px;outline:1px solid #ffffff73}.dock-item:active{transform:scale(.985)}.auth-card form,.account-card form{margin:0}.auth-card.plain{box-shadow:none;background:0 0;border:0;padding:0}.auth-card.plain h1{text-align:center;margin-bottom:18px}.step-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.step-actions .btn{flex:1;width:auto;margin-top:0}.step-actions .btn.ghost{flex:none;padding:0 14px}.step-sub{color:var(--muted);margin:-4px 0 14px;font-size:12px;line-height:1.6}.totp-setup{gap:0;display:grid}.totp-setup .step-question{text-align:center;margin:0 0 4px}.totp-setup .step-sub{text-align:center;margin:0 0 14px}.totp-grid{justify-content:center;align-items:center;margin-bottom:14px;display:flex}.totp-setup>.btn{margin-top:14px}.totp-qr{background:#fff;border-radius:10px;width:148px;height:148px;padding:8px}.totp-qr svg{width:100%;height:100%;display:block}.settings-card{width:100%;max-width:560px;padding:26px}.settings-section{border-bottom:1px solid var(--line);padding:20px 0}.settings-section:first-child{padding-top:0}.settings-section:last-child{border-bottom:0;padding-bottom:0}.settings-section .section-title{color:var(--faint);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 10px;font-size:10px}.settings-lead{color:var(--muted);margin:0 0 14px;font-size:13px}.account-identity{color:var(--ink);font-family:var(--mono);letter-spacing:.04em;margin:0;font-size:12px}.settings-card .btn,.settings-card .btn.ghost{width:auto;margin-top:0}.settings-card .btn.compact{padding:0 14px}@media (width<=460px){.totp-qr{width:120px;height:120px}}.auth-card .alert{margin-bottom:16px}.field>.mail-label{text-transform:none;letter-spacing:.12em}.mail-box{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-soft);min-height:44px;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);align-items:center;padding:0 13px;display:flex}.mail-box:focus-within{background:var(--surface);border-color:#fff6}.mail-box input{width:auto;min-width:0;min-height:0;color:var(--ink);font:15px/1.4 var(--font);background:0 0;border:0;border-radius:0;outline:none;flex:1;padding:11px 0}.mail-box input:hover,.mail-box input:focus{background:0 0;border:0}.mail-box .mail-suffix{color:var(--faint);font-family:var(--mono);letter-spacing:.02em;white-space:nowrap;font-size:12px}.welcome-step{text-align:center;padding:4px 0 2px}.welcome-step .welcome-sub{margin:8px 0 2px}.welcome-lead{color:var(--ink);letter-spacing:-.015em;margin:0 0 8px;font-size:18px;font-weight:600}.welcome-sub{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.6}.pending{text-align:center;width:100%;max-width:380px;padding:8px 0}.pending .btn{width:auto;margin-top:18px;padding:0 18px;display:inline-flex}.step-question{color:var(--muted);margin:0 0 14px;padding:0;font-size:13px;line-height:1.5}.choice-set{border:0;gap:8px;margin:0 0 14px;padding:0;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-soft);cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);align-items:flex-start;gap:11px;padding:12px;display:flex}.choice:has(input:checked){background:var(--surface);border-color:#fff6}.choice input{border:1px solid var(--faint);appearance:none;background:0 0;border-radius:50%;flex:none;width:14px;height:14px;margin:2px 0 0}.choice input:checked{border-color:var(--ink);background:var(--ink);box-shadow:inset 0 0 0 3px var(--bg-soft)}.choice input:focus-visible{outline-offset:2px;outline:1px solid #ffffff8c}.choice-text{gap:3px;min-width:0;display:grid}.choice-text strong{color:var(--ink);font-family:var(--mono);overflow-wrap:anywhere;font-size:12px;font-weight:500}.choice-text small{color:var(--faint);font-size:11px;line-height:1.4}.custom-mail{margin-bottom:14px}.confirm-list{gap:0;margin:0 0 18px;display:grid}.confirm-list div{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:18px;padding:10px 0;display:flex}.confirm-list div:last-child{border-bottom:0}.confirm-list dt{color:var(--faint);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:10px}.confirm-list dd{color:var(--ink);text-align:right;overflow-wrap:anywhere;margin:0;font-size:13px}.auth-card .field:last-of-type{margin-bottom:10px}.account-card{width:100%;max-width:440px;padding:26px}.account-card h1{letter-spacing:-.02em;margin:0 0 4px;font-size:22px;font-weight:600}.account-card .who{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;margin:0 0 22px;font-size:11px}.account-card .section{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.account-card .section:first-of-type{border-top:0;margin-top:0;padding-top:0}.account-card .section-title{color:var(--faint);font-family:var(--mono);letter-spacing:.18em;text-transform:uppercase;margin:0 0 14px;font-size:10px}.account-card .btn{width:100%}.account-card .btn.ghost{width:auto}.account-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.admin-card{width:100%;max-width:620px;padding:26px}.admin-block{border-top:1px solid var(--line);margin-top:40px;padding-top:26px;padding-bottom:64px}.admin-block .eyebrow,.admin-block .admin-lead{margin-bottom:16px}.admin-card h1{letter-spacing:-.02em;margin:0 0 6px;font-size:22px;font-weight:600}.admin-lead{color:var(--muted);margin:0 0 18px;font-size:13px}.admin-list{border-top:1px solid var(--line)}.admin-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.admin-meta{gap:3px;min-width:0;display:grid}.admin-meta strong{color:var(--ink);font-family:var(--mono);overflow-wrap:anywhere;font-size:13px;font-weight:500}.admin-meta span{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.admin-meta small{color:var(--faint);font-family:var(--mono);font-size:10px}.admin-actions{flex:none;align-items:center;gap:8px;display:flex}.admin-actions .btn{width:auto;margin-top:0}.admin-sec-title{margin-top:30px}.admin-user .admin-meta strong{font-size:12px}.admin-services{flex-wrap:wrap;flex:0 auto;justify-content:flex-end;gap:6px;display:flex}.service-toggle{border:1px solid var(--line);min-height:36px;color:var(--faint);font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color var(--dur) var(--ease), border-color var(--dur) var(--ease), background var(--dur) var(--ease);background:0 0;border-radius:8px;padding:0 10px;font-size:10px}.service-toggle:hover{color:var(--muted);border-color:var(--line-strong)}.service-toggle.active{color:var(--ink);border-color:var(--line-strong);background:#ffffff17}.admin-empty{color:var(--faint);margin:0;padding:22px 0;font-size:13px}@media (width<=520px){.admin-row{flex-direction:column;align-items:flex-start}.admin-actions{width:100%}.admin-services{justify-content:flex-start;width:100%}.admin-actions .btn{flex:1}.service-toggle{min-height:40px;font-size:10px}.service-list .card{grid-template-columns:28px minmax(0,1fr) auto;gap:10px}.service-list .card-open{font-size:8px}}.account-actions a{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;font-size:13px}.account-actions a:hover{color:var(--ink)}.service-list{counter-reset:service;border-top:1px solid var(--line)}.service-list .card{counter-increment:service;border-bottom:1px solid var(--line);color:var(--ink);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);grid-template-columns:40px minmax(0,1fr) 64px;align-items:center;gap:14px;padding:18px 4px;display:grid}.service-list .card:before{content:counter(service, decimal-leading-zero);color:var(--faint);font-family:var(--mono);letter-spacing:.12em;font-size:11px}.service-list .card:hover{border-color:var(--line-strong);background:#ffffff05}.service-list .card-title{letter-spacing:-.01em;font-size:15px;font-weight:600;display:block}.service-list .card-main{min-width:0;display:block}.service-list .card-desc{color:var(--muted);margin-top:3px;font-size:13px;line-height:1.45;display:block}.service-list .card-open{color:var(--faint);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;justify-self:end;font-size:9px}.service-list .card-open span{transition:transform var(--dur) var(--ease), color var(--dur) var(--ease);margin-left:4px;display:inline-block}.service-list .card:hover .card-open{color:var(--ink)}.service-list .card:hover .card-open span{transform:translate(2px)}.service-list .empty{margin-top:24px}.service-list .empty p{margin:0}.service-list .empty p+p{color:var(--faint);margin-top:6px;font-size:13px}@media (width<=520px){.dock{gap:10px}.site-foot{max-width:calc(100vw - 16px);font-size:10px}.dock-item{border-radius:14px;width:60px;height:60px}.dock-item .icon{width:21px;height:21px}.topbar .icon-btn{width:40px;height:40px}.field input,.field textarea,.field select,.mail-box input{font-size:16px}}@media (width<=360px){.auth-card.plain h1{font-size:22px}.step-actions .btn{flex-basis:100%}.step-actions .btn.ghost{flex-basis:auto}}@media (height<=560px) and (orientation:landscape){.auth-shell{padding-top:max(20px, var(--safe-top));justify-content:flex-start}}
