@import url('/assets/theme.css');
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 'Segoe UI',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit;border:0;background:none}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--accent)}input,select,textarea{background:#111d20;border:1px solid var(--border);color:var(--text);border-radius:7px;min-width:0;padding:8px 10px;width:100%;transition:border .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}input[type=range]{accent-color:var(--accent);padding:0;border:none}input[type=color]{height:37px;padding:4px}h1,h2,h3,p{margin-top:0}h1{font-size:36px;line-height:1.18;font-weight:600;letter-spacing:-1px}h2{font-size:22px;font-weight:600;letter-spacing:-.4px}h3{font-size:15px;font-weight:600}small,.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;border:1px solid var(--border);border-radius:7px;background:#1e2d30;font-weight:600;font-size:12px;white-space:nowrap}.btn:hover{background:#2a3b3e;border-color:#607372}.btn.primary{background:var(--accent);color:#192329;border-color:var(--accent)}.btn.primary:hover{background:#fac58a}.btn.ghost{background:transparent}.btn.danger{color:#f0a79d}.icon{width:18px;height:18px;flex-shrink:0;vertical-align:middle}.rune{font-size:27px;color:var(--accent);line-height:1}.brand{display:flex;align-items:center;gap:11px}.brand b{font-size:15px;font-weight:650;letter-spacing:2.3px}.brand small{font-size:9px;letter-spacing:2px;display:block;margin-top:-3px}.brand-mark{width:35px;height:35px;display:grid;place-items:center;border:1px solid #75604a;border-radius:8px;background:#262b28}.app-header{height:65px;border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;justify-content:space-between;background:#101a1d;position:relative;z-index:5}.header-left,.header-right{display:flex;align-items:center;gap:22px}.breadcrumbs{border-left:1px solid var(--border);padding-left:22px;color:var(--muted);font-size:12px}.badge{display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:3px 8px;background:#283c35;color:#aad1b8;font-size:10px;font-weight:600}.badge.gold{background:#3c3327;color:var(--accent)}.avatar{width:30px;height:30px;border-radius:50%;background:#3d4c46;border:1px solid #728275;display:grid;place-items:center;font-weight:650}.profile{display:flex;gap:9px;align-items:center}.profile strong{font-size:12px}.profile small{display:block;font-size:10px}.layout{display:flex;min-height:calc(100vh - 65px)}.nav{width:76px;flex-shrink:0;padding:23px 10px;border-right:1px solid var(--border);background:#111c1f;display:flex;flex-direction:column;gap:12px}.nav button{display:flex;align-items:center;flex-direction:column;gap:6px;width:56px;min-height:57px;border-radius:8px;color:#8faaaa;font-size:9px}.nav button .icon{width:21px;height:21px}.nav button:hover,.nav button.active{color:var(--accent);background:#2b312b}.nav .bottom{margin-top:auto}.main{flex:1;min-width:0}.page{max-width:1250px;padding:48px 54px;margin:auto}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-head h1{margin-bottom:7px}.welcome{position:relative;overflow:hidden;background:linear-gradient(115deg,#253c38,#1c2c2d 63%,#29342e);border:1px solid #3b5147;border-radius:13px;padding:38px 40px;margin-bottom:33px;min-height:248px}.welcome h1{max-width:590px;margin:11px 0 14px;font-size:39px;position:relative;z-index:1}.welcome p{max-width:480px;color:#b2c4bc;position:relative;z-index:1}.welcome .btn{position:relative;z-index:1}.welcome:after{content:'ᛟ';position:absolute;right:40px;top:-48px;font-size:320px;color:#d7be8d0b;transform:rotate(-10deg)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:30px 0 16px}.section-title h2{font-size:17px;margin:0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.resource{border:1px solid var(--border);border-radius:10px;background:var(--panel);padding:22px;position:relative;transition:transform .15s,border .15s}.resource:hover{transform:translateY(-3px);border-color:#759386}.resource .tile-icon{background:#263d3b;width:39px;height:39px;color:#a4c8b9;border-radius:9px;display:grid;place-items:center;margin-bottom:19px}.resource h3{margin:0 0 5px;font-size:14px}.resource p{font-size:12px;color:var(--muted);margin:0}.external{position:absolute;right:16px;top:18px;color:#6d8580}.workshop-card{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--border);border-radius:11px;background:var(--panel);overflow:hidden}.workshop-copy{padding:28px}.workshop-copy h2{font-size:25px;margin:9px 0}.workshop-copy p{font-size:13px;color:var(--muted);max-width:410px}.mini-world{min-height:240px;position:relative;overflow:hidden;background:radial-gradient(ellipse at 50% 80%,#486657,#243b34 65%,#17282a);display:grid;place-items:center}.mini-world .island{width:200px;height:180px;background:linear-gradient(140deg,#748368,#334c3b);transform:rotateX(55deg) rotateZ(-32deg);box-shadow:0 22px 0 #2a3d32,0 30px 35px #091718;border:1px solid #8c9c71}.mini-world .island:before{content:'';position:absolute;inset:38px;border:1px dashed #efbb75;border-radius:50%;transform:scale(1.25);box-shadow:0 0 30px #e1ba6333}.mini-world .house{position:absolute;width:80px;height:60px;background:#9f8058;transform:rotate(-3deg) skewY(-10deg);box-shadow:-10px 10px 0 #614e37;border:1px solid #b79869}.mini-world .house:before{content:'';position:absolute;left:-9px;right:-9px;top:-36px;height:41px;background:#293f37;clip-path:polygon(50% 0,100% 100%,0 100%);border-bottom:4px solid #b19362}.mini-world .house:after{content:'';position:absolute;width:18px;height:28px;bottom:0;left:29px;background:#28352a}.empty{padding:35px;text-align:center;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:13px}.editor{height:calc(100vh - 65px);display:flex;flex-direction:column}.editor-toolbar{height:59px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 19px;border-bottom:1px solid var(--border);background:#152125;gap:12px}.editor-title{display:flex;align-items:center;gap:10px}.editor-title input{font-weight:600;background:none;border-color:transparent;padding-left:0;width:230px}.editor-title small{font-size:10px}.toolbar-actions{display:flex;align-items:center;gap:8px}.editor-body{display:grid;grid-template-columns:250px minmax(250px,1fr) 310px;flex:1;min-height:0}.left-panel,.right-panel{background:var(--panel);overflow:auto;scrollbar-width:thin;scrollbar-color:#405852 transparent}.left-panel{border-right:1px solid var(--border)}.right-panel{border-left:1px solid var(--border)}.panel-section{padding:20px 17px;border-bottom:1px solid var(--border)}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.panel-heading h3{margin:0;font-size:11px;text-transform:uppercase;letter-spacing:1.2px;color:#b8c8c3}.count{color:var(--muted);font-size:11px}.drop{padding:22px 10px;border:1px dashed #56766a;border-radius:8px;text-align:center;background:#20352f57;cursor:pointer}.drop:hover,.drop.over{border-color:var(--accent);background:#38422e}.drop .icon{width:25px;height:25px;margin-bottom:7px;color:var(--accent)}.drop strong{display:block;font-size:12px;font-weight:600}.drop small{font-size:10px;display:block;margin-top:4px}.example-btn{font-size:11px;color:var(--accent);margin-top:11px;padding:0}.layer{display:flex;gap:9px;align-items:center;padding:11px 9px;border:1px solid transparent;border-radius:7px;margin:5px 0;cursor:pointer;background:#1b2b2d}.layer.selected{border-color:#c7a16a;background:#32362c}.layer-name{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:142px}.layer small{font-size:10px;display:block}.layer>input{flex-shrink:0}.layer-tools{display:flex;gap:5px;margin-top:13px}.layer-tools button{padding:6px 8px;border:1px solid var(--border);border-radius:5px;font-size:10px}.field{display:block;margin-bottom:13px}.field>span{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#afc2ba;margin-bottom:6px}.field small{font-size:10px;display:block;margin-top:5px;line-height:1.5}.field input,.field select{font-size:12px}.field-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.field-row.xyz{grid-template-columns:repeat(3,minmax(0,1fr))}.field-row.xyz .field>span{font-size:10px}.field-row.xyz input{padding:7px}.range-row{display:flex;gap:10px;align-items:center}.range-row input[type=number]{width:66px}.check{display:flex;align-items:flex-start;gap:9px;font-size:11px;margin-bottom:13px;cursor:pointer}.check input{margin:2px 0 0;flex-shrink:0}.check small{display:block;margin-top:3px;font-size:10px;line-height:1.4}.viewport{position:relative;background:#607e75;overflow:hidden;min-height:300px}.viewport canvas{width:100%;height:100%;display:block;touch-action:none}.viewport-top{position:absolute;left:17px;right:17px;top:17px;display:flex;align-items:flex-start;justify-content:space-between;pointer-events:none}.scene-label{border:1px solid #9aafa330;background:#18302be0;backdrop-filter:blur(8px);border-radius:7px;padding:9px 12px;box-shadow:0 3px 15px #10282224}.scene-label strong{font-size:11px;font-weight:500;display:block}.scene-label small{font-size:9px;color:#b4c5b7}.view-switch{display:flex;background:#18302be0;backdrop-filter:blur(8px);padding:3px;border-radius:7px;pointer-events:auto}.view-switch button{padding:5px 9px;font-size:10px;color:#c4d4c7;border-radius:4px}.view-switch button.active{background:#526353;color:white}.view-tools{position:absolute;bottom:39px;left:50%;transform:translateX(-50%);display:flex;gap:3px;padding:5px;border:1px solid #8b9b7640;border-radius:8px;background:#18302be8;box-shadow:0 7px 30px #10271e55;white-space:nowrap}.view-tools button{padding:7px 10px;border-radius:5px;color:#d5decf;font-size:10px}.view-tools button.active,.view-tools button:hover{background:#61705d;color:white}.view-tools .divider{border-left:1px solid #7690784d;margin:3px}.view-hint{position:absolute;bottom:10px;left:16px;color:#d1ddd0;font-size:9px;text-shadow:0 1px 3px #20352b}.north{position:absolute;bottom:15px;right:17px;color:#e5e9dc;border:1px solid #a6b69b7a;width:35px;height:35px;border-radius:50%;display:grid;place-items:center;font-size:10px;pointer-events:none}.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;border-bottom:1px solid var(--border);padding:10px 8px;background:#172427;position:sticky;top:0;z-index:1}.tabs button{padding:7px 0;font-size:9px;color:var(--muted);border-radius:5px;display:flex;flex-direction:column;gap:5px;align-items:center}.tabs button.active{color:var(--accent);background:#35382d}.inspector{padding:18px}.inspector h3{font-size:13px;margin-bottom:6px}.inspector>p{font-size:11px;color:var(--muted);margin-bottom:20px}.subheading{font-size:10px;letter-spacing:1px;text-transform:uppercase;margin:24px 0 12px;color:#8ca79a}.note{padding:11px 12px;background:#26372f;border:1px solid #3c5340;border-radius:7px;font-size:10px;color:#b6ccba;line-height:1.6;margin:15px 0}.note.warn{background:#3d3424;border-color:#6d5932;color:#e5caa0}.note.error{background:#432f2d;border-color:#76483e;color:#f0b7ab}.editor-status{height:28px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:9px;background:#101a1c;color:#97aea2;border-top:1px solid var(--border)}.status-dot{display:inline-block;width:5px;height:5px;background:#b2cc91;border-radius:50%;margin-right:6px}.toggle-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;margin-bottom:13px}.flag{display:flex;align-items:flex-start;gap:9px;padding:10px;border:1px solid #2d4440;border-radius:7px;margin-bottom:7px;background:#192b2b;cursor:pointer}.flag strong{font-weight:500;font-size:11px}.flag small{display:block;font-size:9px;color:#87a096;margin-top:2px}.flag input{flex-shrink:0;margin-top:3px}.export-file{padding:9px 0;border-bottom:1px solid var(--border);font-size:10px;word-break:break-word;display:flex;gap:8px}.code{font:11px/1.7 Consolas,monospace;background:#0e1b1d;border:1px solid var(--border);padding:13px;border-radius:7px;white-space:pre-wrap;overflow:auto}.project-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.project-card{padding:22px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.project-card h3{margin:12px 0 5px}.project-card p{font-size:11px;color:var(--muted);margin-bottom:17px}.project-card .btn{font-size:11px}.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--border);border-radius:9px;overflow:hidden}.table td,.table th{text-align:left;padding:15px 17px;border-bottom:1px solid var(--border);font-size:12px}.table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:1px}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.content-box{padding:26px;background:var(--panel);border:1px solid var(--border);border-radius:10px}.content-box p,.content-box li{color:var(--muted);font-size:12px}.content-box li{margin:9px 0}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 55% 20%,#344a3d 0,#15292c 40%,#0e191d 80%);position:relative;overflow:hidden;padding:30px}.login:before,.login:after{content:'';position:absolute;bottom:0;left:-10%;width:120%;height:35%;background:#0e1b1c;clip-path:polygon(0 35%,10% 54%,22% 5%,35% 46%,44% 0,57% 67%,66% 20%,78% 53%,87% 10%,100% 44%,100% 100%,0 100%)}.login:before{bottom:15%;opacity:.4;transform:scaleX(-1)}.login-card{position:relative;z-index:1;max-width:470px;text-align:center;padding:45px 40px;background:#172629e8;border:1px solid #42534a;border-radius:15px;box-shadow:0 30px 80px #07121088;backdrop-filter:blur(20px)}.login .brand{justify-content:center;margin-bottom:35px}.login-card h1{font-size:32px;margin:12px 0 17px}.login-card p{color:var(--muted);font-size:13px;margin-bottom:27px}.login-card .btn{width:100%;padding:13px;font-size:13px}.login-card small{display:block;margin-top:20px;font-size:10px;color:#7f9a8d}.login-footer{position:absolute;bottom:24px;z-index:1;color:#5e7b6c;font-size:10px;letter-spacing:1px}.loading{min-height:100vh;display:grid;align-content:center;justify-items:center;gap:20px;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:12px 22px;background:#d1b78b;color:#132525;border-radius:8px;box-shadow:0 7px 25px #0005;z-index:100;font-size:12px;transition:.2s;max-width:90vw}#toast.show{opacity:1;transform:translate(-50%,0)}dialog{background:#1a2a2d;color:var(--text);border:1px solid #50645a;border-radius:12px;padding:30px;width:min(650px,90vw);max-height:90vh;box-shadow:0 25px 80px #0009}dialog::backdrop{background:#061315b8;backdrop-filter:blur(4px)}dialog h2{font-size:21px}dialog p{font-size:12px;color:var(--muted)}.modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:25px}.link-edit{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-bottom:10px}.danger-text{color:#f0b7ab}.file-input{display:none}.full-width{width:100%}.spacer{height:13px}.icon-only{display:grid;place-items:center;width:31px;height:31px;border-radius:6px;color:var(--muted)}.icon-only:hover{background:#314439;color:var(--text)}.kbd{background:#1b2a29;border:1px solid #516352;border-radius:3px;padding:1px 5px;font-size:9px}.details-list{padding-left:19px}.mobile-warning{display:none}
@media(min-width:1700px){.editor-body{grid-template-columns:280px minmax(250px,1fr) 340px}.panel-section{padding:23px}.inspector{padding:24px}.field>span,.check,.flag strong{font-size:12px}.tabs button{font-size:10px}}
@media(max-width:1150px){.editor-body{grid-template-columns:215px minmax(240px,1fr) 265px}.nav{width:64px;padding:20px 5px}.nav button{width:53px}.panel-section{padding:14px 12px}.page{padding:35px}.inspector{padding:14px}.editor-title input{width:175px}.header-right .badge{display:none}.resource-grid,.project-list{grid-template-columns:repeat(2,1fr)}.breadcrumbs{display:none}.field-row.xyz{gap:5px}.layer-name{max-width:105px}}
@media(max-width:800px){.app-header{padding:0 14px}.header-right{gap:10px}.profile small{display:none}.nav{width:55px}.nav button{width:43px;font-size:8px}.page{padding:25px 18px}.welcome{padding:27px}.welcome h1{font-size:31px}.workshop-card{grid-template-columns:1fr}.mini-world{min-height:180px}.resource-grid,.project-list,.info-grid{grid-template-columns:1fr}.editor{height:auto;min-height:calc(100vh - 65px)}.editor-toolbar{flex-wrap:wrap;height:auto;min-height:85px;padding:10px;gap:5px}.editor-title input{width:180px}.editor-body{display:flex;flex-wrap:wrap}.left-panel{width:100%;max-height:235px;display:flex;border-right:0;border-bottom:1px solid var(--border)}.left-panel .panel-section{flex:1;min-width:190px}.left-panel .panel-section:last-child{min-width:210px}.viewport{width:100%;height:440px}.right-panel{width:100%;max-height:600px;border-left:0}.inspector{padding:20px}.tabs{display:flex;justify-content:space-around}.tabs button{padding:8px 14px;flex-direction:row;font-size:11px}.editor-status{height:auto;min-height:30px;gap:8px}.view-hint{font-size:8px}.toolbar-actions .btn{padding:7px 9px}.page-head{align-items:flex-start}.page-head h1{font-size:28px}.table td{padding:10px;font-size:10px}.table th{padding:10px}.brand b{font-size:12px}.brand small{font-size:8px}}
.input-with-reset{display:flex;align-items:center;gap:4px}.input-with-reset>input,.input-with-reset>select{flex:1;min-width:0}.reset-value{display:grid;place-items:center;flex:0 0 24px;width:24px;height:28px;color:#9db3a6;border-radius:4px;padding:3px}.reset-value .icon{width:14px;height:14px}.reset-value:hover{color:#f0bd7b;background:#34483b}.check-reset{display:flex;align-items:flex-start;justify-content:space-between;gap:4px;margin-bottom:13px}.check-reset .check{margin-bottom:0;flex:1}.check-reset .reset-value{height:23px}.range-row{gap:6px}.range-row input[type=range]{min-width:30px;flex:1}.scene-label{max-width:310px;pointer-events:auto}.scene-biome{display:block;margin-top:9px;padding:5px 25px 5px 8px;background:#213b35;font-size:11px;border-color:#627e6a;color:#ede9d8;width:auto;min-width:155px}.scene-label #biome-description{display:block;max-width:240px;line-height:1.5;margin-top:6px;color:#c3d1bd;font-size:9px}.field-row.xyz .reset-value{flex-basis:18px;width:18px}.field-row.xyz input{padding:7px 4px}.field-row .field small{font-size:9px}
.map-icon-overlay{position:absolute;bottom:95px;right:16px;display:flex;gap:9px;align-items:center;background:#172c2ce8;border:1px solid #687b6855;border-radius:8px;padding:8px 11px;max-width:230px;pointer-events:none}.map-icon-overlay[hidden]{display:none}.map-icon-overlay b{font-size:10px;font-weight:500}.map-icon-overlay small{display:block;font-size:9px}.map-icon-sample{width:39px;height:39px;background:radial-gradient(#727c49,#334d3c);border:1px solid #81916a;border-radius:5px;display:grid;place-items:center}.map-icon-sample img{width:30px;height:30px;object-fit:contain}.custom-icon-preview{display:flex;align-items:center;gap:15px;padding:10px;background:#293a33;border-radius:6px}.custom-icon-preview img{width:56px;height:56px;object-fit:contain;background:repeating-conic-gradient(#597063 0 25%,#3e5049 0 50%) 0/12px 12px}
