:root{color:#213547;font-synthesis:none;text-rendering:optimizelegibility;background:#f4f7f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}button{font:inherit}.app-shell{min-height:100dvh;padding-top:max(18px, env(safe-area-inset-top));padding-right:max(18px, env(safe-area-inset-right));padding-bottom:max(18px, env(safe-area-inset-bottom));padding-left:max(18px, env(safe-area-inset-left));background:linear-gradient(135deg,#2eb87214,#0000 35%),linear-gradient(315deg,#e7b93f21,#0000 40%),#f4f7f2}.workspace{grid-template-columns:minmax(240px,280px) minmax(420px,1fr) minmax(260px,320px);grid-template-areas:"toolbar board status";gap:16px;min-height:calc(100dvh - 36px);display:grid}.mobile-app-header{grid-area:header;display:none}.toolbar{grid-area:toolbar}.panel,.board-shell{border:1px solid #273d3724;border-radius:8px;box-shadow:0 18px 45px #1729231c}.panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffd1;flex-direction:column;min-width:0;padding:18px;display:flex}.board-shell{background:#edf4f1;grid-area:board;min-height:600px;overflow:hidden}.board-shell canvas{touch-action:none}.panel-heading{border-bottom:1px solid #2135471c;padding-bottom:16px}.eyebrow{color:#2d6a5a;letter-spacing:0;text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}h1,h2{margin:0;line-height:1.1}h1{letter-spacing:0;max-width:12ch;margin-top:5px;font-size:clamp(2rem,4vw,3rem)}h2{color:#2f463f;letter-spacing:0;font-size:.86rem;font-weight:800}.tool-section,.status-section{border-bottom:1px solid #2135471a;padding:16px 0}.tool-section:last-child,.status-section:last-child{border-bottom:0}.preset-list{gap:9px;margin-top:10px;display:grid}.layer-switcher{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.layer-switcher button{color:#213547;cursor:pointer;background:#fff;border:1px solid #21354729;border-radius:8px;min-height:38px;font-size:.86rem;font-weight:800}.layer-switcher button.active{background:#e8f6fc;border-color:#0ea5e9a6}.preset-button,.secondary-button,.danger-button,.move-pad button,.gear-row{color:#213547;cursor:pointer;background:#fff;border:1px solid #21354729;border-radius:8px;min-height:42px;transition:transform .14s,border-color .14s,box-shadow .14s,background-color .14s}.preset-button:hover,.secondary-button:hover,.danger-button:hover:not(:disabled),.move-pad button:hover:not(:disabled),.gear-row:hover{border-color:#0ea5e98c;transform:translateY(-1px);box-shadow:0 8px 20px #21354717}.preset-button{text-align:left;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.preset-button span,.gear-row strong{font-weight:800}.preset-button small,.gear-row small,.status-grid span,.metric-row span{color:#65756f;font-size:.76rem}.selected-chip{color:#2f463f;background:#edf4f1;border:1px solid #2135471f;border-radius:8px;align-items:center;min-height:34px;margin-top:10px;padding:7px 10px;font-size:.85rem;font-weight:800;display:flex}.move-pad{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.move-pad button{padding:8px 7px;font-size:.78rem;font-weight:800}.coordinate-readout{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px;display:grid}.coordinate-readout span{color:#65756f;background:#fff;border:1px solid #2135471c;border-radius:8px;justify-content:space-between;min-height:30px;padding:6px 8px;font-size:.78rem;display:flex}.coordinate-readout strong{color:#213547}.section-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title-row span{color:#65756f;font-size:.78rem;font-weight:800}.toggle-row{cursor:pointer;align-items:center;gap:10px;margin-top:12px;font-size:.86rem;font-weight:800;display:flex}.toggle-row input{opacity:0;pointer-events:none;position:absolute}.toggle-track{background:#dbe6df;border:1px solid #2135472e;border-radius:999px;width:46px;height:26px;transition:background-color .14s;position:relative}.toggle-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .14s;position:absolute;top:3px;left:3px;box-shadow:0 3px 8px #2135472e}.toggle-row input:checked+.toggle-track{background:#2eb872}.toggle-row input:checked+.toggle-track .toggle-thumb{transform:translate(20px)}.toggle-row input:focus-visible+.toggle-track{outline-offset:2px;outline:3px solid #0ea5e959}button:disabled{cursor:not-allowed;opacity:.46}.utility-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.secondary-button,.danger-button{padding:10px;font-size:.84rem;font-weight:800}.full-width-action{width:100%;margin-top:10px}.secondary-button{background:#e8f1ec}.danger-button{color:#7f1d1d;background:#fff1f1}.status-panel{grid-area:status;gap:12px;max-height:calc(100dvh - 36px);overflow:auto}.state-banner{color:#45564f;background:#fff;border:1px solid #2135471f;border-radius:8px;padding:12px;font-size:.88rem;font-weight:800}.state-banner.success{color:#14532d;background:#dff7e9;border-color:#2eb8725c}.state-banner.error{color:#991b1b;background:#fff1f1;border-color:#ef444466}.state-banner.calm{background:#eef5f1}.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.status-grid div{background:#fff;border:1px solid #2135471a;border-radius:8px;min-height:70px;padding:12px}.status-grid strong{margin-top:6px;font-size:1.45rem;line-height:1;display:block}.metric-row{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.gear-list{gap:8px;max-height:360px;margin-top:10px;padding-right:2px;display:grid;overflow:auto}.empty-preview{color:#65756f;margin:10px 0 0;font-size:.83rem}.tool-hint,.shaft-hint{color:#65756f;margin:9px 0 0;font-size:.78rem}.selected-shaft-card{background:#eef8fc;border:1px solid #0ea5e94d;border-radius:8px;gap:3px;margin-top:10px;padding:10px;display:grid}.selected-shaft-card small{color:#65756f;font-size:.76rem}.shaft-list{max-height:240px}.shaft-row{border-color:#64748b40}.preview-list{gap:8px;margin-top:10px;display:grid}.preview-row{color:#213547;cursor:pointer;text-align:left;background:#fff;border:1px solid #2135471f;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;width:100%;min-height:50px;padding:10px;display:flex}.preview-row>span{gap:2px;display:grid}.preview-row small{color:#65756f;font-size:.76rem}.preview-row.meshed{background:#e3f8ec;border-color:#10b98175}.preview-row.near{background:#fff7df;border-color:#f59e0b75}.preview-row.overlap{background:#fff1f1;border-color:#ef444475}.preview-row-data{justify-items:end}.gear-row{text-align:left;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.gear-row>span{gap:2px;display:grid}.gear-row.selected{background:#e8f6fc;border-color:#0ea5e9a6}.gear-row.conflict{background:#fff1f1;border-color:#ef444480}.gear-row-data{justify-items:end}@media (width<=1100px){.workspace{grid-template-columns:260px minmax(420px,1fr);grid-template-areas:"toolbar board""status status"}.status-panel{grid-column:1/-1}}@media (width<=760px){.app-shell{padding-top:max(10px, env(safe-area-inset-top));padding-right:max(10px, env(safe-area-inset-right));padding-bottom:max(10px, env(safe-area-inset-bottom));padding-left:max(10px, env(safe-area-inset-left))}.workspace{grid-template-columns:1fr;grid-template-areas:"header""board""toolbar""status";min-height:auto}.mobile-app-header{background:#ffffffe0;border:1px solid #273d3724;border-radius:8px;padding:18px;display:block;box-shadow:0 18px 45px #17292317}.toolbar .panel-heading{display:none}.board-shell{min-height:45dvh}.status-panel{max-height:none;overflow:visible}h1{max-width:none;font-size:2rem}}
