*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif;color-scheme:light dark}body{margin:0;background:#f5f6f3;color:#202b23;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;border:1px solid transparent;transition:background .15s,border-color .15s}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #80b99a;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}.shell{max-width:1100px;margin:0 auto;padding:0 30px}.topbar{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #dedfd8}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:16px;letter-spacing:-.03em}.brand small{display:block;margin-top:4px;font-size:10px;letter-spacing:.13em;color:#778177}.mark{display:grid;place-items:center;width:39px;height:39px;background:#303f36;color:#f9f9f4;border-radius:13px;font-size:17px;font-weight:700}.headright{display:flex;align-items:center;gap:14px}.indicator{font-size:12px;color:#68766c;white-space:nowrap}.indicator:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#668c75;margin-right:7px}.eyebrow{font-size:10px;letter-spacing:.17em;font-weight:750;color:#788c7c}.heading{display:flex;align-items:flex-end;justify-content:space-between;margin:48px 0 26px;gap:15px}h1{font-size:clamp(29px,4vw,40px);letter-spacing:-.06em;line-height:1.14;margin:12px 0 10px;font-weight:720}h2{font-size:20px;letter-spacing:-.04em;margin:9px 0 6px;font-weight:700}.intro,.sub{color:#738075;line-height:1.7;margin:0;font-size:13px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.stat,.panel,.login{background:#fff;border:1px solid #e6e7e1;border-radius:18px}.stat{padding:21px 22px;min-height:118px}.stat span{display:block;color:#738075;font-size:12px}.stat strong{display:block;margin-top:14px;font-size:32px;font-weight:730;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.panel{border-radius:20px;padding:28px 30px;margin-bottom:18px}.create{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:25px}.create .issued{grid-column:1/-1}label{display:block;color:#526058;font-size:12px;font-weight:650;margin-bottom:9px}input,select{min-width:0;min-height:43px;border:1px solid #dbded8;border-radius:11px;padding:10px 13px;background:#fcfcfa;color:#26332a}input::placeholder{color:#9da79e}#tester{width:100%}.createRow{display:flex;gap:9px}.createRow input{flex:1}.primary{background:#30473a;color:#fff;border-color:#30473a;border-radius:11px;padding:11px 18px;white-space:nowrap;font-weight:650;font-size:13px}.primary:hover{background:#47604e}.secondary{background:#f4f6f2;border:1px solid #e0e5df;color:#344b3c;border-radius:11px;padding:10px 15px;font-size:12px;font-weight:650;white-space:nowrap}.secondary:hover{background:#e7efe7}.quiet{padding:8px 5px;background:transparent;color:#697d6b;font-size:12px}#logout{white-space:nowrap}.quiet:hover{text-decoration:underline}.issued{border:1px solid #b8d0c0;background:#eef5ee;border-radius:14px;padding:18px 19px}.issued strong{font-size:13px}.issued p{color:#617366;font-size:12px;line-height:1.6}.issued small{display:block;color:#677b6a;font-size:11px;margin-top:10px}.codeLine{display:flex;gap:10px;align-items:center}.codeLine code{min-width:0;flex:1;overflow-wrap:anywhere;font-size:14px;background:#fff;padding:12px;border-radius:8px;border:1px solid #d6e4d9}.recordHeader{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-bottom:20px}.actions{display:flex;gap:9px}.actions input{max-width:170px}.actions select{max-width:145px}.recordList{border-top:1px solid #eef0eb}.record{display:grid;grid-template-columns:minmax(150px,1.15fr) minmax(112px,.85fr) minmax(180px,1.4fr) minmax(75px,.5fr);align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid #f0f1ed}.recordName{font-size:13px;font-weight:700;overflow-wrap:anywhere}.recordId{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;color:#9aa69d;margin-top:7px;overflow-wrap:anywhere}.status{display:inline-flex;align-items:center;gap:6px;border-radius:50px;padding:6px 9px;font-weight:600;font-size:11px;background:#f1f2ef;color:#626e66;white-space:nowrap}.status:before{content:"";width:6px;height:6px;background:currentColor;border-radius:50%}.status.active{background:#e8f3eb;color:#316947}.status.revoked{background:#f5ecea;color:#a65a50}.status.expired{background:#f1f1ef;color:#7e847e}.dateGroup{font-size:12px;color:#6b776f;line-height:1.8;font-variant-numeric:tabular-nums}.dateGroup strong{color:#39483e;font-weight:600}.revoke{border:1px solid #e4cfc9;border-radius:9px;padding:8px 11px;color:#a64e43;background:white;font-size:11px}.revoke:hover{background:#fbf0ee}.revoke:disabled{border-color:transparent;color:#9aa29a;background:transparent}.empty{padding:50px 10px;text-align:center;color:#89958a;font-size:13px}.footnote{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:17px;color:#9aa49b;font-size:11px}.pageFoot{text-align:center;color:#9ba69c;font-size:11px;margin:38px 0 26px}.login{max-width:480px;margin:95px auto 100px;border-radius:22px;padding:36px}.login h1{font-size:30px}.login .intro{margin-bottom:26px}.login input{width:100%;margin-bottom:16px}.login button.primary{width:100%;min-height:44px}.hint{color:#89988b;font-size:12px;line-height:1.7;margin:20px 0 0}.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);min-width:220px;max-width:90vw;border-radius:11px;background:#29392e;color:white;padding:13px 18px;box-shadow:0 7px 30px #223e251c;font-size:13px;text-align:center;z-index:100}.srOnly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(max-width:720px){.shell{padding:0 16px}.topbar{min-height:78px}.heading{margin-top:32px;align-items:flex-start}.stats{grid-template-columns:repeat(2,1fr);gap:10px}.stat{min-height:95px;padding:16px}.stat strong{font-size:26px}.panel{padding:22px 18px}.create{grid-template-columns:1fr}.recordHeader{display:block}.actions{margin-top:14px}.actions input{flex:1;max-width:none}.record{grid-template-columns:1fr 115px;gap:12px}.record .dateGroup{grid-column:1;grid-row:2}.record .buttonCell{grid-column:2;grid-row:2;text-align:right}.codeLine{flex-wrap:wrap}.codeLine code{flex-basis:100%}.login{margin:55px auto;padding:27px 23px}}.remaining{font-weight:700;color:#28764b;margin-top:5px;font-variant-numeric:tabular-nums}@media(max-width:720px){.recordList{border-top:0}.record{border:1px solid #e5e9e3;border-radius:14px;padding:16px;margin-bottom:10px}.recordName{font-size:15px}.revoke{min-height:44px;padding:10px 14px}.actions input,.actions select,.primary,.secondary{min-height:44px}.codeLine button{width:100%}.headright .indicator{display:none}}@media(max-width:390px){.createRow{flex-wrap:wrap}.createRow input,.createRow button{width:100%;flex-basis:100%}}@media(prefers-color-scheme:dark){body{background:#151b17;color:#e6eee6}.topbar{border-color:#354037}.brand small,.indicator,.eyebrow{color:#94af9b}.mark{background:#3e5948}.intro,.sub{color:#a0aea2}.stat,.panel,.login{background:#202a23;border-color:#354238}input,select{background:#19231c;color:#e6eee6;border-color:#4a5a4d}input::placeholder{color:#899a8c}label{color:#b7c7b9}.stat span{color:#a9baa9}.secondary{background:#304236;border-color:#475b4d;color:#e6f1e7}.secondary:hover{background:#3e5544}.primary{background:#9dc6a6;color:#14271b;border-color:#9dc6a6}.primary:hover{background:#b5d8bd}.quiet{color:#b6c8b8}.issued{background:#263b2c;border-color:#4f7656}.issued p,.issued small{color:#c1d4c3}.codeLine code{background:#19271e;border-color:#52715a;color:#cce6d2}.recordList,.record{border-color:#38473b}.recordId,.dateGroup,.footnote,.pageFoot,.hint{color:#a6b6a9}.dateGroup strong,.recordName{color:#e3f0e5}.status{background:#3c493e;color:#cbd7cd}.status.active{background:#2e5237;color:#d1edda}.status.revoked{background:#503735;color:#f2c1bb}.status.expired{background:#414742;color:#d2dad2}.revoke{background:#2d2424;border-color:#6d4540;color:#efada4}.revoke:hover{background:#493030}.toast{background:#d0e5d3;color:#1f3525}.empty{color:#a5b3a5}}.passkeyLogin{display:block;width:100%;min-height:46px;margin-top:12px}.headingActions{display:flex;gap:9px;flex-wrap:wrap}.passkeySetup{margin-top:4px}.passkeySetup .sub{margin-bottom:16px}.passkeySetup .createRow input{flex:1}.passkeySetup .createRow button{min-height:44px}@media(max-width:720px){.heading{display:block}.headingActions{margin-top:16px}.headingActions button{flex:1}.passkeySetup .createRow{flex-wrap:wrap}.passkeySetup .createRow input,.passkeySetup .createRow button{width:100%;flex-basis:100%}}.mobilePair{margin-top:12px}.mobilePair #pairShow{width:100%;min-height:44px}.mobilePair #pairForm{margin-top:12px;padding:14px;border-radius:12px;border:1px solid #d8e1d9}.mobilePair #pairForm input,.mobilePair #pairForm button{display:block;width:100%;margin-bottom:10px}.mobilePair #pairForm .hint{margin-top:5px}@media(prefers-color-scheme:dark){.mobilePair #pairForm{border-color:#475b4d}}