:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#203a32;background:#f3f4ee;font-synthesis:none;--green:#173f35;--muted:#68786e;--line:#dfe5dc;--paper:#fffef9}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;min-height:46px;padding:10px 15px;border-radius:12px;border:1px solid var(--line);background:white;color:var(--green);font-weight:600}button:disabled{cursor:default;opacity:.65}button:focus-visible,input:focus-visible{outline:3px solid #4d947c;outline-offset:3px}input{min-width:0;max-width:100%;min-height:48px;border:1px solid #cbd6cc;border-radius:12px;padding:11px 12px;color:#203a32;background:white;font-size:16px}button:hover:not(:disabled){filter:brightness(.96)}.top,main,.bottom{max-width:1040px;margin:auto;padding-left:24px;padding-right:24px}.top{display:flex;align-items:center;justify-content:space-between;padding-top:25px;padding-bottom:20px}.brand{display:flex;align-items:center;gap:11px;font-size:21px;font-weight:750;letter-spacing:.04em}.brand span{display:block;font-size:12px;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:2px}.quiet{background:transparent;border:0;color:var(--muted)}h1{font-size:clamp(34px,6vw,52px);line-height:1.06;letter-spacing:-.045em;font-weight:650;margin:13px 0 18px}h2{font-size:21px;letter-spacing:-.025em;margin:0}.intro{padding:30px 0 25px;max-width:650px}.intro>p:not(.eyebrow){max-width:490px;font-size:17px;line-height:1.55;color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.16em;font-weight:750;color:var(--muted)}.badge{display:inline-flex;border:1px solid #cbd9c5;color:#416237;background:#e6ecdf;font-size:12px;padding:9px 12px;border-radius:100px}.notice{padding:18px 20px;background:#e9eee5;border-left:3px solid #88a383;border-radius:0 14px 14px 0;margin:0 0 25px;font-size:14px;line-height:1.5}.notice p{margin:6px 0 0;color:#53684f}.layout{display:grid;grid-template-columns:1fr 1.2fr;gap:20px;align-items:start}.card{background:var(--paper);border:1px solid var(--line);border-radius:21px;padding:24px;box-shadow:0 3px 10px #23483203}.section-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.number{font-size:11px;color:#76917f;font-weight:600}.counter{margin-left:auto;font-size:12px;background:#eef1e9;border-radius:6px;padding:4px 8px}.hint{font-size:13px;color:var(--muted);line-height:1.5}.inline{display:flex;gap:8px;margin:18px 0}.inline input{flex:1;width:100%}.room-list{display:grid;gap:7px}.room-row{display:flex;align-items:center;gap:10px;padding:3px 0;border-bottom:1px solid #ecede6}.room-row span{flex:1;overflow-wrap:anywhere}.icon-button{font-size:18px;min-width:44px;padding:8px;background:transparent;border:0;color:var(--muted)}.empty{font-size:14px;line-height:1.6;color:var(--muted);padding:12px 0}.group{border:1px solid var(--line);border-radius:14px;padding:14px;margin:16px 0}.group-head{display:flex;gap:3px;align-items:center}.group-head input{flex:1;width:70px;font-weight:600;background:transparent;border-color:transparent;padding-left:4px}.group-controls{display:flex}.group-controls button{padding:7px;min-width:35px;font-size:15px}.group-rooms{display:grid;gap:5px;margin-top:8px}.choice{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px;overflow-wrap:anywhere}.choice input{min-height:22px;width:21px;height:21px;accent-color:var(--green);flex-shrink:0}.choice:has(input:disabled){color:#89948a}.outline{width:100%;background:transparent;border-color:#b9cabc}.primary{background:var(--green);color:white;border-color:var(--green)}.review{margin:20px 0}.review>button{width:auto;min-width:180px}.step{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid #edf0e9}.step-index{font-size:12px;color:#708a76;padding-top:3px}.step strong{font-size:15px}.step p{color:var(--muted);font-size:14px;margin:6px 0 0;overflow-wrap:anywhere}.station{font-size:12px;color:#637e68;margin:9px 0 8px 25px}.warning{font-size:13px;line-height:1.5;color:#785d32;background:#f5f0e5;padding:11px 13px;border-radius:10px}.footer-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:6px 0 12px}.footer-actions>div{margin-right:auto}.footer-actions p{margin:4px 0}.run{background:#e4e9e0;color:#53694f}.full{flex-basis:100%}.message{font-size:14px;line-height:1.5;background:#e7eee3;border-radius:12px;padding:14px;overflow-wrap:anywhere}.message:empty{display:none}.message.error{background:#fae8df;color:#843e2b}.bottom{display:flex;justify-content:space-between;padding-top:30px;padding-bottom:30px;font-size:11px;color:#829080}.login{max-width:480px;margin:40px auto}.login p{line-height:1.6}.login form{display:grid;gap:12px;margin-top:25px}.login label{font-size:13px}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}[hidden]{display:none!important}@media(max-width:700px){.top,main,.bottom{padding-left:18px;padding-right:18px}.layout{grid-template-columns:1fr;gap:16px}.card{padding:20px;border-radius:18px}.intro{padding-top:21px}.intro h1{font-size:39px}.footer-actions{display:grid;grid-template-columns:1fr 1fr}.footer-actions>div,.full{grid-column:1/-1}.footer-actions button{font-size:14px}.group{padding:11px}.inline button{padding:10px}.bottom{gap:15px}.login{margin-top:25px}.group-controls button{min-width:33px}.review>button{width:100%}}@media(prefers-reduced-motion:no-preference){button{transition:filter .15s}}

.install {margin-bottom:20px;font-size:14px}.install summary {cursor:pointer;font-weight:650}.install p {line-height:1.6}.install a {color:#173f35;display:inline-block;padding:8px 0}

#map-section {margin:24px 0}#floor-map {display:block;width:100%;max-width:550px;height:auto;margin:20px auto;border-radius:12px}#map-legend {display:flex;flex-wrap:wrap;gap:4px 18px}#map-legend p {font-size:14px;margin:4px 0}
