@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;600;700;800&display=swap');
:root{--ink:#17352f;--muted:#71807d;--line:#dfe8e3;--mint:#d8eee3;--green:#2c765c;--orange:#f3b45f;--paper:#f8faf8}*{box-sizing:border-box}body{margin:0;background:#eef3f0;color:var(--ink);font-family:Manrope,system-ui,sans-serif}.app-shell{max-width:1120px;margin:auto;padding:28px 34px 24px}.topbar{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:11px;align-items:center}.brand-mark{width:37px;height:37px;border-radius:50%;background:var(--ink);color:#d6f2e5;display:grid;place-items:center;font-size:27px}.brand strong{display:block;font-size:16px}.brand small{font-size:10px;letter-spacing:.12em;color:#80908a}.status{font:11px 'DM Mono';color:#6c7d76}.dot{display:inline-block;width:7px;height:7px;background:#d5a148;border-radius:50%;margin-right:7px}.hero{margin:62px 0 42px;display:flex;justify-content:space-between;align-items:end}.eyebrow{font:10px 'DM Mono';letter-spacing:.17em;color:#80938b;margin:0 0 11px}.hero h1{font-size:47px;line-height:1.08;margin:0 0 11px;letter-spacing:-.04em}.sub{color:#71807d;margin:0;font-size:15px}.primary{border:0;background:var(--ink);color:white;border-radius:10px;padding:15px 22px;font-weight:700;cursor:pointer;box-shadow:0 8px 20px #17352f22}.primary:active{transform:translateY(1px)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);padding:18px 19px;border-radius:10px}.metric span,.metric em{display:block;font-size:11px;color:#83918d;font-style:normal}.metric strong{display:block;font-size:26px;margin:9px 0 3px;letter-spacing:-.03em}.metric em{font-size:11px}.score{background:var(--mint);border-color:#c4e4d5}.score strong{color:var(--green)}.score small{font-size:12px;margin-left:3px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:18px}.panel-head{display:flex;justify-content:space-between;align-items:flex-start}.panel h2{font-size:19px;margin:0;letter-spacing:-.02em}.pill{background:#edf7f0;color:#478366;padding:6px 9px;border-radius:20px;font-size:10px}.muted{font-size:11px;color:#899791}.compass-wrap{display:flex;align-items:center;gap:62px;padding:27px 30px 7px}.compass{width:220px;height:220px;border:1px solid #d7e2dc;border-radius:50%;position:relative;background:radial-gradient(circle,#f8fcf9 0 53%,#edf5f0 54% 55%,transparent 56%),repeating-conic-gradient(#dfe9e3 0deg 1deg,transparent 1deg 15deg)}.compass:before{content:'';position:absolute;inset:20px;border:1px solid #d8e4dd;border-radius:50%}.ring-label{position:absolute;font:12px 'DM Mono';color:#84948e}.north{top:8px;left:calc(50% - 5px);color:#c76c49}.east{right:10px;top:calc(50% - 7px)}.south{bottom:8px;left:calc(50% - 5px)}.west{left:10px;top:calc(50% - 7px)}.needle{position:absolute;left:50%;top:50%;width:4px;height:88px;background:#d6764e;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(0deg);border-radius:4px}.needle:after{content:'';position:absolute;bottom:-7px;left:-4px;border:6px solid transparent;border-top-color:#d6764e}.needle span{position:absolute;top:-6px;left:-3px;border:5px solid transparent;border-bottom:8px solid #2e765c}.center{position:absolute;left:calc(50% - 15px);top:calc(50% - 15px);width:30px;height:30px;border-radius:50%;background:var(--ink);color:#d4f2e4;display:grid;place-items:center}.compass-copy{max-width:330px}.compass-copy strong{font-size:23px}.compass-copy p{font-size:13px;color:#74837e;line-height:1.7}.legend{display:flex;gap:20px;font-size:11px;color:#73817d}.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}.sun-dot{background:#e9ae57}.wind-dot{background:#6ba18b}.grid-two{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.sun-chart{margin-top:24px}.axis{display:flex;justify-content:space-between;padding-left:56px;margin-bottom:11px;color:#a0aaa6;font:10px 'DM Mono'}.season-row{display:grid;grid-template-columns:52px 1fr 38px;gap:9px;align-items:center;margin:15px 0;font-size:11px}.season-row b{font-weight:600}.season-row span{font:11px 'DM Mono';color:#697d74}.track{height:9px;background:#eef3ef;border-radius:20px;position:relative}.track i{height:100%;background:linear-gradient(90deg,#f7cc83,#e9a24d);border-radius:20px;display:block;position:absolute}.hint{font-size:11px;color:#8d9a96;margin:25px 0 0}.wind-list{margin-top:20px}.wind-list>div{display:grid;grid-template-columns:42px 1fr auto;align-items:center;padding:12px 0;border-bottom:1px solid #edf1ef;font-size:12px}.wind-list b{font:11px 'DM Mono';color:#71827b}.season-tag{width:28px;height:22px;border-radius:5px;display:grid;place-items:center;font-size:10px}.spring{background:#f5ecd4;color:#9c7b3c}.summer{background:#d9efe0;color:#47805f}.autumn{background:#f7e1d5;color:#aa684b}.winter{background:#dfeaf1;color:#58778e}.wind-note{display:flex;gap:10px;align-items:center;background:#f5f9f6;border-radius:8px;padding:11px;margin-top:18px}.wind-arrow{font-size:23px;color:#478d70}.wind-note p{font-size:11px;color:#758680;margin:0}.verdict{background:var(--mint);border-color:#c7e6d7;display:flex;gap:17px;align-items:center}.verdict-icon{font-size:26px;color:#3f8969}.verdict h2{font-size:18px;margin:0 0 7px}.verdict p{font-size:12px;color:#61766c;margin:0;line-height:1.6}.verdict-score{margin-left:auto;text-align:right}.verdict-score strong{font-size:42px;color:var(--green)}.verdict-score span{font:11px 'DM Mono';color:#648072}footer{text-align:center;color:#9aa7a2;font-size:10px;padding:7px} @media(max-width:720px){.app-shell{padding:22px 16px}.hero{margin:42px 0 28px;display:block}.hero h1{font-size:36px}.primary{margin-top:22px;width:100%}.metrics{grid-template-columns:repeat(2,1fr)}.grid-two{grid-template-columns:1fr}.compass-wrap{gap:24px;padding:22px 5px}.compass{width:170px;height:170px;flex:none}.needle{height:67px}.compass-copy strong{font-size:18px}.verdict{align-items:flex-start}.verdict-score{display:none}}

.options-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.options-grid label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--muted)}.options-grid select,.options-grid input{width:100%;min-height:44px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8;color:var(--ink);font:inherit}.house-summary{padding:15px;background:#edf6f0;border-radius:8px;line-height:1.8;font-size:13px}.options-grid input:disabled{opacity:.45}@media(max-width:520px){.options-grid{grid-template-columns:1fr}}

.monthly-scroll{overflow-x:auto;margin-top:20px}.monthly{width:100%;border-collapse:collapse;min-width:760px;font-size:12px;line-height:1.7}.monthly th{text-align:left;background:#edf6f0}.monthly td,.monthly th{padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}.monthly td:first-child{white-space:nowrap;font-weight:bold}.monthly th:first-child{width:55px}

.grid-two{grid-template-columns:1fr}

.location-retry{margin-top:10px;background:#edf6f0;color:#2c765c;border:1px solid #c9ddd3;border-radius:6px;padding:7px 10px;cursor:pointer}.metric em{line-height:1.6;overflow-wrap:anywhere}
