:root{color-scheme:light;--color-paper: oklch(96% .02 70);--color-paper-2: oklch(94% .026 70);--color-paper-3: oklch(91% .03 70);--color-surface: oklch(98% .014 70);--color-rule: oklch(82% .022 70);--color-rule-2: oklch(70% .024 70);--color-muted: oklch(50% .022 60);--color-neutral: oklch(36% .02 55);--color-ink-2: oklch(30% .018 55);--color-ink: oklch(22% .015 50);--color-accent: oklch(68% .13 18);--color-accent-soft: oklch(92% .042 18);--color-accent-ink: oklch(22% .015 50);--color-focus: oklch(52% .17 18);--color-danger: oklch(51% .17 27);--color-danger-soft: oklch(94% .035 27);--color-success: oklch(46% .1 153);--color-backdrop: oklch(22% .015 50 / .18);--color-shadow: oklch(45% .1 18 / .16);--color-grid-dot: oklch(68% .025 62 / .48);--color-orb-rose-core: oklch(66% .15 18);--color-orb-rose-ring: oklch(74% .1 40);--color-orb-rose-ink: oklch(34% .07 12);--color-orb-coral-core: oklch(70% .16 32);--color-orb-coral-ring: oklch(77% .1 48);--color-orb-coral-ink: oklch(35% .07 26);--color-orb-peach-core: oklch(78% .13 55);--color-orb-peach-ring: oklch(82% .09 72);--color-orb-peach-ink: oklch(36% .055 48);--color-orb-sun-core: oklch(75% .15 78);--color-orb-sun-ring: oklch(72% .12 47);--color-orb-sun-ink: oklch(34% .06 54);--color-orb-moss-core: oklch(58% .12 142);--color-orb-moss-ring: oklch(72% .09 102);--color-orb-moss-ink: oklch(31% .055 145);--color-orb-mint-core: oklch(72% .11 160);--color-orb-mint-ring: oklch(80% .07 145);--color-orb-mint-ink: oklch(31% .055 165);--color-orb-teal-core: oklch(62% .12 190);--color-orb-teal-ring: oklch(76% .08 180);--color-orb-teal-ink: oklch(29% .06 195);--color-orb-sky-core: oklch(70% .13 225);--color-orb-sky-ring: oklch(79% .08 210);--color-orb-sky-ink: oklch(29% .065 230);--color-orb-cobalt-core: oklch(57% .17 257);--color-orb-cobalt-ring: oklch(72% .1 225);--color-orb-cobalt-ink: oklch(29% .07 260);--color-orb-lavender-core: oklch(70% .13 295);--color-orb-lavender-ring: oklch(79% .08 280);--color-orb-lavender-ink: oklch(31% .06 300);--color-orb-plum-core: oklch(58% .14 325);--color-orb-plum-ring: oklch(72% .09 315);--color-orb-plum-ink: oklch(28% .065 330);--color-orb-slate-core: oklch(64% .035 255);--color-orb-slate-ring: oklch(76% .025 245);--color-orb-slate-ink: oklch(28% .025 260);--color-orb-glow: oklch(68% .13 18 / .22);--font-display: "Bricolage Grotesque", ui-sans-serif, sans-serif;--font-body: "Geist", ui-sans-serif, sans-serif;--space-3xs: .125rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2.5rem;--space-2xl: 4rem;--space-3xl: 6rem;--size-orb-root: 9rem;--size-orb-min: 4rem;--size-orbit-root: 11rem;--size-orbit-min: 6rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-md: 1.25rem;--text-lg: 1.5625rem;--text-xl: 1.9531rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-micro: .12s;--dur-short: .22s;--dur-long: .42s;--rule-card: 1px;--radius-card: .875rem;--radius-input: .625rem;--radius-pill: 999px;--shadow-card: 0 10px 28px -12px var(--color-shadow);--z-base: 1;--z-raised: 10;--z-dropdown: 100;--z-sticky: 200;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}:root[data-theme=dark]{color-scheme:dark;--color-paper: oklch(17% .018 285);--color-paper-2: oklch(21% .02 285);--color-paper-3: oklch(25% .022 285);--color-surface: oklch(20% .019 285);--color-rule: oklch(42% .022 285);--color-rule-2: oklch(54% .024 285);--color-muted: oklch(73% .018 285);--color-neutral: oklch(82% .016 285);--color-ink-2: oklch(88% .014 285);--color-ink: oklch(94% .012 285);--color-accent: oklch(73% .11 18);--color-accent-soft: oklch(29% .048 18);--color-accent-ink: oklch(18% .016 285);--color-focus: oklch(62% .2 18);--color-danger: oklch(70% .15 27);--color-danger-soft: oklch(28% .05 27);--color-success: oklch(70% .09 153);--color-backdrop: oklch(8% .012 285 / .72);--color-shadow: oklch(6% .014 285 / .36);--color-grid-dot: oklch(58% .025 285 / .34);--color-orb-rose-core: oklch(70% .13 18);--color-orb-rose-ring: oklch(78% .08 40);--color-orb-rose-ink: oklch(22% .06 12);--color-orb-coral-core: oklch(73% .14 32);--color-orb-coral-ring: oklch(80% .08 48);--color-orb-coral-ink: oklch(23% .06 26);--color-orb-peach-core: oklch(81% .11 55);--color-orb-peach-ring: oklch(84% .07 72);--color-orb-peach-ink: oklch(25% .05 48);--color-orb-sun-core: oklch(78% .13 78);--color-orb-sun-ring: oklch(75% .1 47);--color-orb-sun-ink: oklch(24% .055 54);--color-orb-moss-core: oklch(65% .105 142);--color-orb-moss-ring: oklch(76% .07 102);--color-orb-moss-ink: oklch(22% .05 145);--color-orb-mint-core: oklch(75% .09 160);--color-orb-mint-ring: oklch(82% .06 145);--color-orb-mint-ink: oklch(22% .05 165);--color-orb-teal-core: oklch(70% .1 190);--color-orb-teal-ring: oklch(80% .06 180);--color-orb-teal-ink: oklch(20% .05 195);--color-orb-sky-core: oklch(74% .11 225);--color-orb-sky-ring: oklch(82% .06 210);--color-orb-sky-ink: oklch(21% .05 230);--color-orb-cobalt-core: oklch(66% .14 257);--color-orb-cobalt-ring: oklch(77% .08 225);--color-orb-cobalt-ink: oklch(21% .06 260);--color-orb-lavender-core: oklch(75% .11 295);--color-orb-lavender-ring: oklch(82% .06 280);--color-orb-lavender-ink: oklch(22% .05 300);--color-orb-plum-core: oklch(68% .12 325);--color-orb-plum-ring: oklch(78% .07 315);--color-orb-plum-ink: oklch(20% .05 330);--color-orb-slate-core: oklch(70% .03 255);--color-orb-slate-ring: oklch(80% .02 245);--color-orb-slate-ink: oklch(21% .02 260);--color-orb-glow: oklch(73% .11 18 / .26)}*,*:before,*:after{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}html,body{overflow-x:clip}body{min-width:20rem;color:var(--color-ink);background:var(--color-paper);font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;-webkit-font-smoothing:antialiased}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}button,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{border:0}button:focus-visible,a:focus-visible,[tabindex]:focus-visible,textarea:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.app-shell{display:grid;min-height:100dvh;grid-template-rows:auto minmax(0,1fr) auto;overflow:clip;background:var(--color-paper)}.topbar{position:relative;z-index:var(--z-sticky);display:grid;min-height:4.5rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-sm);padding:var(--space-sm) max(var(--space-md),env(safe-area-inset-right)) var(--space-sm) max(var(--space-md),env(safe-area-inset-left));border-block-end:1px solid var(--color-rule);background:var(--color-surface)}.wordmark{display:inline-flex;min-width:0;align-items:center;gap:var(--space-xs);color:var(--color-ink);font-family:var(--font-display);font-weight:700;letter-spacing:-.025em;line-height:1;text-decoration:none;white-space:nowrap;transition:color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.wordmark:active{transform:translateY(1px)}.wordmark__mark{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:var(--radius-card);color:var(--color-accent-ink);background:var(--color-accent)}.topbar__hint{display:none;margin:0;color:var(--color-muted);font-size:var(--text-sm)}.topbar__actions{display:flex;align-items:center;gap:var(--space-xs)}.primary-button,.icon-button,.save-button,.text-button,.composer__close,.visual-options button,.relationship-panel button,.undo-toast button{min-width:2.75rem;min-height:2.75rem;cursor:pointer;line-height:1;white-space:nowrap}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);padding-inline:var(--space-sm);border:1px solid var(--color-ink);border-radius:var(--radius-pill);color:var(--color-paper);background:var(--color-ink);font-weight:700;transition:transform var(--dur-micro) var(--ease-out)}.icon-button{display:grid;place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);transition:transform var(--dur-micro) var(--ease-out),background-color var(--dur-short) var(--ease-out)}.primary-button:active,.icon-button:active,.save-button:active,.text-button:active,.composer__close:active,.visual-options button:active,.relationship-panel button:active,.undo-toast button:active{transform:translateY(1px)}.primary-button:disabled,.icon-button:disabled,.save-button:disabled,.text-button:disabled,.composer__close:disabled,.visual-options button:disabled,.relationship-panel button:disabled,.undo-toast button:disabled{cursor:not-allowed;opacity:.5}.canvas{position:relative;min-height:0;overflow:clip;touch-action:none;cursor:crosshair;background-color:var(--color-paper);background-image:radial-gradient(circle,var(--color-grid-dot) 1px,transparent 1.25px);background-position:0 0;background-size:24px 24px}.canvas.is-panning{cursor:grabbing}.idea-world{position:absolute;inset-block-start:0;inset-inline-start:0;width:0;height:0;transform-origin:0 0;pointer-events:none}.zoom-controls{position:absolute;z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-3xs);padding:var(--space-3xs);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-surface);box-shadow:var(--shadow-card);inset-block-end:max(var(--space-md),env(safe-area-inset-bottom));inset-inline-end:max(var(--space-md),env(safe-area-inset-right))}.zoom-controls__button,.zoom-controls__level{display:grid;min-width:2.75rem;min-height:2.75rem;place-items:center;border-radius:var(--radius-pill);color:var(--color-ink);background:transparent;cursor:pointer;line-height:1;transition:background-color var(--dur-short) var(--ease-out)}.zoom-controls__level{padding-inline:var(--space-2xs);font-size:var(--text-sm);font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}.zoom-controls__button:disabled{cursor:not-allowed;opacity:.4}.idea-system-root{position:absolute;inset-block-start:0;inset-inline-start:0;width:var(--idea-size, var(--size-orb-root));height:var(--idea-size, var(--size-orb-root));pointer-events:none}.idea-system-root:has(.idea-orb.is-selected){z-index:var(--z-modal)}.idea-system{position:relative;width:var(--idea-size, var(--size-orb-root));height:var(--idea-size, var(--size-orb-root));pointer-events:none}.idea-system.is-drag-source{opacity:0}.idea-orb{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:var(--z-raised);width:var(--idea-size, var(--size-orb-root));height:var(--idea-size, var(--size-orb-root));padding:0;border-radius:var(--radius-pill);background:transparent;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;pointer-events:auto}.idea-orb:active{cursor:grabbing}.idea-orb:active .idea-orb__body{transform:scale(.98)}.idea-orb:disabled{cursor:not-allowed;opacity:.5}.idea-orb__graphic{--orb-core: var(--color-orb-rose-core);--orb-ring: var(--color-orb-rose-ring);--orb-ink: var(--color-orb-rose-ink);position:relative;display:block;width:100%;height:100%;transform:rotate(var(--orb-tilt))}.idea-orb__graphic--moss{--orb-core: var(--color-orb-moss-core);--orb-ring: var(--color-orb-moss-ring);--orb-ink: var(--color-orb-moss-ink)}.idea-orb__graphic--coral{--orb-core: var(--color-orb-coral-core);--orb-ring: var(--color-orb-coral-ring);--orb-ink: var(--color-orb-coral-ink)}.idea-orb__graphic--peach{--orb-core: var(--color-orb-peach-core);--orb-ring: var(--color-orb-peach-ring);--orb-ink: var(--color-orb-peach-ink)}.idea-orb__graphic--mint{--orb-core: var(--color-orb-mint-core);--orb-ring: var(--color-orb-mint-ring);--orb-ink: var(--color-orb-mint-ink)}.idea-orb__graphic--teal{--orb-core: var(--color-orb-teal-core);--orb-ring: var(--color-orb-teal-ring);--orb-ink: var(--color-orb-teal-ink)}.idea-orb__graphic--sky{--orb-core: var(--color-orb-sky-core);--orb-ring: var(--color-orb-sky-ring);--orb-ink: var(--color-orb-sky-ink)}.idea-orb__graphic--cobalt{--orb-core: var(--color-orb-cobalt-core);--orb-ring: var(--color-orb-cobalt-ring);--orb-ink: var(--color-orb-cobalt-ink)}.idea-orb__graphic--sun{--orb-core: var(--color-orb-sun-core);--orb-ring: var(--color-orb-sun-ring);--orb-ink: var(--color-orb-sun-ink)}.idea-orb__graphic--lavender{--orb-core: var(--color-orb-lavender-core);--orb-ring: var(--color-orb-lavender-ring);--orb-ink: var(--color-orb-lavender-ink)}.idea-orb__graphic--plum{--orb-core: var(--color-orb-plum-core);--orb-ring: var(--color-orb-plum-ring);--orb-ink: var(--color-orb-plum-ink)}.idea-orb__graphic--slate{--orb-core: var(--color-orb-slate-core);--orb-ring: var(--color-orb-slate-ring);--orb-ink: var(--color-orb-slate-ink)}.idea-orbit-path{position:absolute;inset-block-start:50%;inset-inline-start:50%;width:calc(var(--orbit-radius, var(--size-orbit-root)) * 2);height:calc(var(--orbit-radius, var(--size-orbit-root)) * 2);border:1px dashed var(--color-rule-2);border-radius:var(--radius-pill);opacity:.62;transform:translate(-50%,-50%)}.idea-orbit-track{--orbit-angle: var(--orbit-phase);position:absolute;inset-block-start:50%;inset-inline-start:50%;z-index:var(--z-base);width:0;height:0;transform:rotate(var(--orbit-angle));pointer-events:none}.idea-orbit-counter{position:absolute;inset-block-start:0;inset-inline-start:var(--orbit-radius, var(--size-orbit-root));width:var(--child-size, var(--size-orb-root));height:var(--child-size, var(--size-orb-root));transform:translate(-50%,-50%) rotate(calc(0deg - var(--orbit-angle)));pointer-events:none}.idea-orbit-track:has(.idea-orb.is-selected),.idea-orbit-track:has(.idea-orb.is-drop-target){z-index:var(--z-dropdown)}.idea-orb__body{position:absolute;inset:var(--idea-inset, var(--space-lg));display:grid;place-items:center;border:1px solid var(--orb-ring);border-radius:var(--radius-pill);color:var(--orb-ink);background:var(--orb-core);box-shadow:0 14px 32px -16px var(--color-shadow);transition:transform var(--dur-short) var(--ease-out),box-shadow var(--dur-short) var(--ease-out)}.idea-orb__body svg{width:var(--idea-icon-size, 1.75rem);height:var(--idea-icon-size, 1.75rem)}.idea-orb__graphic--face-title .idea-orb__body,.idea-orb__graphic--face-snip .idea-orb__body{inset:max(var(--space-xs),calc(var(--idea-size, var(--size-orb-root)) * .085))}.idea-orb__title{display:-webkit-box;width:100%;min-width:0;max-width:88%;max-height:100%;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:6;overflow-wrap:anywhere;white-space:normal;font-family:var(--font-display);font-size:var( --orb-font-size, clamp(var(--text-xs), calc(var(--idea-size, var(--size-orb-root)) * .111), var(--text-base)) );font-weight:700;letter-spacing:-.02em;line-height:1.12;text-align:center;text-wrap:balance}.idea-orb__graphic--face-snip .idea-orb__title{-webkit-line-clamp:4;font-family:var(--font-body);font-weight:600;letter-spacing:0;line-height:1.2;text-wrap:pretty}.idea-orb.is-selected .idea-orb__body{box-shadow:0 0 0 6px var(--color-accent-soft),0 16px 36px -14px var(--color-orb-glow)}.idea-orb.is-drop-target .idea-orb__body{box-shadow:0 0 0 4px var(--color-focus),0 16px 36px -14px var(--color-orb-glow);transform:scale(1.06)}.idea-orb__drop-cue{position:absolute;inset-block-end:calc(var(--space-sm) * -1);inset-inline-start:50%;display:inline-flex;min-height:1.75rem;align-items:center;gap:var(--space-2xs);padding-inline:var(--space-xs);border:1px solid var(--color-focus);border-radius:var(--radius-pill);color:var(--color-paper);background:var(--color-ink);font-size:var(--text-xs);font-weight:700;line-height:1;white-space:nowrap;transform:translate(-50%)}.idea-drag-preview{position:absolute;inset-block-start:0;inset-inline-start:0;z-index:var(--z-modal);width:var(--idea-size, var(--size-orb-root));height:var(--idea-size, var(--size-orb-root));opacity:.72;pointer-events:none}.idea-drag-preview .idea-orb__body{box-shadow:0 0 0 4px var(--color-accent-soft),var(--shadow-card)}.relationship-panel{position:absolute;inset-block:0;inset-inline-start:0;z-index:var(--z-modal);display:flex;flex-direction:column;width:min(26rem,100%);min-height:0;overflow:hidden;border-inline-end:1px solid var(--color-rule-2);color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-card);pointer-events:auto;animation:relationship-panel-in var(--dur-long) var(--ease-out) both}.relationship-panel__header{flex:0 0 auto;display:flex;align-items:start;justify-content:space-between;gap:var(--space-sm);padding:var(--space-md);border-block-end:1px solid var(--color-rule)}.relationship-panel__header>div{min-width:0}.relationship-panel__header h2{margin:0;min-width:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.02em;line-height:1.2}.relationship-panel__header p{margin:var(--space-2xs) 0 0;color:var(--color-muted);font-size:var(--text-xs);line-height:1.45}.relationship-panel__header button{display:grid;flex:0 0 auto;place-items:center;border-radius:var(--radius-pill);background:transparent}.relationship-tree__marker{display:grid;width:2.25rem;height:2.25rem;flex:0 0 auto;place-items:center;border:1px solid var(--orb-ring, var(--color-orb-rose-ring));border-radius:var(--radius-pill);color:var(--orb-ink, var(--color-orb-rose-ink));background:var(--orb-core, var(--color-orb-rose-core))}.relationship-panel__actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);border-block-start:1px solid var(--color-rule)}.relationship-panel__count{margin-inline-end:auto;color:var(--color-muted);font-size:var(--text-xs);white-space:nowrap}.relationship-panel__actions button{display:inline-flex;align-items:center;justify-content:flex-start;gap:var(--space-xs);padding-inline:var(--space-sm);border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);font-size:var(--text-sm);font-weight:700}.relationship-panel__delete{color:var(--color-neutral)}.relationship-panel__outline{flex:1 1 0;min-height:0;padding:var(--space-md);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y}.idea-body{color:var(--color-ink);font-size:var(--text-sm);line-height:1.5;overflow-wrap:anywhere}.idea-body--empty{margin:0;color:var(--color-muted)}.idea-body>:first-child{margin-block-start:0}.idea-body>:last-child{margin-block-end:0}.idea-body p,.idea-body ul,.idea-body ol{margin:0 0 var(--space-xs)}.idea-body ul,.idea-body ol{padding-inline-start:1.25rem}.idea-body a{color:var(--color-accent-ink);text-decoration:underline;text-underline-offset:.12em}.idea-body code{padding:.05em .3em;border-radius:var(--radius-input);background:var(--color-paper-2);font-family:var(--font-body);font-size:.92em}.relationship-tree,.relationship-tree ul{margin:0;padding:0;list-style:none}.relationship-tree{display:grid;gap:var(--space-xs)}.relationship-tree ul{position:relative;display:grid;gap:var(--space-2xs);margin-block-start:var(--space-2xs);margin-inline-start:1rem;padding-inline-start:var(--space-md)}.relationship-tree ul>li{position:relative}.relationship-tree ul>li:before{position:absolute;inset-block-start:0;inset-inline-start:calc(var(--space-md) * -1);width:var(--space-sm);height:1.875rem;border-block-end:1px solid var(--color-rule-2);border-inline-start:1px solid var(--color-rule-2);border-end-start-radius:var(--radius-input);content:""}.relationship-tree ul>li:not(:last-child):after{position:absolute;inset-block-start:1.875rem;inset-block-end:calc(var(--space-2xs) * -1);inset-inline-start:calc(var(--space-md) * -1);border-inline-start:1px solid var(--color-rule-2);content:"";pointer-events:none}.relationship-tree__idea{display:grid;width:100%;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-2xs) var(--space-sm);padding:var(--space-sm);border:1px solid transparent;border-radius:var(--radius-input);background:transparent;text-align:start;white-space:normal}.relationship-tree__idea.is-selected{border-color:var(--color-rule-2);color:var(--color-ink);background-color:var(--color-paper);background-image:radial-gradient(circle,var(--color-grid-dot) 1px,transparent 1.25px);background-position:0 0;background-size:24px 24px}.relationship-tree__head{display:grid;grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:var(--space-sm);width:100%;min-width:0;padding:0;border:0;border-radius:0;background:transparent;text-align:start;white-space:normal}.relationship-tree__text{min-width:0;padding-block-start:.4rem;white-space:normal;overflow-wrap:anywhere;font-size:var(--text-sm);font-weight:500;line-height:1.45}.relationship-tree__idea.is-selected .relationship-tree__text{font-weight:700}.relationship-tree__body{grid-column:2;min-width:0;cursor:pointer}.relationship-tree__body .idea-body{font-size:var(--text-xs);line-height:1.45}.empty-state{position:absolute;inset-block-start:44%;inset-inline-start:50%;display:grid;width:min(35rem,calc(100% - var(--space-xl)));justify-items:start;gap:var(--space-xs);transform:translate(-50%,-50%);pointer-events:none}.empty-state__icon{display:grid;width:2.75rem;height:2.75rem;margin-block-end:var(--space-xs);place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper-2)}.empty-state h1{min-width:0;margin:0;overflow-wrap:anywhere;font-family:var(--font-display);font-size:clamp(2rem,6vw,3.35rem);font-weight:700;letter-spacing:-.04em;line-height:1.02}.empty-state p{max-width:45ch;margin:0;color:var(--color-neutral)}.text-button{display:inline-flex;align-items:center;gap:var(--space-xs);margin-block-start:var(--space-xs);padding:0;color:var(--color-ink);background:transparent;font-weight:700;pointer-events:auto}.statusbar{position:relative;z-index:var(--z-sticky);display:flex;min-height:2.5rem;align-items:center;justify-content:space-between;gap:var(--space-sm);padding:var(--space-xs) max(var(--space-md),env(safe-area-inset-right)) max(var(--space-xs),env(safe-area-inset-bottom)) max(var(--space-md),env(safe-area-inset-left));border-block-start:1px solid var(--color-rule);color:var(--color-muted);background:var(--color-surface);font-size:var(--text-xs);line-height:1}.statusbar__saved{display:inline-flex;align-items:center;gap:var(--space-xs);white-space:nowrap}.statusbar__dot{width:.45rem;height:.45rem;border-radius:var(--radius-pill);background:var(--color-success)}.statusbar__shortcut{display:none;white-space:nowrap}kbd{padding:var(--space-3xs) var(--space-2xs);border:1px solid var(--color-rule);border-radius:var(--space-2xs);background:var(--color-paper-2);font-family:var(--font-body)}.composer{position:fixed;top:0;right:0;bottom:0;left:0;width:min(42rem,calc(100% - var(--space-lg)));max-width:none;max-height:calc(100dvh - var(--space-lg));margin:auto;padding:0;overflow:auto;border:1px solid var(--color-rule-2);border-radius:var(--radius-card);color:var(--color-ink);background:var(--color-surface);box-shadow:0 18px 48px -20px var(--color-shadow)}.composer[open]{animation:composer-in var(--dur-long) var(--ease-out) both}.composer::backdrop{background:var(--color-backdrop);animation:backdrop-in var(--dur-long) var(--ease-out) both}.composer form{display:grid;gap:var(--space-lg);padding:var(--space-lg)}.composer__topline,.composer__footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.composer__topline>div{display:grid;gap:var(--space-2xs)}.composer__eyebrow{color:var(--color-muted);font-size:var(--text-xs);font-weight:700;letter-spacing:.09em;line-height:1;text-transform:uppercase}.composer label{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.02em;line-height:1.15}.composer__close{display:grid;flex:0 0 auto;place-items:center;border-radius:var(--radius-pill);background:transparent}.composer__fields{display:grid;align-content:start;gap:var(--space-md)}.composer__face{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-md)}.composer__preview{display:grid;flex:0 0 auto;place-items:center;width:4.5rem;height:4.5rem;padding:0;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper)}.composer__preview .idea-orb__graphic{width:3.5rem;height:3.5rem}.composer__preview .idea-orb__body,.composer__preview .idea-orb__graphic--face-title .idea-orb__body,.composer__preview .idea-orb__graphic--face-snip .idea-orb__body{top:.35rem;right:.35rem;bottom:.35rem;left:.35rem}.composer__preview .idea-orb__body svg{width:1.25rem;height:1.25rem}.composer__preview .idea-orb__title{font-size:var(--orb-font-size, .55rem)}.composer__body-label{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm);margin-block-end:calc(var(--space-2xs) * -1);color:var(--color-neutral);font-size:var(--text-sm);font-weight:700}.composer__body-label span{color:var(--color-muted);font-size:var(--text-xs);font-weight:500}.composer input[type=text],.composer #idea-title,.composer textarea{width:100%;padding:var(--space-sm);border:1px solid var(--color-rule-2);border-radius:var(--radius-input);outline:2px solid transparent;outline-offset:1px;color:var(--color-ink);background:var(--color-paper);line-height:1.5}.composer #idea-title{min-height:2.75rem;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;letter-spacing:-.015em}.composer textarea{min-height:7rem;resize:vertical}.composer input::placeholder,.composer textarea::placeholder{color:var(--color-muted)}.composer input:focus-visible,.composer textarea:focus-visible{border-color:var(--color-rule-2);outline-color:var(--color-focus);outline-offset:1px}.composer input:active:not(:disabled),.composer textarea:active:not(:disabled){border-color:var(--color-neutral)}.composer input:disabled,.composer textarea:disabled{cursor:not-allowed;opacity:.55;background:var(--color-paper-2)}.visual-options__orb-labels{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.visual-options__orb-labels button{flex:1 1 auto;min-width:4.5rem;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper);font-size:var(--text-sm);font-weight:700}.visual-options__orb-labels button[aria-pressed=true]{border-color:var(--color-ink);color:var(--color-paper);background:var(--color-ink)}.composer__orb-options{display:grid;gap:var(--space-sm)}.visual-options__font-size{display:grid;gap:var(--space-2xs)}.visual-options__font-size>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-sm)}.composer .visual-options__font-size label,.visual-options__font-size output{color:var(--color-neutral);font-family:var(--font-body);font-size:var(--text-xs);font-weight:700;letter-spacing:0;line-height:1.2}.visual-options__font-size output{color:var(--color-muted);font-variant-numeric:tabular-nums}.visual-options__font-size input[type=range]{width:100%;min-height:2.75rem;margin:0;accent-color:var(--color-accent);cursor:pointer}.visual-options{min-width:0;margin:0;padding:0;border:0}.visual-options legend{margin-block-end:var(--space-xs);color:var(--color-neutral);font-size:var(--text-sm);font-weight:700}.icon-picker{display:grid;gap:var(--space-xs)}.icon-picker legend{margin-block-end:0}.icon-picker__search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-xs);min-height:2.75rem;padding-inline:var(--space-sm);border:1px solid var(--color-rule-2);border-radius:var(--radius-input);color:var(--color-muted);background:var(--color-paper)}.icon-picker__search:focus-within{outline:2px solid var(--color-focus);outline-offset:1px}.icon-picker__search input{min-width:0;border:0;outline:0;color:var(--color-ink);background:transparent;line-height:1.5}.icon-picker__search input::placeholder,.icon-picker__count{color:var(--color-muted)}.icon-picker__count{min-width:2ch;font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:end}.icon-picker .visual-options__icons{display:grid;grid-template-columns:repeat(auto-fill,minmax(2.75rem,1fr));max-height:10.75rem;padding-inline-end:var(--space-2xs);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.icon-picker__empty{min-height:4.5rem;margin:0;padding:var(--space-md);border:1px dashed var(--color-rule);border-radius:var(--radius-input);color:var(--color-muted);font-size:var(--text-sm);text-align:center}.visual-options__icons,.visual-options__palettes{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.visual-options__icons button,.palette-choice{display:grid;padding:0;place-items:center;border:1px solid var(--color-rule);border-radius:var(--radius-pill);background:var(--color-paper)}.visual-options__icons button[aria-pressed=true],.palette-choice[aria-pressed=true]{border-color:var(--color-ink);box-shadow:inset 0 0 0 2px var(--color-surface)}.palette-choice span{width:1.5rem;height:1.5rem;border-radius:var(--radius-pill);background:var(--color-orb-rose-core)}.palette-choice--moss span{background:var(--color-orb-moss-core)}.palette-choice--coral span{background:var(--color-orb-coral-core)}.palette-choice--peach span{background:var(--color-orb-peach-core)}.palette-choice--mint span{background:var(--color-orb-mint-core)}.palette-choice--teal span{background:var(--color-orb-teal-core)}.palette-choice--sky span{background:var(--color-orb-sky-core)}.palette-choice--cobalt span{background:var(--color-orb-cobalt-core)}.palette-choice--sun span{background:var(--color-orb-sun-core)}.palette-choice--lavender span{background:var(--color-orb-lavender-core)}.palette-choice--plum span{background:var(--color-orb-plum-core)}.palette-choice--slate span{background:var(--color-orb-slate-core)}.composer__footer>span{min-height:1lh;color:var(--color-muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.save-button{padding-inline:var(--space-md);border:1px solid var(--color-ink);border-radius:var(--radius-pill);color:var(--color-paper);background:var(--color-ink);font-weight:700;transition:transform var(--dur-micro) var(--ease-out),opacity var(--dur-short) var(--ease-out)}.undo-toast{position:fixed;inset-inline-start:50%;inset-block-end:max(4.25rem,calc(env(safe-area-inset-bottom) + 3.5rem));z-index:var(--z-toast);display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);border:1px solid var(--color-rule-2);border-radius:var(--radius-pill);color:var(--color-paper);background:var(--color-ink);box-shadow:var(--shadow-card);transform:translate(-50%);animation:toast-in var(--dur-long) var(--ease-out) both}.undo-toast button{display:inline-flex;align-items:center;gap:var(--space-xs);padding-inline:var(--space-sm);border-radius:var(--radius-pill);color:var(--color-ink);background:var(--color-paper);font-weight:700}@keyframes relationship-panel-in{0%{opacity:0;transform:translate(-2rem)}}@keyframes composer-in{0%{opacity:0;transform:scale(.97)}}@keyframes backdrop-in{0%{opacity:0}}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media(hover:hover)and (pointer:fine){.wordmark:hover{color:var(--color-neutral)}.primary-button:hover,.icon-button:hover,.landing__provider:not(:disabled):hover,.save-button:not(:disabled):hover{transform:translateY(-1px)}.icon-button:hover,.zoom-controls__button:not(:disabled):hover,.zoom-controls__level:hover,.composer__close:hover,.visual-options button:hover:not([aria-pressed=true]),.relationship-panel__header button:hover,.relationship-panel__actions button:hover,.relationship-tree__idea:not(.is-selected):hover{background:var(--color-paper-3)}.idea-orb:hover .idea-orb__body{transform:scale(1.04);box-shadow:0 16px 36px -14px var(--color-orb-glow)}.relationship-panel__delete:hover{color:var(--color-danger);background:var(--color-danger-soft)}.composer input:hover:not(:disabled),.composer textarea:hover:not(:disabled){border-color:var(--color-rule-2)}.text-button:hover{text-decoration:underline;text-decoration-color:var(--color-accent);text-underline-offset:.2em}.undo-toast button:hover{background:var(--color-paper-2)}}@media(min-width:40rem){.topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);padding-inline:var(--space-lg)}.topbar__hint{display:block}.topbar__actions{justify-self:end}.statusbar{padding-inline:var(--space-lg)}.statusbar__shortcut{display:inline}}@media(max-width:39.99rem){.composer{width:min(30rem,calc(100% - var(--space-md)));max-height:calc(100dvh - var(--space-md))}.composer form{gap:var(--space-md);padding:var(--space-md)}}@media(max-width:24rem){.primary-button span{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:var(--dur-micro)!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:var(--dur-micro)!important}.idea-orb__graphic,.idea-orbit-track,.idea-orbit-counter,.idea-orb__body,.relationship-panel,.composer[open],.undo-toast{animation:none}.idea-orb__graphic{transform:none}.idea-orbit-track{transform:rotate(var(--orbit-phase))}.idea-orbit-counter{transform:translate(-50%,-50%) rotate(var(--orbit-phase-neg))}.undo-toast{transform:translate(-50%)}.primary-button:hover,.primary-button:active,.wordmark:active,.icon-button:hover,.icon-button:active,.save-button:hover,.save-button:active,.idea-orb__body,.text-button:active,.composer__close:active,.sign-in__provider:active,.visual-options button:active,.relationship-panel button:active,.undo-toast button:active{transform:none}}@media(max-width:39.99rem){.relationship-panel{border-inline-end:0}.canvas:has(.relationship-panel) .zoom-controls{display:none}}.landing{position:relative;display:grid;min-height:100dvh;align-content:center;overflow-x:clip;padding-block:var(--space-xl);padding-inline:max(clamp(var(--space-md),7vw,var(--space-3xl)),env(safe-area-inset-left)) max(var(--space-md),env(safe-area-inset-right));background-color:var(--color-paper);background-image:radial-gradient(circle,var(--color-grid-dot) 1px,transparent 1.25px);background-size:24px 24px}.landing-sky{position:absolute;top:0;right:0;bottom:0;left:0;font-size:1rem;pointer-events:none}.landing-sky__system{position:absolute;inset-block-start:var(--sky-y);inset-inline-start:var(--sky-x);translate:-50% -50%;animation:sky-arrive 1.4s var(--ease-out) both;animation-delay:var(--sky-delay)}.landing-sky__orb{position:absolute;top:0;right:0;bottom:0;left:0}.landing__wash{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(100deg,var(--color-paper) 0,var(--color-paper) 30rem,color-mix(in oklch,var(--color-paper) 82%,transparent) 42rem,color-mix(in oklch,var(--color-paper) 28%,transparent) 54rem,transparent 66rem);pointer-events:none}.landing__theme{position:absolute;z-index:var(--z-sticky);inset-block-start:max(var(--space-md),env(safe-area-inset-top));inset-inline-end:max(var(--space-md),env(safe-area-inset-right));animation:landing-arrive var(--dur-long) var(--ease-out) both;animation-delay:.48s}.landing__content{position:relative;display:flex;width:min(34rem,100%);min-width:0;flex-direction:column;align-items:start;gap:var(--space-sm);overflow-wrap:anywhere}.landing__content>*{animation:landing-arrive var(--dur-long) var(--ease-out) both}.landing__content>*:nth-child(1){animation-delay:40ms}.landing__content>*:nth-child(2){animation-delay:.12s}.landing__content>*:nth-child(3){animation-delay:.2s}.landing__content>*:nth-child(4){animation-delay:.28s}.landing__content>*:nth-child(5){animation-delay:.36s}.landing__content>*:nth-child(6){animation-delay:.42s}.landing__content>*:nth-child(7){animation-delay:.42s}.landing__wordmark{display:inline-flex;align-items:center;gap:var(--space-xs);margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-md);font-weight:700;letter-spacing:-.025em;line-height:1}.landing__mark{display:grid;width:2rem;height:2rem;flex:0 0 auto;place-items:center;border-radius:var(--radius-card);color:var(--color-accent-ink);background:var(--color-accent)}.landing__headline{margin:var(--space-md) 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(2.75rem,7.4vw,5rem);font-weight:700;letter-spacing:-.042em;line-height:.95;text-wrap:balance}.landing__lede{max-width:32rem;margin:var(--space-2xs) 0 0;color:var(--color-ink-2);font-size:clamp(var(--text-base),1.4vw,var(--text-md));line-height:1.55}.landing__steps{display:flex;align-self:stretch;margin:var(--space-xs) 0 0;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg) 0 0;border-block-start:1px solid var(--color-rule);list-style:none}.landing__step{display:flex;align-items:baseline;gap:var(--space-sm);color:var(--color-neutral);font-size:var(--text-sm);line-height:1.4}.landing__pip{width:.5rem;height:.5rem;flex:0 0 auto;border-radius:var(--radius-pill);translate:0 -.05rem}.landing__pip--sun{background:var(--color-orb-sun-core)}.landing__pip--teal{background:var(--color-orb-teal-core)}.landing__pip--lavender{background:var(--color-orb-lavender-core)}.landing__actions{display:flex;margin-block-start:var(--space-sm);flex-wrap:wrap;align-items:center;gap:var(--space-xs) var(--space-md)}.landing__actions .text-button{margin-block-start:0;color:var(--color-muted);font-size:var(--text-sm);font-weight:400;text-decoration:underline;text-decoration-color:var(--color-rule-2);text-underline-offset:.25em}.landing__provider{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:var(--space-xs);padding-inline:var(--space-lg);border:1px solid var(--color-ink);border-radius:var(--radius-pill);color:var(--color-paper);background:var(--color-ink);box-shadow:var(--shadow-card);cursor:pointer;font-weight:700;line-height:1;transition:transform var(--dur-micro) var(--ease-out)}.landing__provider:active:not(:disabled){transform:translateY(1px)}.landing__provider:disabled{cursor:not-allowed;opacity:.55}.landing__status:empty{display:none}.landing__status{margin:0;color:var(--color-danger);font-size:var(--text-sm);line-height:1.4}.landing__footnote{max-width:30rem;margin:0;color:var(--color-neutral);font-size:var(--text-xs);line-height:1.5}@keyframes landing-arrive{0%{opacity:0;translate:0 .75rem}}@keyframes sky-arrive{0%{opacity:0;scale:.88}}@media(max-width:63.99rem){.landing{padding-block:var(--space-lg) max(var(--space-lg),env(safe-area-inset-bottom))}.landing-sky{opacity:.3;transform:translate(-14%);font-size:clamp(.68rem,1.9vw,1rem)}.landing__wash{background:none}.landing__lede{line-height:1.5}.landing__steps{padding-block-start:var(--space-md)}.landing__headline{font-size:clamp(2.5rem,12vw,4rem)}}.sign-in{display:grid;place-items:center;min-height:100dvh;padding:var(--space-lg) max(var(--space-md),env(safe-area-inset-right)) var(--space-lg) max(var(--space-md),env(safe-area-inset-left));background:var(--color-paper)}.sign-in__panel{display:flex;width:100%;max-width:24rem;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--color-rule);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);min-width:0;overflow-wrap:anywhere}.sign-in__title{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:var(--text-xl)}.sign-in__lede{margin:0;color:var(--color-ink-2);line-height:1.5}.sign-in__waiting{margin:0;color:var(--color-muted)}.statusbar__saved--failed{color:var(--color-danger);font-weight:700}.statusbar__saved--failed .statusbar__dot{background:var(--color-danger)}
