.planning-tool{--tool-radius:var(--radius-card)}.planning-tool :is(input,select,button,a){-webkit-tap-highlight-color:transparent}.tool-kicker{letter-spacing:.13em;text-transform:uppercase;color:var(--accent);align-items:center;gap:.6rem;font-size:.68rem;font-weight:650;display:flex}.tool-kicker-mark{width:.6rem;height:.6rem;box-shadow:0 0 0 4px var(--accent-soft);border:2px solid;border-radius:50%}.tool-workbench{border:1px solid var(--line-strong);border-radius:var(--tool-radius);background:var(--surface);box-shadow:0 12px 45px -30px var(--ink);display:grid;overflow:clip}.tool-controls{min-width:0;padding:1.4rem}.tool-result{background:var(--surface-2);border-top:1px solid var(--line);min-width:0;padding:1.4rem}.tool-step{border:1px solid var(--line-strong);width:1.65rem;height:1.65rem;font-size:.7rem;font-family:var(--font-mono);color:var(--accent);border-radius:50%;flex:none;place-items:center;display:inline-grid}.tool-section-heading{align-items:center;gap:.65rem;margin-bottom:1.5rem;font-size:1rem;font-weight:600;display:flex}.tool-field{min-width:0;margin-top:1.3rem;display:block}.tool-label{color:var(--ink);margin-bottom:.5rem;font-size:.875rem;font-weight:600;display:block}.tool-input,.tool-select{border:1px solid var(--control-border);background:var(--bg);width:100%;min-width:0;min-height:3rem;color:var(--ink);font-variant-numeric:tabular-nums;border-radius:.75rem;padding:.65rem .75rem;font-size:1rem;display:block}.tool-select{text-overflow:ellipsis;padding-right:1.7rem}.tool-field-note{color:var(--muted);margin-top:.4rem;font-size:.75rem;line-height:1.5;display:block}.tool-input-row{grid-template-columns:minmax(0,1fr) 6.5rem;gap:.5rem;display:grid}.tool-submit{width:100%;min-height:3rem;color:var(--cta-ink);background:var(--cta);cursor:pointer;border:1px solid #0000;border-radius:.65rem;justify-content:space-between;align-items:center;padding:.7rem 1rem;font-size:.85rem;font-weight:600;display:flex}.tool-submit:hover{background:var(--cta-hi)}.tool-overline{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.65rem;font-weight:650}.tool-big-number{font-family:var(--font-display);letter-spacing:-.06em;color:var(--accent);font-variant-numeric:tabular-nums;font-size:clamp(3.75rem,10vw,6rem);font-weight:500;line-height:1}.tool-number-unit{letter-spacing:0;color:var(--ink-2);margin-left:.6rem;font-size:1rem;font-weight:500}.tool-badge{border:1px solid var(--line-strong);width:fit-content;color:var(--ink-2);background:var(--surface);border-radius:999px;padding:.25rem .6rem;font-size:.65rem;font-weight:600;line-height:1.4;display:inline-block}.tool-badge[data-match=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.tool-formula{border:1px dashed var(--line-strong);color:var(--ink-2);font-variant-numeric:tabular-nums;border-radius:.8rem;padding:.9rem 1rem;font-size:.875rem;line-height:1.6}.tool-notice{border:1px solid var(--line);background:var(--surface);border-radius:1rem;align-items:flex-start;gap:.8rem;padding:1rem;display:flex}.tool-notice-icon{border:1px solid var(--accent);width:1.25rem;height:1.25rem;font:600 .75rem var(--font-mono);color:var(--accent);border-radius:50%;flex:none;place-items:center;margin-top:.1rem;display:grid}.tool-error{border:1px solid var(--accent);color:var(--ink);background:var(--surface);border-radius:.8rem;padding:1rem;font-size:.9rem;line-height:1.6}.tool-text-link{color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent);text-underline-offset:3px}.tool-text-link:hover{text-decoration-color:currentColor}.tool-next-link{border:1px solid var(--line);background:var(--surface);border-radius:1rem;flex-direction:column;gap:.5rem;min-width:0;padding:1.2rem;display:flex}.tool-next-link:hover{border-color:var(--accent)}.tool-record{border:1px solid var(--line);background:var(--surface);border-radius:1rem;min-width:0;padding:1.1rem}.tool-record h3{font-size:.9rem;font-weight:600;line-height:1.5}.tool-record-value{font-variant-numeric:tabular-nums;font-size:1.3rem;font-weight:600}.tool-map{color:var(--muted);position:relative}.tool-map svg{width:100%;height:auto;display:block}.tool-zone{cursor:pointer;display:block;position:absolute;transform:translate(-50%,-50%)}.tool-zone input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute}.tool-zone span{border:1px solid var(--line-strong);background:var(--surface);min-height:2.75rem;color:var(--ink);box-shadow:0 3px 8px -5px var(--ink);border-radius:.6rem;align-items:center;padding:.4rem .65rem;font-size:.75rem;font-weight:700;display:flex}.tool-zone input:checked+span{color:var(--cta-ink);background:var(--cta);border-color:var(--cta)}.tool-zone input:focus-visible+span{outline:2px solid var(--accent);outline-offset:4px}.tool-zone-ii{top:49%;left:27%}.tool-zone-iii{top:70%;left:63%}.tool-zone-iv{top:35%;left:87%}.tool-zone-detail{border-top:1px solid var(--line);min-height:10.5rem;padding-top:1.2rem}.tool-rating-row{border-top:1px solid var(--line);gap:.6rem;padding:1rem 0;display:grid}.tool-floor{border:1px solid var(--line-strong);background:var(--surface);border-top:0;align-items:center;gap:.7rem;min-height:3.7rem;padding:.8rem 1rem;display:flex}.tool-floor:first-child{border-top:1px solid var(--line-strong);border-radius:1rem 1rem 0 0}.tool-floor:last-child{border-radius:0 0 1rem 1rem}.tool-floor:only-child{border-radius:1rem}.tool-mesh-node{border:1px solid var(--accent);width:1.7rem;height:1.7rem;color:var(--accent);background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;font-size:.7rem;display:inline-flex;position:relative}.tool-humidity-scale{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:999px;height:.7rem;position:relative}.tool-humidity-scale:after{content:"";border:1px solid var(--accent);background:var(--accent);border-radius:999px;width:20%;position:absolute;top:-1px;bottom:-1px;left:30%}@media (min-width:768px){.tool-workbench{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.tool-controls,.tool-result{padding:2rem}.tool-result{border-top:0;border-left:1px solid var(--line)}.tool-workbench-cat{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.tool-rating-row{grid-template-columns:1fr 1fr;align-items:center}}@media (prefers-reduced-motion:no-preference){.tool-next-link,.tool-submit,.tool-zone span{transition:border-color .18s,background-color .18s}}@media print{.tool-submit{display:none}.tool-workbench{box-shadow:none}}
