#c{flex-direction:column;gap:28px;width:min(520px,100%)}
#countdown-stage{height:240px;max-height:30vh;width:100%;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;visibility:hidden;flex-shrink:0}
#countdown-stage.active{visibility:visible}
#login-ip{min-height:18px;max-width:100%;padding:0 16px;color:var(--kc-muted-fg);font-family:"SFMono-Regular",Consolas,monospace;font-size:12px;line-height:18px;font-weight:400;letter-spacing:0;font-variant-numeric:tabular-nums;text-align:center;overflow-wrap:anywhere}
#authorization-clock{display:inline-flex;align-items:center;justify-content:center;gap:0;font-family:"SFMono-Regular",Consolas,monospace;font-size:78px;line-height:1;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:0;color:#27272a;white-space:nowrap}
#authorization-clock .port-clock-group{display:inline-flex;align-items:center;justify-content:center;width:var(--port-clock-group-width,2ch);height:1em;flex:none}
#authorization-clock .port-clock-separator{width:1ch;flex:none;text-align:center}
#authorization-clock.ports-locked{color:#dc2626}
#authorization-clock.ports-open{color:#16a34a}
#authorization-clock.ports-open svg{display:block;width:100%;height:.86em;fill:none;stroke:currentColor;stroke-width:1;stroke-linecap:round;stroke-linejoin:round}
#port-lock-btn{cursor:pointer;touch-action:manipulation;transition:color .2s,border-color .2s}
#port-lock-btn[data-mode=timed]{color:#2563eb}
#port-lock-btn[data-mode=locked]{color:#dc2626}
#port-lock-btn[data-mode=open]{color:#16a34a}
#port-lock-btn[data-mode=unknown]{color:#a1a1aa}
#port-lock-btn:disabled{cursor:wait}
#port-lock-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#terminal-btn,#panel-btn{cursor:pointer}
#panel-btn:disabled{cursor:not-allowed;color:var(--kc-muted-fg);border-color:var(--kc-border);opacity:.45}
#terminal-btn svg,#panel-btn svg,#pk-btn svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#panel-btn svg{width:27px;height:27px;stroke-width:1.65}
.kw-dialog{width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid var(--kc-border);border-radius:var(--kc-radius);background:var(--kc-bg);color:var(--kc-fg);box-shadow:0 16px 48px #0000001a;font-family:"Trebuchet MS","PingFang SC",sans-serif;font-size:13px;overflow:auto}
.kw-toolbar{display:flex;align-items:center;gap:8px;padding:16px 24px;border-bottom:1px solid var(--kc-border)}
.kw-name{height:34px;min-width:0;flex:1;border:1px solid var(--kc-border);border-radius:6px;padding:0 10px;font:inherit;color:var(--kc-fg);outline:none;box-shadow:none;transition:border-color .2s}
.kw-name:hover,.kw-name:focus{border-color:var(--kc-border-active)}
.kw-add{width:34px;height:34px;border-color:var(--kc-border);color:var(--kc-fg)}
.kw-list{list-style:none;margin:0;padding:0 24px;max-height:360px;overflow:auto}
.kw-key{display:flex;align-items:center;gap:12px;padding:18px 0;border-bottom:1px solid #f1f1f2;min-width:0}
.kw-key:last-child{border-bottom:0}
.kw-key-mark{color:var(--kc-muted-fg);display:flex;flex-shrink:0}
.kw-key-mark svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.kw-key-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.kw-key-name{font-size:13px;font-weight:500;overflow-wrap:anywhere}
.kw-key-meta{color:var(--kc-muted-fg);font-size:11px;line-height:17px}
.kw-current{color:var(--kc-allow);margin-left:7px;font-size:10px;font-weight:400}
.kw-delete{color:var(--kc-block)}
.kw-empty{padding:28px 0;text-align:center;color:var(--kc-muted-fg)}
.kw-message{font-size:12px;line-height:19px;color:var(--kc-muted-fg);padding:12px 24px;min-height:40px}
.kw-message.error{color:var(--kc-block)}
.kw-confirm{padding:24px;width:min(380px,calc(100vw - 32px))}
.kw-confirm h2{font-size:16px;line-height:24px;font-weight:600}
.kw-confirm p{font-size:13px;line-height:21px;color:var(--kc-muted-fg);margin-top:10px;overflow-wrap:anywhere}
.kw-confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:22px}
.kw-text-button{height:34px;padding:0 14px;border:1px solid var(--kc-border);border-radius:6px;font:inherit;background:#fff;color:var(--kc-fg);cursor:pointer}
.kw-text-button.danger{background:#dc2626;color:#fff;border-color:#dc2626}
.kw-text-button:disabled{opacity:.5;cursor:default}
@media(max-width:500px){#countdown-stage{height:205px}#authorization-clock{font-size:58px}.kw-toolbar{padding:14px 16px}.kw-list{padding:0 16px}.kw-message{padding:12px 16px}}