@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--night:#101d20;--panel:#19272a;--panel2:#1d2d30;--line:#354548;--text:#e8e2d1;--muted:#8e9b97;--gold:#e5b85c;--rust:#c77a5a;--sage:#7e9b81;--sans:'DM Sans',Arial,sans-serif;--display:'Space Grotesk',Arial,sans-serif;--mono:'DM Mono',monospace}
*{box-sizing:border-box}html{min-width:320px;background:var(--night)}body{margin:0;background:radial-gradient(ellipse at 70% -12%,#304346 0,transparent 42%),var(--night);color:var(--text);font:13px var(--sans);-webkit-font-smoothing:antialiased}button,input{font:inherit}button{color:inherit}.shell{max-width:1550px;padding:0 48px;margin:auto}.topbar{height:66px;display:grid;grid-template-columns:230px 1fr auto;align-items:center;border-bottom:1px solid #354346}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--text);font:10px var(--mono);letter-spacing:.08em}.brand b{color:var(--gold);font-weight:400}.brand-symbol{color:var(--gold);font:23px var(--display);transform:rotate(180deg)}.top-status{display:flex;align-items:center;gap:9px;color:#a3ada5;font:9px var(--mono)}.top-status i{width:5px;height:5px;border-radius:50%;background:var(--sage)}.top-status span{color:#65746f}.export-button{border:1px solid #56635c;background:transparent;border-radius:2px;padding:8px 11px;color:#c6cbbd;font-size:10px;cursor:pointer}.export-button b{font-size:15px;color:var(--gold);margin-left:8px}.export-button:hover{border-color:var(--gold);color:var(--text)}
.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:28px 0 24px}.intro .eyebrow{margin:0 0 9px;color:#9ba89d;font:8px var(--mono);letter-spacing:.13em;text-transform:uppercase}.intro h1{font:500 clamp(41px,4.8vw,58px)/.88 var(--display);letter-spacing:-.06em;margin:0}.intro h1 em{font-weight:400;color:var(--gold)}.intro-copy{color:#9da9a0;font-size:11px;line-height:1.6;max-width:350px;margin:0 2px 3px 20px}.intro-mark{width:74px;height:74px;margin:0 5.8% 2px 20px;border:1px solid #647168;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#92a095;transform:rotate(-10deg)}.intro-mark span{font:6px var(--mono);letter-spacing:.12em}.intro-mark b{font:20px var(--display);color:var(--gold);font-weight:400;line-height:1}
.workbench{display:grid;grid-template-columns:270px minmax(0,1fr);background:var(--panel);border:1px solid #3b4b4c;box-shadow:0 18px 65px #06101255}.control-panel{padding:18px 17px;border-right:1px solid var(--line);min-width:0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:17px}.section-head .eyebrow{font:8px var(--mono);letter-spacing:.12em;color:#929f96}.section-head h2{font:500 20px var(--display);letter-spacing:-.04em;margin:4px 0 0}.section-index{font:8px var(--mono);color:var(--gold)}.upload-box{display:flex;align-items:center;gap:10px;border:1px dashed #617065;padding:11px 10px;border-radius:2px;cursor:pointer;transition:background .2s,border-color .2s}.upload-box:hover{background:#223438;border-color:var(--gold)}.upload-icon{width:26px;height:26px;display:grid;place-items:center;background:#2a3b3b;color:var(--gold);font:18px var(--display)}.upload-box b{display:block;font-size:10px;font-weight:500}.upload-box small{display:block;font:7px/1.5 var(--mono);color:#87938a;margin-top:3px}.upload-box input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.field-label{font:8px var(--mono);color:#9ca69a;margin:16px 0 8px}.preset-list{display:grid;gap:3px}.preset{display:grid;grid-template-columns:17px 1fr auto;align-items:center;gap:7px;width:100%;text-align:left;background:transparent;border:1px solid transparent;padding:7px 6px;cursor:pointer;border-radius:2px;color:#c2c6b8}.preset:hover{background:#213034}.preset.is-active{background:#233437;border-color:#485953}.preset-line{height:18px;width:2px;background:#718178;display:block;position:relative;margin-left:6px}.preset-line::before,.preset-line::after{content:"";position:absolute;width:8px;height:1px;background:inherit;top:5px;left:0;transform:rotate(-38deg);transform-origin:left}.preset-line::after{top:12px;transform:rotate(38deg)}.preset.is-active .preset-line,.preset.is-active .preset-line::before,.preset.is-active .preset-line::after{background:var(--gold)}.preset b{display:block;font-size:9px;font-weight:500}.preset small{display:block;font-size:8px;color:#87938a;margin-top:2px}.preset i{font:7px var(--mono);font-style:normal;color:#77847b}.slider-control{border-top:1px solid #344446;padding:12px 0 9px;margin-top:8px}.slider-control>div{display:flex;align-items:center;justify-content:space-between}.slider-control label{font-size:9px;color:#c9cbbf}.slider-control output{font:9px var(--mono);color:var(--gold)}.slider-control input{width:100%;height:12px;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;margin:8px 0 0}.slider-control input::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--gold) 0 var(--fill,50%),#4b5c58 var(--fill,50%) 100%)}.slider-control input::-moz-range-track{height:2px;background:#4b5c58}.slider-control input::-moz-range-progress{height:2px;background:var(--gold)}.slider-control input::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;border:2px solid var(--panel);background:var(--gold);box-shadow:0 0 0 1px var(--gold);margin-top:-4.5px}.slider-control input::-moz-range-thumb{width:8px;height:8px;border:2px solid var(--panel);border-radius:50%;background:var(--gold);box-shadow:0 0 0 1px var(--gold)}.slider-control input:focus-visible{outline:1px solid var(--rust);outline-offset:4px}.slider-control>small{display:flex;justify-content:space-between;color:#707f77;font:7px var(--mono);margin-top:3px}.slider-control>small span{color:#919b90}.palette-control{border-top:1px solid #344446;padding-top:11px;margin-top:7px}.palette-options{display:flex;gap:4px}.palette-button{background:transparent;border:1px solid #3d4d4d;border-radius:2px;color:#9ba49a;font-size:8px;padding:5px 6px;display:flex;align-items:center;gap:5px;cursor:pointer}.palette-button.is-active{border-color:#879080;color:var(--text);background:#253538}.palette-button i{display:block;width:16px;height:6px;border-radius:1px}.earth-swatch{background:linear-gradient(90deg,#2a6461,#809569,#d3b067,#c7d4c4)}.slate-swatch{background:linear-gradient(90deg,#263847,#647d91,#afc0c4,#e0e2da)}.mono-swatch{background:linear-gradient(90deg,#242729,#68706c,#b6b9ae,#e2dfcf)}.privacy-note{border-top:1px solid #344446;padding-top:10px;margin:12px 0 0;color:#85928a;font:7px var(--mono)}.privacy-note span{color:#9bb39b;margin-right:4px}
.terrain-panel{min-width:0;padding:0 18px 13px}.terrain-toolbar{height:45px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.view-modes{display:flex;gap:4px}.mode-button{background:transparent;border:0;border-bottom:2px solid transparent;padding:13px 8px 10px;color:#929e95;font-size:9px;cursor:pointer}.mode-button.is-active{color:var(--text);border-color:var(--gold)}.view-tools{display:flex;align-items:center;gap:10px}.drag-hint{font:7px var(--mono);color:#748279}.view-tools button{width:25px;height:25px;border:1px solid #435352;background:transparent;color:#b6bdaf;font-size:16px;cursor:pointer}.view-tools button:hover{border-color:var(--gold);color:var(--gold)}.terrain-stage{height:430px;position:relative;overflow:hidden;background-color:#142226;background-image:linear-gradient(rgba(108,135,123,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(108,135,123,.07) 1px,transparent 1px),radial-gradient(ellipse at 50% 57%,#253c3d 0,transparent 60%);background-size:28px 28px,28px 28px,100% 100%;touch-action:none}.terrain-stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.terrain-stage canvas:active{cursor:grabbing}.stage-axis{position:absolute;top:15px;left:15px;border-left:1px solid #65766c;padding-left:7px;color:#b2b7a6;font:8px var(--mono);pointer-events:none}.stage-axis i{display:block;color:var(--gold);font-style:normal}.stage-caption{position:absolute;bottom:13px;left:14px;right:14px;display:flex;justify-content:space-between;color:#8b9a90;font:7px var(--mono);letter-spacing:.08em;pointer-events:none}.algorithm-chip{position:absolute;right:13px;top:13px;display:flex;align-items:center;gap:6px;background:#101d20d9;border:1px solid #43514a;padding:6px 8px;color:#b8c0b1;font:7px var(--mono);pointer-events:none}.algorithm-chip i{width:5px;height:5px;border-radius:50%;background:var(--gold)}.facts-bar{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts-bar>div{padding:11px 10px;border-right:1px solid var(--line)}.facts-bar>div:first-child{padding-left:0}.facts-bar>div:last-child{border:0}.fact-label{display:block;font:7px var(--mono);letter-spacing:.06em;color:#929e95;margin-bottom:5px}.facts-bar strong{font:500 19px var(--display);letter-spacing:-.03em;color:#e1dfd0}.facts-bar strong small{font:9px var(--mono);color:#a6b0a2}.facts-bar .sample-size strong{font:14px var(--mono);letter-spacing:0}.method-note{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:12px 0 0}.method-number{font:10px var(--mono);color:var(--gold)}.method-note p{font:9px/1.5 var(--sans);color:#97a198;margin:0}.method-note p b{color:#d6d6c8;font-weight:500}.method-note button{border:1px solid #465350;border-radius:2px;background:transparent;padding:7px 8px;color:#b5bdaf;font-size:8px;white-space:nowrap;cursor:pointer}.method-note button span{color:var(--gold);margin-left:5px}.method-details{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;border-top:1px solid #344446;margin-top:11px;padding-top:11px}.method-details[hidden]{display:none}.method-details b{font:8px var(--mono);color:var(--gold)}.method-details p{font:8px/1.5 var(--sans);color:#9aa49a;margin:5px 0 0}.footer{height:50px;display:flex;align-items:center;justify-content:space-between;color:#77857d;font:7px var(--mono)}.footer span:nth-child(2){color:#9aa49b}.footer a{color:#d0c7ab;text-decoration:none;border-bottom:1px solid #52615a;padding-bottom:3px}
@media(min-width:1450px){.shell{padding:0 58px}.workbench{grid-template-columns:290px minmax(0,1fr)}.control-panel{padding:20px}.terrain-panel{padding-left:20px;padding-right:20px}.terrain-stage{height:480px}}
@media(max-width:980px){.shell{padding:0 25px}.workbench{grid-template-columns:235px minmax(0,1fr)}.control-panel{padding:14px}.preset small{font-size:7px}.terrain-stage{height:390px}.facts-bar strong{font-size:16px}.facts-bar>div{padding-left:7px;padding-right:7px}}
@media(max-width:700px){.shell{padding:0 14px}.topbar{grid-template-columns:145px 1fr auto;height:58px}.top-status{font-size:7px;justify-content:center}.top-status span:last-child{display:none}.export-button{font-size:8px;padding:7px}.intro{padding:23px 0 18px}.intro h1{font-size:43px}.intro-copy{max-width:240px;font-size:9px}.intro-mark{width:55px;height:55px;margin-right:1%}.workbench{grid-template-columns:1fr}.control-panel{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;column-gap:16px;padding:13px}.section-head,.upload-box,.field-label,.preset-list,.slider-control,.palette-control,.privacy-note{grid-column:1/-1}.section-head{margin-bottom:9px}.upload-box{max-width:480px}.preset-list{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:4px}.preset{grid-template-columns:8px 1fr auto;padding:6px 3px}.preset-line{margin-left:2px}.preset small{display:none}.preset b{font-size:8px}.slider-control{grid-column:auto;margin-top:5px}.palette-control{grid-column:1}.privacy-note{margin-top:5px}.terrain-panel{padding:0 12px 13px}.terrain-stage{height:385px}.view-tools .drag-hint{display:none}.facts-bar{grid-template-columns:repeat(2,1fr)}.facts-bar>div:nth-child(2){border-right:0}.facts-bar>div:nth-child(3),.facts-bar>div:nth-child(4){border-top:1px solid var(--line)}.facts-bar>div:nth-child(3){padding-left:0}.method-note{grid-template-columns:23px 1fr auto;gap:6px}.method-note p{font-size:8px}.footer span:nth-child(2){display:none}}
@media(max-width:460px){.shell{padding:0 9px}.topbar{grid-template-columns:115px 1fr auto}.top-status{font-size:6px}.brand{font-size:8px}.intro{align-items:flex-start}.intro h1{font-size:37px}.intro-copy{font-size:8px;max-width:130px;margin-top:15px}.intro-mark{display:none}.control-panel{grid-template-columns:1fr 1fr;column-gap:10px;padding:11px}.preset-list{display:flex;flex-direction:column}.preset{min-height:35px}.preset small{display:block}.slider-control{grid-column:1/-1}.palette-control{grid-column:1/-1}.palette-options{gap:3px}.palette-button{font-size:7px;padding:5px}.terrain-toolbar{height:40px}.mode-button{font-size:8px;padding:11px 6px 9px}.terrain-stage{height:320px}.algorithm-chip{max-width:190px;font-size:6px}.facts-bar strong{font-size:15px}.method-note{grid-template-columns:19px 1fr}.method-note button{grid-column:2;justify-self:start}.method-details{grid-template-columns:1fr}.footer{font-size:6px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.print-export{border-bottom:1px solid var(--line);color:var(--text)}
.print-export summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 2px;color:#c7cec1;font-size:9px;cursor:pointer;list-style:none}
.print-export summary::-webkit-details-marker{display:none}
.print-export summary::after{content:'+';color:var(--gold);font:16px var(--mono)}
.print-export[open] summary::after{content:'−'}
.print-export summary small{margin-left:auto;color:#87938a;font:7px var(--mono);letter-spacing:.04em}
.print-export-form{display:grid;grid-template-columns:minmax(110px,1fr) minmax(110px,1fr) auto;align-items:end;gap:10px;padding:0 0 12px}
.print-export-form label{display:grid;grid-template-columns:1fr auto;gap:5px;color:#aeb8ab;font-size:8px}
.print-export-form label span{color:#8f9b90;font:8px var(--mono)}
.print-export-form input{grid-column:1/-1;width:100%;min-width:0;border:1px solid #465651;border-radius:2px;background:#172326;color:var(--text);padding:8px;font:10px var(--mono)}
.print-export-form input:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
.print-export-button{white-space:nowrap;color:var(--gold)}
.print-export-button b{color:var(--gold)}
.print-export-form p{grid-column:1/-1;margin:0;color:#829087;font-size:8px;line-height:1.5}
@media(max-width:560px){.print-export-form{grid-template-columns:1fr 1fr;gap:8px}.print-export-button,.print-export-form p{grid-column:1/-1}.print-export-button{width:100%}.print-export summary{min-height:40px}}
