.planning-tool-section{padding-top:18px}
.planning-tool-grid,.layout-tool-grid{display:grid;grid-template-columns:minmax(280px,.82fr) minmax(0,1.35fr);gap:22px;align-items:start}
.planning-panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:0 12px 32px rgba(17,39,27,.055);padding:24px}
.planning-form{display:grid;gap:13px;margin-top:14px}
.planning-form label{display:grid;gap:6px;font-weight:800;color:var(--ink)}
.planning-form input,.planning-form select{width:100%;box-sizing:border-box}
.planning-form button{margin-top:6px}
.tool-note{color:var(--muted);font-size:14px;margin:16px 0 0}
.planning-result{min-height:300px}
.tool-result-list{display:grid;gap:10px;margin-top:18px}
.tool-result-row{display:flex;justify-content:space-between;gap:18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fbfbf8}
.tool-result-row strong{color:var(--green);white-space:nowrap}
.tool-button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.planning-subtitle{margin-top:26px}
.layout-palette{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.layout-palette button{min-height:42px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:#fbfbf8;color:var(--deep);font:inherit;font-size:13px;font-weight:800;cursor:pointer;text-align:left}
.layout-palette button:hover{background:var(--soft);border-color:var(--green);color:var(--green)}
.layout-canvas-panel{min-width:0}
.layout-canvas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.layout-canvas-head h2{margin:4px 0 0;font-size:24px}
.tool-status{color:var(--muted);font-size:13px;text-align:right}
.layout-canvas{position:relative;min-height:480px;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);border-radius:18px;background-color:#fbfbf8;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:32px 32px;margin-top:18px;touch-action:none}
.layout-item{position:absolute;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:128px;max-width:180px;min-height:48px;padding:8px 10px;border:1px solid var(--green);border-radius:12px;background:var(--soft);color:var(--deep);font-size:13px;font-weight:850;cursor:grab;user-select:none;box-shadow:0 8px 18px rgba(17,39,27,.1);touch-action:none}
.layout-item:active{cursor:grabbing}
.layout-item-remove{width:24px;height:24px;border:0;border-radius:50%;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;flex:0 0 auto}
.layout-item-remove:hover{background:#fff;color:var(--green)}
.layout-output{width:100%;box-sizing:border-box;margin-top:14px;resize:vertical}
@media(max-width:980px){.planning-tool-grid,.layout-tool-grid{grid-template-columns:1fr}.layout-canvas{min-height:380px}.layout-canvas-head{display:block}.tool-status{text-align:left;margin-top:6px}}
@media(max-width:560px){.layout-palette{grid-template-columns:1fr}.layout-canvas{min-height:320px;background-size:24px 24px}.tool-result-row{display:grid;gap:3px}}
