@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#273b32;background:#f7f8f3;font-size:14px;--green:#285343;--line:#e2e7dd}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:white;color:#304c3e;border-radius:9px;padding:10px 14px;transition:.15s}button:hover{background:#eaf0e5;border-color:#b4c4b0}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c49350;outline-offset:2px}button.primary{background:var(--green);color:white;border-color:var(--green);box-shadow:0 4px 10px #254c4018}header{height:88px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 4vw}.brand{display:flex;gap:9px;align-items:center;font-size:46px;color:var(--green);text-decoration:none}.brand span{font-family:Manrope,sans-serif;font-weight:800;font-size:32px;letter-spacing:-1.5px}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:2.1px;font-weight:600}.save-state{margin-left:auto;font-size:12px;color:#778374}.save-state:before{content:'●';color:#7da06a;margin-right:8px}main{max-width:1700px;margin:auto;padding:30px 4vw 15px}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:2px;color:#86947c;font-weight:700}h1{font:800 32px Manrope,sans-serif;letter-spacing:-1.1px;margin:7px 0}p{line-height:1.6}.intro p{margin:0;color:#7b8578}.workspace{display:grid;grid-template-columns:285px minmax(0,1fr);border:1px solid var(--line);border-radius:17px;background:white;overflow:hidden;box-shadow:0 10px 40px #273b3205}aside{padding:23px 18px;border-right:1px solid var(--line);max-height:760px;overflow:auto}.panel-title{display:flex;justify-content:space-between;align-items:center}h2{font:800 16px Manrope;margin:0}.muted{color:#879080;font-size:12px}aside p{margin:8px 0 17px}input,select{border:1px solid var(--line);border-radius:8px;padding:10px;background:#fbfcf8;color:#314c3d;max-width:100%}#search{width:100%;background:#f5f7f1}.categories{display:flex;gap:6px;overflow:auto;padding:15px 0}.categories button{white-space:nowrap;font-size:11px;padding:7px 10px;border:0;background:#f3f5ef}.categories button.active{background:var(--green);color:white}.catalog{display:grid;grid-template-columns:1fr 1fr;gap:9px}.card{padding:8px 5px 10px;min-height:102px;font-size:11px;text-align:center;background:#fcfcf8}.card svg{width:100%;height:65px;display:block;margin-bottom:3px}.card.active{border-color:#3c7152;background:#edf3e7;box-shadow:0 0 0 1px #3c7152}.toolbar{display:flex;gap:8px;padding:16px;border-bottom:1px solid var(--line);align-items:center}.toolbar input{min-width:50px;width:100%;font-weight:700;background:white;border:0}.toolbar button{white-space:nowrap;font-size:12px;padding:9px 11px}.terrain-meta{padding:15px 22px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.terrain-meta>span{color:#7d916e}.terrain-meta button{padding:6px 10px;font-size:11px}.canvas-wrap{height:490px;position:relative;background:#f0f2e9;overflow:hidden;touch-action:none}#canvas{width:100%;height:100%;display:block;touch-action:none}#objects>g{cursor:grab}#objects>g:active{cursor:grabbing}.canvas-help{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);background:#ffffffed;border:1px solid #e5e8dd;border-radius:30px;padding:10px 17px;color:#7d8777;font-size:11px;pointer-events:none;text-align:center;max-width:70%;width:max-content}.zoom{position:absolute;right:15px;bottom:15px;display:flex;background:white;border-radius:9px;box-shadow:0 2px 10px #0001}.zoom button{border:0;padding:10px}.bottom-bar{display:flex;align-items:center;gap:20px;padding:12px 20px;font-size:11px;color:#7b8974;flex-wrap:wrap}.bottom-bar button{margin-left:auto;padding:6px 9px;font-size:11px}label{display:flex;gap:6px;align-items:center}#inspector{padding:15px 20px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;flex-wrap:wrap}#inspector[hidden]{display:none}#inspector input[type=number]{width:75px}#inspector label{font-size:11px}#inspector button{font-size:12px}footer{display:flex;justify-content:space-between;color:#96a08d;font-size:11px;padding:18px 0}dialog{border:1px solid var(--line);border-radius:18px;width:480px;max-width:calc(100% - 28px);padding:30px;color:#273b32;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#17362966;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:12px;top:12px;border:0}dialog h2{font-size:22px;margin:10px 0 20px}dialog form{display:grid;gap:15px}dialog form label{align-items:stretch;flex-direction:column}dialog p{color:#788371}dialog .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.plan-row{display:flex;gap:8px;align-items:center;margin-top:10px}.plan-row button:first-child{flex:1;text-align:left}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#254c40;color:white;padding:12px 22px;border-radius:12px;display:none;z-index:20}.mobile{display:none}@media(min-width:1500px){.canvas-wrap{height:590px}}@media(max-width:1000px){main{padding:22px 18px}.workspace{grid-template-columns:230px minmax(0,1fr)}aside{padding:18px 12px}.toolbar{gap:4px;padding:12px 8px}.toolbar button{padding:8px}.canvas-wrap{height:470px}.bottom-bar{gap:10px}}@media(max-width:700px){header{height:72px;padding:0 18px;gap:12px}.brand span{font-size:27px}.brand{font-size:35px}.save-state{display:none}header>button{margin-left:auto;font-size:12px}main{padding:22px 12px}.intro{gap:12px;margin-bottom:20px}h1{font-size:24px}.intro p{font-size:12px;max-width:240px}.intro .primary{font-size:12px;padding:10px;max-width:110px}.eyebrow{font-size:8px}.workspace{display:block}.mobile{display:inline-block}aside{display:none;position:fixed;top:0;bottom:0;left:0;width:290px;max-height:none;background:white;z-index:10;box-shadow:0 0 0 100vw #18372b77}.workspace.library-open aside{display:block}.toolbar{flex-wrap:wrap}.toolbar input{order:-1;flex-basis:100%;font-size:16px}.toolbar button{flex-grow:1;padding:10px 6px}.canvas-wrap{height:52vh;min-height:320px}.terrain-meta{padding:12px}.canvas-help{bottom:60px;font-size:10px}.bottom-bar{padding:12px;gap:12px}.bottom-bar button{margin:0}footer{display:block;line-height:1.8}footer span{display:block}#inspector{gap:10px;padding:12px}#inspector strong{flex-basis:100%}}@media print{header,.intro,aside,.toolbar,.terrain-meta button,.bottom-bar,#inspector,footer,.zoom,.canvas-help{display:none!important}main{padding:0}.workspace{border:0;display:block}.canvas-wrap{height:85vh;background:white}.terrain-meta{display:block}}
#quickControls{position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;background:#fffffff5;padding:5px;border:1px solid #dce4d5;box-shadow:0 4px 14px #263d2712;border-radius:12px;white-space:nowrap}#quickControls button{width:42px;height:42px;padding:0;font-size:22px;border:0;background:#f0f4eb}#quickControls span{font-size:11px;color:#667960}#quickControls i{height:22px;border-left:1px solid #dce4d5;margin:0 4px}.handles{cursor:pointer}.handles [data-handle=rotate]{cursor:grab}.handles [data-handle=resize]{cursor:nwse-resize}@media(max-width:700px){#quickControls{top:10px}#quickControls button{width:39px;height:39px}.canvas-wrap{height:55vh}}.categories{scrollbar-width:thin}aside{scrollbar-width:thin}
.categories{display:grid;grid-template-columns:1fr 1fr;overflow:visible;gap:6px}.categories button{font-size:12px;padding:8px}.card svg{overflow:visible}
#quickControls{display:flex;flex-direction:column;gap:4px;max-width:calc(100% - 16px)}.quick-row{display:flex;align-items:center;gap:5px}.quick-row button{width:36px!important;height:34px!important;font-size:20px!important}.quick-row span{min-width:29px;text-align:center}.trace-palette{grid-column:1/-1;justify-content:space-between;background:#f2f5ed;padding:10px;border-radius:9px;font-size:12px}.trace-palette input{padding:2px;width:48px;height:35px}.trace-tip{grid-column:1/-1;font-size:11px;margin:0 0 5px;line-height:1.5;color:#7d8875}.handles [data-handle=stretchX]{cursor:ew-resize}.handles [data-handle=stretchY]{cursor:ns-resize}
button,.canvas-wrap,.canvas-wrap *,.quick-row,.categories{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}svg text{pointer-events:none}#quickControls{z-index:4;isolation:isolate}#quickControls button{flex-shrink:0}.handles{pointer-events:auto}input,textarea{-webkit-user-select:text;user-select:text}
#quickColor{width:32px;height:32px;min-width:32px;padding:2px;border-radius:7px;margin-left:3px;cursor:pointer}#quickControls .quick-row{gap:4px}
.size-badge{display:flex;gap:9px;align-items:center;border:0;background:#eff4e8!important;padding:8px 12px!important;font-size:12px!important}.size-badge span{font-size:10px;color:#69805e;margin-left:7px}.terrain-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:15px 0}.terrain-presets button{padding:11px 4px;font-size:12px;font-weight:700}.terrain-presets small{display:block;font-size:9px;font-weight:400;margin-top:5px;color:#849178}.terrain-presets button.active{border-color:#427254;background:#edf3e6}.terrain-preview{height:130px;border-radius:12px;background:#f0f3ea;display:flex;align-items:center;justify-content:center;margin-bottom:18px;overflow:hidden}#terrainMini{border:3px solid white;box-shadow:0 3px 12px #2f4a2514;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;border-radius:3px;min-width:45px;min-height:38px;transition:width .12s,height .12s}#previewLabel{font-weight:700;font-size:13px;background:#fffc;padding:4px 8px;border-radius:5px;white-space:nowrap}.preview-axis{font-size:9px;background:#fff9;padding:2px 4px;white-space:nowrap}.terrain-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.terrain-fields>div>label{font-size:12px;font-weight:700;display:block;margin-bottom:8px}.stepper{display:flex;align-items:center;border:1px solid #dce3d4;background:#fafbf6;border-radius:9px;overflow:hidden;gap:3px}.stepper button{border:0;border-radius:0;font-size:20px;width:36px;min-width:36px;padding:8px 0;background:#eff4e8}.stepper input{width:100%;min-width:0;appearance:textfield;-moz-appearance:textfield;background:none;border:0;padding:8px 0;text-align:center}.stepper input::-webkit-inner-spin-button{appearance:none}.stepper span{font-size:11px;color:#8a9581;margin-right:4px}.terrain-fields input[type=range]{width:100%;padding:0;margin:12px 0 0;accent-color:#285343}#terrainForm small{font-size:10px;color:#88937f}#dialog{max-height:calc(100dvh - 24px);overflow:auto}#dialogBody>p{margin-top:-7px;font-size:12px}
@media(min-width:701px){html,body{height:100%;overflow:hidden}header{height:68px;padding:0 3vw}header .brand{font-size:36px}header .brand span{font-size:28px}main{height:calc(100dvh - 68px);display:flex;flex-direction:column;min-height:0;padding:18px 3vw 0}.intro{flex-shrink:0;margin-bottom:18px}.intro h1{font-size:27px}.intro p{font-size:12px}.workspace{flex:1;min-height:0}.workspace>aside{max-height:none;height:100%;min-height:0;overflow:auto}.editor{display:flex;flex-direction:column;min-height:0;overflow:hidden}.toolbar{padding:11px 12px;flex-shrink:0}.terrain-meta{padding:10px 16px;flex-shrink:0}.canvas-wrap{height:auto;min-height:150px;flex:1}.bottom-bar{flex-shrink:0;padding:9px 15px}#inspector{flex-shrink:0;max-height:105px;overflow:auto;padding:10px 15px;scrollbar-width:thin}#inspector input{padding:7px}#inspector label{font-size:10px}#inspector strong{font-size:12px}footer{flex-shrink:0;padding:10px 0;font-size:10px}}
@media(min-width:701px) and (max-height:650px){.intro,footer{display:none}header{height:55px}main{height:calc(100dvh - 55px);padding-top:10px}.terrain-meta{padding:7px 14px}#inspector{max-height:82px}.toolbar{padding:7px 10px}}
@media(max-width:700px){.terrain-fields{gap:10px}.terrain-presets{grid-template-columns:repeat(2,1fr)}.terrain-presets button{padding:9px}.terrain-preview{height:110px}.preview-axis{display:none}.size-badge{font-size:11px!important}.size-badge span{font-size:9px;margin-left:0}dialog{padding:25px 20px}}
@media print{html,body{height:auto!important;overflow:visible!important}main{height:auto!important;display:block!important}.workspace{display:block!important}.editor{display:block!important}.canvas-wrap{height:85vh!important}.size-badge{background:white!important}}
.header-new{white-space:nowrap;font-size:12px}.desktop[hidden]{display:none!important}
@media(min-width:701px){header{height:48px;padding:0 14px;gap:15px}header .brand{font-size:30px;gap:5px}header .brand span{font-size:25px}header .brand small{display:none}header #account{padding:7px 12px;font-size:12px}.save-state{font-size:11px}main{max-width:none;height:calc(100dvh - 48px);padding:6px 8px 8px}.intro,footer{display:none}.workspace{grid-template-columns:210px minmax(0,1fr);border-radius:10px}.workspace>aside{padding:12px 10px}.panel-title h2{font-size:14px}.workspace>aside>p{display:none}.panel-title{margin-bottom:10px}#search{font-size:12px;padding:9px}.categories{padding:10px 0}.categories button{font-size:11px;padding:7px}.card{min-height:90px}.card svg{height:53px}.toolbar{min-height:46px;padding:7px 10px;gap:7px}.toolbar input{font-size:14px;padding:7px}.toolbar button{padding:7px 10px}.terrain-meta{padding:5px 10px}.terrain-meta .size-badge{padding:6px 10px!important}.canvas-wrap{min-height:100px}.bottom-bar{padding:6px 10px;min-height:33px;gap:14px}.bottom-bar button{margin-left:0}.bottom-bar #properties{margin-left:auto}.editor{position:relative}.editor #inspector:not([hidden]){display:none;position:absolute;bottom:42px;right:12px;width:360px;max-width:calc(100% - 24px);max-height:240px;overflow:auto;padding:15px;z-index:6;background:#fffffff7;border:1px solid #dce5d4;border-radius:12px;box-shadow:0 8px 30px #263d2720}.editor.properties-open #inspector:not([hidden]){display:flex}.editor #inspector strong{flex-basis:100%;font-size:13px}.workspace.library-collapsed{grid-template-columns:0 minmax(0,1fr)}.workspace.library-collapsed>aside{visibility:hidden;padding:0;border:0}.canvas-help{padding:7px 12px;font-size:10px;bottom:12px}}
@media(max-width:700px){header{gap:8px}.header-new{margin-left:auto;padding:7px;font-size:22px;line-height:1}.header-new span{display:none}header>#account{margin-left:0}main{padding-top:10px}.desktop{display:none!important}.workspace.library-collapsed aside{visibility:visible}.intro{display:none}}
@media print{.header-new,#toggleLibrary,#properties{display:none!important}.editor #inspector{display:none!important}}
.selection-dock{flex-shrink:0;border-top:1px solid var(--line);background:#fbfcf8}.selection-dock[hidden]{display:none!important}#selectionDock #quickControls{position:static;transform:none;left:auto;top:auto;max-width:none;width:100%;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:10px 16px;margin:0;padding:7px 12px;border:0;border-radius:0;box-shadow:none;isolation:auto}.selection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.selection-heading strong{font-size:12px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#selectionDock .delete-action{width:auto!important;height:34px!important;padding:6px 10px!important;font-size:11px!important;color:#a34235;background:#fbefeb!important;border:1px solid #efd1c8!important}.editor #inspector:not([hidden]){display:none;position:static;bottom:auto;right:auto;width:auto;max-width:none;max-height:150px;flex-shrink:0;overflow:auto;padding:12px 15px;z-index:auto;background:#fbfcf8;border:0;border-top:1px solid var(--line);border-radius:0;box-shadow:none}.editor.properties-open #inspector:not([hidden]){display:flex}.bottom-bar #properties{margin-left:auto}.canvas-wrap,.canvas-wrap *{touch-action:none}@media(max-width:700px){#selectionDock #quickControls{gap:7px;padding:10px 8px;flex-direction:column}.selection-heading{width:100%;padding:0 8px}.selection-heading strong{max-width:210px;font-size:13px}#selectionDock .quick-row{justify-content:center;width:100%}#selectionDock .quick-row button{height:40px!important;width:40px!important}#selectionDock .delete-action{height:38px!important;padding:7px 13px!important;font-size:12px!important}.editor #inspector:not([hidden]){max-height:210px}.canvas-help{font-size:10px;padding:7px 12px;bottom:58px}.bottom-bar #properties{margin-left:0}}@media print{.selection-dock{display:none!important}}
.canvas-help[hidden]{display:none!important}.selection-dock{-webkit-user-select:none;user-select:none}
.selection-tip{font-size:10px;color:#718269}.tip-touch{display:none}.selection-heading strong{max-width:190px}.selection-group [data-handle]{cursor:grab}@media(max-width:700px){.tip-pc{display:none}.tip-touch{display:inline}.selection-tip{flex-basis:100%}.selection-heading strong{max-width:220px}}
