:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1d2430;--surface-base:#f7f9fc;--surface-soft:#fff;--surface-muted:#f3f6fa;--surface-accent:#edf4ff;--surface-warning:#fff2eb;--border-soft:#1824351f;--border-subtle:#18243514;--text-main:#1d2430;--text-soft:#667388;--text-accent:#2f6fe4;--accent-strong:#2f6fe4;--accent-rgb:47, 111, 228;--radius-xl:.72rem;--radius-lg:.56rem;--radius-md:.44rem;--radius-sm:.32rem;--radius-pill:.48rem;--preview-sheet-width:980px;--preview-pane-width:1016px;--workspace-side-rail-width:208px;--preview-pane-reduced-width:calc(var(--preview-pane-width) - var(--workspace-side-rail-width));--design-preview-card-width:231.8px;--layout-config-stack-width:256.2px;--shadow-soft:#18243514;--shadow-strong:#1824351f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#8ea7c724,#0000 22%),linear-gradient(#fff 0%,#f4f7fb 100%);font-family:Yu Gothic UI,Hiragino Sans,Meiryo,sans-serif}*{box-sizing:border-box}body{min-width:320px;height:100svh;margin:0;overflow:hidden}button,input,select{font:inherit}button{cursor:pointer}#app{height:100svh;min-height:100svh}.app-shell{flex-direction:column;height:100svh;min-height:100svh;display:flex}.topbar{z-index:40;border-bottom:1px solid var(--border-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffe0;justify-content:space-between;align-items:center;gap:1rem;padding:6px 1.2rem;display:flex;position:relative}.brand-lockup,.brand-lockup div{gap:.18rem;display:grid}.brand-lockup h1,.sheet-header h3,.panel-heading h3{color:var(--text-main);margin:0}.brand-lockup h1{font-size:1.45rem;line-height:1}.brand-lockup p:last-child{color:var(--text-soft);margin:0;font-size:.88rem}.eyebrow,.sheet-caption{letter-spacing:.14em;text-transform:uppercase;color:var(--text-accent);margin:0;font-size:.7rem}.topbar-actions,.status-chip-row,.preview-chip-row,.button-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.status-chip,.preview-chip-row span{border-radius:var(--radius-pill);border:1px solid var(--border-soft);color:var(--text-soft);background:#fffffff5;padding:.38rem .65rem;font-size:.78rem}.export-menu{position:relative}.export-menu[open]{z-index:60}.export-trigger{border-radius:var(--radius-pill);border:1px solid var(--border-soft);background:var(--surface-soft);width:2.8rem;height:2.8rem;color:var(--text-main);place-items:center;list-style:none;display:grid}.export-trigger.is-text{justify-content:center;align-items:center;width:auto;height:auto;min-height:2.8rem;padding:.75rem .95rem;font-size:.88rem;font-weight:600;display:inline-flex}.export-trigger:hover,.export-trigger:focus-visible,.export-menu[open]>.export-trigger{background:var(--surface-accent);border-color:rgba(var(--accent-rgb), .36);box-shadow:0 10px 20px rgba(var(--accent-rgb), .12);color:var(--text-main)}.export-trigger::-webkit-details-marker{display:none}.export-trigger svg{width:1.1rem;height:1.1rem}.export-popover{z-index:80;border-radius:var(--radius-lg);border:1px solid var(--border-soft);min-width:9rem;box-shadow:0 14px 30px var(--shadow-strong);background:#fffffffa;gap:.35rem;padding:.45rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0}.export-popover button{border-radius:var(--radius-md);text-align:left;background:var(--surface-muted);color:var(--text-main);border:0;padding:.7rem .8rem}.saved-list-popover{min-width:14rem;max-width:18rem}.saved-list-header,.saved-list-item{gap:.15rem;display:grid}.saved-list-header{padding:.25rem .2rem .35rem}.saved-list-header strong{color:var(--text-main)}.saved-list-header span,.saved-list-item span,.saved-list-empty{color:var(--text-soft);margin:0;font-size:.76rem}.saved-list-item{cursor:pointer;width:100%}.saved-list-item strong{color:var(--text-main);font-weight:700}.saved-list-item:hover,.saved-list-item:focus-visible,.export-popover button:hover,.export-popover button:focus-visible{background:var(--surface-accent);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb), .24)}.saved-list-empty{padding:.35rem .2rem .1rem}.save-toast{z-index:90;border-radius:var(--radius-md);border:1px solid rgba(var(--accent-rgb), .24);max-width:min(22rem,100vw - 2rem);box-shadow:0 14px 30px var(--shadow-strong);color:var(--text-main);background:#fffffffa;padding:.85rem 1rem;font-size:.88rem;font-weight:600;position:fixed;top:5rem;right:1.2rem}.seat-confirm-overlay{z-index:95;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#1824352e;place-items:center;padding:1.2rem;display:grid;position:fixed;inset:0}.seat-confirm-dialog{border:1px solid var(--border-soft);border-radius:var(--radius-lg);min-width:min(22rem,100vw - 2.4rem);box-shadow:0 18px 36px var(--shadow-strong);background:#fffffffa;gap:.9rem;padding:1rem 1.05rem;display:grid}.seat-confirm-dialog strong{color:var(--text-main);font-size:.96rem}.seat-confirm-actions{justify-content:flex-end;gap:.55rem;display:flex}.workspace{flex:1;grid-template-columns:minmax(320px,380px) minmax(0,1fr);gap:1rem;min-height:0;padding:1rem 1.2rem 1.2rem;display:grid;overflow:auto hidden}.workspace.is-data-panel{grid-template-columns:540px minmax(var(--preview-pane-reduced-width), 1fr) var(--workspace-side-rail-width);gap:0;padding:0}.workspace.is-design-panel{grid-template-columns:minmax(560px, 700px) var(--preview-pane-width)}.workspace.is-data-panel .sheet-card,.workspace.is-design-panel .sheet-card{width:var(--preview-sheet-width)}.inspector{min-height:0;max-height:100%;box-shadow:none;background:#ffffffd6;border:0;border-radius:0;flex-direction:column;align-self:start;display:flex;position:relative;overflow:visible}.workspace.is-data-panel .inspector{z-index:6;border-right:1px solid var(--border-subtle);max-height:none;box-shadow:none;align-self:stretch;margin:0}.workspace-side-rail{display:none}.workspace.is-data-panel .workspace-side-rail{border-left:1px solid var(--border-subtle);background:#f3f6faf7;min-height:0;display:block}.workspace-side-rail-body{background:#fff;grid-template-rows:auto minmax(0,1fr);gap:.7rem;height:100%;min-height:0;padding:.85rem 0 .85rem .75rem;display:grid}.workspace-side-rail-header{color:var(--text-main);letter-spacing:.03em;font-size:.82rem;font-weight:700}.workspace-side-rail-list{align-content:start;gap:.32rem;min-height:0;margin-right:0;padding-right:10px;display:grid;overflow:auto}.roster-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);cursor:pointer;background:#fffffff0;align-items:center;min-height:2.05rem;padding:.42rem .6rem;transition:transform .14s,box-shadow .14s,border-color .14s,background-color .14s;display:grid;box-shadow:0 8px 18px #1824350a}.roster-card:hover,.roster-card:focus-within{border-color:rgba(var(--accent-rgb), .26);box-shadow:0 12px 24px rgba(var(--accent-rgb), .12);background:#f6f9ff;transform:translateY(-2px)}.roster-card strong{min-width:0;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;display:block;overflow:hidden}.workspace.is-data-panel .preview-pane{min-width:var(--preview-pane-reduced-width)}.condition-preview-card .design-seat-preview,.condition-preview-card .design-seat-preview .seat-layout,.condition-preview-card .design-seat-preview .seat-layout *,.preview-pane .seat-card>.seat-layout,.preview-pane .seat-card>.seat-layout *{border-radius:0}.preview-pane{min-height:0;box-shadow:0 18px 48px var(--shadow-soft);background:#f3f6faf7;border:0;border-radius:0;position:relative}.inspector-body{min-height:0;box-shadow:none;background:0 0;flex-direction:column;flex:1;padding-top:16px;display:flex}.panel-heading p,.status-text,.template-copy p,.template-copy span,.field span,.reference-card figcaption,.warning-banner{color:var(--text-soft);margin:0;font-size:.84rem}.tab-strip{grid-template-columns:repeat(var(--tab-count,4), minmax(0, 1fr));border-bottom:1px solid var(--border-subtle);gap:.5rem;padding:.85rem 1rem .9rem;display:grid}.tab-button{border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--surface-soft);color:var(--text-main);text-align:center;gap:.12rem;padding:.7rem .45rem;display:grid}.tab-button span{color:var(--text-accent);font-size:.72rem}.tab-button.is-active{border-color:rgba(var(--accent-rgb), .28);background:var(--surface-accent)}.panel-scroll{flex:1;min-height:0;padding:1rem 8px 1rem 1rem;overflow:auto}.panel-card{gap:.9rem;display:grid}.panel-heading{gap:.18rem;display:grid}.field,.data-preview-card,.object-card,.template-card,.reference-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-soft)}.field{box-shadow:none;background:0 0;border:0;border-radius:0;gap:.25rem;padding:0;display:grid}.field span{color:var(--text-soft);font-size:.78rem}.field input,.field select,.field textarea{border-radius:var(--radius-sm);border:1px solid var(--border-soft);width:100%;min-width:0;min-height:1.95rem;color:var(--text-main);background:#fff;padding:.35rem .7rem}.field-grid,.compact-columns,.mapping-grid,.object-stack,.setup-columns,.mapping-workbench,.mapping-token-grid,.mapping-seat-shell,.layout-section-stack,.design-workbench,.layout-size-grid{gap:.75rem;display:grid}.compact-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.setup-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end}.setup-inline-summary{align-items:flex-end;gap:.35rem;min-height:1.95rem;padding-bottom:.1rem;display:flex}.setup-inline-summary span{color:var(--text-soft);margin:0;font-size:.78rem;line-height:1.1}.setup-inline-summary strong{color:var(--text-main);font-size:1.2rem;line-height:1}.setup-spacer{min-height:1px}.mapping-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mapping-workbench{grid-template-columns:var(--design-preview-card-width) var(--layout-config-stack-width);align-items:start}.mapping-workbench>*{min-width:0}.mapping-token-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-workbench{grid-template-columns:var(--design-preview-card-width) var(--layout-config-stack-width);align-items:start}.design-workbench>*{min-width:0}.layout-section-stack{width:var(--layout-config-stack-width);min-width:0}.warning-banner{color:#9a4127;background:var(--surface-warning)}.secondary-button,.primary-button,.ghost-button{border-radius:var(--radius-pill);border:1px solid #0000;padding:.75rem .95rem;transition:background-color .14s,border-color .14s,box-shadow .14s,transform .14s,color .14s}.primary-button{background:var(--accent-strong);color:#fff}.secondary-button{background:var(--surface-muted);border-color:var(--border-soft);color:var(--text-main)}.ghost-button{border-color:var(--border-soft);color:var(--text-soft);background:0 0}.primary-button:hover,.primary-button:focus-visible{box-shadow:0 10px 20px rgba(var(--accent-rgb), .2);background:#245dc4;transform:translateY(-1px)}.secondary-button:hover,.secondary-button:focus-visible{background:var(--surface-accent);border-color:rgba(var(--accent-rgb), .36);box-shadow:0 10px 20px rgba(var(--accent-rgb), .12);transform:translateY(-1px)}.ghost-button:hover,.ghost-button:focus-visible{background:rgba(var(--accent-rgb), .08);border-color:rgba(var(--accent-rgb), .24);color:var(--text-main)}.upload-button{position:relative;overflow:hidden}.upload-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.mapping-seat-actions{justify-self:stretch;justify-items:end;gap:.28rem;display:grid}.text-link-button{color:var(--accent-strong);text-underline-offset:.14em;background:0 0;border:0;justify-self:end;padding:0;font-size:.84rem;line-height:1.2;text-decoration:underline}.text-link-button:hover,.text-link-button:focus-visible{color:#245dc4}.spectrum-color-field{min-width:0}.spectrum-color-picker{position:relative}.spectrum-color-trigger{border-radius:var(--radius-md);width:100%;min-height:2.15rem;color:var(--text-main);background:linear-gradient(#fff 0%,#f7f9fd 100%);border:1px solid #0f172a24;align-items:center;gap:.55rem;padding:.38rem .58rem;display:flex;box-shadow:inset 0 1px #ffffffe0,0 1px 2px #0f172a0a}.spectrum-color-trigger:hover,.spectrum-color-trigger:focus-visible{border-color:rgba(var(--accent-rgb), .42);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .12);outline:none}.spectrum-color-picker.is-open .spectrum-color-trigger{border-color:rgba(var(--accent-rgb), .52);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .14)}.spectrum-color-trigger-copy{text-align:left;flex:auto;min-width:0;display:grid}.spectrum-color-trigger-copy strong{font-size:.8rem;font-weight:700;line-height:1.1}.spectrum-color-trigger-copy small{color:var(--text-soft);font-size:.66rem;line-height:1.1}.spectrum-color-swatch{--swatch-color:#fff;background:var(--swatch-color);border:1px solid #0f172a1f;border-radius:.28rem;flex:none;width:1.1rem;height:1.1rem;box-shadow:inset 0 1px #ffffff70}.spectrum-color-swatch.is-transparent{background-color:#fff;background-image:linear-gradient(45deg,#94a3b847 25%,#0000 25% 75%,#94a3b847 75%),linear-gradient(45deg,#94a3b847 25%,#0000 25% 75%,#94a3b847 75%),none;background-position:0 0,.28rem .28rem;background-repeat:repeat,repeat,repeat;background-size:.56rem .56rem;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border-style:dashed}.spectrum-color-popover{z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffffa;border:1px solid #0f172a24;border-radius:.7rem;gap:.6rem;width:min(270px,100vw - 2rem);padding:.7rem;display:grid;position:absolute;top:calc(100% + .38rem);left:0;box-shadow:0 18px 32px #0f172a29}.spectrum-color-transparent-button{width:100%;min-height:2rem;color:var(--text-main);background:#fff;border:1px solid #0f172a1f;border-radius:.5rem;align-items:center;gap:.5rem;padding:.45rem .55rem;display:flex}.spectrum-color-transparent-button:hover,.spectrum-color-transparent-button:focus-visible,.spectrum-color-transparent-button.is-selected{border-color:rgba(var(--accent-rgb), .42);background:rgba(var(--accent-rgb), .06);outline:none}.spectrum-color-swatch-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:.38rem;display:grid}.spectrum-color-swatch-button{aspect-ratio:1;background:#fff;border:1px solid #0f172a1a;border-radius:.45rem;justify-content:center;align-items:center;width:100%;padding:0;display:inline-flex}.spectrum-color-swatch-button:hover,.spectrum-color-swatch-button:focus-visible,.spectrum-color-swatch-button.is-selected{border-color:rgba(var(--accent-rgb), .48);box-shadow:0 0 0 3px rgba(var(--accent-rgb), .12);outline:none}.spectrum-color-swatch-button .spectrum-color-swatch{width:1.15rem;height:1.15rem}.spectrum-color-editor-row{grid-template-columns:92px minmax(0,1fr);gap:.45rem;display:grid}.spectrum-color-editor-chip{color:var(--text-soft);gap:.28rem;font-size:.7rem;font-weight:700;display:grid}.spectrum-color-editor-chip input{background:#fff;border:1px solid #0f172a1f;border-radius:.5rem;width:100%;min-width:0;min-height:2rem}.spectrum-color-editor-chip input[type=color]{padding:.14rem}.spectrum-color-editor-chip.is-hex input{font:inherit;color:var(--text-main);text-transform:uppercase;padding:.4rem .55rem}.object-radius-field{gap:.32rem;display:grid}.object-radius-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.object-radius-header strong{color:var(--text-soft);font-size:.76rem;font-weight:700}.object-radius-field input[type=range]{width:100%;accent-color:var(--accent-strong);margin:0}.object-border-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(132px,1.15fr);align-items:end}.object-border-grid>.field{min-width:0}.reference-card{gap:.6rem;padding:.75rem;display:grid}.reference-card img{border-radius:var(--radius-md);aspect-ratio:16/10;object-fit:cover;border:1px solid var(--border-subtle);width:100%;display:block}.template-copy strong,.data-preview-header strong,.object-name-button{color:var(--text-main)}.layout-section-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-soft);gap:.55rem;width:250px;padding:.65rem .7rem;display:grid}.layout-section-header{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.layout-section-toggle{color:var(--text-main);background:0 0;border:0;align-items:center;gap:.45rem;padding:0;display:inline-flex}.layout-section-toggle strong{font-size:.92rem}.layout-section-caret{color:var(--text-soft);font-size:.74rem;transition:transform .12s}.layout-section-caret.is-open{transform:rotate(180deg)}.compact-button{border-radius:var(--radius-pill);padding:.45rem .7rem;font-size:.74rem}.danger-compact-button{color:#c24545;background:#c2454514;border-color:#c2454533}.danger-compact-button:hover,.danger-compact-button:focus-visible{background:#c2454524;border-color:#c2454547}.layout-size-grid{grid-template-columns:repeat(auto-fit,minmax(108px,1fr))}.object-primary-grid{grid-template-columns:minmax(0,1.9fr) 118px 90px 96px;align-items:end}.object-primary-grid>.field{min-width:0}.layout-size-pill{border-radius:var(--radius-md);background:var(--surface-muted);border:1px solid var(--border-subtle);gap:.2rem;padding:.7rem .75rem;display:grid}.layout-size-pill span{color:var(--text-soft);font-size:.74rem}.layout-size-pill strong{color:var(--text-main);font-size:.96rem}.mini-seat,.seat-layout{grid-template-rows:24% minmax(0,1fr) 18%;gap:0;display:grid}.mini-seat,.mapping-seat-preview{--seat-accent:#eef3fb;background:#fff;border:1.25px solid #2c2724;overflow:hidden}.mini-seat{min-height:122px;padding:.28rem .3rem}.mapping-seat-preview{cursor:default;touch-action:auto;justify-self:center;min-height:0;display:block}.seat-layout{height:100%;padding:0}.seat-section{gap:.16rem;min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.design-preview-card{gap:.8rem;min-width:0}.data-preview-card.design-preview-card{width:var(--design-preview-card-width);padding:10.4px 11.2px}.design-preview-card .data-preview-header{justify-content:start;align-items:start;gap:.18rem;display:grid}.design-preview-card .data-preview-header strong,.design-preview-card .data-preview-header span{overflow-wrap:anywhere;min-width:0;max-width:100%;line-height:1.35}.design-preview-shell{justify-items:stretch;gap:.55rem;width:100%;min-width:0;display:grid}.layout-text-style-grid{grid-template-columns:80px 55px 62px;gap:.35rem}.layout-control-field{gap:.12rem}.layout-control-field span,.layout-control-field input,.layout-control-field select{font-size:.7rem}.layout-control-field input,.layout-control-field select{min-height:1.75rem;padding:.25rem .5rem}.layout-section-card .object-card{grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:0}.layout-section-card .object-card-header{justify-content:flex-start;align-self:start;min-height:1.75rem;margin-right:5px}.layout-section-card .object-card.has-layout-headings{grid-template-rows:auto 1.75rem}.layout-section-card .object-card.has-layout-headings .object-card-header{grid-row:2}.layout-section-card .object-card.has-layout-headings .layout-text-style-grid{grid-row:1/span 2}.layout-section-card .object-card.has-layout-headings .layout-control-field span{text-align:center;width:100%;display:block}.layout-section-card .object-card-header strong{font-size:.75rem}.design-seat-preview{max-width:100%;min-height:0;aspect-ratio:var(--design-seat-ratio,2.8);cursor:default;touch-action:auto;justify-self:center;position:relative;overflow:hidden}.design-seat-preview .seat-layout{height:100%;position:relative}.design-seat-preview .seat-slot.section-top,.design-seat-preview .seat-slot.section-bottom{font-size:calc(clamp(.68rem, 1rem, .9rem) * var(--cell-font-scale,1));line-height:1.08}.design-seat-preview .seat-slot.section-middle{font-size:calc(clamp(1rem, 1.3rem, 1.5rem) * var(--cell-font-scale,1));line-height:1.12}.design-editable-slot{cursor:grab;touch-action:none;background:0 0;border:0;border-radius:.18rem;padding:0;box-shadow:inset 0 0 0 1px #ffffff94}.design-editable-slot:after{content:"";border-radius:inherit;pointer-events:none;border:1px dashed #18243533;position:absolute;inset:1px}.design-editable-slot.section-top:after{border-bottom:1px dashed #18243533;bottom:1px}.design-editable-slot.section-middle:after{top:1px;bottom:1px}.design-editable-slot.section-bottom:after{top:1px}.design-editable-slot.is-active{box-shadow:0 0 0 1px rgba(var(--accent-rgb), .2)}.design-editable-slot.is-active:after{border-color:var(--accent-strong)}.design-editable-slot .design-slot-content{pointer-events:none;width:100%}.design-snap-guide{z-index:1;pointer-events:none;background:rgba(var(--accent-rgb), .72);position:absolute;box-shadow:0 0 0 1px #f4f8ffe0}.design-snap-guide.is-vertical{width:1px;top:0;bottom:0;transform:translate(-.5px)}.design-snap-guide.is-horizontal{height:1px;left:0;right:0;transform:translateY(-.5px)}.design-slot-handle{z-index:2;touch-action:none;opacity:.78;background:0 0;border:0;width:18px;height:18px;padding:0;transition:opacity .12s,transform .12s;position:absolute}.design-slot-handle:before{content:"";border-radius:var(--radius-pill);background:#fffffff5;border:1px solid #1824351f;width:18px;height:18px;display:block;box-shadow:0 6px 12px #18243524}.design-slot-handle:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%232f6fe4%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4.5 4.25 1.75 8l2.75 3.75%22/%3E%3Cpath d=%22M11.5 4.25 14.25 8l-2.75 3.75%22/%3E%3Cpath d=%22M2.75 8h10.5%22/%3E%3C/svg%3E") 50%/contain no-repeat;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.design-slot-handle:hover,.design-slot-handle:focus-visible,.design-editable-slot.is-active .design-slot-handle{opacity:1}.design-slot-handle.is-left,.design-slot-handle.is-right{top:50%;transform:translateY(-50%)}.design-slot-handle.is-left{z-index:1;cursor:ew-resize;left:-9px}.design-slot-handle.is-right{z-index:2;cursor:ew-resize;right:-9px}.design-slot-handle.is-top,.design-slot-handle.is-bottom{left:50%;transform:translate(-50%)}.design-slot-handle.is-top{cursor:ns-resize;top:-9px}.design-slot-handle.is-bottom{cursor:ns-resize;bottom:-9px}.design-slot-handle.is-top:after,.design-slot-handle.is-bottom:after{background-image:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%232f6fe4%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4.25 4.5 8 1.75l3.75 2.75%22/%3E%3Cpath d=%22M4.25 11.5 8 14.25l3.75-2.75%22/%3E%3Cpath d=%22M8 2.75v10.5%22/%3E%3C/svg%3E")}.design-section-handle{z-index:3;touch-action:none;cursor:ns-resize;opacity:.82;background:0 0;border:0;width:18px;height:18px;padding:0;transition:opacity .12s,transform .12s;position:absolute;right:4px;transform:translateY(-50%)}.design-section-handle:before{content:"";border-radius:var(--radius-pill);background:#fffffff5;border:1px solid #1824351f;width:18px;height:18px;display:block;box-shadow:0 6px 12px #18243524}.design-section-handle:after{content:"";pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 16 16%22 fill=%22none%22 stroke=%22%23f09a35%22 stroke-width=%221.7%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M4.25 4.5 8 1.75l3.75 2.75%22/%3E%3Cpath d=%22M4.25 11.5 8 14.25l3.75-2.75%22/%3E%3Cpath d=%22M8 2.75v10.5%22/%3E%3C/svg%3E") 50%/contain no-repeat;width:10px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.design-section-handle:hover,.design-section-handle:focus-visible,.design-section-handle.is-active{opacity:1}.design-section-handle.is-active:before{border-color:var(--accent-strong)}.seat-section.is-top{border-bottom:1px solid #2c2724;align-items:center;margin:0;padding:0}.seat-section.is-middle{background:0 0;border-radius:.18rem;align-content:stretch;min-height:0;margin:0;padding:0}.seat-section.is-bottom{border-top:1px solid #2c2724;align-items:center;margin:0;padding:0}.seat-card>.seat-layout{box-sizing:border-box;border:1px solid #2c2724;overflow:hidden}.seat-card>.seat-layout .seat-section.is-top{border-bottom:0;box-shadow:inset 0 -.75px #2c2724c7}.seat-card>.seat-layout .seat-section.is-bottom{border-top:0;box-shadow:inset 0 .75px #2c2724c7}.mini-slot,.seat-slot{text-overflow:ellipsis;text-align:center;justify-content:center;align-items:center;min-width:0;display:flex;overflow:hidden}.align-left{text-align:left;justify-content:flex-start;justify-items:start}.align-center{text-align:center;justify-content:center;justify-items:center}.align-right{text-align:right;justify-content:flex-end;justify-items:end}.mini-slot.section-top,.mini-slot.section-bottom{white-space:nowrap;font-size:.4rem;line-height:1}.mini-slot.section-middle{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;justify-content:center;font-size:.58rem;font-weight:800;line-height:1.08;display:-webkit-box;overflow:hidden}.data-preview-card{gap:.8rem;padding:10.4px 11.2px;display:grid}.data-preview-header,.object-card-header,.sheet-header,.sheet-footer{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.mapping-subheading{border-top:1px solid var(--border-subtle);padding-top:.15rem}.mapping-token{border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--surface-muted);color:var(--text-main);cursor:pointer;gap:.18rem;padding:.7rem .75rem;transition:transform .14s,box-shadow .14s,border-color .14s,background-color .14s;display:grid}.mapping-token:hover,.mapping-token:focus-visible{border-color:rgba(var(--accent-rgb), .36);box-shadow:0 12px 24px rgba(var(--accent-rgb), .12);background:#f5f8fe;transform:translateY(-2px)}.mapping-token.is-builtin{background:#f3f8ff}.mapping-token.is-builtin:hover,.mapping-token.is-builtin:focus-visible{background:#edf4ff}.mapping-token.is-dragging{opacity:.45;box-shadow:none;transform:none}.mapping-token strong{font-size:.82rem}.mapping-token span{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.72rem;overflow:hidden}.mapping-seat-shell{width:var(--design-preview-card-width);align-items:start;min-width:0;display:grid}.mapping-seat-shell>.data-preview-card,.mapping-workbench>.data-preview-card{width:100%;min-width:0}.compact-preview-shell{justify-items:stretch;gap:.55rem;width:100%;min-width:0;display:grid}.mapping-slot{text-align:center;cursor:grab;background:#ffffffdb;border:1px dashed #18243538;border-radius:.24rem;align-content:center;place-items:center;min-width:0;padding:0;transition:transform .14s,box-shadow .14s,border-color .14s,background-color .14s,opacity .14s;display:grid}.mapping-slot:hover,.mapping-slot:focus-visible,.mapping-slot.is-active{border-color:rgba(var(--accent-rgb), .34);box-shadow:0 12px 22px rgba(var(--accent-rgb), .12);background:#f3f8ff;transform:translateY(-2px)}.mapping-slot.is-blank{background:#eef1f5;border-color:#18243529}.mapping-slot.is-blank:hover,.mapping-slot.is-blank:focus-visible,.mapping-slot.is-blank.is-active{background:#e7ebf0;border-color:#18243538;box-shadow:0 10px 18px #18243514}.mapping-slot.is-dragging{opacity:.45;box-shadow:none;transform:none}.mapping-slot.section-top,.mapping-slot.section-bottom{font-size:calc(clamp(.68rem, 1rem, .9rem) * var(--cell-font-scale,1));line-height:1.08}.mapping-slot.section-middle{font-size:calc(clamp(1rem, 1.3rem, 1.5rem) * var(--cell-font-scale,1));line-height:1.12}.mapping-slot span{letter-spacing:.05em;text-transform:uppercase;color:var(--text-accent);font-size:.42rem}.mapping-slot strong{font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.mapping-slot small{color:var(--text-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.42rem;overflow:hidden}.condition-rule-stack{align-content:start;gap:.75rem;display:grid}.condition-rule-toolbar{width:100%;display:grid}.condition-add-button{border-radius:var(--radius-lg);color:#2f8a43;background:#53a65d1f;border-color:#53a65d57;place-items:center;width:100%;min-width:0;min-height:2.75rem;padding:0;font-size:1.2rem;line-height:1;display:grid}.condition-add-button:hover,.condition-add-button:focus-visible{color:#246c33;background:#53a65d2e;border-color:#53a65d70;transform:translateY(-1px);box-shadow:0 10px 20px #377d431f}.condition-rule-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--surface-soft);gap:.75rem;padding:.8rem;display:grid}.condition-rule-toggle{color:var(--text-main);background:0 0;border:0;align-items:center;gap:.45rem;padding:0;display:inline-flex}.condition-rule-toggle:hover,.condition-rule-toggle:focus-visible{color:var(--accent-strong)}.condition-rule-caret{color:var(--text-soft);font-size:.72rem;transition:transform .12s}.condition-rule-caret.is-open{transform:rotate(180deg)}.condition-rule-card .field input,.condition-rule-card .field select,.object-stack .field input,.object-stack .field select{height:34.1875px;min-height:34.1875px}.condition-rule-body{gap:.375rem;display:grid}.preview-table{overflow:auto}.preview-table table{border-collapse:collapse;width:100%;font-size:.78rem}.preview-table th,.preview-table td{border-bottom:1px solid var(--border-subtle);text-align:left;white-space:nowrap;padding:.42rem .5rem}.object-card{box-shadow:none;background:0 0;border:0;border-radius:0;gap:.6rem;padding:0;display:grid}.object-card-actions{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.object-name-button{background:0 0;border:0;align-items:center;gap:.45rem;padding:0;display:inline-flex}.object-name-button span{color:var(--text-accent);font-size:.72rem}.object-card-toggle{flex:auto;justify-content:flex-start;min-width:0}.object-card-toggle .condition-rule-caret{margin-left:auto}.object-name-status{color:var(--text-accent);font-size:.72rem}.object-card-body{gap:.375rem;display:grid}.object-card.is-selected{background:rgba(var(--accent-rgb), .08)}.object-stack .object-card{border:1px solid var(--border-subtle);border-radius:var(--radius-lg);background:#fff;gap:.375rem;padding:.8rem;transition:border-color .14s,box-shadow .14s,background-color .14s,transform .14s}.object-stack .object-card.is-selected{border-color:rgba(var(--accent-rgb), .48);background:rgba(var(--accent-rgb), .05);box-shadow:0 12px 24px rgba(var(--accent-rgb), .12)}.preview-pane{width:auto;min-width:var(--preview-pane-width);flex-direction:column;justify-self:stretch;align-items:center;margin:0;display:flex;overflow:visible}.preview-body{flex-direction:column;flex:1;align-self:center;align-items:center;gap:.9rem;width:max-content;max-width:calc(100% - 32px);min-height:0;margin:16px;display:flex;overflow:auto}.sheet-card{width:var(--preview-sheet-width);min-width:var(--preview-sheet-width);aspect-ratio:297/210;border-radius:var(--radius-xl);max-width:none;box-shadow:none;background:#fff;flex:none;grid-template-rows:auto minmax(0,1fr);align-self:center;gap:.9rem;margin:0;padding:1rem 1.05rem .95rem;display:grid}.sheet-header p,.sheet-footer span,.sheet-header-meta span{color:var(--text-soft);margin:0;font-size:.82rem}.sheet-header h3{font-size:1.38rem}.sheet-header-meta{text-align:right;gap:.3rem;display:grid}.classroom-canvas{border-radius:var(--radius-lg);background:linear-gradient(#fffffffa,#f5f8fcfa),linear-gradient(90deg,#b3c3d61f,#0000 25%);border:1px solid #d7e0ea;min-height:0;position:relative;overflow:hidden}.snap-guide{z-index:2;pointer-events:none;background:rgba(var(--accent-rgb), .76);position:absolute;box-shadow:0 0 0 1px #f4f8ffd9}.snap-guide.is-vertical{width:1px;top:0;bottom:0;transform:translate(-.5px)}.snap-guide.is-horizontal{height:1px;left:0;right:0;transform:translateY(-.5px)}.seat-grid{grid-template-columns:repeat(var(--seat-columns), minmax(0, 1fr));grid-template-rows:repeat(var(--seat-rows), minmax(0, 1fr));gap:.5rem;display:grid;position:absolute;inset:5% 4.5% 21%}.seat-card{color:#171310;cursor:grab;touch-action:none;background:var(--seat-surface,#fff);border:0;outline:1px solid #0000;min-width:0;min-height:0;padding:0;transition:transform .12s,box-shadow .12s,opacity .12s,outline-color .12s,background-color .12s;position:relative}.seat-card.is-unassigned{cursor:default;touch-action:auto;box-shadow:none;background:0 0}.seat-card.is-empty-reserved{cursor:pointer;touch-action:auto;box-shadow:none;background:0 0}.seat-card.is-empty-reserved>.seat-layout{background:0 0;border:1px dashed #616c7a9e}.seat-card.is-empty-reserved>.seat-layout .seat-section.is-top{box-shadow:inset 0 -.75px #616c7a66}.seat-card.is-empty-reserved>.seat-layout .seat-section.is-bottom{box-shadow:inset 0 .75px #616c7a66}.classroom-canvas .seat-card:hover,.classroom-canvas .seat-card:focus-within{outline-color:rgba(var(--accent-rgb), .34);box-shadow:0 14px 24px rgba(var(--accent-rgb), .14), inset 0 0 0 1px rgba(var(--accent-rgb), .12);transform:translateY(-2px)}.classroom-canvas .seat-card.is-empty-reserved:hover,.classroom-canvas .seat-card.is-empty-reserved:focus-within{outline-color:#49a56c7a;box-shadow:0 14px 24px #49a56c24,inset 0 0 0 1px #49a56c2e}.classroom-canvas .seat-card.is-empty-reserved:hover>.seat-layout,.classroom-canvas .seat-card.is-empty-reserved:focus-within>.seat-layout{background:0 0;border-color:#49a56cb8}.classroom-canvas .seat-card.is-empty-reserved:hover>.seat-layout .seat-section.is-top,.classroom-canvas .seat-card.is-empty-reserved:focus-within>.seat-layout .seat-section.is-top{box-shadow:inset 0 -.75px #49a56c6b}.classroom-canvas .seat-card.is-empty-reserved:hover>.seat-layout .seat-section.is-bottom,.classroom-canvas .seat-card.is-empty-reserved:focus-within>.seat-layout .seat-section.is-bottom{box-shadow:inset 0 .75px #49a56c6b}:is(.classroom-canvas .seat-card:has(.seat-empty-toggle:hover),.classroom-canvas .seat-card:has(.seat-empty-toggle:focus-visible)){outline-color:#c245457a;box-shadow:0 14px 24px #c2454524,inset 0 0 0 1px #c2454529}:is(.classroom-canvas .seat-card:has(.seat-empty-toggle:hover) .seat-empty-toggle,.classroom-canvas .seat-card:has(.seat-empty-toggle:focus-visible) .seat-empty-toggle){color:#c24545;border-color:#c2454557}.seat-empty-toggle{z-index:3;box-sizing:border-box;border-radius:var(--radius-pill);color:#7a3340;opacity:0;background:#fffffff5;border:1px solid #18243529;justify-content:center;align-items:center;width:.9rem;height:.9rem;padding:0;font-size:.78rem;font-weight:500;line-height:1;transition:opacity .12s;display:flex;position:absolute;top:2px;right:2px;box-shadow:0 2px 4px #18243514}.seat-card:hover .seat-empty-toggle,.seat-card:focus-within .seat-empty-toggle{opacity:1}.seat-card.is-roster-drop-mode>.seat-layout,.seat-card.is-roster-drop-mode .seat-slot,.seat-card.is-roster-drop-mode .seat-empty-state-label,.seat-card.is-roster-drop-mode .seat-unassigned-state-label,.seat-card.is-roster-drop-mode .seat-empty-toggle{pointer-events:none}.seat-card:after{display:none}.seat-card.is-dragging-origin{opacity:.18;box-shadow:inset 0 0 0 2px rgba(var(--accent-rgb), .24);transform:scale(.96)}.seat-card.is-drop-target{outline:2px solid var(--accent-strong);outline-offset:2px;transform:translateY(-4px)scale(1.03);box-shadow:0 14px 28px #27498429}.seat-drop-pill{display:none}.seat-slot.section-top,.seat-slot.section-bottom{font-size:calc(clamp(.34rem, .54vw, .54rem) * var(--cell-font-scale,1));white-space:nowrap;line-height:1}.seat-slot.section-middle{font-size:calc(clamp(.46rem, .76vw, .82rem) * var(--cell-font-scale,1));font-weight:var(--seat-name-weight,800);white-space:normal;line-height:1.08;overflow:hidden}.seat-empty-label{color:var(--text-soft);font-size:.44rem;position:absolute;bottom:.18rem;right:.22rem}.seat-empty-state-label,.seat-unassigned-state-label{z-index:1;pointer-events:none;color:#5e6876;place-items:center;display:grid;position:absolute;inset:0}.seat-empty-state-label span,.seat-unassigned-state-label span{letter-spacing:.08em;grid-area:1/1;font-size:.64rem;font-weight:700;transition:opacity .12s,transform .12s,color .12s}.seat-empty-state-label .is-default,.seat-unassigned-state-label .is-default{opacity:1;transform:translateY(0)}.seat-empty-state-label .is-hover,.seat-unassigned-state-label .is-hover{opacity:0;transform:translateY(2px)}.seat-empty-state-label .is-hover{color:#3f9555}.seat-unassigned-state-label .is-hover{color:var(--text-accent)}.classroom-canvas .seat-card.is-empty-reserved:hover .seat-empty-state-label .is-default,.classroom-canvas .seat-card.is-empty-reserved:focus-within .seat-empty-state-label .is-default,.classroom-canvas .seat-card.is-unassigned:hover .seat-unassigned-state-label .is-default,.classroom-canvas .seat-card.is-unassigned:focus-within .seat-unassigned-state-label .is-default{opacity:0;transform:translateY(-2px)}.classroom-canvas .seat-card.is-empty-reserved:hover .seat-empty-state-label .is-hover,.classroom-canvas .seat-card.is-empty-reserved:focus-within .seat-empty-state-label .is-hover,.classroom-canvas .seat-card.is-unassigned:hover .seat-unassigned-state-label .is-hover,.classroom-canvas .seat-card.is-unassigned:focus-within .seat-unassigned-state-label .is-hover{opacity:1;transform:translateY(0)}:is(.classroom-canvas .seat-card.is-unassigned:has(.seat-empty-toggle:hover) .seat-unassigned-state-label .is-default,.classroom-canvas .seat-card.is-unassigned:has(.seat-empty-toggle:focus-visible) .seat-unassigned-state-label .is-default){opacity:1;letter-spacing:0;font-size:0;transform:translateY(0)}.classroom-canvas .seat-card.is-unassigned:has(.seat-empty-toggle:hover) .seat-unassigned-state-label .is-default:after{content:"空席にする";letter-spacing:.08em;color:#c24545;font-size:.64rem;font-weight:700;display:block}.classroom-canvas .seat-card.is-unassigned:has(.seat-empty-toggle:focus-visible) .seat-unassigned-state-label .is-default:after{content:"空席にする";letter-spacing:.08em;color:#c24545;font-size:.64rem;font-weight:700;display:block}:is(.classroom-canvas .seat-card.is-unassigned:has(.seat-empty-toggle:hover) .seat-unassigned-state-label .is-hover,.classroom-canvas .seat-card.is-unassigned:has(.seat-empty-toggle:focus-visible) .seat-unassigned-state-label .is-hover){opacity:0;transform:translateY(2px)}.seat-drag-overlay{z-index:20;pointer-events:none;position:fixed;transform:scale(1.06);box-shadow:0 28px 52px #18243533}.seat-drag-overlay:after{border-color:rgba(var(--accent-rgb), .28)}.seat-drag-badge{z-index:2;border-radius:var(--radius-md);border:1px solid var(--border-soft);min-width:10rem;box-shadow:0 14px 30px var(--shadow-strong);text-align:center;pointer-events:none;background:#fffffffa;gap:.12rem;padding:.45rem .75rem;display:grid;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.seat-drag-badge span,.seat-drag-badge small{color:var(--text-soft);font-size:.68rem}.seat-drag-badge strong{color:var(--text-main);font-size:.88rem}.classroom-object{z-index:3;touch-action:none;-webkit-user-select:none;user-select:none;box-sizing:border-box;color:#18202c;letter-spacing:.04em;cursor:grab;background:#fffffffa;border:1.4px solid #273244;place-items:center;padding:.35rem;font-weight:700;transition:box-shadow .14s,outline-color .14s,border-color .14s,transform .14s;display:grid;position:absolute;overflow:hidden}.classroom-object span{z-index:1;pointer-events:none;text-align:center;justify-content:center;align-items:center;width:100%;height:100%;line-height:1;display:flex;position:relative}.classroom-object.is-resizable{overflow:visible}.classroom-object.is-dragging{z-index:5;cursor:grabbing;box-shadow:0 16px 26px #18243529}.classroom-object.is-selected{z-index:4;outline:2px solid var(--accent-strong);outline-offset:2px;box-shadow:0 14px 28px rgba(var(--accent-rgb), .16)}.classroom-object.is-resizing{z-index:6;box-shadow:0 16px 30px rgba(var(--accent-rgb), .18)}.object-resize-handle{z-index:2;touch-action:none;background:0 0;position:absolute}.object-resize-handle:after{content:"";opacity:0;border:1.5px solid rgba(var(--accent-rgb), .86);box-shadow:0 8px 18px rgba(var(--accent-rgb), .18);background:#fffffffa;transition:opacity .12s,transform .12s,border-color .12s,background-color .12s;position:absolute}.classroom-object.is-resizable:hover .object-resize-handle:after,.classroom-object.is-resizable.is-selected .object-resize-handle:after,.classroom-object.is-resizable.is-resizing .object-resize-handle:after{opacity:1}.object-resize-handle.is-n,.object-resize-handle.is-s{cursor:ns-resize;height:12px;left:10px;right:10px}.object-resize-handle.is-n{top:-6px}.object-resize-handle.is-s{bottom:-6px}.object-resize-handle.is-e,.object-resize-handle.is-w{cursor:ew-resize;width:12px;top:10px;bottom:10px}.object-resize-handle.is-e{right:-6px}.object-resize-handle.is-w{left:-6px}.object-resize-handle.is-ne,.object-resize-handle.is-nw,.object-resize-handle.is-se,.object-resize-handle.is-sw{width:14px;height:14px}.object-resize-handle.is-ne{cursor:nesw-resize;top:-7px;right:-7px}.object-resize-handle.is-sw{cursor:nesw-resize;bottom:-7px;left:-7px}.object-resize-handle.is-nw{cursor:nwse-resize;top:-7px;left:-7px}.object-resize-handle.is-se{cursor:nwse-resize;bottom:-7px;right:-7px}.object-resize-handle.is-n:after,.object-resize-handle.is-s:after{border-radius:999px;width:20px;height:4px;top:50%;left:50%;transform:translate(-50%,-50%)}.object-resize-handle.is-e:after,.object-resize-handle.is-w:after{border-radius:999px;width:4px;height:20px;top:50%;left:50%;transform:translate(-50%,-50%)}.object-resize-handle.is-ne:after,.object-resize-handle.is-nw:after,.object-resize-handle.is-se:after,.object-resize-handle.is-sw:after{border-radius:2px;width:9px;height:9px;top:50%;left:50%;transform:translate(-50%,-50%)}.sheet-footer{border-top:1px solid var(--border-soft);padding-top:.1rem;font-size:.82rem}@media (width<=1080px){.inspector,.preview-pane{min-height:auto}}@media (width<=720px){.topbar,.workspace{padding:.9rem}.sheet-header,.sheet-footer{flex-direction:column;align-items:stretch}.template-card{grid-template-columns:1fr}.sheet-card{aspect-ratio:auto;min-height:76svh}.seat-grid{gap:.32rem}}@media print{:root{background:#fff}body{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff}.topbar,.inspector,.workspace-side-rail{display:none}.workspace,.preview-pane{margin:0;padding:0;display:block}.sheet-card{aspect-ratio:auto;width:100%;min-height:0;box-shadow:none;border-radius:0;padding:0}}
