:root{font-family:IBM Plex Sans JP,Noto Sans JP,sans-serif;color:#0f172a;background:radial-gradient(circle at 4% -8%,rgba(59,130,246,.16),transparent 30%),radial-gradient(circle at 100% 0%,rgba(251,191,36,.2),transparent 36%),linear-gradient(180deg,#f8fbff,#eef4ff)}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{min-height:100vh;color:#0f172a}.editor-page{--left-palette-width: 330px;display:grid;grid-template-columns:var(--left-palette-width) minmax(0,1fr) 280px;gap:18px;min-height:100vh;padding:16px;position:relative}.editor-page.is-right-palette-closed{grid-template-columns:var(--left-palette-width) minmax(0,1fr)}.palette,.workspace{border:1px solid rgba(148,163,184,.34);border-radius:20px;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 16px 34px #0f172a1f}.palette{display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;min-width:50px;width:var(--left-palette-width)}.left-palette-resizer{width:12px;transform:translate(-50%);border-radius:8px;background:transparent;cursor:col-resize;position:absolute;top:16px;bottom:16px;z-index:5}.left-palette-resizer:after{content:"";position:absolute;left:50%;top:0;bottom:0;transform:translate(-50%);width:1px;border-radius:4px;background:#94a3b8bf}.left-palette-resizer:hover,.left-palette-resizer.is-active{background:#3b82f614}.left-palette-resizer:hover:after,.left-palette-resizer.is-active:after{background:#2563ebf2}.palette__header{padding:8px;min-height:8px;border-bottom:1px solid rgba(148,163,184,.3);background:linear-gradient(120deg,#7dd3fc73,#bfdbfe73)}.palette__list{overflow:auto;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-auto-rows:min-content;align-content:start;gap:8px}.palette__item{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px;text-align:left;border:1px solid rgba(148,163,184,.42);border-radius:14px;padding:9px 10px;min-height:0;background:#fff;color:inherit;cursor:pointer;transition:transform .16s ease,background-color .16s ease}.palette__item:hover{transform:translateY(-1px);background:#eff6ff}.palette__item:active{cursor:grabbing}.palette__item.is-touch-selected{border-color:#2563ebdb;background:#dbeafe;box-shadow:inset 0 0 0 1px #3b82f659}.palette__item.is-disabled{position:relative;overflow:hidden;background:#94a3b83d;border-color:#64748b8c;color:#0f172ac2;cursor:not-allowed}.palette__item.is-disabled:hover{transform:none;background:#94a3b83d}.palette__item.is-disabled:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(-35deg,#d9770600 0,#d9770600 12px,#d977069e 12px,#d977069e 16px);pointer-events:none}.palette__item.is-disabled .palette__icon{background:#94a3b875}.palette__item strong{display:block;font-size:.92rem}.palette__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:#e2e8f0;color:#1e293b;flex-shrink:0}.palette__labels{display:grid;gap:2px;margin-top:2px;align-content:start}.palette__item small{color:#475569c7;font-size:.72rem}.palette__item.is-disabled small{color:#334155e0}.workspace{display:grid;grid-template-rows:auto auto minmax(0,1fr);padding:12px}.inspector{border:1px solid rgba(148,163,184,.34);border-radius:20px;background:#ffffffeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 16px 34px #0f172a1f;padding:14px;display:grid;gap:14px;align-content:start}.inspector__section{border:1px solid rgba(148,163,184,.34);border-radius:12px;padding:10px;display:grid;gap:8px}.inspector__section h3{margin:0;font-size:.92rem}.inspector__preset-grid{display:grid;gap:6px}.inspector__preset-grid button,.inspector__field input[type=number]{border:1px solid rgba(148,163,184,.48);border-radius:10px;background:#fff;color:#0f172a}.inspector__preset-grid button{padding:7px 8px;text-align:left;cursor:pointer}.inspector__preset-grid button.is-active{border-color:#2563ebd1;background:#dbeafe}.inspector__field{display:grid;gap:5px;font-size:.8rem;color:#1e293be6}.inspector__field input[type=number]{padding:6px 8px}.inspector__field small{color:#475569d9}.inspector__summary{display:grid;gap:2px}.inspector__summary strong{font-size:.9rem}.inspector__summary small,.inspector__hint{color:#475569e0;font-size:.78rem}.inspector__hint{margin:0;line-height:1.5}.inspector__toggle{display:flex;align-items:center;gap:8px;font-size:.84rem;color:#0f172af2}.inspector__toggle input{width:16px;height:16px}.toolbar{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.toolbar__left,.toolbar__right{display:flex;gap:8px;flex-wrap:wrap}.toolbar button{border:1px solid rgba(148,163,184,.48);border-radius:12px;padding:8px 12px;background:#fff;color:#0f172a;cursor:pointer}.toolbar button.is-active{border-color:#2563ebd1;background:#dbeafe}.toolbar button:disabled{opacity:.45;cursor:not-allowed}.toolbar__palette-toggle{margin-left:auto}.validation-banner{margin:10px 0 0;padding:10px 12px;border-radius:12px;border:1px solid rgba(239,68,68,.36);background:#fef2f2;color:#991b1b;font-size:.88rem}.stage-wrap{margin-top:10px;border-radius:14px;overflow:hidden;border:1px solid rgba(148,163,184,.35);background:#fff;transition:box-shadow .14s ease,border-color .14s ease;display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0}.stage-status{padding:8px 10px;border-bottom:1px solid rgba(148,163,184,.34);font-size:.78rem;color:#1e293bd9;background:#f1f5f9a6}.stage-canvas-wrap{overflow:hidden;max-width:100%;height:100%;cursor:default;-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:contain;position:relative}.stage-canvas-wrap.is-pan-mode{cursor:grab}.stage-canvas-wrap.is-panning{cursor:grabbing}.stage-canvas-wrap.is-touch-selecting{cursor:crosshair}.stage-wrap.is-drop-target{border-color:#2563eb;box-shadow:inset 0 0 0 2px #2563eb33}.stage-wrap canvas{width:100%;height:auto;display:block;touch-action:none}.context-menu{background:#fff;border:1px solid rgba(148,163,184,.48);border-radius:12px;box-shadow:0 8px 20px #0f172a29;display:grid;grid-template-columns:1fr;gap:0;min-width:120px}.context-menu__item{padding:10px 14px;border:none;background:transparent;color:#0f172a;cursor:pointer;text-align:left;font-size:.92rem;transition:background-color .14s ease}.context-menu__item:first-child{border-radius:12px 12px 0 0}.context-menu__item:last-child{border-radius:0 0 12px 12px}.context-menu__item:hover{background:#f1f5f9}.context-menu__item:active{background:#e2e8f0}@media (max-width: 1100px){.editor-page{display:flex;flex-direction:column}.editor-page.is-right-palette-closed{grid-template-columns:1fr}.palette{width:100%;max-height:42vh;min-width:0}.workspace,.inspector{width:100%}.left-palette-resizer{display:none}}
