:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#1c2b42;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #d3a534;outline-offset:5px}[hidden]{display:none!important}.home{max-width:540px;margin:auto;min-height:100svh;padding:22px 28px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column}header{display:flex;justify-content:space-between;align-items:center}.brand{font-size:21px;font-weight:750;text-decoration:none;color:inherit;display:flex;gap:10px;align-items:center}.brand-icon{display:grid;place-items:center;background:#e3eaf6;color:#2c579e;border-radius:13px;width:40px;height:40px;font-size:30px}.settings-link{border:0;background:none;color:#4b5c74;padding:12px 0 12px 12px;font-size:20px;display:flex;gap:7px}.settings-link span{font-size:16px}.welcome{padding-top:48px}.eyebrow{font-size:16px;color:#586d87;margin:0 0 14px;letter-spacing:2px}h1{font-size:clamp(34px,9vw,44px);line-height:1.4;letter-spacing:-1px;margin:0;font-weight:750}.door-name{font-size:20px;color:#5c6c80;margin-top:20px}.action{display:flex;align-items:center;flex-direction:column;padding-top:18px;flex:1}.status{font-size:16px;color:#456251;display:flex;align-items:center;gap:8px;min-height:28px}.status:before{content:"";width:8px;height:8px;border-radius:100%;background:currentColor}.status.off{color:#7b6a4f}.open-button{width:236px;height:236px;border:0;border-radius:50%;background:#285bcc;color:white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-shadow:0 16px 42px #285bcc30,0 0 0 12px #e9effb;margin:32px 0 24px;transition:transform .15s,background .2s}.open-button:active:not(:disabled){transform:scale(.97)}.open-button:disabled{background:#849bbd;box-shadow:0 16px 42px #526c9020,0 0 0 12px #ebeff5}.open-button svg{width:52px;height:52px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.open-button span{font-size:32px;font-weight:700;letter-spacing:2px}.open-button small{font-size:15px;font-weight:400;opacity:.9}.result{text-align:center;line-height:1.7;min-height:27px;font-size:17px;margin:10px 0;white-space:pre-line}.mode-hint{font-size:14px;color:#6d7786;text-align:center;line-height:1.7;max-width:330px}footer{text-align:center;color:#738095;font-size:14px;padding-top:28px}dialog{border:0;border-radius:24px;padding:0;width:min(94vw,500px);max-height:90svh;box-shadow:0 30px 100px #12223c45;background:#fff;color:#1c2b42}dialog::backdrop{background:#14223766}.sheet{padding:24px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}h2{font-size:25px;margin:0}.close{border:0;background:#eef1f6;border-radius:50%;width:42px;height:42px;font-size:20px}.fixed-info{padding:18px;background:#f2f5fa;border-radius:15px;font-size:15px}.fixed-info p{margin:8px 0 0;color:#627089}h3{margin:28px 0 10px;font-size:20px}.sheet p{line-height:1.75;font-size:15px;color:#58677d}label{display:block;font-size:14px;margin:20px 0 10px;color:#4c5b71}input{display:block;width:100%;min-height:50px;border:1px solid #d9e0eb;border-radius:12px;padding:12px;color:#263956;background:#fff;font-size:16px}.primary,.secondary{display:block;width:100%;border-radius:12px;padding:14px;min-height:50px;margin-top:14px;font-size:17px;font-weight:600}.primary{border:0;background:#285bcc;color:white}.secondary{border:1px solid #d8e0ed;background:#f5f7fb;color:#2b4c82}.primary:disabled,.secondary:disabled{opacity:.5}.text-button{border:0;background:none;color:#285bcc;min-height:44px;padding:10px;font-size:15px}.danger{color:#8c4944;margin:20px auto 0}details{border-top:1px solid #edf0f4;padding:18px 0;margin-top:18px}summary{cursor:pointer;font-weight:600;min-height:25px}.device{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;font-size:14px}.device button{border:0;background:#f2f4f8;padding:10px;border-radius:8px;color:#9a4343}.note{font-size:14px!important;word-break:break-word}@media(max-height:760px){.welcome{padding-top:26px}.open-button{width:206px;height:206px;margin-top:25px}.action{padding-top:0}h1{font-size:34px}.home{padding-top:14px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
