@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap";.aj-analytics{position:fixed;bottom:16px;left:16px;z-index:80;font-family:var(--font-sans);font-size:13px;color:var(--text-primary)}.aj-analytics-panel{box-sizing:border-box;width:min(288px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:16px;border-radius:var(--radius-control, 10px);background:var(--surface-page, var(--surface-raised));box-shadow:none;border:1px solid var(--border-default)}.aj-analytics-panel strong{font-size:13px;font-weight:500}.aj-analytics-panel p{margin:8px 0 12px;line-height:1.5;color:var(--text-secondary)}.aj-analytics-actions{display:flex;justify-content:flex-end;gap:8px}.aj-analytics button{min-height:32px;padding:4px 12px;border-radius:var(--radius-control, 10px);border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font:inherit;font-weight:500;cursor:pointer}.aj-analytics-link{min-height:32px;padding:4px 0;border:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.aj-analytics button:focus-visible,.aj-analytics-link:focus-visible,.aj-analytics-panel:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}@media(any-pointer:coarse){.aj-analytics button,.aj-analytics-link{min-height:44px}}@media(hover:hover){.aj-analytics button:hover{background:var(--surface-sunken)}}.context-bar.generation-bar{display:grid;grid-template-columns:minmax(0,1fr) 50vw minmax(0,1fr);gap:var(--s-3)}.generation-bar__left,.generation-bar__right{display:flex;align-items:center;gap:var(--s-2);font-size:var(--t-caption-size);white-space:nowrap}.generation-bar__right{justify-content:flex-end}.generation-link{border:0;border-radius:var(--r-control);background:transparent;color:inherit;font:inherit;font-weight:400;cursor:pointer;text-decoration:none;padding:0 var(--s-2);height:32px;width:max-content;flex:none;white-space:nowrap}.generation-link:disabled{opacity:.5;cursor:default}.generation-form{position:relative;display:flex;align-items:center;width:50vw}.generation-form input{width:100%;height:38px;padding:0 118px 0 var(--s-3);border:0;border-radius:var(--r-control);font:inherit;background:var(--header-selected-bg);color:var(--header-text)}.generation-form input::placeholder{color:var(--header-text-secondary)}.generation-submit{position:absolute;right:4px;min-width:104px;height:30px;border:0;border-radius:var(--r-control);background:var(--header-text);color:var(--header-bg);font:inherit;font-size:var(--t-caption-size);cursor:pointer}.generation-submit:disabled{opacity:.5;cursor:default}.generation-status{display:flex;flex-wrap:wrap;gap:var(--s-2);align-items:center;justify-content:center;padding:var(--s-1) var(--s-4);background:var(--surface-page);color:var(--text-secondary);font-size:var(--t-caption-size)}.generation-error{color:var(--status-danger-fg)}.generation-modal{margin:auto;width:min(880px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:var(--line) solid var(--border-elevated);border-radius:var(--r-lg);padding:var(--s-6);background:var(--surface-overlay);color:var(--text-primary);box-shadow:var(--shadow-e3)}.generation-modal::backdrop{background:var(--surface-scrim)}.generation-modal__heading,.generation-modal__actions{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4)}.generation-modal__heading h2{margin:0;font-size:20px;font-weight:500}.generation-modal p{margin:var(--s-4) 0}.generation-fields{display:grid;gap:var(--s-4)}.generation-fields label{display:grid;gap:var(--s-2)}.generation-fields input,.generation-fields select{width:100%;min-height:42px;border:0;padding:var(--s-2) var(--s-3);border-radius:var(--r-control);background:var(--surface-control);color:var(--text-primary);font:inherit}.generation-note{font-size:var(--t-caption-size);color:var(--text-secondary)}.generation-comparison{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin:var(--s-4) 0}.generation-comparison figure{margin:0;min-width:0}.generation-comparison figcaption{margin-bottom:var(--s-2);color:var(--text-secondary)}.generation-comparison img{width:100%;height:340px;object-fit:contain;border-radius:var(--r-control);background:var(--surface-control)}@media(max-width:1150px){.context-bar.generation-bar{display:flex;gap:var(--s-2);overflow-x:auto;overflow-y:hidden}.generation-form{flex:1 1 auto;width:auto;min-width:180px}.generation-bar__left,.generation-bar__right{flex:0 0 auto}.generation-form input{padding-right:76px}.generation-submit{min-width:64px}}@media(max-width:800px){.generation-bar__left>span{display:none}}@media(max-width:560px){.generation-comparison{grid-template-columns:1fr}.generation-comparison img{height:220px}}.generation-status a{color:inherit;text-underline-offset:3px}@media(max-width:560px){.generation-bar__right{flex-wrap:nowrap}}.generation-status{position:fixed;bottom:var(--s-4);left:50%;transform:translate(-50%);z-index:50;width:max-content;max-width:calc(100vw - 32px);border-radius:var(--r-control);box-shadow:var(--shadow-e2);padding:var(--s-2) var(--s-3)}.generation-prompt-row{display:flex;align-items:center;gap:var(--s-2);width:100%;min-width:240px}.generation-prompt-row input{min-width:100px;flex:1;height:34px;padding:0 var(--s-3);border:0;border-radius:var(--r-control);background:var(--header-selected-bg);color:var(--header-text);font:inherit}.generation-prompt-row input::placeholder{color:var(--header-text-secondary)}.generation-action,.generation-toggle{flex:none;height:32px;padding:0 var(--s-2);width:max-content;white-space:nowrap;border:0;border-radius:var(--r-control);font:inherit;font-size:var(--t-caption-size);cursor:pointer}.generation-action{min-width:0;color:var(--header-text);background:var(--header-selected-bg)}.generation-toggle{color:var(--header-text);background:var(--header-selected-bg)}.generation-toggle[aria-pressed=true]{color:var(--header-bg);background:var(--header-text)}.generation-action:disabled{opacity:.5;cursor:default}@media(any-hover:hover){.generation-link:hover:not(:disabled){background:var(--surface-hover)}.context-bar .generation-link:hover:not(:disabled),.generation-action:hover:not(:disabled),.generation-toggle:not([aria-pressed=true]):hover{background:var(--header-hover)}}.generation-link:focus-visible,.generation-action:focus-visible,.generation-toggle:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.generation-link:active:not(:disabled),.generation-action:active:not(:disabled),.generation-toggle:active{transform:scale(.98)}:root{--n-0: #FFFFFF;--n-25: #FCFCFD;--n-50: #F7F7F8;--n-100: #F1F1F3;--n-200: #E4E4E7;--n-300: #D2D2D8;--n-400: #A5A5AE;--n-450: #8E8E97;--n-500: #71717A;--n-600: #56565C;--n-700: #3D3D43;--n-800: #26262A;--n-900: #171719;--n-950: #0E0E10;--n-1000: #000000;--d-page: #0E0E10;--d-sunken: #09090B;--d-raised: #18181B;--d-overlay: #1C1C20;--d-100: #232327;--d-200: #2E2E33;--d-300: #3A3A41;--d-400: #55555E;--d-450: #6A6A74;--d-500: #8A8A92;--d-550: #8A8A95;--d-600: #A1A1A8;--d-700: #DEDEE2;--d-800: #F2F2F3;--d-disabled:#5A5A62;--a-black-40: rgba(0, 0, 0, .4);--a-black-60: rgba(0, 0, 0, .6);--a-white-6: rgba(255, 255, 255, .06);--a-white-8: rgba(255, 255, 255, .08);--a-white-10: rgba(255, 255, 255, .1);--a-white-14: rgba(255, 255, 255, .14);--green-600: #0F7A34;--green-500: #16A34A;--green-400: #4ADE80;--green-50: #ECFDF3;--green-line: #A9E5C0;--amber-600: #8A5A00;--amber-500: #B45309;--amber-400: #FBBF24;--amber-50: #FFF8EB;--amber-line: #F4D08A;--red-700: #9A1E14;--red-600: #B42318;--red-550: #C42F33;--red-525: #D93A3F;--red-500: #DC2626;--red-400: #F87171;--red-50: #FEF2F2;--red-line: #F2B8B2}:root{--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, monospace;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--t-display-size: 48px;--t-display-lh: 52px;--t-display-ls: -.02em;--t-h1-size: 32px;--t-h1-lh: 38px;--t-h1-ls: -.014em;--t-h2-size: 24px;--t-h2-lh: 30px;--t-h2-ls: -.012em;--t-h3-size: 20px;--t-h3-lh: 26px;--t-h3-ls: -.009em;--t-title-size: 17px;--t-title-lh: 24px;--t-title-ls: -.006em;--t-body-lg-size: 17px;--t-body-lg-lh: 26px;--t-body-lg-ls: -.006em;--t-body-size: 15px;--t-body-lh: 22px;--t-body-ls: -.004em;--t-label-size: 14px;--t-label-lh: 20px;--t-label-ls: -.002em;--t-caption-size: 13px;--t-caption-lh: 18px;--t-caption-ls: 0em;--t-micro-size: 11px;--t-micro-lh: 14px;--t-micro-ls: .02em;--s-0: 0px;--s-1: 2px;--s-2: 4px;--s-3: 6px;--s-4: 8px;--s-5: 12px;--s-6: 16px;--s-7: 20px;--s-8: 24px;--s-9: 32px;--s-10: 40px;--s-11: 48px;--s-12: 64px;--s-13: 80px;--s-14: 96px;--s-15: 128px;--r-xs: 4px;--r-sm: 4px;--r-control: 8px;--r-md: 8px;--r-lg: 16px;--r-xl: 16px;--r-full: 9999px;--line: 1px;--d-instant: 0ms;--d-fast: .12s;--d-base: .18s;--d-slow: .26s;--d-slower: .4s;--e-standard: cubic-bezier(.2, 0, 0, 1);--e-entrance: cubic-bezier(.16, 1, .3, 1);--e-exit: cubic-bezier(.4, 0, 1, 1);--press-scale: .98;--container-content: 720px;--container-app: 1200px;--container-wide: 1440px;--gutter: 24px;--page-pad-sm: 16px;--page-pad-md: 24px;--page-pad-lg: 32px;--bp-micro: 0px;--bp-compact: 320px;--bp-medium: 600px;--bp-expanded: 840px;--bp-large: 1200px;--bp-xlarge: 1600px;--page-pad: 16px;--columns: 4;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--z-base: 0;--z-sticky: 100;--z-dropdown: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600;--control-h-sm: 32px;--control-h-md: 40px;--control-h-lg: 48px;--hit-target-min: 44px;--row-h: 48px;--focus-scale: 1}:root{color-scheme:light dark}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}:root{--surface-page: light-dark(var(--n-0), var(--d-page));--surface-raised: light-dark(var(--n-0), var(--d-raised));--surface-sunken: light-dark(var(--n-50), var(--d-sunken));--surface-overlay: light-dark(var(--n-0), var(--d-overlay));--surface-inverse: light-dark(var(--n-950), var(--n-0));--surface-scrim: light-dark(var(--a-black-40), var(--a-black-60));--surface-control: light-dark(var(--n-50), var(--d-sunken));--surface-control-hover: light-dark(var(--n-100), var(--d-100));--surface-hover: light-dark(var(--n-50), var(--a-white-6));--surface-active: light-dark(var(--n-100), var(--a-white-10));--surface-selected: light-dark(var(--n-100), var(--a-white-8));--text-primary: light-dark(var(--n-950), var(--d-800));--text-secondary: light-dark(var(--n-600), var(--d-600));--text-tertiary: light-dark(var(--n-500), var(--d-500));--text-disabled: light-dark(var(--n-400), var(--d-disabled));--text-inverse: light-dark(var(--n-0), var(--n-950));--text-link: light-dark(var(--n-950), var(--d-800));--border-subtle: light-dark(var(--n-200), var(--d-100));--border-default: light-dark(var(--n-300), var(--d-200));--border-control: light-dark(var(--n-450), var(--d-450));--border-strong: light-dark(var(--n-500), var(--d-550));--border-focus: light-dark(var(--n-950), var(--d-800));--border-elevated: light-dark(transparent, var(--border-subtle));--icon-primary: light-dark(var(--n-950), var(--d-800));--icon-secondary: light-dark(var(--n-500), var(--d-500));--icon-disabled: light-dark(var(--n-400), var(--d-disabled));--icon-inverse: light-dark(var(--n-0), var(--n-950));--action-primary-bg: light-dark(var(--n-950), var(--n-0));--action-primary-bg-hover: light-dark(var(--n-800), var(--d-700));--action-primary-bg-active: light-dark(var(--n-950), var(--n-0));--action-primary-fg: light-dark(var(--n-0), var(--n-950));--action-primary-bg-disabled: light-dark(var(--n-100), var(--d-100));--action-primary-fg-disabled: light-dark(var(--n-400), var(--d-disabled));--action-secondary-bg: transparent;--action-secondary-bg-hover: light-dark(var(--n-50), var(--a-white-6));--action-secondary-bg-active: light-dark(var(--n-100), var(--a-white-10));--action-secondary-fg: light-dark(var(--n-950), var(--d-800));--action-secondary-border: light-dark(var(--n-300), var(--d-300));--action-secondary-border-hover: light-dark(var(--n-400), var(--d-400));--action-tertiary-bg: transparent;--action-tertiary-bg-hover: light-dark(var(--n-100), var(--a-white-8));--action-tertiary-bg-active: light-dark(var(--n-200), var(--a-white-14));--action-tertiary-fg: light-dark(var(--n-950), var(--d-800));--action-danger-bg: light-dark(var(--red-600), var(--red-525));--action-danger-bg-hover: light-dark(var(--red-700), var(--red-550));--action-danger-fg: var(--n-0);--action-danger-border: light-dark(var(--red-600), var(--red-525));--action-danger-secondary-fg: light-dark(var(--red-600), var(--red-400));--action-danger-secondary-border: light-dark(var(--red-600), var(--red-400));--action-danger-secondary-bg-hover: light-dark(var(--red-50), rgba(248,113,113,.12));--action-danger-secondary-bg-active: light-dark(var(--red-line),rgba(248,113,113,.28));--action-danger-tertiary-fg: light-dark(var(--red-600), var(--red-400));--action-danger-tertiary-bg-hover: light-dark(var(--red-50), rgba(248,113,113,.12));--action-danger-tertiary-bg-active: light-dark(var(--red-line),rgba(248,113,113,.28));--focus-ring: light-dark(var(--n-950), var(--d-800));--focus-ring-width: 2px;--focus-ring-offset: 2px;--status-success-fg: light-dark(var(--green-600), var(--green-400));--status-success-bg: light-dark(var(--green-50), rgba(74, 222, 128, .12));--status-success-border: light-dark(var(--green-line),rgba(74, 222, 128, .28));--status-success-solid: light-dark(var(--green-500), var(--green-400));--status-warning-fg: light-dark(var(--amber-600), var(--amber-400));--status-warning-bg: light-dark(var(--amber-50), rgba(251, 191, 36, .12));--status-warning-border: light-dark(var(--amber-line),rgba(251, 191, 36, .28));--status-warning-solid: light-dark(var(--amber-500), var(--amber-400));--status-danger-fg: light-dark(var(--red-600), var(--red-400));--status-danger-bg: light-dark(var(--red-50), rgba(248, 113, 113, .12));--status-danger-border: light-dark(var(--red-line),rgba(248, 113, 113, .28));--status-danger-solid: light-dark(var(--red-500), var(--red-400));--status-neutral-fg: light-dark(var(--n-600), var(--d-600));--status-neutral-bg: light-dark(var(--n-100), var(--a-white-8));--status-neutral-border: light-dark(var(--n-200), var(--d-200));--shadow-e1: 0 1px 2px light-dark(rgba(0,0,0,.04), rgba(0,0,0,.3)), 0 1px 1px light-dark(rgba(0,0,0,.03), rgba(0,0,0,.2));--shadow-e2: 0 4px 12px light-dark(rgba(0,0,0,.06), rgba(0,0,0,.4)), 0 1px 2px light-dark(rgba(0,0,0,.04), rgba(0,0,0,.24));--shadow-e3: 0 16px 40px light-dark(rgba(0,0,0,.12), rgba(0,0,0,.55)), 0 2px 8px light-dark(rgba(0,0,0,.06), rgba(0,0,0,.32));--skeleton-base: light-dark(var(--n-100), #202024);--skeleton-sheen: light-dark(var(--n-50), #2A2A2F);--surface-chrome: light-dark(rgba(255,255,255,.72), rgba(24,24,27,.72));--border-chrome: light-dark(rgba(0,0,0,.08), rgba(255,255,255,.1));--chrome-blur: 24px}.chrome{background:var(--surface-chrome);-webkit-backdrop-filter:blur(var(--chrome-blur));backdrop-filter:blur(var(--chrome-blur))}@media(min-width:320px){:root{--page-pad: 16px;--columns: 4}}@media(min-width:600px){:root{--page-pad: 24px;--columns: 8}}@media(min-width:840px){:root{--page-pad: 32px;--columns: 12}}@media(min-width:1200px){:root{--page-pad: 40px;--columns: 12}}@media(min-width:1600px){:root{--page-pad: 48px;--columns: 12}}@media(any-pointer:coarse){:root{--control-h-sm: 40px;--control-h-md: 44px;--control-h-lg: 52px;--hit-target-min: 44px;--row-h: 56px}}:root[data-surface=tv]{color-scheme:dark;--t-display-size: 72px;--t-display-lh: 78px;--t-h1-size: 56px;--t-h1-lh: 62px;--t-h2-size: 40px;--t-h2-lh: 46px;--t-h3-size: 32px;--t-h3-lh: 38px;--t-title-size: 28px;--t-title-lh: 36px;--t-body-lg-size: 28px;--t-body-lg-lh: 40px;--t-body-size: 24px;--t-body-lh: 34px;--t-label-size: 22px;--t-label-lh: 30px;--t-caption-size: 20px;--t-caption-lh: 28px;--t-micro-size: 18px;--t-micro-lh: 24px;--control-h-sm: 48px;--control-h-md: 56px;--control-h-lg: 64px;--hit-target-min: 56px;--row-h: 72px;--r-control: 12px;--r-lg: 20px;--r-xl: 24px;--focus-scale: 1.06;--focus-ring-width: 2px;--focus-ring-offset: 4px;--safe-top: 5vh;--safe-bottom: 5vh;--safe-left: 5vw;--safe-right: 5vw;--page-pad: 48px}:root[data-surface=watch]{--t-h1-size: 24px;--t-h1-lh: 28px;--t-h2-size: 22px;--t-h2-lh: 26px;--t-h3-size: 20px;--t-h3-lh: 24px;--t-title-size: 18px;--t-title-lh: 22px;--t-body-lg-size: 17px;--t-body-lg-lh: 22px;--t-body-size: 16px;--t-body-lh: 21px;--t-label-size: 15px;--t-label-lh: 20px;--t-caption-size: 14px;--t-caption-lh: 18px;--t-micro-size: 13px;--t-micro-lh: 16px;--control-h-md: 44px;--control-h-lg: 52px;--hit-target-min: 44px;--r-control: 16px;--r-lg: 20px;--r-xl: 28px;--d-fast: .1s;--d-base: .15s;--d-slow: .2s;--page-pad: 8px}:root[data-surface=widget]{--page-pad: 12px;--d-fast: 0ms;--d-base: 0ms}:root[data-surface=widget] body{background:transparent;overflow:hidden}@media(horizontal-viewport-segments:2){:root{--fold-left-width: env(viewport-segment-width 0 0, 50vw);--fold-gap-start: env(viewport-segment-right 0 0, 50vw);--fold-gap-end: env(viewport-segment-left 1 0, 50vw);--fold-gap: calc(var(--fold-gap-end) - var(--fold-gap-start))}}@media(vertical-viewport-segments:2){:root{--fold-top-height: env(viewport-segment-height 0 0, 50vh);--fold-gap-start: env(viewport-segment-bottom 0 0, 50vh);--fold-gap-end: env(viewport-segment-top 0 1, 50vh);--fold-gap: calc(var(--fold-gap-end) - var(--fold-gap-start))}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--t-body-size);line-height:var(--t-body-lh);letter-spacing:var(--t-body-ls);font-weight:var(--fw-regular)}body{transition:background-color var(--d-base) var(--e-standard),color var(--d-base) var(--e-standard)}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--r-xs);transform:scale(var(--focus-scale));transition:transform var(--d-base) var(--e-standard)}:focus:not(:focus-visible){outline:none}button,a,[role=button],input,select,textarea,summary{touch-action:manipulation}.hit-target{position:relative}.hit-target:after{content:"";position:absolute;inset:50%;width:max(100%,var(--hit-target-min));height:max(100%,var(--hit-target-min));translate:-50% -50%}.disclosure{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--d-slow) var(--e-entrance)}.disclosure>*{overflow:hidden}.disclosure[data-open]{grid-template-rows:1fr;transition:grid-template-rows var(--d-slow) var(--e-entrance)}.disclosure:not([data-open]){transition:grid-template-rows var(--d-base) var(--e-exit)}::selection{background:var(--text-primary);color:var(--surface-page)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--canvas-page: #FFFFFF;--canvas-grid: #D7D7DC;--canvas-accent: #2563EB;--canvas-accent-soft: rgba(37, 99, 235, .12);--canvas-handle: #FFFFFF;--header-h: calc(var(--control-h-sm) + 4px)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:var(--surface-page)}body{font-family:var(--font-sans);font-size:var(--t-body-size);line-height:var(--t-body-lh);letter-spacing:var(--t-body-ls);color:var(--text-primary);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}:where(button,input,textarea):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.shell{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--surface-page);-webkit-user-select:none;user-select:none}.shell input,.shell textarea,.shell [contenteditable=true]{-webkit-user-select:text;user-select:text}.shell>.header,.shell>.toolbar-row,.shell>.context-bar{flex:0 0 auto}.stage{position:relative;flex:1 1 auto;min-height:0}.canvas{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair;-webkit-user-select:none;user-select:none}.canvas[data-tool=hand]{cursor:grab}.canvas[data-tool=hand]:active{cursor:grabbing}.canvas[data-tool=select]{cursor:default}.canvas[data-tool=text]{cursor:text}.canvas[data-tool=pen]{cursor:var(--pen-cursor, crosshair)}.canvas[data-tool=eraser]{cursor:var(--eraser-cursor, crosshair)}:root{--header-bg: #0E0E10;--header-text: #F2F2F3;--header-text-secondary: #A1A1A8;--header-border: #2E2E33;--header-hover: #232327;--header-active-bg: #3A3A40;--header-active-text: #F2F2F3;--header-selected-bg: #3A3A40}.header,.toolbar-row,.context-bar{background:var(--header-bg);color:var(--header-text);border-bottom-color:var(--header-border)}.header{position:relative;display:flex;align-items:center;gap:var(--s-4);min-height:var(--header-h);padding:var(--s-1) var(--s-4);padding-top:max(var(--s-1),var(--safe-top));padding-left:max(var(--s-4),var(--safe-left));padding-right:max(var(--s-4),var(--safe-right));border-bottom:var(--line) solid var(--header-border);background:var(--header-bg);color:var(--header-text)}.header .icon-button,.toolbar-row .icon-button,.context-bar .icon-button{color:var(--header-text-secondary)}@media(any-hover:hover){.header .icon-button:hover:not(:disabled),.toolbar-row .icon-button:hover:not(:disabled),.context-bar .icon-button:hover:not(:disabled){background:var(--header-hover);color:var(--header-text)}}.header .icon-button[data-active],.toolbar-row .icon-button[data-active],.context-bar .icon-button[data-active]{background:var(--header-active-bg);color:var(--header-active-text)}.header .icon-button:disabled,.toolbar-row .icon-button:disabled,.context-bar .icon-button:disabled{color:var(--header-border)}.header .logo,.header .title-input{color:var(--header-text)}.header .title-input:hover,.header .title-input:focus{background:var(--header-hover)}.header .page-indicator__button,.header .zoom-label{color:var(--header-text-secondary)}@media(any-hover:hover){.header .page-indicator__button:hover,.header .zoom-label:hover{background:var(--header-hover);color:var(--header-text)}}.header .header__pages,.header .header__zoom{border-left-color:var(--header-border)}.header__left{display:flex;align-items:center;gap:var(--s-2);flex:1 1 auto;min-width:0}.logo{display:grid;place-items:center;color:var(--icon-primary);flex:none}.title-input{flex:0 1 auto;min-width:0;max-width:22ch;padding:var(--s-2) var(--s-3);border:none;border-radius:var(--r-control);background:transparent;color:var(--text-primary);font:inherit;font-weight:var(--fw-medium);text-overflow:ellipsis}.title-input:hover{background:var(--surface-hover)}.title-input:focus{background:var(--surface-control)}.header__pages{display:flex;align-items:center;gap:var(--s-1);flex:none;padding-left:var(--s-2);margin-left:var(--s-1);border-left:var(--line) solid var(--border-subtle)}.page-indicator{position:relative}.page-indicator__button{height:var(--control-h-sm);min-width:56px;padding:0 var(--s-3);border:none;border-radius:var(--r-control);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--t-label-size);font-variant-numeric:tabular-nums;cursor:pointer}.page-indicator__button:hover{background:var(--surface-hover)}.header__actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--s-1);flex:0 0 auto}.menu-anchor{position:relative}.header__zoom{display:flex;align-items:center;gap:var(--s-1);padding-left:var(--s-1);margin-left:var(--s-1);border-left:var(--line) solid var(--border-subtle)}.zoom-label{min-width:44px;height:var(--control-h-sm);padding:0 var(--s-2);border:none;border-radius:var(--r-control);background:transparent;color:var(--text-secondary);font:inherit;font-size:var(--t-caption-size);font-variant-numeric:tabular-nums;cursor:pointer}@media(any-hover:hover){.zoom-label:hover{background:var(--surface-hover);color:var(--text-primary)}}.menu-status{display:flex;align-items:center;gap:var(--s-2);min-height:36px;padding:var(--s-2) var(--s-4);color:var(--text-tertiary);font-size:var(--t-caption-size)}.menu-status--saved{color:var(--status-success-fg)}.menu-status--error{color:var(--status-danger-fg)}.icon-button{display:grid;place-items:center;position:relative;height:var(--control-h-md);width:var(--control-h-md);border:none;border-radius:var(--r-control);background:transparent;color:var(--icon-secondary);cursor:pointer;transition:background-color var(--d-fast) var(--e-standard),color var(--d-fast) var(--e-standard),transform 90ms var(--e-standard)}.icon-button:after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}.icon-button--sm{height:var(--control-h-sm);width:var(--control-h-sm)}@media(any-hover:hover){.icon-button:hover:not(:disabled){background:var(--surface-hover);color:var(--icon-primary)}}.icon-button:active:not(:disabled){transform:scale(var(--press-scale))}.icon-button[data-active]{background:var(--surface-inverse);color:var(--text-inverse)}.icon-button--danger{color:var(--action-danger-secondary-fg)}@media(any-hover:hover){.icon-button--danger:hover:not(:disabled){background:var(--action-danger-secondary-bg-hover);color:var(--action-danger-secondary-fg)}}.icon-button:disabled{color:var(--icon-disabled);cursor:default}.button{height:var(--control-h-md);padding:0 var(--s-6);border:var(--line) solid transparent;border-radius:var(--r-control);font:inherit;font-weight:var(--fw-medium);cursor:pointer;transition:background-color var(--d-fast) var(--e-standard),transform 90ms var(--e-standard)}.button:active{transform:scale(var(--press-scale))}.button--primary{background:var(--action-primary-bg);color:var(--action-primary-fg)}.button--primary:hover{background:var(--action-primary-bg-hover)}.button--secondary{background:var(--action-secondary-bg);border-color:var(--action-secondary-border);color:var(--action-secondary-fg)}.button--secondary:hover{background:var(--action-secondary-bg-hover)}.button--danger{background:var(--action-danger-bg);color:var(--action-danger-fg)}.button--danger:hover{background:var(--action-danger-bg-hover)}.menu{position:absolute;top:calc(100% + var(--s-2));z-index:40;min-width:208px;max-height:70dvh;overflow-y:auto;padding:var(--s-2);border-radius:var(--r-lg);background:var(--surface-overlay);border:var(--line) solid var(--border-elevated);box-shadow:var(--shadow-e3);animation:menu-in var(--d-base) var(--e-entrance)}.menu--right{right:0}.menu--left{left:0}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.menu-item{display:flex;align-items:center;justify-content:space-between;gap:var(--s-6);width:100%;min-height:40px;padding:var(--s-2) var(--s-4);border:none;border-radius:var(--r-control);background:transparent;color:var(--text-primary);font:inherit;text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:var(--surface-hover)}.menu-item:disabled{color:var(--text-disabled);cursor:default}.menu-item--danger{color:var(--action-danger-tertiary-fg)}.menu-item--danger:hover:not(:disabled){background:var(--action-danger-tertiary-bg-hover)}.menu-item__hint{color:var(--text-tertiary);font-size:var(--t-caption-size)}.menu-separator{height:var(--line);margin:var(--s-2) var(--s-3);background:var(--border-subtle)}.toolbar-row{display:flex;align-items:center;gap:var(--s-4);min-height:var(--header-h);padding:var(--s-1) var(--s-4);padding-left:max(var(--s-4),var(--safe-left));padding-right:max(var(--s-4),var(--safe-right));border-bottom:var(--line) solid var(--header-border)}.toolbar-row--inline.toolbar{display:none}@media(min-width:900px){.toolbar-row--inline.toolbar{display:flex;flex:1 1 auto;min-width:0;padding:0;border-bottom:none;background:transparent}.toolbar-row--standalone.toolbar{display:none}}.toolbar{display:flex;align-items:center;justify-content:flex-start;gap:var(--s-2);flex:0 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x}.toolbar::-webkit-scrollbar{display:none}.context-bar{display:flex;align-items:center;gap:var(--s-4);min-height:var(--header-h);padding:var(--s-1) var(--s-4);padding-left:max(var(--s-4),var(--safe-left));padding-right:max(var(--s-4),var(--safe-right));border-bottom:var(--line) solid var(--header-border);overflow:hidden;transition:min-height var(--d-base) var(--e-standard),padding-block var(--d-base) var(--e-standard)}.context-bar--empty{min-height:0;padding-top:0;padding-bottom:0;border-bottom-color:transparent}.context-bar>*{animation:bar-in var(--d-base) var(--e-entrance)}@keyframes bar-in{0%{opacity:0;transform:translateY(4px)}}.context-bar__scroll{display:flex;align-items:center;gap:var(--s-6);flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;padding-bottom:2px}.context-bar__scroll::-webkit-scrollbar{display:none}.context-bar__section{display:flex;align-items:center;gap:var(--s-4);flex:none}.context-bar__section--right{margin-left:auto}.context-bar__fixed{display:flex;align-items:center;gap:var(--s-1);flex:none;padding-left:var(--s-4)}.bar-group,.segmented{display:flex;align-items:center;gap:var(--s-1);flex:none}.segmented__item{display:grid;place-items:center;height:var(--control-h-sm);min-width:var(--control-h-sm);padding:0 var(--s-3);border:none;border-radius:var(--r-control);background:var(--surface-control);color:var(--text-secondary);font:inherit;font-size:var(--t-caption-size);white-space:nowrap;cursor:pointer;transition:background-color var(--d-fast) var(--e-standard),color var(--d-fast) var(--e-standard)}@media(any-hover:hover){.segmented__item:hover{background:var(--surface-control-hover)}}.segmented__item[data-active]{background:var(--surface-selected);color:var(--text-primary)}.context-bar .segmented__item,.context-bar .size,.context-bar .swatch-group__label,.context-bar .page-indicator__button{background:transparent;color:var(--header-text-secondary)}.context-bar .segmented__item[data-active],.context-bar .size[data-active]{background:var(--header-selected-bg);color:var(--header-text)}@media(any-hover:hover){.context-bar .segmented__item:hover,.context-bar .size:hover{background:var(--header-hover);color:var(--header-text)}}.context-bar .swatch:before{border-color:var(--header-border)}.context-bar .swatch[data-active]{background:var(--header-selected-bg)}@media(any-hover:hover){.context-bar .swatch:hover{background:var(--header-hover)}}.swatches,.swatch-group{display:flex;align-items:center;gap:var(--s-2);flex:none}.swatch-group__label{color:var(--text-secondary);font-size:var(--t-caption-size);font-weight:var(--fw-medium);white-space:nowrap}.swatch{position:relative;display:grid;place-items:center;width:var(--control-h-sm);height:var(--control-h-sm);border:none;border-radius:var(--r-control);background:transparent;cursor:pointer;transition:background-color var(--d-fast) var(--e-standard)}.swatch:before{content:"";width:16px;height:16px;border-radius:var(--r-full);border:var(--line) solid var(--border-control);background:var(--swatch, transparent)}.swatch:after{content:"";position:absolute;inset:50% auto auto 50%;width:44px;height:44px;transform:translate(-50%,-50%)}.swatch[data-none]:before{background:linear-gradient(to top right,transparent 46%,var(--status-danger-solid) 46%,var(--status-danger-solid) 54%,transparent 54%),var(--surface-control)}.swatch[data-active]{background:var(--surface-selected)}@media(any-hover:hover){.swatch:hover{background:var(--surface-hover)}}.sizes{display:flex;align-items:center;gap:var(--s-1);flex:none}.size{display:grid;place-items:center;width:var(--control-h-sm);height:var(--control-h-sm);border:none;border-radius:var(--r-control);background:transparent;color:var(--text-secondary);cursor:pointer}@media(any-hover:hover){.size:hover{background:var(--surface-hover)}}.size[data-active]{background:var(--surface-selected)}.size__dot{border-radius:var(--r-full);background:currentColor}.size__text{font-weight:var(--fw-semibold);line-height:1}.text-editor{position:absolute;z-index:20}.text-editor__input{display:block;width:100%;min-height:1em;padding:0;margin:0;border:none;border-radius:var(--r-xs);background:transparent;outline:2px solid var(--canvas-accent);outline-offset:4px;resize:none;overflow:hidden;font-family:inherit}.text-editor[data-mode=text] .text-editor__input{background:var(--canvas-page);padding:2px 4px;margin:-2px -4px}.scrim{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:var(--s-6);background:var(--surface-scrim);animation:fade-in var(--d-base) var(--e-entrance)}@keyframes fade-in{0%{opacity:0}}.dialog{width:min(100%,400px);padding:var(--s-8);border-radius:var(--r-lg);background:var(--surface-overlay);border:var(--line) solid var(--border-elevated);box-shadow:var(--shadow-e3);animation:dialog-in var(--d-slow) var(--e-entrance)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)}}.dialog__title{margin:0;font-size:var(--t-h3-size);line-height:var(--t-h3-lh);letter-spacing:var(--t-h3-ls);font-weight:var(--fw-semibold)}.dialog__body{margin:var(--s-4) 0 0;color:var(--text-secondary)}.dialog__actions{display:flex;justify-content:flex-end;gap:var(--s-4);margin-top:var(--s-9)}.toast{position:fixed;left:50%;bottom:calc(var(--s-15) + var(--safe-bottom));z-index:50;transform:translate(-50%);display:flex;align-items:center;gap:var(--s-4);max-width:min(calc(100vw - var(--s-8)),480px);padding:var(--s-4) var(--s-4) var(--s-4) var(--s-6);border-radius:var(--r-lg);background:var(--surface-inverse);color:var(--text-inverse);box-shadow:var(--shadow-e3);animation:toast-in var(--d-base) var(--e-entrance)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.toast--danger{background:var(--status-danger-solid)}.toast__text{font-size:var(--t-label-size)}.toast__action,.toast__close{display:grid;place-items:center;flex:none;border:none;background:transparent;color:inherit;font:inherit;font-weight:var(--fw-semibold);font-size:var(--t-label-size);border-radius:var(--r-control);cursor:pointer}.toast__action{height:var(--control-h-sm);padding:0 var(--s-3);background:var(--a-white-14)}.toast__close{width:var(--control-h-sm);height:var(--control-h-sm);opacity:.7}.toast__close:hover{opacity:1}@media(max-width:599px){.header{gap:var(--s-2);padding-inline:var(--s-2)}.header .icon-button{height:34px;width:34px}.title-input{max-width:14ch;padding-inline:var(--s-2)}.header__zoom{padding-left:var(--s-1);margin-left:0}.page-indicator__button{min-width:44px;padding-inline:var(--s-2)}.toolbar-row{gap:var(--s-2);padding-inline:var(--s-2)}}@media(max-width:420px){.header__zoom .icon-button{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
