:root{font-family:'Noto Sans JP',sans-serif;color:#303e38;background:#fafbf8;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;background:white;border:1px solid #dfe5dc;border-radius:8px;padding:9px 13px;color:inherit}button:hover{background:#edf3e9}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #568768;outline-offset:2px}header{height:76px;border-bottom:1px solid #e3e7de;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:#fff}.brand{font-size:24px;color:#557660;display:flex;gap:10px;align-items:center}.brand strong{font-size:18px;color:#34483a}.brand small{font-size:11px;color:#90978e;margin-left:15px}.actions{display:flex;gap:8px;align-items:center}#saved{font-size:11px;color:#71836f;margin-right:12px}.layout{display:grid;grid-template-columns:218px minmax(300px,1fr) 290px;height:calc(100dvh - 76px)}.sidebar{padding:30px 18px;border-right:1px solid #e2e7df;display:flex;flex-direction:column;background:#f4f6f0}.eyebrow{font-size:9px;letter-spacing:2px;color:#8a9788;font-weight:700}h2{font-size:15px;margin:12px 0 24px}h2 button{float:right;padding:0 7px;font-size:20px}nav button{width:100%;text-align:left;margin-bottom:8px;border:0;background:transparent;padding:14px 12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav button.active{background:#e4ecdf;color:#456646;font-weight:600}.sidebottom{margin-top:auto;color:#6a7b65;font-size:11px;line-height:1.9}.sidebottom p{color:#8b9486}.sidebottom button{font-size:10px}main{min-width:0;display:flex;flex-direction:column}.maphead{padding:29px 32px 22px;display:flex;align-items:center;justify-content:space-between;gap:15px}#title{font-size:24px;font-weight:600;border:0;background:transparent;width:100%;color:#344839;padding:6px 0}.maphead p{font-size:11px;color:#939b90;margin:5px 0}.primary{background:#52765c;color:#fff;border:0;white-space:nowrap}.primary:hover{background:#3f6049}.canvas{position:relative;flex:1;min-height:380px;overflow:hidden;background-color:#fafbf8;background-image:radial-gradient(#d8dfd1 1px,transparent 1px);background-size:22px 22px;border-top:1px solid #e9ede4;border-bottom:1px solid #e9ede4;touch-action:none}#world,#lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform-origin:0 0}#lines{pointer-events:none}.node{position:absolute;min-width:140px;max-width:240px;padding:15px 20px;border:1px solid var(--color);border-left:4px solid var(--color);border-radius:12px;background:#fff;box-shadow:0 3px 12px #263a2510;cursor:grab;user-select:none;touch-action:none;line-height:1.6}.node.selected{outline:2px solid var(--color);outline-offset:4px}.node.root{background:#54765d;color:white;border-color:#54765d;font-size:17px;font-weight:600}.node small{display:block;font-size:10px;opacity:.7;margin-top:5px}.node .fold{float:right;margin-left:10px}.node img{display:block;max-width:160px;max-height:90px;border-radius:5px;margin-top:8px}.hint{position:absolute;bottom:23px;left:22px;color:#929d8b;font-size:10px;pointer-events:none}.zoom{position:absolute;right:18px;bottom:17px;display:flex;align-items:center;gap:8px;background:white;border:1px solid #e4e9df;border-radius:10px;padding:3px;box-shadow:0 3px 12px #00000005}.zoom button{border:0;padding:6px 9px}.zoom span{font-size:11px}footer{padding:14px 28px;font-size:10px;color:#89967f;display:flex;justify-content:space-between}.inspector{background:#fff;border-left:1px solid #e3e7de;padding:30px 23px;overflow:auto}label{display:block;font-size:11px;color:#75816f;margin-bottom:19px}label input,label textarea,label select{width:100%;margin-top:8px;border:1px solid #dfe5da;border-radius:7px;background:#fcfdfb;padding:10px;color:#344234;resize:vertical}.row{display:flex;gap:10px}.row label{width:50%}#colors{display:flex;gap:10px;margin-top:10px}#colors button{width:23px;height:23px;padding:0;border:3px solid #fff;outline:1px solid #e1e6dc;border-radius:50%}#colors button.chosen{outline:2px solid #485944}.tools{border-top:1px solid #eee;padding-top:18px;display:grid;gap:10px}.danger{color:#a16458}#attachment{max-width:100%;border-radius:8px}#visit{display:block;margin:-10px 0 15px;color:#52765c;font-size:11px}#visit[hidden]{display:none}#checklist label{display:flex;align-items:center;gap:8px}#checklist input{width:auto;margin:0} @media(max-width:1100px){.layout{grid-template-columns:170px minmax(250px,1fr) 250px}.brand small{display:none}.actions button{padding:8px}.sidebar{padding:25px 12px}.inspector{padding:25px 16px}.hint{display:none}}@media(max-width:780px){header{height:auto;min-height:75px;padding:15px;flex-wrap:wrap;gap:14px}.brand{font-size:20px}.actions{flex-wrap:wrap}#saved{display:none}.layout{height:auto;display:flex;flex-wrap:wrap}.sidebar{width:100%;padding:14px}.sidebar .eyebrow,.sidebar h2,.sidebottom{display:none}nav{display:flex;overflow:auto}nav button{width:auto;min-width:130px;margin:0}.sidebar:after{content:'新規マップは下の＋から作成できます';font-size:10px;color:#89957e}main{width:100%;height:650px}.inspector{width:100%;border-top:1px solid #ddd}.maphead{padding:20px}#title{font-size:20px}footer span{display:none}}
