:root{--colour-primary: #0b5b6b;--colour-primary-dark: #08434f;--colour-accent: #b3261e;--colour-bg: #f6f8f9;--colour-surface: #ffffff;--colour-border: #dfe5e7;--colour-text: #1b2528;--colour-text-muted: #5c6b6f;--radius: 8px;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--colour-bg);color:var(--colour-text)}.app{max-width:1200px;margin:0 auto;padding:24px 20px 64px}.app__header h1{font-size:1.6rem;margin-bottom:4px;color:var(--colour-primary-dark)}.app__tagline{color:var(--colour-text-muted);margin-top:0}.app__hero-action{background:linear-gradient(135deg,var(--colour-primary),var(--colour-primary-dark));border-radius:var(--radius);padding:28px 24px;text-align:center;color:#fff;margin:24px 0;box-shadow:var(--shadow)}.app__wizard-button{font-size:1.15rem;font-weight:700;padding:14px 32px;border-radius:999px;border:none;background:#fff;color:var(--colour-primary-dark);cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.app__wizard-button:hover{transform:translateY(-1px);box-shadow:0 4px 10px #00000026}.app__hero-hint{margin:10px 0 0;opacity:.9;font-size:.9rem}.app__main{display:grid;grid-template-columns:360px 1fr;gap:24px;margin-top:24px}@media (max-width: 900px){.app__main{grid-template-columns:1fr}}.app__controls,.app__preview{background:var(--colour-surface);border:1px solid var(--colour-border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}.app__controls h2,.app__preview h2{margin-top:0;font-size:1.05rem;color:var(--colour-primary-dark)}fieldset{border:1px solid var(--colour-border);border-radius:var(--radius);margin-bottom:16px;padding:12px 14px}legend{font-weight:600;color:var(--colour-primary-dark);padding:0 6px}label{display:block;font-size:.85rem;color:var(--colour-text-muted);margin-bottom:8px}input[type=number],input[type=text],select{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--colour-border);border-radius:6px;font-size:.95rem}.distance-input{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;margin-bottom:12px}.distance-input__separator{color:var(--colour-text-muted);padding-bottom:8px}.distance-input__hint{width:100%;font-size:.75rem;color:var(--colour-text-muted);margin:4px 0 0}.app__generate-button,.wizard__primary{width:100%;padding:12px;font-size:1rem;font-weight:700;background:var(--colour-primary);color:#fff;border:none;border-radius:6px;cursor:pointer}.app__generate-button:disabled,.wizard__primary:disabled{background:#a9b7ba;cursor:not-allowed}.fit-problem-notice{background:#fff4f3;border:1px solid #f3c6c2;border-radius:var(--radius);padding:16px;margin-bottom:16px}.fit-problem-notice h3{margin-top:0;color:var(--colour-accent)}.fit-problem-notice__shortfall{font-size:.85rem;color:var(--colour-text-muted)}.fit-problem-notice__remedies{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.fit-problem-notice__remedy-button{background:#fff;border:1px solid var(--colour-accent);color:var(--colour-accent);padding:8px 12px;border-radius:6px;cursor:pointer;font-size:.85rem}.room-presets-panel{margin-bottom:16px}.room-presets-panel__chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.room-presets-panel__chip{display:flex;align-items:center;background:var(--colour-bg);border:1px solid var(--colour-border);border-radius:999px;overflow:hidden}.room-presets-panel__chip button:first-child{border:none;background:none;padding:6px 10px;cursor:pointer;font-size:.8rem}.room-presets-panel__remove{border:none;background:none;color:var(--colour-text-muted);cursor:pointer;padding:6px 8px}.room-presets-panel__save{display:flex;gap:8px}.room-presets-panel__save input{flex:1}.room-presets-panel__save button{white-space:nowrap;padding:8px 12px;border-radius:6px;border:1px solid var(--colour-primary);background:#fff;color:var(--colour-primary-dark);cursor:pointer}.wizard-overlay{position:fixed;inset:0;background:#0a14168c;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}.wizard{background:#fff;border-radius:var(--radius);max-width:720px;width:100%;max-height:90vh;overflow-y:auto;padding:24px;box-shadow:0 10px 40px #0000004d}.wizard__header{display:flex;justify-content:space-between;align-items:center}.wizard__header button{border:none;background:none;font-size:1.4rem;cursor:pointer;color:var(--colour-text-muted)}.wizard__steps{display:flex;list-style:none;padding:0;gap:10px;margin:16px 0}.wizard__steps li{flex:1;text-align:center;padding:8px;border-bottom:3px solid var(--colour-border);color:var(--colour-text-muted);font-size:.85rem}.wizard__steps li.active{border-bottom-color:var(--colour-primary);color:var(--colour-primary-dark);font-weight:700}.wizard__steps li.done{border-bottom-color:#8fbcae}.wizard__actions{display:flex;gap:10px;margin-top:16px}.wizard__actions button{flex:1;padding:12px;border-radius:6px;border:1px solid var(--colour-border);background:#fff;cursor:pointer}.wizard__actions button.wizard__primary{background:var(--colour-primary);border:none;color:#fff}.wizard__actions button.wizard__primary:disabled{background:#a9b7ba;cursor:not-allowed}.wizard__checklist{background:var(--colour-bg);border-radius:var(--radius);padding:16px 16px 16px 32px}.app__footer{text-align:center;color:var(--colour-text-muted);font-size:.8rem;margin-top:40px}.chart-preview--empty{padding:40px;text-align:center;color:var(--colour-text-muted)}
