:root{--font-sans:"Avenir Next", Avenir, "Segoe UI", sans-serif;--font-serif:"Iowan Old Style", Charter, Georgia, serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--text-2xs:.625rem;--text-xs:.6875rem;--text-sm:.75rem;--text-md:.8125rem;--text-lg:.9375rem;--text-xl:1.25rem;--color-surface:#fff;--color-surface-subtle:#f7f7f8;--color-surface-muted:#f1f2f4;--color-canvas:#fafafa;--color-text:#20231f;--color-text-muted:#6f6f73;--color-border:#dfe0e3;--color-border-strong:#c9cbd0;--color-border-hover:#adb0b5;--color-accent:#7d294b;--color-accent-hover:#6e203f;--color-accent-soft:#f8eaf0;--color-highlight:#c7305b;--color-accent-rule:#7d294b61;--color-on-accent:#fff;--color-on-accent-muted:#ffffffc7;--color-on-accent-hover:#ffffff29;--color-warning:#d7a000;--color-warning-dot:#e3ac00;--color-warning-soft:#fff6c7;--color-danger:#d92d20;--color-danger-soft:#feeceb;--color-together:#2f7d62;--color-together-soft:#dff2ea;--color-tooltip:#2b2f2a;--color-grid:#0e0e0e12;--tag-yellow:#b77900;--tag-yellow-soft:#fff2b8;--tag-blue:#2563a8;--tag-blue-soft:#ddebfa;--tag-green:#36734a;--tag-green-soft:#dcefe2;--tag-purple:#76519a;--tag-purple-soft:#eadff4;--tag-red:#b23a38;--tag-red-soft:#f7dddc;--border:1px solid var(--color-border);--border-strong:1px solid var(--color-border-strong);--radius-xs:3px;--radius-sm:5px;--radius-md:7px;--radius-lg:9px;--radius-pill:999px;--shadow-sm:0 1px 3px #0e0e0e1f;--shadow-md:0 4px 12px #20231f1f;--shadow-lg:0 12px 30px #20231f24;--focus-ring:0 0 0 2px var(--color-surface), 0 0 0 4px #7d294b7a;--drop-ring:0 0 0 2px var(--color-accent-soft);--highlight-ring:0 0 0 2px var(--color-surface), 0 0 0 4px #c7305b8c;--duration-fast:.12s;--duration-layout:.18s;--ease-standard:cubic-bezier(.2, .8, .2, 1);--control-height:20px;--layer-edge:20;--layer-active-edge:25;--layer-target:30;--layer-popover:40;--layer-open-control:41;--layer-overlay-edge:45;--layer-drag:50;--layer-chrome:60;color:var(--color-text);background:var(--color-surface);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{background:var(--color-surface);overflow:hidden}button{appearance:none;color:inherit;font:inherit;background:0 0;border:0}button:focus-visible,[role=button]:focus-visible{box-shadow:var(--focus-ring);outline:none}.app{grid-template-rows:58px minmax(0,1fr);height:100dvh;display:grid}.topbar{z-index:var(--layer-chrome);border-bottom:var(--border);background:var(--color-surface);justify-content:space-between;align-items:center;gap:24px;padding:0 24px;display:flex;position:relative}.brand,.topbar-actions,.plan-heading,.rail-heading,.table-heading{align-items:baseline;display:flex}.brand{gap:12px;min-width:0}.brand h1,.plan-heading h2,.rail-heading h2{margin:0}.brand h1{font-family:var(--font-serif);font-size:var(--text-xl);letter-spacing:-.02em;white-space:nowrap;font-weight:600}.brand span,.plan-heading p,.rail-heading p,.rail-help{color:var(--color-text-muted);font-size:var(--text-sm)}.rail-add-table{width:max-content;margin:0 0 14px auto;display:block}.topbar-actions{white-space:nowrap;justify-content:flex-end;align-items:center;gap:4px}.view-tabs{align-self:stretch;align-items:center;gap:2px;display:flex}.view-tab{border-radius:var(--radius-sm);height:32px;color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;padding:0 10px}.view-tab:hover,.view-tab.active{color:var(--color-text);background:var(--color-surface-muted)}.text-button{cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--text-sm);padding:7px 8px}.text-button:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-muted)}.text-button:disabled{opacity:.38;cursor:default}.problem-count{color:var(--color-danger);font:600 var(--text-xs)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.04em}.global-issue-list{margin-right:8px;position:relative}.global-issue-list>summary{cursor:pointer;padding:8px 2px;list-style:none}.global-issue-list>summary::-webkit-details-marker{display:none}.global-issue-list>summary:hover{text-underline-offset:3px;text-decoration:underline}.global-issue-list-body{z-index:var(--layer-popover);border:var(--border);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-surface) 97%, transparent);width:min(380px,100vw - 24px);max-height:min(520px,100vh - 84px);box-shadow:var(--shadow-lg);padding:6px 10px;position:absolute;top:calc(100% + 12px);right:0;overflow-y:auto}.global-issue-row{border-bottom:var(--border);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;padding:11px 4px;display:grid}button.global-issue-row{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0}.inspection-focus-row{transition:background var(--duration-fast) ease, border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease}.inspection-focus-row:hover,.inspection-focus-row:focus-visible{background:var(--color-surface-muted)}.global-issue-row:last-child{border-bottom:0}.global-issue-row p{color:var(--color-text);font-size:var(--text-sm);white-space:normal;margin:0}.global-issue-row small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px;display:block}.global-issue-symbol{border-radius:var(--radius-pill);background:var(--color-surface-muted);place-items:center;width:26px;height:26px;display:grid}.global-issue-symbol.capacity-issue{color:var(--color-danger);background:var(--color-danger-soft);font-weight:700}.problem-count.clear{color:var(--color-accent)}.planner-menu{position:relative}.planner-menu>summary{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;letter-spacing:.08em;place-items:center;list-style:none;display:grid}.planner-menu>summary::-webkit-details-marker{display:none}.planner-menu>summary:hover,.planner-menu[open]>summary{color:var(--color-text);background:var(--color-surface-muted)}.planner-menu-popover{z-index:var(--layer-popover);border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);width:224px;box-shadow:var(--shadow-lg);padding:7px;position:absolute;top:calc(100% + 8px);right:0}.planner-menu-section{gap:6px;padding:5px 5px 9px;display:grid}.planner-menu-section>span{color:var(--color-text-muted);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.settings-motion{border-radius:var(--radius-sm);background:var(--color-surface-muted);grid-template-columns:repeat(3,1fr);gap:2px;padding:2px;display:grid}.settings-motion button{border-radius:var(--radius-xs);height:26px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer}.settings-motion button.active{color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-sm)}.planner-menu-actions{border-top:var(--border);padding-top:5px;display:grid}.planner-history-actions{border-bottom:var(--border);grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:3px 5px 8px;display:none}.planner-history-actions button{border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);min-height:32px}.planner-history-actions button:disabled{opacity:.4}.planner-menu-actions button{border-radius:var(--radius-sm);height:32px;color:var(--color-text);text-align:left;font-size:var(--text-sm);cursor:pointer;padding:0 7px}.planner-menu-actions button:hover{background:var(--color-surface-muted)}.workspace{grid-template-columns:224px minmax(0,1fr);min-height:0;display:grid}.mobile-room-view,.mobile-relationships-view,.mobile-guide,.mobile-history-actions{display:none}.rail{border-right:var(--border);background:var(--color-surface-subtle);min-height:0;transition:background var(--duration-fast) ease;padding:18px 12px;overflow-y:auto}.rail.drop-active{background:var(--color-accent-soft)}.unseated-zone{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);padding:10px}.rail-heading{justify-content:space-between;gap:16px}.rail-heading h2,.plan-heading h2{font-size:var(--text-md);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.rail-heading p,.plan-heading p{margin:4px 0 0}.rail-help{margin:14px 0 10px;line-height:1.45}.party-list{gap:5px;display:grid}.rail-party-control{min-width:0;position:relative}.rail-party-control .party-card{padding-right:28px}.rail-party-control.single-member .party-card{padding-right:9px}.rail-party-details{z-index:var(--layer-target);border-radius:var(--radius-pill);width:24px;height:24px;color:var(--color-text-muted);letter-spacing:-1px;cursor:pointer;font-size:7px;font-weight:700;position:absolute;top:7px;right:5px}.rail-party-details:hover,.rail-party-details[aria-expanded=true]{color:var(--color-text);background:var(--color-surface-muted)}.rail-party-control>.party-popover{width:100%;min-width:0;max-width:100%;top:0}.rail-party-control>.party-popover.split-open{width:100%;max-width:100%}.rail-party-control .split-buckets{grid-template-columns:minmax(0,1fr)}.seated-list{grid-auto-flow:column dense;gap:5px;height:100px;display:grid;overflow:visible}.party-card{border:var(--border);background:var(--color-surface);width:100%;position:relative}.party-card.moving-source,.seated-party.moving-source{filter:saturate(.45)}.party-card.moving-source>:not(.relationship-lens),.seated-party.moving-source>:not(.relationship-lens){opacity:.38}.party-card.moving-source{background-image:repeating-linear-gradient(-45deg,#0000 0 6px,#20231f0b 6px 12px);border-style:dashed}.seated-party.moving-source{outline:1px dashed var(--color-on-accent-muted);outline-offset:-3px}.placement-drag-preview{z-index:-1!important;pointer-events:none!important;position:fixed!important;top:-10000px!important;left:-10000px!important}.placement-drag-preview>*{opacity:1!important}.party-card{border-radius:var(--radius-md);text-align:left;cursor:grab;align-items:center;gap:8px;min-width:0;padding:8px 9px;display:flex}.party-card:hover{border-color:var(--color-border-hover)}.party-card.selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.party-card.hint-together{border-color:var(--color-together);box-shadow:inset 2px 0 var(--color-together)}.party-card.hint-apart{border-color:var(--color-danger);box-shadow:inset 2px 0 var(--color-danger)}.party-card.relation-highlight-together{border-color:var(--color-together);background:var(--color-together-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-together) 32%, transparent)}.party-card.relation-highlight-apart{border-color:var(--color-danger);background:var(--color-danger-soft);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-danger) 28%, transparent)}.seated-party.problem-required{box-shadow:inset 2px 0 var(--color-danger)}.seated-party.problem-preferred{box-shadow:inset 2px 0 var(--color-warning-dot)}.seated-party.hint-together{box-shadow:inset 0 0 0 2px var(--color-together)}.seated-party.hint-apart{box-shadow:inset 0 0 0 2px var(--color-danger)}.relationship-lens{z-index:var(--layer-target);pointer-events:none;flex-wrap:wrap;justify-content:flex-start;gap:2px;display:flex;position:absolute;bottom:4px;left:6px;right:6px;overflow:visible}.relationship-lens-person{border-radius:var(--radius-pill);background:var(--color-surface);max-width:100%;box-shadow:inset 0 0 0 1px currentColor, var(--shadow-sm);font-size:var(--text-2xs);text-overflow:ellipsis;white-space:nowrap;padding:2px 5px;font-weight:700;line-height:1.2;overflow:hidden}.relationship-lens-person.group-target{display:none}.relationship-lens-person.together{color:var(--color-together);background:var(--color-together-soft)}.relationship-lens-person.apart{color:var(--color-danger);background:var(--color-danger-soft)}.relationship-lens-person.preferred{box-shadow:var(--shadow-sm);border:1px dashed}.seated-party.has-relationship-lens{z-index:auto}.seated-party.details-open,.room-canvas:has(.relationship-lens-person) .seated-party{view-transition-name:none!important}.seated-party.has-relationship-lens .seated-party-main{padding-bottom:var(--relationship-lens-space,22px);align-items:flex-start}.party-card .relationship-lens{left:9px;right:28px}.room-relationship-lens-connectors{z-index:var(--layer-active-edge);pointer-events:none;position:absolute;inset:0;overflow:visible}.room-relationship-lens-connectors.overlay{z-index:var(--layer-overlay-edge)}.room-cross-surface-connectors{z-index:var(--layer-active-edge);pointer-events:none;position:fixed;inset:0;overflow:visible}.room-cross-surface-connectors.overlay{z-index:var(--layer-overlay-edge)}.relationship-edge{fill:none;stroke-width:1.75px;stroke-linecap:round;opacity:.66;transition:opacity var(--duration-fast) ease, stroke-width var(--duration-fast) ease}.relationship-edge.together{stroke:var(--color-together)}.relationship-edge.apart{stroke:var(--color-danger)}.relationship-edge.preferred{stroke-dasharray:4 4}.relationship-edge.highlighted{stroke-width:2.5px;opacity:.9}.relationship-marker path{stroke:var(--color-surface);stroke-width:1.5px;paint-order:stroke fill;vector-effect:non-scaling-stroke}.relationship-marker.together path{fill:var(--color-together)}.relationship-marker.apart path{fill:var(--color-danger)}.room-lens-connector{opacity:.78}.party-copy{flex:1;gap:2px;min-width:0;display:grid}.party-copy strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.party-copy>span{color:var(--color-text-muted);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.party-size,.capacity{font:600 var(--text-xs)/1 var(--font-mono);flex:none}.party-size{border-radius:var(--radius-pill);width:18px;height:18px;color:var(--color-text-muted);background:var(--color-surface-muted);place-items:center;display:grid}.empty-rail,.empty-table{color:var(--color-text-muted);font-size:var(--text-md)}.empty-rail{gap:5px;padding:16px 4px;line-height:1.4;display:grid}.empty-rail strong{color:var(--color-text);font-size:var(--text-sm)}.plan{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;padding:16px;display:grid;position:relative;overflow:hidden}.plan-heading{justify-content:space-between;gap:24px;min-height:30px;margin-bottom:10px;position:relative}.placement-banner{border:var(--border);border-radius:var(--radius-pill);min-height:28px;color:var(--color-text-muted);background:var(--color-surface);box-shadow:var(--shadow-md);font-size:var(--text-xs);align-items:center;gap:8px;padding:0 5px 0 10px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.placement-banner .placement-recommendation{border-radius:var(--radius-sm);height:20px;color:var(--color-together);background:var(--color-together-soft);padding:0 7px;font-weight:600}.placement-banner .placement-warning{border-radius:var(--radius-sm);height:20px;color:var(--color-danger);background:var(--color-danger-soft);padding:0 7px;font-weight:600}.placement-banner strong{color:var(--color-text)}.placement-banner button{border-radius:var(--radius-pill);height:20px;color:var(--color-accent);background:var(--color-accent-soft);cursor:pointer;padding:0 7px}.room-viewport{border:var(--border);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;min-height:0;overflow:auto}.room-onboarding{border:var(--border);border-radius:var(--radius-md);background:radial-gradient(circle at 50% 35%, var(--color-surface) 0 18%, transparent 54%), var(--color-surface-subtle);place-items:center;min-width:0;min-height:0;padding:32px;display:grid}.room-onboarding-card{border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(600px,100%);box-shadow:var(--shadow-md);text-align:center;justify-items:center;gap:10px;padding:32px;display:grid}.room-onboarding-kicker{color:var(--color-accent);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.room-onboarding-card h2{font-family:var(--font-serif);font-size:var(--text-xl);margin:0;font-weight:600}.room-onboarding-card>p{max-width:470px;color:var(--color-text-muted);font-size:var(--text-md);margin:0;line-height:1.5}.room-onboarding-actions{flex-wrap:wrap;justify-content:center;gap:7px;margin-top:6px;display:flex}.room-onboarding-actions button{min-height:34px;padding-inline:13px}.room-onboarding-secondary{border:var(--border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font-size:var(--text-sm);cursor:pointer;font-weight:600}.room-onboarding-secondary:hover{background:var(--color-surface-muted)}.room-onboarding-steps{border-top:var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;width:100%;margin:18px 0 0;padding:18px 0 0;list-style:none;display:grid}.room-onboarding-steps li{min-width:0;color:var(--color-text-muted);font-size:var(--text-xs);grid-template-rows:24px auto 1em;align-content:start;justify-items:center;gap:4px;display:grid}.room-onboarding-steps li>span{border:var(--border);border-radius:var(--radius-pill);background:var(--color-surface-subtle);place-items:center;width:24px;height:24px;font-weight:700;display:grid}.room-onboarding-steps li.complete>span{border-color:var(--color-together);color:var(--color-together);background:var(--color-together-soft)}.room-onboarding-steps strong{color:var(--color-text);text-align:center;align-self:center;font-weight:600}.room-onboarding-steps small{color:var(--color-text-muted);font-size:var(--text-2xs)}.room-canvas{cursor:grab;touch-action:none;background-color:var(--color-canvas);background-image:linear-gradient(to right, var(--color-grid) 1px, transparent 1px), linear-gradient(to bottom, var(--color-grid) 1px, transparent 1px);background-size:16px 16px;position:relative}.room-first-placement-hint{z-index:var(--layer-target);border:var(--border);border-radius:var(--radius-pill);color:var(--color-text-muted);background:var(--color-surface);box-shadow:var(--shadow-sm);font-size:var(--text-sm);pointer-events:none;padding:8px 12px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.demo-guide{z-index:var(--layer-chrome);border:1px solid color-mix(in srgb, var(--color-accent) 42%, var(--color-border));border-top:3px solid var(--color-accent);border-radius:var(--radius-lg);background:var(--color-surface);width:min(500px,100vw - 28px);box-shadow:var(--shadow-lg);gap:0;padding:0;display:grid;position:fixed;bottom:20px;left:50%;right:auto;overflow:hidden;transform:translate(-50%)}.demo-guide-header{border-bottom:1px solid color-mix(in srgb, var(--color-accent) 22%, var(--color-border));background:color-mix(in srgb, var(--color-accent-soft) 68%, var(--color-surface));align-items:baseline;gap:10px;padding:12px 18px 10px;display:flex}.demo-guide-header>span,.demo-complete>span{color:var(--color-accent);font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.demo-guide-header>strong{font-family:var(--font-serif);font-size:1.375rem;line-height:1.25}.demo-guide-body{gap:10px;padding:12px 18px 14px;display:grid}.demo-guide-person-name{color:var(--color-accent);text-decoration:underline;text-decoration-color:color-mix(in srgb, var(--color-accent) 35%, transparent);text-underline-offset:3px;font-style:italic;text-decoration-thickness:2px}.demo-guide-reference{font:inherit;cursor:pointer;vertical-align:baseline;border:0;margin:0;display:inline}.demo-guide-reference.view-tab{min-height:0;padding:2px 7px;display:inline-flex}.issue-count-reference{color:inherit;background:0 0;padding:0}.demo-guide-ui-label{border-radius:var(--radius-xs);color:var(--color-accent);background:var(--color-accent-soft);white-space:nowrap;padding:0 .24em;font-weight:750}.demo-guide-location-label{border:1px dashed var(--color-border-strong);border-radius:var(--radius-xs);color:var(--color-text-muted);background:var(--color-surface-muted);white-space:nowrap;padding:.08em .36em;font-weight:700}.demo-guide-body p{color:var(--color-text-muted);margin:0;font-size:1rem;line-height:1.5}.demo-guide-completion{min-height:112px;color:var(--color-accent);justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.demo-guide-completion>span{border-radius:var(--radius-pill);width:28px;height:28px;color:var(--color-on-accent);background:var(--color-accent);place-items:center;display:grid}.demo-guide-completion>strong{font-family:var(--font-serif);font-size:1.25rem}.demo-guide-inline-receipt{border:1px solid var(--color-together);border-radius:var(--radius-md);background:var(--color-together-soft);padding:8px 10px;font-weight:650;color:var(--color-text)!important;font-size:var(--text-sm)!important;margin-top:10px!important}.motion-enabled .demo-guide-header,.motion-enabled .demo-guide-body{animation:guide-step-content-in .18s var(--ease-standard) both}.motion-enabled .demo-guide-completion,.motion-enabled .mobile-guide-completion{animation:guide-step-confirm .18s var(--ease-standard) both}.demo-guide-hint{color:var(--color-text);font-size:var(--text-sm);margin-top:7px;font-weight:600;display:block}.motion-enabled .demo-guide.guide-appearing{animation:1.25s ease-in-out both demo-guide-arrive}.demo-guide-tool{color:var(--color-text-muted);background:var(--color-surface-muted);vertical-align:middle;display:inline-flex}.relationship-tool-button.demo-guide-tool.relation-together{color:var(--color-together);background:var(--color-together-soft)}.relationship-tool-button.demo-guide-tool.relation-apart{color:var(--color-danger);background:var(--color-danger-soft)}.demo-guide-tool:hover,.demo-guide-tool:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb, currentColor 20%, transparent)}.demo-guide-tool .relationship-glyph{flex:none}.demo-guide-tool .rule-line-swatch{width:20px}.relationship-tool-label{line-height:1;display:block}.demo-guide-actions,.demo-complete-actions{flex-wrap:wrap;gap:7px;display:flex}.demo-guide-actions{justify-content:space-between}.demo-guide-actions>button:not(.primary-button){color:var(--color-text-muted);font-size:var(--text-sm);cursor:pointer;padding:5px 7px}.guide-click-target{position:relative}.guide-click-target:after{content:"";z-index:var(--layer-target);border:2px solid var(--color-accent);border-radius:inherit;pointer-events:none;position:absolute;inset:-4px}.motion-enabled .guide-click-target:after{animation:1.8s ease-in-out infinite guide-target-pulse}.guide-revealed-target{z-index:var(--layer-target);outline:3px solid color-mix(in srgb, var(--color-accent) 58%, transparent);outline-offset:4px;scroll-margin-block:96px 45dvh;position:relative}.motion-enabled .guide-revealed-target{animation:1.15s ease-in-out 2 guide-reveal-pulse}.guide-revealed-target[data-guide-explanation]:before{content:attr(data-guide-explanation);z-index:var(--layer-popover);width:max-content;max-width:min(var(--guide-callout-width,260px), calc(100vw - 28px));border-radius:var(--radius-sm);color:var(--color-on-accent);background:var(--color-accent);box-shadow:var(--shadow-md);font-size:var(--text-sm);pointer-events:none;padding:6px 9px;font-weight:700;line-height:1.25;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.guide-revealed-target[data-guide-explanation][data-guide-horizontal=start]:before{left:0;right:auto;transform:none}.guide-revealed-target[data-guide-explanation][data-guide-horizontal=end]:before{left:auto;right:0;transform:none}.guide-revealed-target[data-guide-explanation][data-guide-vertical=below]:before{top:calc(100% + 10px);bottom:auto}.guide-revealed-target[data-guide-explanation]:after{content:"";z-index:var(--layer-popover);border:5px solid #0000;border-top-color:var(--color-accent);pointer-events:none;position:absolute;inset:auto auto calc(100% + 2px) 50%;transform:translate(-50%);animation:none!important}.guide-revealed-target[data-guide-explanation][data-guide-vertical=below]:after{border-top-color:#0000;border-bottom-color:var(--color-accent);top:calc(100% + 2px);bottom:auto}.guide-target-cue{z-index:var(--layer-popover);border-radius:var(--radius-pill);border:1px solid var(--color-accent-rule);width:max-content;max-width:min(190px,100% - 8px);color:var(--color-accent);background:var(--color-accent-soft);box-shadow:var(--shadow-sm);font-size:var(--text-sm);text-align:center;pointer-events:none;padding:5px 8px;font-weight:700;line-height:1.25;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.guide-target-cue:after{content:"";border:5px solid #0000;border-top-color:var(--color-accent-rule);position:absolute;top:100%;left:50%;transform:translate(-50%)}.relationship-group .guide-expander-cue{left:auto;right:2px;transform:none}.relationship-group .guide-expander-cue:after{left:auto;right:20px;transform:none}.relationship-group.guide-relationship-target{border-color:color-mix(in srgb, var(--color-accent) 72%, var(--color-border))}.guide-setting-target{box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px color-mix(in srgb, var(--color-accent) 55%, transparent)}.relationship-tools .guide-preview-target{color:var(--color-accent);background:var(--color-accent-soft);box-shadow:0 0 0 2px var(--color-surface), 0 0 0 5px color-mix(in srgb, var(--color-accent) 72%, transparent)}@keyframes guide-target-pulse{0%,to{opacity:.22;transform:scale(1)}50%{opacity:.88;transform:scale(1.055)}}@keyframes guide-reveal-pulse{0%,to{outline-color:color-mix(in srgb, var(--color-accent) 34%, transparent);box-shadow:0 0 #0000}50%{outline-color:var(--color-accent);box-shadow:0 0 0 8px color-mix(in srgb, var(--color-accent) 16%, transparent)}}@keyframes demo-guide-arrive{0%{opacity:0;box-shadow:var(--shadow-md);transform:translate(-50%,12px)}55%{opacity:1;box-shadow:var(--shadow-lg), 0 0 0 7px color-mix(in srgb, var(--color-accent) 18%, transparent);transform:translate(-50%)}to{opacity:1;box-shadow:var(--shadow-lg);transform:translate(-50%)}}@keyframes guide-step-content-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes guide-step-confirm{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.demo-guide-actions>button:not(.primary-button):hover{color:var(--color-text);background:var(--color-surface-muted)}.demo-complete-backdrop{z-index:var(--layer-chrome);background:color-mix(in srgb, var(--color-text) 24%, transparent);backdrop-filter:blur(2px);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.demo-confetti{z-index:var(--layer-edge);pointer-events:none;position:fixed;inset:0;overflow:hidden}.demo-confetti-piece{top:-18px;left:var(--confetti-x);background:var(--color-accent);border-radius:2px;width:9px;height:15px;display:none;position:absolute}.motion-enabled .demo-confetti-piece{animation:2.8s linear infinite demo-confetti-fall;animation-delay:var(--confetti-delay);display:block}.demo-confetti-piece:nth-child(4n+2){background:var(--color-together)}.demo-confetti-piece:nth-child(4n+3){background:var(--color-warning)}.demo-confetti-piece:nth-child(4n){background:var(--color-highlight);width:12px;height:8px}.demo-complete{z-index:var(--layer-target);border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);width:min(440px,100%);box-shadow:var(--shadow-lg);text-align:center;justify-items:center;gap:10px;padding:30px;display:grid;position:relative}@keyframes demo-confetti-fall{0%{opacity:0;transform:translateY(-3vh)rotate(0)}8%{opacity:1}88%{opacity:1}to{opacity:0;transform:translate3d(var(--confetti-drift), 105vh, 0) rotate(var(--confetti-turn))}}.demo-complete h2{font-family:var(--font-serif);font-size:var(--text-xl);margin:0}.demo-complete p{color:var(--color-text-muted);margin:0;line-height:1.45}.demo-complete small{color:var(--color-text-muted);font-size:var(--text-xs)}.table-card{z-index:auto;border:var(--border-strong);border-radius:var(--radius-lg);background:var(--color-surface-muted);min-width:0;box-shadow:var(--shadow-md);cursor:grab;touch-action:none;user-select:none;transition:border-color var(--duration-fast) ease, background var(--duration-fast) ease, box-shadow var(--duration-fast) ease;padding:9px;position:absolute}.table-card.drop-active{border-color:var(--color-accent);background:var(--color-accent-soft);box-shadow:var(--drop-ring)}.table-card.has-highlight{z-index:auto}.table-card.moving{z-index:var(--layer-drag);cursor:grabbing;box-shadow:var(--shadow-lg);transition:none}.placement-target{z-index:var(--layer-target);border-radius:var(--radius-lg);background:color-mix(in srgb, var(--color-surface) 82%, transparent);backdrop-filter:blur(1px);place-items:center;display:grid;position:absolute;inset:0}.placement-target button{border:1px solid var(--color-accent);border-radius:var(--radius-pill);min-height:30px;color:var(--color-on-accent);background:var(--color-accent);box-shadow:var(--shadow-md);font-size:var(--text-sm);cursor:pointer;padding:0 12px;font-weight:600}.dragging-table,.dragging-table *,.panning-room .room-canvas,.panning-room .room-canvas *{cursor:grabbing!important;user-select:none!important}.table-heading{min-height:var(--control-height);justify-content:space-between;align-items:center;gap:8px;margin-bottom:7px}.table-heading h3{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:600;line-height:var(--control-height);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.table-heading-actions{height:var(--control-height);align-items:stretch;gap:5px;display:flex}.capacity{height:var(--control-height);color:var(--color-text-muted);align-items:center;display:flex}.capacity.over{color:var(--color-danger)}.capacity.focused{border-radius:var(--radius-pill);color:var(--color-on-accent);background:var(--color-danger);box-shadow:0 0 0 2px var(--color-surface), 0 0 0 4px color-mix(in srgb, var(--color-danger) 72%, transparent);padding-inline:5px}.capacity.preview{border-radius:var(--radius-pill);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--color-accent) 22%, transparent);padding-inline:5px}.capacity.preview.over{background:var(--color-danger-soft)}.seated-party{border-radius:var(--radius-sm);min-width:0;color:var(--color-on-accent);background:var(--color-accent);transition:background var(--duration-fast) ease;border:0;align-items:center;display:flex;position:relative;overflow:visible}.seated-party:hover,.seated-party:focus-within{background:var(--color-accent-hover)}.seated-party.details-open{z-index:auto}.seated-party.relation-highlight-together{z-index:auto;background:var(--color-together);box-shadow:0 0 0 2px var(--color-together-soft)}.seated-party.relation-highlight-apart{z-index:auto;background:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger-soft)}.seated-party-main{border-radius:var(--radius-sm);text-align:left;cursor:grab;flex:1;align-items:center;min-width:0;height:100%;padding:4px 28px 4px 8px;display:flex;position:relative}.table-party-label{z-index:var(--layer-target);width:100%;min-width:0;font-size:var(--text-sm);white-space:nowrap;align-items:baseline;gap:2px;font-weight:600;line-height:1;display:flex;position:relative}.table-party-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.table-party-count{color:var(--color-on-accent-muted);flex:none;font-weight:600}.party-popover{z-index:var(--layer-popover);border:var(--border);border-radius:var(--radius-sm);width:max-content;min-width:150px;max-width:min(420px,70vw);max-height:min(320px,60vh);color:var(--color-text);background:var(--color-surface);font-size:var(--text-xs);white-space:normal;box-shadow:var(--shadow-md);pointer-events:auto;padding:5px;font-weight:400;line-height:1.35;display:none;position:absolute;top:0;overflow:hidden auto}.placement-dragging .party-popover{pointer-events:none}.party-popover.side-right{left:calc(100% + 5px)}.party-popover.side-left{right:calc(100% + 5px)}.party-popover.side-below-left,.party-popover.side-below-right{top:calc(100% + 5px)}.party-popover.side-below-left{left:0}.party-popover.side-below-right{right:0}.party-popover.align-bottom{top:auto;bottom:0}.party-popover.open{gap:3px;display:grid}.party-popover.split-open{width:min(410px,70vw);max-width:min(410px,70vw);padding:9px}.member-drag-chip{border-radius:var(--radius-xs);width:100%;color:var(--color-text);background:var(--color-surface-muted);text-align:left;cursor:grab;align-items:center;padding:5px 7px;display:flex}.member-popover-name{flex:none;min-width:0;font-weight:600}.member-drag-chip:hover{background:var(--color-accent-soft)}.split-group-button{border-top:var(--border);color:var(--color-accent);text-align:left;cursor:pointer;margin-top:2px;padding:6px 7px;font-weight:700}.split-group-button:hover,.split-group-button:focus-visible{background:var(--color-accent-soft)}.split-composer{gap:9px;display:grid}.split-composer-heading{gap:2px;display:grid}.split-composer-heading strong{font-family:var(--font-serif);font-size:var(--text-md)}.split-composer-heading span{color:var(--color-text-muted)}.split-buckets{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.split-bucket{border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface-subtle);flex-direction:column;gap:3px;min-height:92px;padding:5px;display:flex}.split-bucket.new-group{border-style:dashed;border-color:var(--color-together);background:var(--color-together-soft)}.split-bucket h4{font-size:var(--text-xs);justify-content:space-between;margin:0 2px 3px;display:flex}.split-bucket h4 span{color:var(--color-text-muted);font-weight:600}.split-bucket>p{color:var(--color-text-muted);text-align:center;margin:auto;padding:8px}.split-member{border:var(--border);border-radius:var(--radius-xs);min-width:0;color:var(--color-text);background:var(--color-surface);text-align:left;cursor:grab;align-items:center;gap:5px;padding:5px 6px;display:flex}.split-member>span:first-of-type,.split-member>span:nth-of-type(2){min-width:0}.split-member>span:not([aria-hidden=true]){text-overflow:ellipsis;flex:1;overflow:hidden}.split-member:hover,.split-member:focus-visible{border-color:var(--color-border-hover);box-shadow:var(--shadow-sm)}.split-member.suggested{border-color:var(--color-together)}.split-member small{color:var(--color-together);font-size:var(--text-2xs);font-weight:700}.split-member:disabled{color:var(--color-text-muted);cursor:not-allowed}.split-composer-actions{justify-content:flex-end;gap:6px;padding-top:2px;display:flex}.split-composer-actions button{border:var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:26px;padding:4px 9px}.split-composer-actions button:not(.primary-button):hover{background:var(--color-surface-muted)}.split-composer-actions button:disabled{cursor:not-allowed;opacity:.5}.unseat-button{z-index:var(--layer-target);border-radius:var(--radius-xs);width:24px;height:24px;color:var(--color-on-accent-muted);font-size:var(--text-2xs);cursor:pointer;opacity:1;padding:0;line-height:1;position:absolute;top:0;right:0}.unseat-button:hover,.unseat-button:focus-visible{color:var(--color-on-accent);background:var(--color-on-accent-hover)}.seated-party.single-member .unseat-button{width:18px;height:18px;top:50%;transform:translateY(-50%)}.seated-party.single-member .seated-party-main{padding-right:22px}::view-transition-group(*){animation-duration:var(--duration-layout);animation-timing-function:var(--ease-standard)}.empty-table{border:1px dashed var(--color-border);border-radius:var(--radius-md);grid-area:1/1/-1/-1;place-items:center;min-height:36px;display:grid}.issue-control,.issue-slot{width:30px;height:var(--control-height);place-items:center;display:grid}.issue-control{position:relative}.issue-slot{flex:none}.table-settings-control{width:24px;height:var(--control-height);position:relative}.table-settings-button{width:24px;height:var(--control-height);border-radius:var(--radius-pill);color:var(--color-text-muted);font:700 var(--text-2xs)/1 var(--font-sans);cursor:pointer}.table-settings-button:hover,.table-settings-button[aria-expanded=true]{color:var(--color-text);background:var(--color-surface)}.table-settings-popover{z-index:var(--layer-popover);border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);width:210px;box-shadow:var(--shadow-lg);gap:8px;padding:9px;display:grid;position:absolute;top:-4px;left:calc(100% + 6px)}.table-settings-popover.side-left{left:auto;right:calc(100% + 6px)}.table-settings-popover.align-bottom{top:auto;bottom:-4px}.table-settings-popover label,.quick-family-form label{gap:4px;display:grid}.table-settings-popover label>span,.quick-family-form label>span{color:var(--color-text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.04em;font-weight:600}input,select{border:var(--border);border-radius:var(--radius-sm);min-width:0;height:32px;color:var(--color-text);background:var(--color-surface);font:inherit;padding:0 8px}input:focus,select:focus{border-color:var(--color-accent);box-shadow:var(--focus-ring);outline:none}.table-settings-actions{justify-content:space-between;gap:8px;display:flex}.primary-button,.danger-button{border-radius:var(--radius-sm);min-height:30px;font-size:var(--text-sm);cursor:pointer;padding:0 10px;font-weight:600}.primary-button{color:var(--color-on-accent);background:var(--color-accent)}.primary-button:hover{background:var(--color-accent-hover)}.primary-button.compact{min-height:26px}.danger-button{color:var(--color-danger);background:var(--color-danger-soft)}.editor-view{background:var(--color-surface-subtle);min-width:0;min-height:0;padding:18px 22px 28px;overflow:auto}.editor-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}.editor-heading h2,.editor-heading p,.family-card h3,.relationship-list h3{margin:0}.editor-heading h2{font-family:var(--font-serif);font-size:var(--text-xl)}.editor-heading p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:3px}.quick-family-form{border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-columns:minmax(150px,.7fr) minmax(280px,2fr) auto;align-items:end;gap:8px;max-width:900px;margin-bottom:16px;padding:10px;display:grid}.guest-search{gap:4px;max-width:360px;margin-bottom:12px;display:grid}.guest-search>span{color:var(--color-text-muted);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.guests-empty-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);max-width:460px;color:var(--color-text-muted);background:var(--color-surface-subtle);padding:28px}.guests-empty-state h3,.guests-empty-state p{margin:0}.guests-empty-state h3{color:var(--color-text);margin-bottom:5px}.family-grid{grid-template-columns:repeat(auto-fill,minmax(430px,1fr));align-items:start;gap:10px;display:grid}.family-card{border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-sm);padding:11px}.family-card-heading{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.family-card:has(.family-collapse-button[aria-expanded=false]) .family-card-heading{margin-bottom:0}.family-card-heading h3{font-family:var(--font-serif);font-size:var(--text-lg)}.family-collapse-button{border-radius:var(--radius-sm);text-align:left;cursor:pointer;flex:1;align-items:center;gap:6px;min-width:0;padding:1px 3px;display:flex}.family-collapse-button:hover{background:var(--color-surface-subtle)}.family-collapse-button .age-composition{margin-left:auto}.family-collapse-icon{border-radius:var(--radius-pill);background:var(--color-surface-muted);place-items:center;width:20px;height:20px;display:grid}.family-card-heading span{color:var(--color-text-muted);font:600 var(--text-xs)/1 var(--font-mono)}.family-remove-button,.member-remove-button{border-radius:var(--radius-pill);color:var(--color-text-muted);cursor:pointer;place-items:center;display:grid}.family-remove-button{width:22px;height:22px}.member-remove-button{width:24px;height:32px}.family-remove-button:hover,.member-remove-button:hover{color:var(--color-danger);background:var(--color-danger-soft)}.member-editor-list{gap:4px;display:grid}.member-editor-row{border-radius:var(--radius-sm);grid-template-columns:28px minmax(90px,1.2fr) 66px minmax(54px,.7fr) minmax(84px,.8fr) 24px;align-items:center;gap:5px;padding:2px;display:grid}.member-group-select{font-size:var(--text-xs)}.member-editor-row input{cursor:text}.member-drag-handle{border-radius:var(--radius-sm);width:28px;height:32px;color:var(--color-text-muted);background:var(--color-surface-muted);font-size:var(--text-md);cursor:grab;place-items:center;display:grid}.add-member-form{gap:5px;max-width:240px;margin-top:7px;display:flex}.add-member-form input{flex:1}.add-member-form button{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-on-accent);background:var(--color-accent);font-size:var(--text-lg);cursor:pointer}.age-picker{border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface);height:32px;padding:2px;display:flex}.age-composition{height:20px;color:var(--color-text-muted);font:600 var(--text-xs)/1 var(--font-mono);white-space:nowrap;flex:none;align-items:center;gap:2px;display:inline-flex}.age-composition-part{align-items:center;gap:1px;display:inline-flex}.age-composition b{font:inherit}.age-composition .age-icon{width:13px;height:13px}.age-picker button{border-radius:var(--radius-xs);min-width:0;color:var(--color-text-muted);cursor:pointer;flex:1;place-items:center;display:grid}.age-picker button:hover{color:var(--color-text);background:var(--color-surface-muted)}.age-picker button.active{color:var(--color-accent);background:var(--color-accent-soft)}.age-icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:16px;height:16px;overflow:visible}.tag-editor{min-width:0;position:relative}.person-tags{align-items:center;gap:3px;min-height:32px;display:flex;overflow-x:auto}.tag-option,.add-tag-button{border-radius:var(--radius-pill);width:24px;height:24px;font-size:var(--text-2xs);cursor:pointer;flex:none;font-weight:700}.tag-option{opacity:.42;transition:opacity var(--duration-fast) ease, box-shadow var(--duration-fast) ease;border:1px solid}.tag-option:hover,.tag-option.selected{opacity:1}.tag-option.selected{box-shadow:inset 0 0 0 2px var(--color-surface), 0 0 0 1px currentColor}.add-tag-button{color:var(--color-accent);background:var(--color-accent-soft);font-size:var(--text-lg);line-height:1}.tag-yellow{color:var(--tag-yellow);background:var(--tag-yellow-soft)}.tag-blue{color:var(--tag-blue);background:var(--tag-blue-soft)}.tag-green{color:var(--tag-green);background:var(--tag-green-soft)}.tag-purple{color:var(--tag-purple);background:var(--tag-purple-soft)}.tag-red{color:var(--tag-red);background:var(--tag-red-soft)}.tag-popover{z-index:var(--layer-popover);border:var(--border);border-radius:var(--radius-md);background:var(--color-surface);width:230px;box-shadow:var(--shadow-lg);grid-template-columns:minmax(100px,1fr) auto;gap:6px;padding:7px;display:grid;position:absolute;top:calc(100% + 4px);left:0}.tag-color-picker{grid-column:1/-1;gap:5px;display:flex}.tag-color{border:2px solid var(--color-surface);border-radius:var(--radius-pill);cursor:pointer;width:20px;height:20px}.tag-color.selected{box-shadow:0 0 0 1px}.tag-color.tag-yellow{background:var(--tag-yellow)}.tag-color.tag-blue{background:var(--tag-blue)}.tag-color.tag-green{background:var(--tag-green)}.tag-color.tag-purple{background:var(--tag-purple)}.tag-color.tag-red{background:var(--tag-red)}.tag-add-confirm{border-radius:var(--radius-sm);color:var(--color-on-accent);background:var(--color-accent);cursor:pointer;grid-area:1/2;padding:0 8px}.tag-system-list{border-top:var(--border);grid-column:1/-1;gap:3px;max-height:126px;padding-top:5px;display:grid;overflow-y:auto}.tag-system-list>div{color:var(--color-text);font-size:var(--text-xs);grid-template-columns:22px minmax(0,1fr) 22px;align-items:center;gap:6px;display:grid}.tag-system-dot{border-radius:var(--radius-pill);width:20px;height:20px;font-size:var(--text-2xs);place-items:center;font-weight:700;display:grid}.tag-system-list button{border-radius:var(--radius-pill);width:22px;height:22px;color:var(--color-text-muted);cursor:pointer}.tag-system-list button:hover{color:var(--color-danger);background:var(--color-danger-soft)}.family-groups{border-top:var(--border);grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:5px;margin-top:9px;padding-top:9px;display:grid}.family-group,.split-drop-zone{border:var(--border);border-radius:var(--radius-sm);min-width:0;max-width:100%;font-size:var(--text-xs);padding:6px 8px}.family-group{background:var(--color-surface-muted);gap:2px;display:grid}.family-group strong{align-items:center;gap:3px;min-width:0;display:flex;overflow:hidden}.family-group>span{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.split-drop-zone{color:var(--color-text-muted);border-style:dashed;place-items:center;display:grid}.relationship-toolzone,.relationship-tools{align-items:center;display:flex}.relationship-toolzone{border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-md);gap:8px;padding:5px 7px}.relationships-view .editor-heading{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;display:grid}.relationships-view .editor-heading>div:first-child{grid-column:1}.relationships-view .relationship-toolzone{grid-column:2}.relationship-tool-group{gap:3px;display:grid}.relationship-tool-group>span{color:var(--color-text-muted);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;padding-inline:4px;font-weight:600}.relationship-tools{gap:1px}.relationship-tool-button{border-radius:var(--radius-sm);height:30px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;align-items:center;gap:5px;padding:0 7px;display:flex}.relationship-tool-group:last-child .relationship-tool-button{justify-content:center;width:auto;padding-inline:7px}.relationship-tool-button:hover{color:var(--color-text);background:var(--color-surface-muted)}.relationship-tool-button.active{color:var(--color-text);background:var(--color-surface-muted);box-shadow:none}.rule-line-swatch{border-top:2px solid var(--color-text-muted);width:20px;height:0}.rule-line-swatch.preferred{border-top-style:dashed}.relationship-tools .relation-together.active{color:var(--color-together);background:var(--color-together-soft)}.relationship-tools .relation-apart.active{color:var(--color-danger);background:var(--color-danger-soft)}.toolzone-divider{background:var(--color-border);align-self:stretch;width:1px}.relationships-view{grid-template-rows:auto auto minmax(560px,1fr);display:grid;overflow:hidden}.constraint-conflict-notice{border:1px solid var(--color-danger);border-radius:var(--radius-md);background:var(--color-danger-soft);grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);gap:8px 16px;margin-bottom:12px;padding:12px;display:grid}.constraint-conflict-notice h3,.constraint-conflict-notice p{margin:0}.constraint-conflict-notice h3{font-size:var(--text-md)}.constraint-conflict-notice p{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px;line-height:1.4}.constraint-conflict-notice button{border:var(--border);border-radius:var(--radius-sm);min-width:0;color:var(--color-text);background:var(--color-surface);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;display:flex}.constraint-conflict-notice button span{min-width:0;font-size:var(--text-xs);line-height:1.35}.constraint-conflict-notice button strong{color:var(--color-accent);font-size:var(--text-xs);flex:none}.relationship-layout{min-width:0;min-height:0;position:relative;overflow:auto}.relationship-subjects{border:var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at center, #7d294b0b, transparent 58%), var(--color-surface);width:100%;min-width:760px;height:100%;min-height:590px;position:relative;overflow:hidden}.arrange-relationship-nodes{z-index:var(--layer-target);border:var(--border);border-radius:var(--radius-pill);height:28px;color:var(--color-text-muted);background:var(--color-surface);box-shadow:var(--shadow-sm);font-size:var(--text-xs);cursor:pointer;padding:0 9px;position:absolute;top:10px;left:10px}.arrange-relationship-nodes:hover{color:var(--color-text);border-color:var(--color-border-hover)}.relationship-arrows{z-index:var(--layer-active-edge);pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.relationship-subjects.drawing .relationship-arrows{z-index:var(--layer-popover)}.relationship-arrow-hits{z-index:auto;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.relationship-arrow-hit{fill:none;stroke:#0000;stroke-width:9px;pointer-events:stroke;cursor:pointer}.relationship-connector:hover .relationship-arrow{stroke-width:2.5px;opacity:.9}.relationship-delete{color:var(--color-danger);pointer-events:all;cursor:pointer}.relationship-delete circle{fill:var(--color-surface);stroke:currentColor;stroke-width:1.5px;filter:drop-shadow(0 2px 4px #20231f2e)}.relationship-delete text{fill:currentColor;font-size:14px;font-weight:700}.relationship-arrow{opacity:.46}.relationship-arrow.draft{stroke-width:2px;opacity:.78}.relationship-group{z-index:auto;border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);width:176px;min-height:74px;box-shadow:var(--shadow-md);opacity:0;user-select:none;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease, opacity var(--duration-fast) ease, transform var(--duration-fast) ease;padding:9px;position:absolute}.relationship-group.collapsed{min-height:0;padding-block:8px}.relationship-subjects.positioned .relationship-group{opacity:1}.relationship-group:hover{border-color:var(--color-border-hover)}.relationship-group.moving{z-index:var(--layer-drag);cursor:grabbing}.relationship-subjects.connecting{cursor:crosshair}.relationship-subjects.connecting .relationship-group:not(.selected-source){border-color:color-mix(in srgb, var(--color-accent) 28%, var(--color-border))}.relationship-group.selected-source{border-color:var(--color-together);background:var(--color-together-soft);box-shadow:var(--shadow-md)}.relationship-group.focus-together{border-color:var(--color-together);box-shadow:0 0 0 2px var(--color-together-soft), var(--shadow-md)}.relationship-group.focus-apart{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger-soft), var(--shadow-md)}.relationship-subjects.apart .relationship-group.selected-source{border-color:var(--color-danger);background:var(--color-danger-soft);box-shadow:var(--shadow-md)}.relationship-group.selected-source .relationship-group-target.selected{box-shadow:none}.relationship-operation{z-index:var(--layer-popover);border:1px solid var(--color-together);border-radius:var(--radius-pill);height:34px;color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-lg);font-size:var(--text-xs);align-items:center;gap:7px;padding:4px 5px 4px 10px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.relationship-subjects.apart .relationship-operation{border-color:var(--color-danger)}.relationship-operation>span{color:var(--color-text-muted)}.relationship-operation button{border-radius:var(--radius-pill);height:24px;color:var(--color-text-muted);background:var(--color-surface-muted);cursor:pointer;padding-inline:8px}.relationship-operation kbd{color:var(--color-text-muted);font:inherit;margin-left:3px}.relationship-node-heading{align-items:center;gap:3px;min-width:0;display:flex}.relationship-node-move{z-index:var(--layer-target);border-radius:var(--radius-pill);width:28px;height:28px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:grab;touch-action:none;flex:none;place-items:center;line-height:1;display:grid;position:static}.relationship-node-move:hover{z-index:var(--layer-target);color:var(--color-accent);background:var(--color-accent-soft)}.relationship-group-target,.relationship-single-target{z-index:auto;border-radius:var(--radius-sm);cursor:pointer;touch-action:none;position:relative}.relationship-group-target{min-width:0;color:var(--color-accent);text-align:left;background:0 0;flex:1;align-items:baseline;gap:4px;padding:3px 2px 6px;font-weight:600;display:flex}.relationship-group-target:hover,.relationship-group-target:focus-visible,.relationship-group-target.selected,.relationship-single-target:hover,.relationship-single-target:focus-visible,.relationship-single-target.selected{z-index:var(--layer-target)}.relationship-group-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.relationship-group-count{color:var(--color-text-muted);flex:none}.relationship-group-expand{z-index:var(--layer-target);border-radius:var(--radius-pill);min-width:28px;height:28px;color:var(--color-text-muted);font-size:var(--text-xs);cursor:pointer;flex:none;align-items:center;gap:3px;padding-inline:5px;display:inline-flex;position:relative}.relationship-group-expand:hover,.relationship-group-expand[aria-expanded=true]{z-index:var(--layer-target);color:var(--color-accent);background:var(--color-accent-soft)}.relationship-members{flex-wrap:wrap;justify-content:center;gap:4px;padding-top:2px;display:flex}.relationship-collapsed-members{flex-wrap:wrap;gap:3px;padding-top:4px;display:flex}.relationship-collapsed-members .relationship-person-target{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:3px 6px;overflow:hidden}.relationship-member-overflow{color:var(--color-text-muted);font-size:var(--text-2xs);white-space:nowrap;align-self:center;padding-inline:4px}.relationship-person-target{z-index:auto;border-radius:var(--radius-pill);background:var(--color-accent-soft);font-size:var(--text-xs);border:1px solid #0000;padding:5px 8px;position:relative}.relationship-person-target:hover,.relationship-person-target:focus-visible,.relationship-person-target.selected{z-index:var(--layer-target)}.relationship-single-target{border-radius:var(--radius-pill);min-width:0;color:var(--color-accent);background:var(--color-accent-soft);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;flex:1;padding:5px 7px;font-weight:600;overflow:hidden}.relationship-group.single-person{min-height:0;padding-block:8px}.relationship-person-target:hover,.relationship-group-target:hover,.relationship-single-target:hover{color:var(--color-accent-hover)}.relationship-group-target.selected,.relationship-person-target.selected,.relationship-single-target.selected{box-shadow:var(--focus-ring)}.relationship-list{z-index:var(--layer-popover);border-radius:var(--radius-lg);background:0 0;position:absolute;bottom:12px;right:12px}.plan>.relationship-list{bottom:28px;right:28px}.relationship-list>summary{border:var(--border);border-radius:var(--radius-pill);width:max-content;color:var(--color-text-muted);background:var(--color-surface);box-shadow:var(--shadow-md);font-size:var(--text-xs);cursor:pointer;margin-left:auto;padding:7px 10px;list-style:none}.relationship-list>summary::-webkit-details-marker{display:none}.relationship-list[open]{border:var(--border);background:color-mix(in srgb, var(--color-surface) 94%, transparent);width:300px;box-shadow:var(--shadow-lg);padding:7px}.relationship-list[open]>summary{box-shadow:none;border-color:#0000;margin:0 0 6px auto}.relationship-list-body{gap:0;max-height:360px;display:grid;overflow-y:auto}.relationship-row{border-bottom:var(--border);transition:background var(--duration-fast) ease;grid-template-columns:minmax(0,1fr) 20px;align-items:center;gap:6px;padding:9px 7px;display:grid}.relationship-row:last-child{border-bottom:0}.relationship-row p{font-size:var(--text-xs);grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);align-items:center;gap:5px;margin:0;display:grid}.relationship-row p>strong:last-of-type{text-align:right}.relationship-symbol{border-radius:var(--radius-pill);background:var(--color-together-soft);place-self:center;place-items:center;width:20px;height:20px;display:grid}.relationship-glyph{width:15px;height:12px;color:var(--color-together);display:block;overflow:hidden}.relationship-tools .relationship-glyph,.relationship-operation .relationship-glyph{width:18px;height:14px}.relationship-glyph.apart{color:var(--color-danger)}.relationship-glyph path{fill:none;stroke:currentColor;stroke-width:1.35px;stroke-linecap:round;stroke-linejoin:round}.relationship-symbol.apart{background:var(--color-danger-soft)}.issue-button{width:30px;height:var(--control-height);border-radius:var(--radius-pill);min-width:0;color:var(--color-danger);background:var(--color-danger-soft);cursor:pointer;justify-content:center;align-items:center;gap:3px;margin:0;padding:0 5px;line-height:1;display:flex}.has-preference .issue-button{color:var(--color-warning);background:var(--color-warning-soft)}.issue-button>span{border-radius:var(--radius-pill);width:11px;height:11px;font:700 var(--text-2xs)/1 var(--font-serif);border:1px solid;place-items:center;display:grid}.issue-button>b{font:700 var(--text-2xs)/1 var(--font-mono)}.issue-popover{z-index:var(--layer-popover);border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface-subtle);width:252px;max-width:calc(100vw - 24px);max-height:min(380px,60vh);box-shadow:var(--shadow-lg);transform-origin:0 14px;gap:4px;padding:5px;display:none;position:absolute;top:-4px;left:calc(100% + 6px);right:auto;overflow-y:auto}.issue-popover.side-left{transform-origin:right 14px;left:auto;right:calc(100% + 6px)}.issue-popover.align-bottom{transform-origin:0 calc(100% - 14px);top:auto;bottom:-4px}.issue-popover.side-left.align-bottom{transform-origin:right calc(100% - 14px)}.issue-popover:before,.issue-popover:after{content:"";pointer-events:none;border-style:solid;width:0;height:0;position:absolute}.issue-popover:before{border-width:6px;border-color:transparent var(--color-border) transparent transparent;top:7px;left:-12px}.issue-popover:after{border-width:5px;border-color:transparent var(--color-surface-subtle) transparent transparent;top:8px;left:-10px}.issue-popover.side-left:before{border-color:transparent transparent transparent var(--color-border);left:auto;right:-12px}.issue-popover.side-left:after{border-color:transparent transparent transparent var(--color-surface-subtle);left:auto;right:-10px}.issue-popover.align-bottom:before{top:auto;bottom:7px}.issue-popover.align-bottom:after{top:auto;bottom:8px}.issue-popover.open{display:grid}.motion-enabled .issue-popover.open{animation:issue-popover-in var(--duration-fast) var(--ease-standard)}.motion-enabled .party-popover.open{animation:party-popover-in var(--duration-fast) var(--ease-standard)}.local-issue{border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:default;transition:border-color var(--duration-fast) ease, box-shadow var(--duration-fast) ease;grid-template-columns:7px minmax(0,1fr);align-items:baseline;gap:7px;padding:7px 8px;display:grid}.local-issue:hover,.local-issue:focus{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.local-issue:focus-visible{box-shadow:var(--focus-ring);outline:none}.issue-marker{border-radius:var(--radius-pill);background:var(--color-warning-dot);width:7px;height:7px;margin-top:3px}.local-issue.required .issue-marker{background:var(--color-danger)}@keyframes issue-popover-in{0%{opacity:0;transform:translate(-4px)scale(.985)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes party-popover-in{0%{opacity:0;transform:translateY(3px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.local-issue p{font-size:var(--text-xs);margin:0;line-height:1.35}.issue-person{border-bottom:1px solid var(--color-accent-rule);color:var(--color-text);transition:background var(--duration-fast) ease;font-weight:600}.local-issue:hover .issue-person,.local-issue:focus .issue-person{border-radius:var(--radius-xs);background:var(--color-accent-soft)}@media (width<=850px){.topbar{padding:0 16px}.brand>span,.problem-count,.topbar-actions .text-button:nth-of-type(2){display:none}.workspace{grid-template-rows:minmax(180px,34vh) minmax(0,1fr);grid-template-columns:1fr}.rail{border-right:0;border-bottom:var(--border)}.relationships-view .editor-heading{flex-direction:column;align-items:stretch;display:flex}.relationships-view .relationship-toolzone{align-self:center}}@media (width<=620px){.app{grid-template-rows:54px minmax(0,1fr)}.plan,.rail{padding:10px}.text-button{padding-inline:5px}.topbar{gap:3px;padding-inline:8px}.brand h1{font-size:var(--text-md)}.view-tab{height:36px;font-size:var(--text-xs);padding-inline:5px}.topbar-actions .text-button{display:none}.topbar-actions>.global-issue-list{margin:0}.topbar-actions>.global-issue-list .problem-count{font-size:.66rem;display:inline}.topbar-actions>.global-issue-list>summary{padding:7px 3px}.topbar-actions>.global-issue-list .global-issue-list-body{width:auto;max-height:55dvh;position:fixed;top:58px;left:8px;right:8px}.editor-view{padding:10px 10px max(50dvh,320px)}.workspace{grid-template-rows:auto minmax(0,1fr);overflow:hidden}.rail{max-height:164px;position:relative;overflow:hidden}.rail-add-table{margin:0;position:absolute;top:10px;right:10px}.rail-heading{min-height:32px;padding-right:76px}.rail-help{display:none}.party-list{overscroll-behavior-x:contain;scroll-snap-type:x proximity;gap:7px;margin-top:8px;padding-bottom:4px;display:flex;overflow-x:auto}.rail-party-control{scroll-snap-align:start;flex:0 0 min(250px,78vw);width:min(250px,78vw)}.empty-rail{max-width:calc(100% - 82px);padding:4px}.plan-heading{min-height:26px;margin-bottom:6px}.room-viewport{overscroll-behavior:contain;min-height:320px}.editor-heading{flex-direction:column;align-items:stretch;gap:10px}.editor-view>.editor-heading{flex-direction:row;align-items:center}.relationship-toolzone{flex-wrap:wrap}.relationships-view{grid-template-rows:auto auto minmax(0,1fr);height:100%}.constraint-conflict-notice{grid-template-columns:1fr}.relationships-view .editor-heading{gap:8px;margin-bottom:8px}.relationships-view .editor-heading h2{font-size:1.1rem}.relationships-view .editor-heading p{font-size:var(--text-xs);line-height:1.35}.relationships-view .relationship-toolzone{justify-content:space-around;gap:3px;width:100%;padding:4px}.relationship-tools button{height:34px;padding-inline:6px}.relationship-layout{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.toolzone-divider{display:none}.quick-family-form{grid-template-columns:1fr}.family-grid{grid-template-columns:minmax(0,1fr)}.room-onboarding{padding:12px}.room-onboarding-card{padding:22px 16px}.room-onboarding-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.demo-guide{right:auto;bottom:max(8px, env(safe-area-inset-bottom));border-radius:var(--radius-md);gap:6px;width:calc(100vw - 16px);max-height:32dvh;padding:11px 12px;left:50%;overflow-y:auto}.demo-complete-actions{justify-content:center;width:100%}.demo-guide-header>strong{font-size:1rem;line-height:1.2}.demo-guide-body p{font-size:var(--text-md);line-height:1.35}.demo-guide-header>span{font-size:.58rem}.demo-guide-actions>button:not(.primary-button){font-size:var(--text-xs);padding:3px 5px}.demo-guide-hint{font-size:var(--text-xs);margin-top:4px}.party-popover.split-open{width:min(280px,80vw);max-width:min(280px,80vw)}.split-buckets{grid-template-columns:minmax(0,1fr)}.member-editor-row{grid-template-columns:28px minmax(0,1fr) 80px 24px}.tag-editor,.member-group-select{grid-column:2/-2}.desktop-room-view,.desktop-relationships-view,.desktop-guide{display:none}.mobile-room-view,.mobile-relationships-view{background:var(--color-surface-subtle);min-width:0;min-height:0;padding:12px 12px max(50dvh,320px);display:block;overflow-y:auto}.mobile-workflow-heading,.mobile-room-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.mobile-table-card{scroll-margin-block:12px}.mobile-room-heading{z-index:var(--layer-popover);border-bottom:var(--border);background:color-mix(in srgb, var(--color-surface-subtle) 94%, transparent);backdrop-filter:blur(8px);margin:-12px -12px 12px;padding:10px 12px;position:sticky;top:-12px}.planner-history-actions{display:grid}.mobile-room-actions,.mobile-history-actions{align-items:center;gap:4px;display:flex}.mobile-history-actions button{border:var(--border);border-radius:var(--radius-sm);background:var(--color-surface);width:34px;height:34px;font-size:1.15rem}.mobile-history-actions button:disabled{opacity:.35}.mobile-room-heading>div:first-child{flex:1;min-width:0}.mobile-workflow-heading h2,.mobile-workflow-heading p,.mobile-table-card h3,.mobile-unseated-section h3,.mobile-group-workflow h2,.mobile-group-workflow p{margin:0}.mobile-workflow-heading h2,.mobile-group-workflow h2{font-family:var(--font-serif);font-size:1.2rem}.mobile-workflow-heading p,.mobile-group-workflow header p{color:var(--color-text-muted);font-size:var(--text-sm);margin-top:2px}.mobile-unseated-section,.mobile-table-card,.mobile-group-workflow,.mobile-relationship-form,.mobile-relationship-list{border:var(--border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:12px}.mobile-unseated-section{border-style:dashed;border-color:var(--color-border-strong);background:color-mix(in srgb, var(--color-surface-muted) 42%, var(--color-surface));margin-bottom:10px}.mobile-unseated-section h3,.mobile-table-card>header,.mobile-relationship-list>header{align-items:center;gap:7px;display:flex}.mobile-unseated-section h3,.mobile-table-card h3,.mobile-relationship-list h3,.mobile-move-form h3{font-size:var(--text-md);margin:0}.mobile-unseated-section h3 span,.mobile-table-card>header>span,.mobile-relationship-list>header span{color:var(--color-text-muted);font-size:var(--text-xs)}.mobile-table-card>header>span{font-family:var(--font-mono);margin-left:auto;font-weight:600}.mobile-table-menu{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-text-muted);margin-left:2px;font-weight:700}.mobile-table-editor{z-index:var(--layer-popover);border:var(--border-strong);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);gap:10px;margin-bottom:12px;padding:12px;display:grid;position:sticky;top:54px}.mobile-table-editor header,.mobile-table-editor>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-table-editor h3{margin:0}.mobile-table-editor label{color:var(--color-text-muted);font-size:var(--text-xs);gap:4px;font-weight:600;display:grid}.mobile-table-editor input{border:var(--border);border-radius:var(--radius-md);min-height:42px;font:inherit;padding:8px 10px}.mobile-table-card>header>span.over,.mobile-table-card>header small{color:var(--color-danger)}.mobile-table-issues{margin-left:2px;position:relative}.mobile-table-issues>summary{color:var(--color-danger);font-size:var(--text-xs);cursor:pointer;font-weight:700;list-style:none}.mobile-table-issues>div{z-index:var(--layer-popover);border:var(--border-strong);border-radius:var(--radius-md);background:var(--color-surface);width:min(300px,100vw - 48px);box-shadow:var(--shadow-lg);padding:5px;position:absolute;top:26px;right:-38px}.mobile-table-issue-row{border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;padding:9px}.mobile-table-issue-row:hover,.mobile-table-issue-row:focus{background:var(--color-accent-soft)}.mobile-table-stack,.mobile-group-stack,.mobile-member-list{gap:7px;display:grid}.mobile-table-stack{padding-bottom:84px}.mobile-table-card>.mobile-group-stack,.mobile-table-card>p{margin-top:10px}.mobile-table-card>p{color:var(--color-text-muted);font-size:var(--text-sm)}.mobile-group-choice{border:var(--border);border-radius:var(--radius-md);background:var(--color-surface-subtle);text-align:left;grid-template-columns:minmax(0,1fr) 24px 12px;align-items:center;gap:7px;min-width:0;padding:10px;display:grid}.mobile-group-choice>span:first-child{gap:2px;min-width:0;display:grid}.mobile-group-choice strong,.mobile-group-choice small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-group-choice small{color:var(--color-text-muted)}.mobile-group-choice b{border-radius:var(--radius-pill);background:var(--color-surface-muted);width:24px;height:24px;font-size:var(--text-xs);place-items:center;display:grid}.mobile-group-workflow{min-height:calc(100% - 8px);padding-bottom:90px}.mobile-back-button{color:var(--color-accent);font-size:var(--text-sm);margin-bottom:12px}.mobile-group-workflow>header{margin-bottom:12px}.motion-enabled .mobile-group-workflow{animation:mobile-group-enter .22s var(--ease-standard) both}.mobile-member-details{border:var(--border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.mobile-preferences-heading{margin:14px 0 8px}.mobile-preferences-heading h3,.mobile-preferences-heading p{margin:0}.mobile-preferences-heading h3{font-size:var(--text-md)}.mobile-preferences-heading p{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:2px}.mobile-member-details>header{justify-content:space-between;gap:10px;padding:10px;display:flex}.mobile-member-details>header span{color:var(--color-text-muted);font-size:var(--text-xs)}.mobile-member-details>p{color:var(--color-text-muted);font-size:var(--text-xs);padding:0 10px 10px}.mobile-member-preferences{flex-wrap:wrap;gap:6px;padding:0 10px 10px;display:flex}.mobile-preference-chip{border:1px solid var(--color-border-hover);border-radius:var(--radius-pill);color:var(--color-text);background:var(--color-surface);font-size:var(--text-xs);gap:2px;padding:5px 8px;display:grid}.mobile-preference-chip>span{align-items:center;gap:5px;display:inline-flex}.mobile-preference-chip>small{color:var(--color-text-muted);font-size:.62rem}.mobile-preference-chip.satisfied{color:var(--color-text);border-color:var(--color-border-hover);background:var(--color-surface);border-style:dashed}.mobile-preference-chip.conflict{color:var(--color-danger);border-color:var(--color-danger);background:var(--color-danger-soft)}.mobile-preference-chip.pending{color:var(--color-text-muted);background:var(--color-surface);border-style:dashed}.mobile-preference-chip.preferred{border-style:dashed}.mobile-move-form{margin-top:8px;scroll-margin-block:12px 45dvh}.mobile-group-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;margin-top:14px;display:grid}.mobile-operation-toggle,.mobile-split-action{border:1px solid var(--color-accent);border-radius:var(--radius-md);min-height:46px;color:var(--color-accent);background:var(--color-surface);padding:10px 12px;font-weight:700}.mobile-operation-toggle{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-operation-toggle.expanded{color:var(--color-on-accent);background:var(--color-accent)}.mobile-operation-toggle>span:last-child{transition:transform .18s var(--ease-standard)}.mobile-operation-toggle.expanded>span:last-child{transform:rotate(180deg)}.mobile-move-form>div{gap:6px;margin-top:7px;display:grid}.mobile-move-form button{border:var(--border);border-radius:var(--radius-md);background:var(--color-surface-subtle);justify-content:space-between;align-items:center;width:100%;min-height:42px;padding:8px 10px;display:flex}.mobile-destination{gap:0;display:grid}.mobile-destination.has-details>button{border-radius:var(--radius-md) var(--radius-md) 0 0}.mobile-destination-details{border:var(--border);border-radius:0 0 var(--radius-md) var(--radius-md);background:var(--color-surface);font-size:var(--text-xs);border-top:0;gap:5px;padding:8px 12px 9px;display:grid}.mobile-destination-details p{color:var(--color-text-muted);margin:0}.mobile-destination-details p.preserves{color:var(--color-together)}.mobile-destination-details ul{gap:3px;margin:0;padding-left:16px;display:grid}.mobile-destination-details .improves{color:var(--color-together)}.mobile-destination-details .worsens{color:var(--color-danger)}.mobile-move-form button.selected{color:var(--color-text-muted);background:var(--color-surface-muted)}.mobile-move-form button.over span{color:var(--color-danger)}.mobile-destination-meta{justify-content:flex-end;align-items:center;gap:7px;display:flex}.mobile-destination-meta b{color:var(--color-text);font-family:var(--font-mono);font-weight:600}.mobile-destination-meta small{border-radius:var(--radius-pill);font-size:var(--text-2xs);padding:3px 5px;font-weight:700}.mobile-destination-meta .improves{color:var(--color-together);background:var(--color-together-soft)}.mobile-destination-meta .worsens{color:var(--color-danger);background:var(--color-danger-soft)}.mobile-destination-meta .recommended{color:var(--color-accent);background:var(--color-accent-soft)}.mobile-resolution-advice{border-left:3px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent-soft);gap:5px;padding:11px 12px;display:grid}.mobile-resolution-advice p,.mobile-resolution-advice small{margin:0;line-height:1.4}.mobile-resolution-advice small{color:var(--color-text-muted)}.mobile-move-form button.mobile-unseat-action{border:1px dashed var(--color-accent);color:var(--color-accent);background:color-mix(in srgb, var(--color-accent-soft) 45%, var(--color-surface));margin-top:5px}.mobile-unseat-action span{color:var(--color-accent);font-size:var(--text-xs)}.mobile-split-action{width:100%;margin:0}.mobile-relationship-form,.mobile-relationship-list{margin-bottom:12px}.mobile-subject-select{color:var(--color-text-muted);font-size:var(--text-xs);gap:5px;font-weight:600;display:grid}.mobile-subject-select.open{z-index:var(--layer-popover);position:relative}.mobile-subject-select.open .guide-revealed-target{outline:0;animation:none}.mobile-subject-select.open .guide-revealed-target[data-guide-explanation]:before{display:none}.mobile-subject-combobox input{border:var(--border);border-radius:var(--radius-md);width:100%;min-height:44px;color:var(--color-text);background:var(--color-surface);font:inherit;font-size:var(--text-md);padding:0 9px}.mobile-subject-combobox{position:relative}.mobile-subject-options{z-index:var(--layer-open-control);border:var(--border-strong);border-radius:var(--radius-md);background:var(--color-surface);max-height:240px;box-shadow:var(--shadow-lg);position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.mobile-subject-options button{border-bottom:var(--border);text-align:left;width:100%;padding:11px 12px}.mobile-subject-options button:hover{background:var(--color-accent-soft)}.mobile-subject-options p{color:var(--color-text-muted);margin:0;padding:12px}.mobile-rule-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:11px 0;display:grid}.mobile-rule-row fieldset{border:0;min-width:0;margin:0;padding:0}.mobile-rule-row legend{color:var(--color-text-muted);font-size:var(--text-2xs);text-transform:uppercase;margin-bottom:4px;font-weight:700}.mobile-rule-row .relationship-tools{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mobile-rule-row .relationship-tools button{justify-content:center;min-width:0;padding-inline:4px}.mobile-relationship-form>.primary-button{width:100%;margin-top:11px}.mobile-relationship-form>.primary-button:disabled{opacity:.45}.mobile-relationship-list>header{justify-content:space-between;margin-bottom:4px}.mobile-relationship-list>p{color:var(--color-text-muted);font-size:var(--text-sm)}.mobile-relationship-row{border-top:var(--border);font-size:var(--text-xs);grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr) 24px;align-items:center;gap:6px;padding:11px 2px;display:grid}.mobile-relationship-row>strong:nth-of-type(2){text-align:right}.mobile-guide{z-index:var(--layer-chrome);right:8px;bottom:max(8px, env(safe-area-inset-bottom));border:1px solid color-mix(in srgb, var(--color-accent) 42%, var(--color-border));border-top:3px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-lg);display:block;position:fixed;left:8px;overflow:hidden}.mobile-guide>summary{background:color-mix(in srgb, var(--color-accent-soft) 68%, var(--color-surface));grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 12px;list-style:none;display:grid}.mobile-guide>summary>span:first-child{color:var(--color-accent);font-size:var(--text-2xs);text-transform:uppercase;font-weight:700}.mobile-guide>summary strong{font-family:var(--font-serif);font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mobile-guide[open]>summary>span:last-child{transform:rotate(180deg)}.mobile-guide>div{border-top:var(--border);padding:0 12px 10px}.mobile-guide p{color:var(--color-text-muted);font-size:var(--text-md);margin:9px 0;line-height:1.4}.mobile-guide>div>button{color:var(--color-text-muted);font-size:var(--text-xs)}.mobile-guide-completion{text-align:center;font-weight:700;color:var(--color-accent)!important}}.action-receipt{z-index:var(--layer-chrome);border:var(--border);border-radius:var(--radius-md);max-width:min(360px,100vw - 24px);color:var(--color-text);background:var(--color-surface);box-shadow:var(--shadow-lg);font-family:var(--font-sans);font-size:var(--text-sm);align-items:center;gap:8px;padding:9px 11px;font-weight:450;line-height:1.3;animation:.18s ease-out receipt-in;display:flex;position:fixed;bottom:18px;right:18px}.action-receipt>span{border-radius:var(--radius-pill);width:20px;height:20px;color:var(--color-together);background:var(--color-together-soft);font-size:var(--text-xs);flex:none;place-items:center;font-weight:700;display:grid}.action-receipt.error{border-color:var(--color-danger)}.action-receipt.error>span{color:var(--color-danger);background:var(--color-danger-soft)}.demo-guide-inline-receipt.error{border-color:var(--color-danger);color:var(--color-danger);background:var(--color-danger-soft)}.action-receipt p{margin:0}.motion-enabled .receipt-highlight,.motion-enabled .inspection-highlight{animation:.85s ease-in-out 2 result-highlight}.inspection-highlight{outline:2px solid var(--color-accent);outline-offset:2px}@keyframes receipt-in{0%{opacity:0;transform:translateY(8px)}}@keyframes result-highlight{50%{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-accent) 28%, transparent), var(--shadow-md)}}@keyframes mobile-group-enter{0%{opacity:0;transform:translate(14px)}}@media (width<=620px){.action-receipt{right:12px;bottom:max(12px, env(safe-area-inset-bottom));text-align:center;left:12px}}@media (prefers-reduced-motion:reduce){.app:not(.motion-enabled),.app:not(.motion-enabled) *,.app:not(.motion-enabled) :before,.app:not(.motion-enabled) :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
