:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#16343a;background:#f6f5ef;font-synthesis:none;--muted:#647476;--teal:#166b62;--border:#dfe4dc;--paper:#fffefa}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #b07639;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:660px;margin:auto;padding:24px 22px 30px}.brand{display:flex;align-items:center;justify-content:space-between;min-height:40px;margin-bottom:45px}.brand a{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;font-size:12px;font-weight:750;letter-spacing:1.4px}.brand svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}.text-button{border:0;background:none;color:var(--teal);font-size:13px;font-weight:650;padding:12px 0;min-height:44px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:750;color:var(--teal);margin:0 0 14px}h1{font-size:clamp(32px,8vw,44px);font-weight:650;letter-spacing:-1.8px;line-height:1.18;margin:0 0 12px}.title-dot{color:#b7874e}.muted{color:var(--muted)}.intro{font-size:14px;line-height:1.7;margin:0 0 28px}.panel{background:var(--paper);border:1px solid var(--border);border-radius:22px}.door-panel{padding:22px;text-align:center;box-shadow:0 12px 40px #16343a05}.door-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:9px;letter-spacing:1.5px;font-weight:700;color:var(--muted)}.badge{display:flex;align-items:center;gap:6px;letter-spacing:0;font-size:11px;background:#f0f1eb;padding:7px 10px;border-radius:30px;white-space:nowrap}.badge i{width:6px;height:6px;border-radius:50%;background:#9ca8a4}.badge.online{color:#166b62;background:#e7f2e8}.badge.online i{background:#287b65}.badge.offline{color:#866746;background:#f3ede2}.badge.offline i{background:#b58b5a}.door-art{height:190px;position:relative;display:flex;align-items:flex-end;justify-content:center;padding-bottom:12px;margin-top:14px}.door-art:before{content:"";position:absolute;width:170px;height:170px;background:#eff2e9;border-radius:100%;bottom:0}.door-frame{position:relative;width:100px;height:162px;border:5px solid #c7d5c7;border-bottom:0;border-radius:5px 5px 0 0;padding:3px 3px 0;background:#e1e9db}.door-leaf{height:100%;background:#244d4b;border-radius:1px;position:relative;box-shadow:inset 5px 0 0 #193e3b}.door-window{position:absolute;top:18px;left:19px;right:14px;height:91px;border:1px solid #65877a;border-radius:1px}.door-lock{position:absolute;right:9px;top:82px;width:13px;height:31px;background:#d6b98b;border-radius:4px;box-shadow:0 1px 3px #0002}.door-lock span{display:block;width:5px;height:8px;background:#31524c;margin:5px auto;border-radius:1px}.door-handle{position:absolute;right:2px;top:102px;width:22px;height:4px;background:#f1d5a6;border-radius:4px;box-shadow:0 2px 2px #0002}.floor-line{position:absolute;bottom:10px;width:215px;height:1px;background:#cbd6c7}.door-panel h2{font-size:21px;font-weight:650;letter-spacing:-.5px;margin:20px 0 8px}.door-panel>.muted{font-size:13px;line-height:1.65;max-width:320px;margin:0 auto 24px;min-height:42px}.primary,.secondary{min-height:54px;border-radius:12px;border:0;font-weight:650;padding:14px 18px}.primary{background:#166b62;color:white;box-shadow:0 4px 10px #166b6212}.primary:hover:enabled{background:#10584f}.primary:disabled{background:#dce4df;color:#798d87;box-shadow:none}.unlock{display:flex;gap:12px;align-items:center;justify-content:center;width:100%;font-size:16px}.unlock svg{fill:none;stroke:currentColor;stroke-width:1.6;width:22px;height:22px}.unlock span:last-child{margin-left:auto}.unlock span:nth-child(2){margin-right:auto}.action-note{font-size:10px;color:var(--muted);margin:12px 0 0}.connection-panel{display:flex;gap:16px;align-items:center;justify-content:space-between;padding:23px 2px;border-bottom:1px solid var(--border)}.connection-panel h2{font-size:13px;margin:0 0 5px;font-weight:650}.connection-panel p{margin:0;font-size:11px;color:var(--muted);line-height:1.7}.footnote{font-size:11px;line-height:1.8;color:var(--muted);margin:20px 2px 30px}.result{display:flex;gap:12px;margin-top:16px;border-radius:16px;border:1px solid #d5e3d9;background:#edf5ed;padding:18px}.result[data-kind="unknown"],.result[data-kind="failed"]{background:#fbf0de;border-color:#ecdbb9;color:#7c4d18}.result h2{font-size:15px;margin:0 0 6px}.result p{font-size:12px;line-height:1.7;margin:0}.result time{display:block;font-size:10px;opacity:.7;margin-top:8px}#result-symbol{font-size:22px}footer{display:flex;align-items:center;gap:7px;font-size:8px;letter-spacing:1.2px;color:#8a9791;margin-top:38px}.footer-dot{width:5px;height:5px;border-radius:50%;background:#96ac9d}.footer-line{height:1px;background:#cdd6ce;width:16px;margin:0 4px}.login-panel{padding:25px;margin-top:32px}.login-panel label{font-size:13px;display:block;margin-bottom:12px;font-weight:650}.password-row{display:flex;border:1px solid #c8d1c9;border-radius:10px;background:white;margin-bottom:18px;padding-right:13px}.password-row input{border:0;background:transparent;padding:13px;min-width:0;width:100%;min-height:50px;border-radius:10px}.login-panel .primary{width:100%;display:flex;justify-content:space-between;align-items:center}.form-message{font-size:12px;line-height:1.7;color:#9e3d31;margin:12px 0 0}.form-message:empty{display:none}.loading{min-height:50vh;display:grid;place-items:center;font-size:14px;color:var(--muted)}dialog{max-width:430px;width:calc(100% - 36px);border:1px solid var(--border);border-radius:22px;padding:28px;background:var(--paper);color:#16343a;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#102e39a1;backdrop-filter:blur(3px)}.dialog-label{font-size:9px;letter-spacing:1.5px;color:var(--teal);font-weight:750}dialog h2{font-size:24px;letter-spacing:-.6px;margin:15px 0 12px}dialog p{font-size:14px;line-height:1.7;color:var(--muted)}.dialog-note{background:#f0f2e9;border-radius:10px;padding:13px;font-size:12px}#confirm-error{color:#9e3d31;font-size:12px}.dialog-buttons{display:flex;gap:10px;margin-top:23px}.dialog-buttons .primary{flex:1}.secondary{background:#e9ece6;color:#25483f;min-width:78px}@media(min-width:600px){.shell{padding:36px 55px}.brand{margin-bottom:58px}.door-art{height:210px}.door-panel{padding:25px 30px}}@media(prefers-reduced-motion:no-preference){.view{animation:appear .22s ease-out}@keyframes appear{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}}
