/* Desktop alternative. Shared site chrome keeps its own geometry and fonts. */
/* Site art from vine.by is linked as ../assets/…: the Terra build moves every root /assets/ URL under /terra/. */
.terra2{min-width:1180px;background:radial-gradient(ellipse at 85% 2%,#f8e8cf66,transparent 48%),var(--surface-paper,#F6EFE6);}
.terra2-wordmark{font:italic 36px/1.1 "Segoe Print","Comic Sans MS",cursive;letter-spacing:-2px;color:var(--brand-coral,#C65B44);margin-left:-24px;margin-right:7px;white-space:nowrap;}
.terra2-shell{display:grid;grid-template-columns:112px minmax(0,1fr);gap:12px;width:100%;max-width:1440px;margin-inline:auto;padding:4px 14px 0;}
.terra2-rail{position:sticky;top:18px;align-self:start;display:flex;flex-direction:column;gap:12px;min-height:735px;padding:18px 6px 16px;border:1px solid #fff8;border-radius:28px;background:linear-gradient(180deg,#fffcf6c9,#faf2e580);box-shadow:0 5px 22px #70553405;}
.terra2-rail>button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:94px;border-radius:19px;font-size:15px;line-height:1.2;color:var(--brand-teal-deep,#145C59);border:1px solid transparent;}
.terra2-rail>button [data-icon]{display:flex;}.terra2-rail>button .icon{width:32px;height:32px;stroke-width:1.35;}
.terra2-rail>button[aria-pressed=true]{background:linear-gradient(145deg,var(--brand-coral,#C65B44),var(--color-primary-button,#B44B35));color:#fff;box-shadow:0 4px 12px #b44b3520,inset 0 1px 0 #ffffff40;border-color:#fff9;}
.terra2-rail>button:hover:not(:disabled):not([aria-pressed=true]){background:#e5dcd044;}
.terra2-rail>button:disabled{opacity:.5;cursor:default;}.terra2-rail small{font-size:9px;letter-spacing:.8px;position:absolute;bottom:5px;color:var(--text-secondary,#536361);}
.terra2-rail-divider{height:1px;background:var(--border-subtle,#E5DCD0);margin:0 16px;}
.terra2 main{max-width:none;min-width:0;padding:0;}
.terra2-accessible-title{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.terra2-sample{font-size:10px;border:1px solid #cdb99e75;border-radius:20px;padding:4px 9px;color:#8a6944;background:#f5e8d3;}
.terra2 .analysis-grid,.terra2 .analysis-grid.wide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);grid-template-rows:64px 74px clamp(450px,45dvh,520px);gap:15px;align-items:stretch;}
.terra2 .parcel-sidebar{grid-column:1/-1;grid-row:1;display:flex;flex-direction:row;align-items:center;gap:13px;padding:9px 12px 9px 18px;min-width:0;background:linear-gradient(110deg,#fffcf6,#fbf5eb);border:1px solid #fffaf2;border-radius:20px;box-shadow:0 3px 8px #7552330d,0 0 0 1px #e5dcd070;}
.terra2-parcel-name{display:flex;align-items:center;gap:2px;flex:0 1 240px;min-width:140px;padding-right:12px;border-right:1px solid var(--line);}
.terra2 .parcel-name-row{margin:0;min-width:0;}.terra2 .parcel-title{font:400 clamp(22px,1.7vw,29px)/1.2 var(--serif);letter-spacing:-.6px;color:var(--brand-teal-deep,#145C59);}
.terra2-parcel-name .icon-button{width:25px;height:32px;flex:none;color:var(--green);}.terra2-parcel-name .icon{width:17px;height:17px;}
.terra2 .metrics{display:flex;flex:1;gap:0;background:none;border:0;padding:0;min-width:0;}
.terra2 .metrics .metric{min-height:0;gap:8px;border:0;border-right:1px solid var(--line);padding:0 17px;}
.terra2 .metrics .metric:first-child{padding-left:0;}.terra2 .metrics .metric:last-child{border:0;}
.terra2 .metric-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.terra2 .metric-value{font:500 clamp(14px,1.1vw,18px)/1.4 var(--sans);color:var(--text-primary,#193536);}
.terra2 .metric-value small{font-size:12px;margin-left:4px;}.terra2 .metric>.icon{width:21px;height:21px;}
.terra2-choose{border-radius:24px;font-size:14px;padding:10px 21px;min-height:42px;box-shadow:0 3px 9px #b44b351c;}
.terra2 .terrain-card,.terra2 .analysis-grid.wide>.terrain-card{grid-column:1;grid-row:3;min-height:0;border:1px solid #fdf9ee;border-radius:22px;background:radial-gradient(ellipse at 50% 75%,#e5e5be,#e2e8cb 48%,#d5e7de);box-shadow:0 3px 9px #7055340d;}
.terra2 .terrain-viewport{inset:36px 0 0;}.terra2 .terrain-viewport canvas{border-radius:inherit;}
.terra2[data-terra-mode=analysis] .terra2-scene-heading{display:none;}
.terra2[data-terra-mode=analysis] .terrain-viewport{inset:0;}
.terra2-scene-heading{position:absolute;top:16px;left:20px;z-index:2;pointer-events:none;display:flex;flex-direction:column;gap:3px;}
.terra2-scene-heading>span{font-size:12px;font-weight:600;color:var(--brand-teal-deep,#145C59);}.terra2-scene-heading>span:before{content:"";display:inline-block;width:6px;height:6px;margin-right:7px;background:var(--brand-olive,#8AA65A);border-radius:50%;vertical-align:2px;}
.terra2-scene-heading small{font-size:10px;color:var(--text-secondary,#536361);}
.terra2 .scene-toolbar{top:auto;left:18px;right:auto;bottom:17px;gap:5px;background:#fffcf6ee;border:1px solid #fff;border-radius:30px;padding:4px;box-shadow:0 3px 12px #19353612;}
.terra2 .scene-toolbar>.pill{border:0;background:none;padding:9px 12px;font-size:11px;}.terra2 .scene-toolbar>.pill .icon{display:block;width:17px;height:17px;}
.terra2 #normal-view,.terra2 #plan-toggle,.terra2 #wide-view,.terra2 .camera-help{display:none;}
.terra2 #relief-view[aria-pressed=true],.terra2 #plan-relief[aria-pressed=true]{background:var(--brand-coral,#C65B44);color:white;}
.terra2 .compass{right:14px;top:18px;width:64px;}.terra2 .height-legend{top:100px;right:16px;font-size:10px;background:#fffcf6ba;padding:8px;border-radius:12px;}
.terra2 .height-legend i{height:70px;}.terra2 .scene-bottom{bottom:17px;right:14px;left:auto;}
.terra2 .zoom-controls{gap:7px;}.terra2 .zoom-controls button{width:33px;height:33px;box-shadow:0 2px 8px #19353612;}.terra2 .zoom-controls>div{border-radius:22px;overflow:hidden;}
.terra2 .soil-card{grid-column:2;grid-row:3;display:block!important;max-width:none;width:auto;min-height:0;padding:17px 18px 12px;border:1px solid #fffdf8;border-radius:22px;background:linear-gradient(115deg,#fffcf6,#fbf6ed);box-shadow:0 3px 9px #7055340d;container-type:inline-size;}
.terra2 .soil-card[hidden]{display:none!important;}
.terra2-analysis-switch{grid-column:1/-1;grid-row:2;padding:10px 12px;border:1px solid #fffdf8;border-radius:22px;background:linear-gradient(115deg,#fffcf6,#fbf6ed);box-shadow:0 3px 9px #7055340d;}
.terra2 .card-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;height:52px;margin:0;padding:3px;border:1px solid #e8dccd;border-radius:18px;background:linear-gradient(110deg,#f7eddf,#f3e8d8);}
.terra2 .card-tabs [role=tab]{min-width:0;padding:10px 14px;border-radius:14px;font:600 18px/1.2 var(--sans);color:var(--brand-teal-deep,#145C59);}
.terra2 .card-tabs [role=tab][aria-selected=true]{color:#fff;background:var(--brand-coral,#C65B44);box-shadow:0 2px 5px #b44b351c;}
.terra2 .analysis-grid>.soil-card>:is([role=region],[role=tabpanel])[hidden]{display:none!important;visibility:visible;}
.terra2-soil-profile{min-width:0;}.terra2 .soil-card .section-subtitle{font:600 clamp(15px,2.8cqw,20px)/1.3 var(--sans);color:var(--text-primary,#193536);margin:4px 0 16px;}
.terra2 .soil-card .section-subtitle:before{content:"";display:inline-block;width:14px;height:14px;border:1.5px solid var(--green);transform:rotate(30deg) skew(-15deg);border-radius:2px;margin:0 11px 0 3px;}
.terra2 .soil-card .soil-body{--soil-row:clamp(60px,9cqw,72px);--soil-gap:5px;display:grid;grid-template-columns:40% minmax(0,1fr);gap:10px;}
.terra2 .soil-card .soil-visual{grid-template-columns:40px minmax(0,1fr);}.terra2 .soil-card .depth-ruler{width:34px;}
.terra2 .soil-card .depth-ruler span{font-size:11px;}.terra2 .soil-card .depth-ruler span b{right:6px;}.terra2 .ruler-minor:after{opacity:.35;}
.terra2 .soil-card .depth-card{min-height:0;border-radius:10px;padding:6px 9px;background:linear-gradient(110deg,#e8eddd,#f4f1e5);border-color:transparent;}
.terra2 .soil-card .depth-card:nth-child(even){background:linear-gradient(110deg,#f3eadb,#f9f0e3);}
.terra2 .soil-card .depth-card.selected{border-color:#8aa65a66;}.terra2 .soil-card .depth-card>.depth-heading{font:600 clamp(13px,2.3cqw,17px)/1.2 var(--sans);margin:0 0 5px;gap:4px;flex-wrap:nowrap;}
.terra2 .soil-card .depth-heading>.depth-ph{font:500 clamp(11px,2cqw,14px)/1.2 var(--sans);}
.terra2 .soil-card .soil-composition-bar{height:4px;border-radius:3px;opacity:.6;}.terra2 .soil-card .soil-composition-links,.terra2 .soil-card .soil-extra{display:none;}
.terra2 .soil-card .depth-composition{display:flex;justify-content:space-between;gap:4px;font-size:clamp(9px,1.6cqw,11px);line-height:1.5;margin-top:4px;}
.terra2 .soil-card .depth-composition>span{white-space:nowrap;display:inline;}.terra2 .soil-card .depth-composition strong{display:inline;font-family:inherit;font-weight:600;line-height:inherit;margin-left:3px;font-size:inherit;}
.terra2-climate{margin-top:15px;}.terra2-climate-overview{display:grid;grid-template-columns:1.42fr 1fr 1.2fr;gap:15px;}
.terra2-data-card{padding:16px 17px;border:1px solid #fffdf7;border-radius:20px;background:linear-gradient(125deg,#fffcf6,#fbf3e8);box-shadow:0 3px 8px #70553410;min-width:0;}
.terra2-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;border-bottom:1px solid #e9dfd2;}
.terra2-card-heading h2{display:flex;align-items:center;gap:10px;margin:0;font:600 clamp(15px,1.18vw,20px)/1.3 var(--sans);letter-spacing:-.45px;white-space:nowrap;}
.terra2-card-heading [data-icon]{display:flex;}.terra2-card-heading .icon{width:27px;height:27px;color:var(--brand-olive,#8AA65A);stroke-width:1.3;}.terra2-weather .terra2-card-heading .icon{color:var(--brand-coral,#C65B44);}.terra2-sun-overview .terra2-card-heading .icon{color:#d9a03b;}
.terra2-tag{font-size:9px;padding:5px 8px;white-space:nowrap;border-radius:20px;background:#e9ecd9;color:var(--green);}
.terra2-warmth>p{font-size:12px;margin:13px 0 10px;}.terra2-highlight{display:inline-block;font-size:22px;padding:7px 19px;background:linear-gradient(100deg,#ffebbd,#f9dda5);border-radius:12px;color:#654629;font-weight:600;letter-spacing:-.6px;}
.terra2-season{display:flex;justify-content:space-between;gap:8px;margin-top:12px;font-size:11px;}.terra2-season b{font-weight:600;}.terra2-warmth>small{display:block;font-size:9px;margin-top:7px;color:var(--muted);}
.terra2-sun-overview .terra2-card-heading{padding-bottom:7px;}.terra2-sun-overview .icon-button{height:32px;width:32px;border:1px solid #e2d5bf;color:var(--brand-coral,#C65B44);font-size:21px;}
.terra2-sun-overview dl{margin:0;}.terra2-sun-overview dl>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #e9dfd2;}.terra2-sun-overview dt{font-size:12px;}.terra2-sun-overview dt small{font-size:10px;opacity:.7;margin-left:5px;}.terra2-sun-overview dd{margin:0;background:#f4e8d4;border-radius:10px;padding:4px 14px;font-size:15px;font-weight:600;white-space:nowrap;}.terra2-sun-overview>p{font-size:10px;line-height:1.55;color:var(--muted);margin:10px 0 0;}
/* The editor gets the entire working surface; soil and sun share Analysis. */
.terra2[data-terra-mode=parcel] .analysis-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:64px max(540px,calc(100dvh - 270px));}
.terra2[data-terra-mode=parcel] .terrain-card{grid-column:1/-1;grid-row:2;}
.terra2[data-terra-mode=parcel] .terra2-analysis-switch{display:none;}
.terra2 .terrain-card.planning .terrain-viewport{inset:48px 0 0;}.terra2 .terrain-card.planning .scene-toolbar{top:62px;bottom:auto;background:none;border:0;box-shadow:none;padding:0;}
.terra2 .terrain-card.planning .plan-panel{bottom:20px;left:20px;right:72px;max-width:none;padding:13px 15px;border-radius:17px;}
.terra2 .plan-tools{gap:8px;}.terra2 .plan-tool{padding:10px 12px;}.terra2 .plan-tool[aria-pressed=true],.terra2 .plan-chip[aria-pressed=true]{border-color:var(--brand-coral,#C65B44);box-shadow:inset 0 0 0 1px var(--brand-coral,#C65B44);background:#f9e7dd;}
.terra2 .sun-legend{top:18px;left:18px;}.terra2 .sun-play{background:var(--brand-coral,#C65B44);}
.terra2 .sun-tile[aria-pressed=true],.terra2 .sun-zone[aria-pressed=true]{border-color:var(--brand-coral,#C65B44);background:#faeade;}
.terra2 :is(button,a):focus-visible{outline:2px solid var(--brand-coral,#C65B44);outline-offset:4px;}
@media(max-width:1400px){
  .terra2-shell{grid-template-columns:94px minmax(0,1fr);gap:12px;padding-right:14px;}.terra2-rail>button{font-size:13px;min-height:88px;}.terra2-rail{min-height:700px;}.terra2 .parcel-sidebar{gap:9px;padding-left:14px;}.terra2-parcel-name{flex-basis:200px;}.terra2 .metrics .metric{padding:0 11px;gap:6px;}.terra2 .metric-value{font-size:14px;}.terra2-choose{font-size:12px;padding:10px 15px;}.terra2 .soil-card{padding:14px;}.terra2 .soil-card .soil-body{grid-template-columns:35% minmax(0,1fr);gap:6px;--soil-row:71px;}.terra2 .soil-card .soil-visual{grid-template-columns:32px minmax(0,1fr);}.terra2 .soil-card .depth-ruler{width:27px;}.terra2 .soil-card .depth-ruler span{font-size:10px;}.terra2 .soil-card .depth-card{padding:6px;}.terra2-climate-overview{grid-template-columns:1.35fr 1fr 1.12fr;gap:12px;}.terra2-data-card{padding:14px;}.terra2-card-heading h2{font-size:15px;gap:7px;}.terra2-card-heading .icon{width:23px;height:23px;}.terra2-tag{font-size:8px;padding:4px 5px;}.terra2-highlight{font-size:20px;}
}

/* Climate: one framed block with four separate cards, after the 2026-11-10 reference. */
.terra2 .terra2-weather{--climate-teal:var(--brand-teal-deep,#145C59);--climate-coral:var(--brand-coral,#C65B44);--climate-ink:#123d3a;position:relative;isolation:isolate;padding:0 26px 26px;border:1px solid #fffdf8;border-radius:28px;background:linear-gradient(110deg,#fffcf7,#fbf4ea);box-shadow:inset 0 0 0 1px #ffffff60,0 6px 22px #79512d10;color:var(--text-primary,#193536);font-family:var(--sans);}
.terra2-weather:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:.02;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%237b6248' filter='url(%23grain)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");}
.terra2-weather-landscape{position:absolute;top:1px;right:220px;z-index:-1;width:min(48%,620px);height:104px;pointer-events:none;background:url("../assets/home/how-landscape.webp") 62% 64%/112% auto no-repeat;opacity:.5;-webkit-mask-image:radial-gradient(ellipse 46% 64% at 54% 50%,#000 35%,transparent 100%);mask-image:radial-gradient(ellipse 46% 64% at 54% 50%,#000 35%,transparent 100%);}
.terra2-weather-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;padding:8px 2px 4px 22px;}
.terra2-weather-title{display:flex;align-items:center;gap:18px;}.terra2-weather-title>[data-icon]{display:flex;padding-right:18px;border-right:1.5px solid #ded2c2;color:var(--climate-coral);}.terra2-weather-title .icon{width:34px;height:34px;stroke-width:1.6;}
.terra2-weather-title h2{margin:0;font:400 36px/1.1 var(--serif);letter-spacing:-.9px;color:var(--climate-ink);}
.terra2-weather-period{padding:9px 18px;border-radius:22px;background:#e6ecd8;color:var(--climate-ink);font:400 15px/1.2 var(--serif);white-space:nowrap;box-shadow:inset 0 0 0 1px #ffffff80;}
.terra2-weather-sections{display:grid;grid-template-columns:1fr 1.3fr 1fr 1fr;gap:16px;}
.terra2-climate-section{display:flex;flex-direction:column;min-width:0;padding:20px 16px 18px;border:1px solid #ece2d5;border-radius:22px;background:linear-gradient(160deg,#fffdf9,#fcf7f0);box-shadow:0 2px 8px #7a55300a;}
/* Every card keeps the same rhythm: heading 86 px, column chips 56 px, three 64 px rows. */
.terra2-climate-section-heading{display:flex;align-items:flex-start;gap:14px;height:64px;margin-bottom:10px;}
.terra2-climate-icon{display:grid!important;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:linear-gradient(150deg,#fdf0e4,#f9e7d6);box-shadow:inset 0 0 0 1px #ffffffb0,0 2px 6px #b4643a14;color:var(--climate-coral);}
.terra2-climate-icon .icon{width:26px;height:26px;stroke-width:1.5;}.terra2-climate-sat .terra2-climate-icon,.terra2-climate-season .terra2-climate-icon{color:#6f8f45;}
.terra2-climate-section-heading h3{margin:2px 0 0;font:400 21px/1.15 var(--serif);letter-spacing:-.4px;color:var(--climate-ink);}
.terra2-climate-section-heading p{margin:6px 0 0;font:400 12.5px/1.35 var(--sans);color:var(--text-secondary,#536361);}
.terra2-climate-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-variant-numeric:lining-nums tabular-nums;}
.terra2-climate-table tbody th,.terra2-climate-table tbody td{height:64px;padding:6px 10px;vertical-align:middle;}
/* Column names stay for screen readers only: the card heading already says what the numbers are. */
.terra2-climate-table thead th,.terra2-climate-table thead td{height:0;padding:0;border:0;line-height:0;}
.terra2-climate-table thead th>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
.terra2-climate-table tbody th{white-space:normal;}
.terra2-climate-table tbody th{text-align:left;font:400 14px/1.25 var(--sans);color:var(--text-secondary,#536361);}
.terra2-climate-table tbody td{text-align:right;}
.terra2-climate-value{display:block;font:400 22px/1.1 var(--serif);letter-spacing:-.3px;color:var(--climate-ink);white-space:nowrap;}
.terra2-climate-year{display:block;margin-top:4px;font:400 11.5px/1.25 var(--sans);color:var(--text-secondary,#536361);white-space:nowrap;}
.terra2-climate-table .is-median>*{background-color:#e8eedc;}
.terra2-climate-table .is-median>:first-child{border-radius:12px 0 0 12px;font-weight:600;color:var(--climate-teal);}.terra2-climate-table .is-median>:last-child{border-radius:0 12px 12px 0;}
.terra2-climate-table .is-median .terra2-climate-value{color:var(--climate-teal);}
.terra2-climate-table-annual thead td{width:44%;}
.terra2-climate-table-annual thead th{text-align:right;padding-right:6px;}
.terra2-climate-table-annual .terra2-climate-year{margin-top:5px;font-size:12px;}
.terra2-climate-table-frost thead td{width:27%;}
.terra2-climate-table-frost .terra2-climate-value{font:600 18px/1.15 var(--sans);letter-spacing:-.2px;}
.terra2-climate-table-frost .terra2-climate-year{margin-top:6px;font-size:12px;}
.terra2-climate-table-frost tbody td+td{background-image:linear-gradient(#ded3c4,#ded3c4);background-size:1px 64%;background-position:0 50%;background-repeat:no-repeat;}
.terra2-climate-table-frost .is-median td+td{background-image:linear-gradient(#cfd8bf,#cfd8bf);}
.terra2-climate-chart{margin-top:auto;padding-top:14px;}
.terra2-climate-chart svg{display:block;overflow:visible;}
.terra2-climate-chart .grid{stroke:#e9e0d3;stroke-width:1;stroke-dasharray:2 3;}.terra2-climate-chart .axis{stroke:#d8ccbb;stroke-width:1;}
.terra2-climate-chart text{font:400 10.5px/1 var(--sans);fill:var(--text-secondary,#536361);}
.terra2-climate-chart .axis-y{text-anchor:end;dominant-baseline:central;}.terra2-climate-chart .axis-x{text-anchor:middle;}
.terra2-climate-chart-frost rect{opacity:.85;}.terra2-climate-chart-frost rect:hover{opacity:1;}.terra2-climate-chart-sat rect{fill:#86a457;}.terra2-climate-chart-rain rect{fill:#4f9c95;}
.terra2-climate-chart{position:relative;}
.terra2-climate-chart rect.hit{fill:transparent;opacity:1;cursor:default;}
.terra2-climate-chart rect.is-hot{fill-opacity:1;opacity:1;filter:brightness(.88);}
.terra2-chart-tip{position:absolute;z-index:3;transform:translate(-50%,calc(-100% - 7px));padding:5px 9px;border-radius:8px;background:var(--brand-teal-deep,#145C59);color:var(--surface-card,#FFFCF6);font:500 12px/1.3 var(--sans);white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px #14403c33;}
.terra2-chart-tip[hidden]{display:none;}
.terra2-climate-section-heading h3 .terra2-climate-info{display:inline-grid;vertical-align:3px;width:19px;height:19px;margin-left:9px;border:1.5px solid #cfc3b3;font:700 11px/1 var(--sans);letter-spacing:0;color:var(--text-secondary,#536361);}
.terra2-climate-section-heading h3 .terra2-climate-info:hover:after,.terra2-climate-section-heading h3 .terra2-climate-info:focus:after{top:26px;left:-130px;width:250px;}
.terra2-season-value{display:flex;align-items:baseline;gap:10px;margin:auto 0 0 4px;color:var(--climate-ink);font:400 64px/1 var(--serif);letter-spacing:-2px;font-variant-numeric:lining-nums;}
.terra2-season-value small{font-size:24px;letter-spacing:-.3px;color:var(--climate-teal);}
.terra2-season-note{margin:12px 0 0 4px;font-size:14px;color:var(--text-secondary,#536361);}
.terra2-climate-season .season-track{height:16px;margin:48px 0 0;padding:2px;overflow:hidden;border-radius:10px;background:#e4efeb;box-shadow:inset 0 1px 2px #1935360d;}
.terra2-climate-season .season-track span{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#86a457,#e7d6bf 55%,#c65b44);}
.terra2-climate-season .season-months{position:relative;margin:10px 0 auto;padding-top:12px;font-size:12px;color:var(--text-secondary,#536361);}
.terra2-climate-season .season-months span{position:relative;}.terra2-climate-season .season-months span:before{content:"";position:absolute;left:50%;top:-12px;width:1px;height:6px;background:#cfc3b3;}
@media(max-width:1450px){.terra2 .terra2-weather{padding:0 20px 20px;}.terra2-weather-sections{gap:12px;}.terra2-climate-section{padding:18px 12px 16px;}.terra2-climate-section-heading{gap:11px;}.terra2-climate-icon{width:40px;height:40px;border-radius:12px;}.terra2-climate-icon .icon{width:23px;height:23px;}.terra2-climate-section-heading h3{font-size:19px;}.terra2-climate-table tbody th,.terra2-climate-table tbody td{padding-right:7px;padding-left:7px;}.terra2-climate-value{font-size:20px;}.terra2-climate-table-frost .terra2-climate-value{font-size:16px;}.terra2-season-value{font-size:56px;}}

.terra2 .soil-card{display:flex!important;flex-direction:column;}
.terra2 .card-tabs{flex-shrink:0;}
.terra2 .sun-panel{flex:1;min-height:0;contain:none;overflow:auto;margin:0;gap:8px;}
.terra2 .sun-card{padding:10px 14px;}
.terra2 .sun-stats{margin:8px 0;}
.terra2 .sun-zones{gap:5px;}
.terra2 .sun-zone{padding:5px 10px;}
.terra2 .sun-period{padding:8px;}
.terra2 .sun-tile{min-height:46px;padding:6px 10px;}
.terra2 .sun-card .sun-head strong{font:600 18px/1.3 var(--sans);}

/* Sun, after the 2026-11-10 reference: the map with the day's arc, one information column on the right. */
.terra2[data-terra-mode=analysis][data-terra-analysis-tab=sun] .analysis-grid{grid-template-columns:minmax(0,2.4fr) minmax(330px,1fr);grid-template-rows:64px 74px max(640px,calc(100dvh - 290px));}
.terra2[data-terra-mode=analysis][data-terra-analysis-tab=sun] .soil-card{padding:0;overflow:auto;}
.terra2 .terra2-sun-card{display:flex;flex-direction:column;gap:0;min-height:100%;padding:22px 24px 20px;border:0;border-radius:0;background:none;color:var(--text-primary,#193536);}
.terra2 .terra2-sun-title{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding-bottom:18px;border-bottom:1px solid #ece2d5;}
.terra2 .terra2-sun-title>[data-icon]{display:flex;color:var(--brand-coral,#C65B44);}.terra2 .terra2-sun-title .icon{width:30px;height:30px;stroke-width:1.6;}
.terra2 .soil-card .terra2-sun-title strong{font:600 22px/1.2 var(--sans);letter-spacing:-.4px;color:var(--text-primary,#193536);white-space:nowrap;}
.terra2 .terra2-sun-title .sun-status{margin-left:auto;font-size:12px;}
.terra2-sun-label{font:600 15px/1.3 var(--sans);color:var(--text-primary,#193536);}
.terra2-sun-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 0 8px;}
.terra2 .terra2-month-stepper{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;flex:0 1 196px;height:42px;border:1px solid #e6dccf;border-radius:22px;background:#fffdf9;box-shadow:0 1px 4px #7a553010;overflow:hidden;}
.terra2 .terra2-month-stepper button{display:grid;place-items:center;height:40px;padding:0 0 3px;font-size:24px;color:var(--text-primary,#193536);}
.terra2 .terra2-month-stepper output{font:600 15px/1.2 var(--sans);}
/* Time: the slider leaves the map for the column. */
.terra2 .soil-card .sun-bar{position:static;display:block;margin:0;padding:18px 0 4px;border:0;border-radius:0;background:none;box-shadow:none;}
.terra2 .soil-card .sun-bar[hidden]{display:none;}
.terra2-sun-time-head{display:flex;align-items:center;gap:10px;}
.terra2-sun-time-head .sun-date{margin-left:auto;}.terra2 .soil-card .sun-date span{display:inline;font-size:11.5px;}.terra2 .soil-card .sun-ticks span:nth-child(even){display:inline;}
.terra2 .soil-card .sun-play{width:30px;height:30px;box-shadow:0 2px 5px #b44b3530;}.terra2 .soil-card .sun-play .icon{width:13px;height:13px;}
.terra2 .soil-card .sun-track{min-width:0;margin-top:8px;padding-top:34px;}
.terra2 .soil-card #sun-bubble{padding:5px 10px;border-radius:9px;background:var(--brand-teal-deep,#145C59);font-size:13px;box-shadow:0 2px 6px #14403c30;}
.terra2 .soil-card #sun-bubble:after{border-top-color:var(--brand-teal-deep,#145C59);}
.terra2 .soil-card #sun-time{height:24px;}
.terra2 .soil-card #sun-time::-webkit-slider-runnable-track{height:8px;border-radius:8px;}
.terra2 .soil-card #sun-time::-webkit-slider-thumb{width:24px;height:24px;margin-top:-8px;border:4px solid #fff;background:var(--brand-teal-deep,#145C59);box-shadow:0 1px 5px #0004;}
.terra2 .soil-card .sun-ticks{height:20px;margin:6px 12px 0;font-size:12px;}
.terra2 .soil-card .sun-ticks span:before{content:"";position:absolute;left:50%;top:-6px;width:1px;height:4px;background:#d8ccbb;}
/* Sun position: altitude and azimuth side by side. */
.terra2-sun-position{padding:22px 0 24px;border-bottom:1px solid #ece2d5;}
.terra2-sun-angles{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;}
.terra2-sun-angles>div{display:flex;align-items:center;gap:12px;min-width:0;padding:0 8px;}
.terra2-sun-angles>div+div{border-left:1px solid #ece2d5;padding-left:16px;}
.terra2-sun-angle-icon{display:grid!important;place-items:center;flex:none;width:40px;height:40px;color:var(--text-primary,#193536);}
.terra2-sun-angle-icon .icon{width:30px;height:30px;stroke-width:1.5;}
.terra2-sun-angle-icon.is-bearing{border:1.5px solid #e9b9a8;border-radius:50%;color:var(--brand-coral,#C65B44);}.terra2-sun-angle-icon.is-bearing .icon{width:34px;height:34px;}
.terra2-sun-angles small{display:block;font:500 12.5px/1.2 var(--sans);color:var(--text-secondary,#536361);}
.terra2-sun-angles b{display:block;margin-top:3px;font:600 26px/1.1 var(--sans);letter-spacing:-.5px;color:var(--text-primary,#193536);white-space:nowrap;}
.terra2-sun-angles b small{display:inline;font:500 14px/1 var(--sans);color:var(--text-primary,#193536);letter-spacing:0;}
/* Daily light: one stacked bar, then the three zones. */
.terra2-sun-light{padding-top:24px;}
.terra2-sun-light-head{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.terra2-sun-light-head .sun-info{width:22px;height:22px;border:1.5px solid var(--text-primary,#193536);font:700 12px/1 var(--serif);color:var(--text-primary,#193536);}
.terra2-sun-light-head .sun-info:hover:after,.terra2-sun-light-head .sun-info:focus:after{left:auto;right:-4px;width:260px;}
.terra2-zone-bar{display:flex;height:20px;margin:16px 0 18px;border-radius:11px;overflow:hidden;background:#ece3d6;}
.terra2-zone-bar i{flex:1 1 0;min-width:0;}
.terra2 .soil-card .sun-zones{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(0,1fr) minmax(0,.8fr);gap:0;}
.terra2 .soil-card .sun-zone{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0;padding:4px 8px 6px 12px;border:0;border-left:1px solid #ece2d5;border-radius:10px;background:none;text-align:left;}
.terra2 .soil-card .sun-zone:first-child{border-left:0;padding-left:2px;}
.terra2 .soil-card .sun-zone:hover{background:#f6efe4;}
.terra2 .soil-card .sun-zone[aria-pressed=true]{background:#faeade;}
.sun-zone-name{display:flex;align-items:center;gap:7px;font:600 12.5px/1.2 var(--sans);color:var(--text-primary,#193536);white-space:nowrap;}
.sun-zone-name i{flex:none;width:15px;height:15px;border-radius:4px;}
.terra2 .soil-card .sun-zone>b{font:600 28px/1 var(--sans);letter-spacing:-.6px;color:var(--text-primary,#193536);}
.terra2 .soil-card .sun-zone>b small{display:inline;margin:0 0 0 1px;font:600 17px/1 var(--sans);color:var(--text-primary,#193536);}
.terra2 .soil-card .sun-zone>small{font-size:12px;color:var(--text-secondary,#536361);white-space:nowrap;}
.terra2 .sun-date select[hidden],.terra2 .terra2-month-stepper select[hidden],.terra2 .sun-stats[hidden]{display:none;}
/* The map: legend card, white hour pills (drawn in the scene), round controls. */
.terra2 .terrain-card.sun .sun-legend{top:20px;left:20px;width:auto;min-width:168px;padding:14px 18px 12px;border:1px solid #fff;border-radius:16px;background:#fffdf8f2;box-shadow:0 4px 16px #19353618;}
.terra2 .terrain-card.sun .sun-legend .sun-head strong{font:600 14px/1.25 var(--sans);color:var(--text-primary,#193536);}
.terra2 .terrain-card.sun .sun-legend .sun-info,.terra2 .terrain-card.sun .sun-legend-period{display:none;}
.terra2 .terrain-card.sun .sun-legend ol{margin-top:10px;}
.terra2 .terrain-card.sun .sun-legend li{gap:12px;height:28px;font-size:14px;color:var(--text-primary,#193536);}
.terra2 .terrain-card.sun .sun-legend li i{width:20px;height:20px;border-radius:5px!important;}
.terra2 .terrain-card.sun .scene-toolbar{bottom:22px;left:22px;gap:12px;padding:0;border:0;background:none;box-shadow:none;}
.terra2 .terrain-card.sun .scene-toolbar>.pill{padding:12px 18px;border:1px solid #fff;border-radius:24px;background:#fffdf8f2;box-shadow:0 3px 12px #19353618;font-size:14px;font-weight:600;}
.terra2 .terrain-card.sun .compass{top:22px;right:22px;width:58px;height:58px;padding:6px;border-radius:50%;background:#fffdf8f2;box-shadow:0 3px 12px #19353620;}
.terra2 .terrain-card.sun .compass circle{fill:none;stroke:none;}
.terra2 .terrain-card.sun .compass text:not(.north){display:none;}.terra2 .terrain-card.sun .compass .north:is(path){fill:#d63b2b;}.terra2 .terrain-card.sun .compass path.south{fill:#fff;stroke:#c8bfb3;stroke-width:1;}.terra2 .terrain-card.sun .compass text.north{fill:var(--text-primary,#193536);font-size:11px;}
.terra2 .terrain-card.sun .scene-bottom{right:22px;bottom:22px;}
.terra2 .terrain-card.sun .zoom-controls{gap:12px;}
.terra2 .terrain-card.sun .zoom-controls>div{display:contents;}
.terra2 .terrain-card.sun #zoom-in{order:1;}.terra2 .terrain-card.sun #reset-view{order:2;}.terra2 .terrain-card.sun #zoom-out{order:3;}
.terra2 .terrain-card.sun .zoom-controls button{width:46px;height:46px;border:1px solid #fff!important;border-radius:50%;background:#fffdf8f2;box-shadow:0 3px 12px #19353620;font-size:26px;color:var(--text-primary,#193536);}
.terra2 .terrain-card.sun .zoom-controls .icon{width:22px;}

/* Parcel selection and row actions share one dropdown below the parcel name. */
.terra2 #parcels-dialog{position:fixed;inset:auto;margin:0;width:440px;max-width:calc(100vw - 24px);overflow:auto;padding:17px;border:1px solid var(--border-subtle,#E5DCD0);border-radius:18px;background:var(--surface-card,#FFFCF6);color:var(--text-primary,#193536);box-shadow:0 12px 40px #19353624;}
.terra2 #parcels-dialog .dialog-heading{margin-bottom:12px;gap:12px;}
.terra2 #parcels-dialog .dialog-heading h2{font:600 19px/1.3 var(--sans);margin:4px 0 0;}
.terra2 #parcels-dialog .eyebrow{font-size:9px;letter-spacing:.4px;}
.terra2 #parcels-dialog #parcel-list{margin:0 0 13px;}
.terra2 #parcels-dialog .saved-parcel{gap:7px;padding:9px;margin:7px 0;border-radius:12px;}
.terra2 #parcels-dialog .saved-parcel.is-current{background:#e9eddd66;border-color:#8aa65a70;}
.terra2 #parcels-dialog .saved-parcel>.icon{width:22px;height:22px;flex:none;}
.terra2 #parcels-dialog .saved-parcel strong{font:500 15px/1.35 var(--sans);}
.terra2 #parcels-dialog .saved-parcel small{font-size:10px;margin-top:4px;}
.terra2 #parcels-dialog .icon-button{display:grid;place-items:center;width:32px;height:34px;flex:none;border-radius:8px;color:var(--brand-teal-deep,#145C59);}
.terra2 #parcels-dialog .icon-button:hover:not(:disabled){background:#e5dcd060;}
.terra2 #parcels-dialog .icon-button:disabled{opacity:.25;cursor:default;}
.terra2 #parcels-dialog #add-parcel{width:100%;justify-content:center;border-radius:11px;font-size:13px;padding:11px;}
