@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;600;700&family=Merriweather:wght@400;700&family=Noto+Sans+JP:wght@400;600;700&family=Poppins:wght@400;600;700&family=Roboto:wght@400;700&family=Shippori+Mincho:wght@400;700&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap";:root{--bg:#edf2f7;--panel:#fbfcfe;--panel-strong:#fff;--line:#d5deea;--line-strong:#aebccd;--text:#142033;--muted:#66758a;--accent:#2463a6;--accent-strong:#174d84;--success:#2f8f65;--ease-out:cubic-bezier(.23, 1, .32, 1);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,Noto Sans JP,Arial,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid var(--line-strong);color:var(--text);cursor:pointer;min-height:34px;transition:border-color .14s ease, background-color .14s ease, color .14s ease, transform .12s var(--ease-out);background:#fff;border-radius:6px;padding:0 12px}button:active{transform:scale(.98)}@media (hover:hover) and (pointer:fine){button:hover{border-color:var(--accent)}}button:disabled{color:#8a97a8;cursor:not-allowed;transform:none}input,select,textarea{border:1px solid var(--line-strong);color:var(--text);border-radius:6px;width:100%;min-height:36px;padding:8px 10px}input:focus,select:focus,textarea:focus,button:focus-visible{outline-offset:1px;outline:3px solid #2463a638}textarea{resize:vertical;min-height:92px}input[type=color]{padding:2px}.app-shell{grid-template:"topbar topbar""panel workspace"minmax(0,1fr)/390px minmax(0,1fr);min-height:100vh;display:grid}.topbar{border-bottom:1px solid var(--line);background:#fff;grid-area:topbar;justify-content:space-between;align-items:center;min-height:68px;padding:12px 20px;display:flex}.topbar h1{margin:0;font-size:22px;line-height:1.1}.topbar p{color:var(--muted);margin:5px 0 0;font-size:12px;font-weight:700}.topbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.primary-action{background:var(--accent);border-color:var(--accent);color:#fff;min-width:58px;font-weight:700}.primary-action:hover{background:var(--accent-strong)}.panel{background:var(--panel);border-right:1px solid var(--line);grid-area:panel;gap:12px;max-height:calc(100vh - 68px);padding:14px;display:grid;overflow-y:auto}.control-card{background:var(--panel-strong);border:1px solid var(--line);border-radius:8px;gap:12px;padding:14px;display:grid}.section-title{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.section-title h2{margin:0;font-size:15px;line-height:1.2}.section-title span{color:var(--muted);font-size:12px;font-weight:700}h3{color:var(--muted);margin:4px 0 0;font-size:12px}label{color:#3d4c61;gap:6px;font-size:12px;font-weight:700;display:grid}label small{color:var(--muted);margin-top:2px;font-size:11px;font-weight:600;display:block}.two-columns,.stepper-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.switch-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.switch-row input{accent-color:var(--accent);width:20px;height:20px;min-height:20px}.row-size-control,.font-size-control{border-top:1px solid var(--line);padding-top:12px}.row-size-control>div,.font-size-control>div{grid-template-columns:minmax(0,1fr) 82px;align-items:center;gap:8px;display:grid}.column-control{border-top:0;padding-top:0}.segmented{border:1px solid var(--line);background:#eef3f8;border-radius:8px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.segmented button{background:0 0;border-color:#0000}.segmented .active{border-color:var(--line-strong);color:var(--accent-strong);background:#fff;font-weight:700}.control-fieldset{border:0;margin:0;padding:0}.control-fieldset legend{color:var(--muted);margin:0 0 6px;font-size:12px;font-weight:700}.stepper{gap:6px;display:grid}.stepper>span{color:#3d4c61;font-size:12px;font-weight:700}.stepper div{grid-template-columns:34px minmax(0,1fr) 34px;display:grid}.stepper button{border-radius:0;padding:0;font-size:18px}.stepper button:first-child{border-radius:6px 0 0 6px}.stepper button:last-child{border-radius:0 6px 6px 0}.stepper input{text-align:center;border-left:0;border-right:0;border-radius:0}.track-control{grid-template-columns:34px minmax(0,1fr) 80px;align-items:center;gap:8px;display:grid}.hidden-input{display:none}.workspace{grid-area:workspace;grid-template-rows:auto minmax(0,1fr);min-width:0;display:grid}.canvas-toolbar{border-bottom:1px solid var(--line);color:var(--muted);background:#f7fafc;align-items:center;min-height:42px;padding:0 20px;font-size:12px;font-weight:700;display:flex}.preview-frame{align-items:start;padding:24px;display:grid;overflow:auto}.canvas-scale{border:1px solid var(--line);background-color:#f6f9fc;background-image:linear-gradient(45deg,#dde6f0 25%,#0000 25%),linear-gradient(-45deg,#dde6f0 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#dde6f0 75%),linear-gradient(-45deg,#0000 75%,#dde6f0 75%);background-position:0 0,0 10px,10px -10px,-10px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:20px 20px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box;border-radius:8px;width:max-content;min-width:min(100%,1220px);padding:18px}.timetable-grid{border:1px solid var(--line-strong);background:#f8fafc;min-width:0;max-width:none;display:grid;overflow:visible}.grid-cell{text-align:center;white-space:pre-wrap;border:1px solid #cbd5e1;border-radius:0;justify-content:center;align-items:center;min-width:104px;min-height:76px;padding:14px;font-weight:600;transition:box-shadow .14s,outline-color .14s;display:flex}.grid-cell.header-cell{letter-spacing:0}.grid-cell.selected{box-shadow:inset 0 0 0 3px var(--success);z-index:1;position:relative}.timetable-grid.capture-mode .grid-cell.selected{box-shadow:none}.grid-cell textarea{border-color:var(--success);resize:none;background:#ffffffeb;height:100%;min-height:100%}@media (width<=980px){.app-shell{grid-template-columns:1fr;grid-template-areas:"topbar""panel""workspace"}.topbar{flex-direction:column;align-items:flex-start;gap:12px}.topbar-actions{justify-content:flex-start}.panel{border-right:0;max-height:none}.preview-frame{padding:14px}}@media (width<=560px){.two-columns,.stepper-grid{grid-template-columns:1fr}.canvas-scale{padding:10px}}
