:root{font-family:'Yu Gothic UI','Meiryo',sans-serif;color:#203634;background:#f5f7f8;font-size:14px;--green:#087f69}*{box-sizing:border-box}body{margin:0;display:flex;height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d6e0df;background:white;border-radius:7px;padding:10px 14px;color:inherit}button:hover{background:#edf7f3}button:focus-visible,a:focus-visible{outline:3px solid #1bb595}aside{width:210px;background:#122e2c;color:#c7d7d3;flex-shrink:0;padding:30px 16px;display:flex;flex-direction:column}.brand{font-size:23px;font-weight:750;letter-spacing:1px;color:white;padding:0 8px 34px}.brand span{color:#6ee1b6}.brand small{display:block;font-size:12px;letter-spacing:1px;font-weight:400;margin-top:8px;color:#94b2ab}nav{display:grid;gap:7px}nav button{text-align:left;background:transparent;color:#bad0ca;border:0;padding:14px 12px;white-space:nowrap}nav button.active{background:#245347;color:#fff;box-shadow:inset 3px 0 #63d6a9}nav button:hover{background:#20423d}nav button span{display:inline-block;width:28px;opacity:.8}.aside-foot{margin-top:auto;font-size:11px;line-height:2;color:#8dafa5}.aside-foot small{font-size:11px}main{min-width:0;flex:1;display:flex;flex-direction:column}header{height:100px;flex-shrink:0;background:white;display:flex;justify-content:space-between;align-items:center;padding:22px 30px;border-bottom:1px solid #e2e9e7}.eyebrow{font-size:11px;letter-spacing:1.5px;font-weight:650;color:#7b9089}h1{font-size:25px;margin:5px 0 0}h2{font-size:19px;margin:7px 0 12px}h3{font-size:16px;margin:0}.head-actions{display:flex;align-items:center;gap:14px}.demo{font-size:12px;color:#677c75;background:#f1f5f3;padding:6px 10px;border-radius:5px}.avatar{display:grid;place-items:center;border-radius:50%;background:#dceee6;width:36px;height:36px}.context{padding:15px 30px;display:flex;gap:28px;border-bottom:1px solid #dfe7e3;background:#fff;font-size:12px;color:#677c75}.context b{color:#294940;margin-left:8px}.workspace{display:flex;flex:1;min-height:0}.editor{width:50%;overflow:auto;padding:28px;min-width:0}.map{width:50%;position:relative;overflow:hidden;background:#e5eee1;border-left:1px solid #d7e2dc}.map>svg{width:100%;height:100%;position:absolute}.map-top{position:absolute;top:20px;left:20px;right:20px;z-index:2;display:flex;gap:10px;justify-content:space-between;align-items:start}.map-top>div{background:#fffffff0;padding:14px;border-radius:8px;box-shadow:0 4px 15px #173b2410}.map-top small{display:block;font-size:11px;margin-top:5px;color:#6d8278}.map-top select{width:130px;background:white}.pin{position:absolute;z-index:2;border-radius:50% 50% 50% 0;transform:rotate(-45deg);width:39px;height:39px;padding:0;border:3px solid white;background:#fff;color:#446b5b;font-weight:bold;box-shadow:0 3px 8px #213e4830}.pin.selected{background:#087f69;color:white}.map-card{position:absolute;bottom:64px;left:24px;right:24px;background:#fff;padding:22px;border-radius:12px;box-shadow:0 8px 30px #24443417}.map-card p{color:#71847c}.map-card-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5ece8;padding-top:15px}.map-card-bottom button{color:var(--green);font-weight:bold}.map-key{position:absolute;bottom:22px;left:24px;right:24px;display:flex;gap:18px;font-size:11px;color:#486d5c}.card{background:white;border:1px solid #e0e8e5;border-radius:10px;margin:0 0 17px;padding:22px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.step{font-size:11px;background:#e9f4ef;color:#18775b;padding:5px 8px;border-radius:4px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}label{display:block;font-size:13px;color:#567066}input,select,textarea{display:block;width:100%;margin-top:8px;border:1px solid #d7e2de;border-radius:6px;background:#fff;color:#203e34;padding:11px;min-height:42px}input:focus,select:focus,textarea:focus{outline:2px solid #87c9b4}textarea{height:76px;resize:vertical}.wide{grid-column:1/-1}.muted{color:#7a8c85;font-size:12px;line-height:1.8}.wind{display:flex;align-items:center;gap:12px;background:#f0f8f4;border:1px solid #cde5da;padding:13px;border-radius:7px;margin-top:16px}.wind strong{font-size:26px;color:#138568}.wind small{display:block;margin-top:4px;font-size:11px}.wind.bad{background:#fff0ee;border-color:#eec3be}.wind.bad strong{color:#b93f32}.check{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #eef2ef;font-size:14px;color:#344e44}.check:last-child{border-bottom:0}.check input{width:18px;height:18px;min-height:0;margin:0;accent-color:#07846a}.footer{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.primary{background:#087f69;color:#fff;border-color:#087f69}.primary:hover{background:#076853}.primary:disabled{background:#b8c8c1;border-color:#b8c8c1;cursor:not-allowed}.summary{display:flex;gap:20px;margin:18px 0;padding:20px;background:#183e35;border-radius:9px;color:#fff}.summary b{font-size:25px;display:block;margin-top:6px}.summary small{color:#b4cec3}.list-item{padding:16px 0;border-bottom:1px solid #e5ece8;display:flex;gap:12px;justify-content:space-between}.list-item small{display:block;color:#7c8e85;margin-top:6px}.pill{font-size:11px;color:#087f69;background:#e9f6ef;padding:5px 8px;border-radius:5px;white-space:nowrap;height:fit-content}.no-map .map{display:none}.no-map .editor{width:100%;max-width:950px;margin:auto}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 24px;background:#173e33;color:white;border-radius:8px;z-index:20;display:none}.doc{display:block;background:#f6f8f7;border:1px dashed #c8d9d0;padding:22px;text-align:center;border-radius:7px;margin-top:15px}@media(min-width:1600px){.editor{padding:32px 40px}}@media(max-width:1100px){aside{width:175px;padding:24px 10px}.brand{font-size:20px}.editor{padding:17px}.map-top{display:block}.map-top select{margin-top:10px}}@media(max-width:760px){body{height:auto;min-height:100vh;display:block}aside{width:100%;padding:14px;display:block}.brand{padding:0 0 12px;font-size:20px}.brand small,.aside-foot{display:none}nav{display:flex;overflow:auto;gap:5px}nav button{padding:10px;font-size:12px}nav button span{display:none}header{height:82px;padding:16px}h1{font-size:22px}.eyebrow{font-size:10px}.head-actions{gap:6px}.head-actions .demo,.avatar{display:none}.context{padding:12px 16px;gap:12px;flex-wrap:wrap}.workspace{display:block}.editor{width:100%;padding:16px}.map{display:none;width:100%;height:75vh}.show-mobile-map .editor{display:none}.show-mobile-map .map{display:block}.grid{gap:12px}.card{padding:18px}.map-key{gap:10px}}
