:root{--ink:#151511;--paper:#f2f0e8;--acid:#d6ff3f;--muted:#68675f;--line:#c9c6ba;--danger:#a52828;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Arial,Noto Sans KR,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(90deg, transparent 49.9%, #1515110d 50%, transparent 50.1%), var(--paper);margin:0}button,input,select,textarea{font:inherit}main{grid-template-rows:auto 1fr auto;min-height:100vh;padding:28px clamp(22px,5vw,72px) 24px;display:grid}.masthead,footer{border-bottom:1px solid var(--ink);letter-spacing:.12em;justify-content:space-between;align-items:center;padding-bottom:14px;font:700 12px/1 Courier New,monospace;display:flex}.wordmark{letter-spacing:-.04em;font-size:18px}.phase,footer{color:var(--muted)}.setup{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:center;gap:clamp(48px,8vw,120px);padding:72px 0;display:grid}.session-loading{color:var(--muted);place-items:center;font:700 13px/1.5 Courier New,monospace;display:grid}.session-shell{grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);align-items:start;gap:clamp(48px,8vw,120px);padding:72px 0;display:grid}.session-panels{align-self:center;gap:28px;min-width:0;display:grid}.eyebrow,.step-label{letter-spacing:.14em;margin:0 0 28px;font:700 12px/1 Courier New,monospace}h1{letter-spacing:-.075em;max-width:850px;margin:0;font-size:clamp(52px,7.5vw,112px);font-weight:800;line-height:.92}.lede{max-width:650px;color:var(--muted);margin:36px 0 0;font-size:clamp(16px,1.6vw,20px);line-height:1.65}.setup-card{border:1px solid var(--ink);box-shadow:10px 10px 0 var(--ink);background:#faf9f3;padding:24px}.sign-in-step,.shell-card,.totp-intro,.totp-setup,.recovery-setup,.security-complete{gap:16px;display:grid}.sign-in-step h2,.shell-card h2{margin:0;font-size:26px}.sign-in-step .step-label,.shell-card .step-label{margin:0}.bootstrap-panel,.recovery-panel{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.bootstrap-panel summary,.recovery-panel summary{cursor:pointer;font-size:13px;font-weight:800}.bootstrap-panel[open] summary,.recovery-panel[open] summary{margin-bottom:24px}.steps{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:28px;font:700 11px/1 Courier New,monospace;display:grid}.steps span{color:var(--muted);border-bottom:3px solid var(--line);padding:10px}.steps .active{color:var(--ink);border-color:var(--ink)}.steps .done{color:var(--ink);border-color:var(--acid)}form{gap:18px;display:grid}label{color:var(--muted);gap:8px;font-size:13px;font-weight:700;display:grid}input,select,textarea{width:100%;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:0;outline:none;padding:13px 12px}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 2px var(--acid)}textarea{resize:vertical;min-height:110px}select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink) 50%), linear-gradient(135deg, var(--ink) 50%, transparent 50%);background-position:calc(100% - 17px) 18px,calc(100% - 12px) 18px;background-repeat:no-repeat;background-size:5px 5px}button{min-height:46px;color:var(--paper);background:var(--ink);border:1px solid var(--ink);cursor:pointer;padding:12px 16px;font-weight:800}button:hover:not(:disabled),button:focus-visible{color:var(--ink);background:var(--acid)}button:disabled{cursor:wait;opacity:.55}button.secondary{color:var(--ink);background:0 0}.passkey-step{gap:16px;display:grid}.passkey-step .step-label{margin:0}code{overflow-wrap:anywhere;background:var(--ink);color:var(--acid);padding:14px;font-size:12px;line-height:1.5;display:block}.totp-qr{border:1px solid var(--line);background:#fff;place-items:center;width:100%;padding:16px;display:grid}.totp-qr svg{width:min(100%,240px);height:auto;display:block}.manual-secret-label{color:var(--muted);font-size:13px;font-weight:700}.recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.recovery-grid code{text-align:center;padding:9px}.notice,.complete p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.complete{text-align:center;padding:24px 4px}.complete-mark{background:var(--acid);border:1px solid var(--ink);place-items:center;width:54px;height:54px;font-size:28px;display:inline-grid}.complete h2{margin:20px 0 10px;font-size:26px}.complete button{width:100%;margin-top:20px}.error{color:var(--danger);margin:18px 0 0;font-size:13px;line-height:1.5}.success{color:var(--ink);background:var(--acid);border:1px solid var(--ink);margin:0;padding:10px 12px;font-size:13px;font-weight:700}.part-management{gap:20px;display:grid}.management-heading,.part-detail-title{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.management-heading h2,.part-detail-title h3{margin:0}.management-heading h2{font-size:26px}.management-heading .step-label{margin-bottom:8px}.management-heading>span,.part-detail-title>span{border:1px solid var(--ink);letter-spacing:.08em;white-space:nowrap;padding:5px 7px;font:700 10px/1 Courier New,monospace}.compact-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}.compact-form button{min-width:112px}.part-workspace{border:1px solid var(--ink);grid-template-columns:minmax(130px,.42fr) minmax(0,1fr);display:grid}.part-list{background:var(--ink);align-content:start;display:grid}.part-item{min-height:52px;color:var(--paper);text-align:left;border:0;border-bottom:1px solid #4a4a43;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.part-item>span{overflow-wrap:anywhere;min-width:0}.part-item small{color:#aaa89e;font:700 9px/1 Courier New,monospace}.part-item.selected{color:var(--ink);background:var(--acid)}.part-item.selected small{color:var(--ink)}.part-detail{gap:18px;min-width:0;padding:18px;display:grid}.part-detail-title h3{overflow-wrap:anywhere;font-size:22px}.member-list{border-top:1px solid var(--line);display:grid}.member-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:12px 0;display:grid}.member-row div{gap:3px;min-width:0;display:grid}.member-row strong,.member-row span{overflow-wrap:anywhere}.member-row div span{color:var(--muted);font-size:11px}.member-row select{background-position:calc(100% - 14px) 12px,calc(100% - 9px) 12px;width:auto;min-width:108px;padding:7px 28px 7px 8px;font:700 9px/1 Courier New,monospace}.role-badge{letter-spacing:.05em;font:700 9px/1 Courier New,monospace}button.text-button{min-height:auto;color:var(--danger);border-color:var(--danger);background:0 0;padding:5px 7px;font-size:11px}.member-form{padding-top:4px}.empty-state{color:var(--muted);border:1px dashed var(--line);text-align:center;background:#c9c6ba38;margin:0;padding:18px;font-size:13px}.vault-panel,.vault-form{gap:18px;display:grid}.vault-form{border:1px solid var(--line);padding:18px}.vault-form h3{margin:0}.vault-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.vault-actions h3{margin:0}.vault-password-control{gap:8px;display:grid}.vault-password-field{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.check-label{flex-direction:row;grid-template-columns:auto 1fr;align-items:center;display:flex}.check-label input{width:auto}.vault-list{border-top:1px solid var(--line);display:grid}.vault-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.vault-row div{gap:4px;min-width:0;display:grid}.vault-row strong,.vault-row span{overflow-wrap:anywhere}.vault-row span{color:var(--muted);font:700 10px/1.4 Courier New,monospace}.reveal-panel{border-color:var(--ink);background:#d6ff3f1a}.access-panel,.custody-panel{border-color:var(--ink)}.custody-warning{color:var(--danger);border:1px solid var(--danger);margin:0;padding:12px;font-size:13px;line-height:1.5}.access-row{align-items:start}.vault-row .access-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.access-actions button{white-space:nowrap}footer{border-top:1px solid var(--ink);border-bottom:0;gap:20px;padding:18px 0 0}@media (width<=900px){.setup,.session-shell{grid-template-columns:1fr;gap:48px}.intro{max-width:720px}.setup-card{width:100%;max-width:620px}.session-panels{width:100%;max-width:720px}.session-panels .setup-card{max-width:none}}@media (width<=520px){main{padding:20px}.phase{display:none}.setup{padding:48px 0}h1{font-size:clamp(46px,14vw,68px)}.setup-card{box-shadow:6px 6px 0 var(--ink);padding:18px}.recovery-grid,.compact-form,.part-workspace{grid-template-columns:1fr}.compact-form button{width:100%}.part-list{grid-template-columns:repeat(2,minmax(0,1fr))}.part-detail{border-top:1px solid var(--ink)}.member-row{grid-template-columns:minmax(0,1fr) auto}.member-row .role-badge{grid-column:1}.vault-actions{flex-direction:column;align-items:stretch}.vault-password-field,.access-row{grid-template-columns:1fr}.vault-row .access-actions{justify-content:flex-start}footer{flex-direction:column;align-items:flex-start}}
