:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#213d34;background:#f5f3ec;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 0 0,#faf8f3 0,#f5f3ec 60%)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}.shell{max-width:850px;margin:auto;padding:22px 20px max(24px,env(safe-area-inset-bottom))}.topbar{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:.18em;font-size:14px}.brand small{display:block;font-weight:600;letter-spacing:.28em;font-size:8px;margin-top:1px;color:#708278}.brand-mark,.login-mark{display:grid;place-items:center;background:#234b3b;color:#fff;border-radius:13px;width:36px;height:36px;font-size:29px;line-height:1}.logout{border:0;background:transparent;color:#557365;padding:10px;font-size:12px;font-weight:700}.intro{padding:30px 0 22px}.eyebrow{font-size:10px;letter-spacing:.22em;font-weight:800;color:#7f9587;margin:0 0 9px}h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(31px,8.8vw,47px);letter-spacing:-.05em;line-height:1.06;margin:0 0 17px}h1 em{font-weight:400;color:#a7b58a}.connection{display:flex;gap:7px;align-items:center;color:#728579;font-size:11px}.dot{width:7px;height:7px;border-radius:50%;background:#d6a977;flex:none}.dot.connected{background:#66996e}.separator{opacity:.65}.rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.card{background:#fffefa;border:1px solid #eeeee6;box-shadow:0 6px 22px #1b3d2d0b;border-radius:19px;padding:15px 13px 12px;min-width:0;min-height:255px;display:flex;flex-direction:column}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:4px}.room-name{margin:0;color:#294b3d;font-size:13px;font-weight:750;letter-spacing:-.02em;overflow-wrap:anywhere}.room-index{color:#afbbaf;font-size:9px;font-weight:700;letter-spacing:.08em;margin-top:3px;flex:none}.current{margin-top:11px;line-height:1}.current-number{font-size:36px;font-weight:350;letter-spacing:-.07em;color:#284b3a}.degree{font-size:19px;vertical-align:10px;margin-left:2px;font-weight:350}.current-label{font-size:10px;color:#9baa9e;margin-top:3px}.target-row{margin-top:auto;border-top:1px solid #f0f0e9;padding-top:12px;display:flex;align-items:center;justify-content:space-between;gap:3px}.target-label{font-size:9px;color:#8d9e91;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.target-number{display:block;font-size:18px;font-weight:750;letter-spacing:-.05em;margin-top:2px;white-space:nowrap}.stepper{display:flex;align-items:center;gap:4px}.stepper button{width:32px;height:35px;border:1px solid #e5ebe3;background:#f8faf6;color:#28533e;border-radius:10px;font-size:19px;line-height:1}.modes{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f0f3ed;border-radius:11px;padding:3px;margin-top:11px}.modes button{border:0;background:transparent;border-radius:8px;color:#829486;min-height:38px;padding:2px 3px;font-size:10px;font-weight:750;line-height:1.12}.modes button.selected{background:#214b39;color:white;box-shadow:0 2px 5px #183b2c21}.state{min-height:15px;margin:8px 0 0;font-size:10px;color:#738b78;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.state.pending{color:#b47c35}.state.failed{color:#bf614d}.state.confirmed{color:#538663}footer{display:flex;gap:7px;align-items:center;color:#88998c;font-size:10px;margin:16px 2px 0;line-height:1.4}.frost-icon{font-size:15px}.login-screen{position:fixed;inset:0;background:#f5f3ec;display:grid;place-items:center;padding:24px;z-index:10}.login-screen[hidden]{display:none}.login-card{width:min(100%,370px);background:#fffefa;border:1px solid #eeeae1;border-radius:24px;padding:30px;box-shadow:0 15px 55px #183b2c12}.login-mark{width:48px;height:48px;font-size:38px;margin-bottom:28px}.login-card h2{font-family:Georgia,serif;font-size:32px;letter-spacing:-.05em;margin:0 0 8px;font-weight:400}.login-card>p:not(.eyebrow):not(.login-error){font-size:13px;color:#819183;margin:0 0 26px}.login-card label{display:block;font-size:11px;font-weight:700;margin-bottom:8px}.login-card input{width:100%;border:1px solid #dce5da;background:#fcfdfa;border-radius:11px;padding:13px;font-size:16px;outline-color:#517d63}.login-card button{width:100%;border:0;border-radius:11px;background:#214b39;color:white;padding:14px;margin-top:14px;font-weight:700;display:flex;justify-content:space-between}.login-error{color:#b84e41;font-size:12px;min-height:18px;margin:9px 0 0}@media(max-width:360px){.shell{padding-left:12px;padding-right:12px}.rooms{gap:7px}.card{padding:12px 10px}.current-number{font-size:32px}.stepper button{width:28px}}@media(min-width:700px){.shell{padding-top:35px}.intro{padding-top:50px}.rooms{gap:16px}.card{padding:22px;min-height:270px}.room-name{font-size:17px}.current-number{font-size:44px}.target-number{font-size:22px}.stepper button{width:42px;height:42px}.modes button{font-size:12px}}
