@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-jp-japanese-400-normal-C7ZJEbOP.woff2)format("woff2"),url(/assets/noto-sans-jp-japanese-400-normal-Cz5vNlQ5.woff)format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/noto-sans-jp-japanese-500-normal-DQLMyWIX.woff2)format("woff2"),url(/assets/noto-sans-jp-japanese-500-normal-CaN3BSiH.woff)format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/noto-sans-jp-japanese-600-normal-DGzj4jEH.woff2)format("woff2"),url(/assets/noto-sans-jp-japanese-600-normal-D5376clc.woff)format("woff")}:root{--accent:#0e9e6b;--accent-soft:#0e9e6b1f;--accent-border:#0e9e6b59;--bg:#f3f6f4;--surface:#fff;--text:#1f2933;--muted:#5c6b66;--border:#dce5e0;--danger:#c43d3d;--radius-lg:20px;--radius-md:14px;--radius-sm:10px;--shadow:0 12px 40px #12262014;--font:"Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);color:var(--text);background:radial-gradient(circle at 20% 0%, #e8f5ef, var(--bg) 45%);margin:0}button,input,select{font-family:inherit}.app-shell{flex-direction:column;gap:16px;max-width:1680px;min-height:100%;margin:0 auto;padding:20px;display:flex}.topbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;display:flex}.brand{align-items:center;gap:14px;display:flex}.brand-mark{background:linear-gradient(145deg, #11b67a, var(--accent));border-radius:14px;width:42px;height:42px;box-shadow:inset 0 0 0 1px #ffffff40}.brand h1{margin:0;font-size:1.25rem;font-weight:600}.brand p{color:var(--muted);margin:2px 0 0;font-size:.86rem}.top-controls{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.workspace{grid-template-columns:minmax(420px,1.1fr) minmax(380px,.9fr);gap:16px;min-height:520px;display:grid}.left-stack,.right-stack{min-height:0}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;gap:12px;height:100%;padding:18px;display:flex}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.panel h2,.panel h3{margin:0;font-size:1.05rem;font-weight:600}.chart-panel{min-height:540px}.chart-stage{border-radius:var(--radius-md);border:1px dashed var(--border);background:linear-gradient(#fbfdfc,#fff);flex:1;min-height:460px;position:relative;overflow:hidden}.chart-stage .echarts-for-react,.chart-stage .chart-canvas{border-radius:var(--radius-md);overflow:hidden}.chart-stage--combo .chart-canvas{z-index:1;position:relative}.annotation-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.annotation-layer-over{z-index:2}.combo-line-layer{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.annotation-layer .ann text,.annotation-layer .ann g[transform],.annotation-layer .ann path{pointer-events:auto;cursor:grab}.preset-row{flex-wrap:wrap;gap:6px;display:flex}.preset-row button{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:999px;padding:6px 10px;font-size:.82rem;font-weight:600}.preset-row button:hover{border-color:var(--accent);background:var(--accent-soft)}.chart-note{color:var(--muted);margin:0;font-size:.82rem}.sheet-wrap{border-radius:var(--radius-md);border:1px solid var(--border);flex:1;overflow:auto}.sheet{border-collapse:separate;border-spacing:0;width:100%;font-size:.9rem}.sheet th,.sheet td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);background:#fff;padding:0}.sheet th.corner{background:#f7faf8;min-width:120px}.head-input,.cell-input{background:0 0;border:0;width:100%;min-width:84px;padding:10px 12px}.head-input{color:var(--muted);font-weight:600}.cell.active{box-shadow:inset 0 0 0 2px var(--accent)}.cell-input:focus{background:var(--accent-soft);outline:none}.settings-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.panel.compact{min-height:unset}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:.86rem;display:flex}.field.inline{min-width:200px}.field.pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}input,select{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);background:#fff;padding:10px 12px}input[type=color]{height:42px;padding:4px}.field.range-field{gap:8px}.range-row{align-items:center;gap:12px;display:flex}.range-value{min-width:3.2em;color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600}input[type=range]{appearance:none;background:linear-gradient(90deg, var(--accent-soft), #e8efe9);border:1px solid var(--accent-border);border-radius:999px;width:100%;height:8px;padding:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 8px #0e9e6b59}input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;border:2px solid #fff;border-radius:50%;width:20px;height:20px;box-shadow:0 2px 8px #0e9e6b59}input[type=range]::-moz-range-track{background:linear-gradient(90deg, var(--accent-soft), #e8efe9);border-radius:999px;height:8px}.btn-row{flex-wrap:wrap;gap:8px;display:flex}.btn{border:1px solid var(--accent-border);background:var(--accent);color:#fff;cursor:pointer;border-radius:999px;padding:10px 16px;font-weight:600;transition:transform .12s,box-shadow .12s}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px #0e9e6b40}.btn.ghost{color:var(--accent);background:#fff}.btn.danger.ghost{color:var(--danger);border-color:#c43d3d59}.checks{grid-template-columns:1fr 1fr;gap:8px;font-size:.88rem;display:grid}.checks label{align-items:center;gap:8px;display:flex}.hint,.meta,.selection-hint{color:var(--muted);margin:0;font-size:.84rem}.ann-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ann-list li{align-items:center;gap:8px;display:flex}.ann-chip{text-align:left;border:1px solid var(--border);cursor:pointer;background:#f7faf8;border-radius:999px;flex:1;padding:8px 12px}.ann-chip.active{border-color:var(--accent);background:var(--accent-soft)}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;width:32px;height:32px;font-size:1.1rem}.ann-editor{border-radius:var(--radius-md);border:1px solid var(--border);background:#f7faf8;flex-direction:column;gap:10px;padding:12px;display:flex}@media (width<=1100px){.workspace,.settings-grid{grid-template-columns:1fr}}
