/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-desk:oklch(91.5% .013 82);--color-paper:oklch(97.6% .009 85);--color-paper-2:oklch(99.3% .004 90);--color-paper-3:oklch(94.6% .011 84);--color-sheet:oklch(99.5% .003 95);--color-sheet-ruled:oklch(80% .05 240);--color-ink:oklch(23% .014 60);--color-ink-2:oklch(43% .012 65);--color-muted:oklch(47% .011 68);--color-rule:oklch(88% .01 80);--color-rule-strong:oklch(79% .013 78);--color-accent:oklch(48% .19 292);--color-accent-hi:oklch(56% .19 292);--color-accent-soft:oklch(94.5% .035 292);--color-accent-ink:oklch(99% 0 0);--color-focus:oklch(52% .2 292);--color-danger:oklch(51% .19 27);--color-danger-soft:oklch(94% .04 27);--color-ok:oklch(50% .13 155);--color-warn:oklch(62% .14 70);--shadow-1:0 1px 2px oklch(30% .03 70/.06), 0 1px 1px oklch(30% .03 70/.04);--shadow-2:0 2px 4px oklch(30% .03 70/.06), 0 6px 14px oklch(30% .03 70/.08);--shadow-3:0 4px 8px oklch(30% .03 70/.07), 0 18px 40px oklch(30% .03 70/.14);--shadow-inset:inset 0 1px 0 oklch(100% 0 0/.6);--font-display:"Bricolage Grotesque", "Inter", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-hand:"Caveat", "Bricolage Grotesque", cursive;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.9375rem;--text-lg:1.0625rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-display:clamp(2rem, 1.4rem + 2.4vw, 2.75rem);--tracking-display:-.022em;--tracking-label:.08em;--space-3xs:2px;--space-2xs:4px;--space-xs:8px;--space-sm:12px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-xs:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--rule:1px solid var(--color-rule);--hit:44px;--hit-sm:36px;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.32, 0, .67, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.12s;--dur:.2s;--dur-slow:.32s;--topbar-h:56px;--dock-w:60px;--rail-w:232px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-desk:oklch(15% .012 285);--color-paper:oklch(19.5% .012 285);--color-paper-2:oklch(23.5% .013 285);--color-paper-3:oklch(28.5% .014 285);--color-sheet:oklch(96% .004 95);--color-sheet-ruled:oklch(78% .05 240);--color-ink:oklch(94% .008 285);--color-ink-2:oklch(79% .01 285);--color-muted:oklch(68% .012 285);--color-rule:oklch(31% .013 285);--color-rule-strong:oklch(41% .015 285);--color-accent:oklch(70% .16 292);--color-accent-hi:oklch(78% .14 292);--color-accent-soft:oklch(30% .06 292);--color-accent-ink:oklch(17% .03 292);--color-focus:oklch(74% .16 292);--color-danger:oklch(66% .18 27);--color-danger-soft:oklch(28% .07 27);--color-ok:oklch(70% .14 155);--color-warn:oklch(76% .14 70);--shadow-1:0 1px 2px oklch(0% 0 0/.4);--shadow-2:0 2px 4px oklch(0% 0 0/.34), 0 6px 16px oklch(0% 0 0/.36);--shadow-3:0 6px 12px oklch(0% 0 0/.36), 0 22px 48px oklch(0% 0 0/.48);--shadow-inset:inset 0 1px 0 oklch(100% 0 0/.05)}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--radius-xs:.125rem;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.zoom-100{zoom:100%}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.\!italic{font-style:italic!important}.italic{font-style:italic}.\!underline{text-decoration-line:underline!important}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}html,body{overflow-x:clip}html,body,#root{background:var(--color-paper);min-height:100%;color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;line-height:1.5}*{box-sizing:border-box}::selection{background:var(--color-accent-soft);color:var(--color-ink)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:where(button,input,select,textarea,a,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:var(--radius-xs)}h1,h2,h3{font-family:var(--font-display);letter-spacing:var(--tracking-display);overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal;font-weight:600}p{margin:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--color-rule-strong);border-radius:var(--radius-pill);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-track{background:0 0}.wordmark{font-family:var(--font-hand);color:var(--color-ink);letter-spacing:0;font-size:1.5rem;font-weight:600;line-height:1}.eyebrow{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);margin:0;font-weight:600}.muted{color:var(--color-muted);font-size:var(--text-sm)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stack{gap:var(--space-xs);min-width:0;display:grid}.row{align-items:center;gap:var(--space-xs);min-width:0;display:flex}.row--end{align-items:flex-end}.row--split>.field,.spacer{flex:1}.btn{justify-content:center;align-items:center;gap:var(--space-xs);min-height:var(--hit);padding:0 var(--space-md);border-radius:var(--radius-pill);border:var(--rule);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-sm);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out);font-weight:500;display:inline-flex}.btn:hover{background:var(--color-paper-3);border-color:var(--color-rule-strong)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn--primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:#0000;font-weight:600}.btn--primary:hover{background:var(--color-accent-hi);border-color:#0000}.btn--quiet{color:var(--color-ink-2);background:0 0;border-color:#0000}.btn--quiet:hover{background:var(--color-paper-3);color:var(--color-ink);border-color:#0000}.btn--danger{color:var(--color-danger);border-color:var(--color-danger)}@supports (color:color-mix(in lab, red, red)){.btn--danger{border-color:color-mix(in oklch, var(--color-danger) 32%, transparent)}}.btn--danger{background:0 0}.btn--danger:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.btn--sm{min-height:var(--hit-sm);padding:0 var(--space-sm);font-size:var(--text-xs)}.btn--block{width:100%}.icon-btn{width:var(--hit);height:var(--hit);border-radius:var(--radius);color:var(--color-ink-2);transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex:none;place-items:center;display:inline-grid;position:relative}.icon-btn:hover{background:var(--color-paper-3);color:var(--color-ink)}.icon-btn:active{transform:translateY(1px)}.icon-btn.is-active{background:var(--color-accent);color:var(--color-accent-ink)}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.icon-btn:disabled:hover{color:var(--color-ink-2);background:0 0}.icon-btn--sm{width:var(--hit-sm);height:var(--hit-sm)}.tip{z-index:30;padding:5px var(--space-xs);border-radius:var(--radius-xs);background:var(--color-ink);color:var(--color-paper);font-size:var(--text-2xs);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-2);font-weight:500;position:absolute;top:calc(100% + 8px);left:50%;translate:-50%}.tip kbd{font-family:var(--font-mono);opacity:.7;margin-left:4px}.tip[data-side=right]{top:50%;left:calc(100% + 10px);translate:0 -50%}.tip[data-side=top]{top:auto;bottom:calc(100% + 8px)}.tip--portal,.tip--portal[data-side]{z-index:90;white-space:normal;text-wrap:balance;max-width:min(240px,100vw - 16px);position:fixed;bottom:auto;right:auto;translate:none}input[type=text],input[type=search],input[type=password],input[type=email],input[type=number],input:not([type]),select,textarea{width:100%;min-height:var(--hit-sm);background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius);padding:var(--space-xs) var(--space-sm);color:var(--color-ink);transition:border-color var(--dur-fast) var(--ease-out)}input::placeholder,textarea::placeholder{color:var(--color-muted)}input:hover,select:hover,textarea:hover{border-color:var(--color-rule-strong)}.select-wrap{display:grid;position:relative}.select-wrap:after{content:"";border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);pointer-events:none;width:7px;height:7px;position:absolute;top:50%;right:14px;translate:0 -70%;rotate:45deg}.select-wrap select{appearance:none;background:var(--color-paper-2);cursor:pointer;padding-right:36px}.select-wrap select:hover{background:var(--color-paper-3)}.field{gap:var(--space-2xs);min-width:0;display:grid}.field>span{font-size:var(--text-xs);letter-spacing:.02em;color:var(--color-muted);margin:0;font-weight:600}.search-field{align-items:center;min-width:0;display:flex;position:relative}.search-field svg{left:var(--space-sm);color:var(--color-muted);pointer-events:none;position:absolute}.search-field input{border-radius:var(--radius-pill);min-height:var(--hit);padding-left:38px}.seg{background:var(--color-paper-3);border-radius:var(--radius-pill);border:var(--rule);scrollbar-width:none;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow:auto}.seg::-webkit-scrollbar{display:none}.seg button{min-height:var(--hit-sm);padding:0 var(--space-sm);border-radius:var(--radius-pill);color:var(--color-ink-2);font-size:var(--text-xs);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:1 0 auto;font-weight:500}.seg button:hover{color:var(--color-ink)}.seg button.is-active,.seg button.is-on{background:var(--color-paper-2);color:var(--color-ink);box-shadow:var(--shadow-1);font-weight:600}.seg--block{width:100%;display:flex}.seg--wrap{border-radius:var(--radius);flex-wrap:wrap;width:100%;display:flex;overflow:visible}.seg--wrap button{border-radius:var(--radius-xs);flex:auto}.slider-field{gap:var(--space-2xs);display:grid}.slider-field>span{font-size:var(--text-xs);color:var(--color-muted);justify-content:space-between;align-items:baseline;font-weight:600;display:flex}.slider-field em{font-style:normal;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-ink-2);background:var(--color-paper-3);border-radius:var(--radius-pill);padding:1px 6px}input[type=range]{--track:var(--color-rule);appearance:none;width:100%;height:var(--hit-sm);background:0 0;border:0;min-height:0;padding:0}input[type=range]::-webkit-slider-runnable-track{border-radius:var(--radius-pill);background:var(--track);height:4px}input[type=range]::-moz-range-track{border-radius:var(--radius-pill);background:var(--track);height:4px}input[type=range]::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-pill);background:var(--color-paper-2);border:2px solid var(--color-accent);width:18px;height:18px;box-shadow:var(--shadow-1);transition:transform var(--dur-fast) var(--ease-out);margin-top:-7px}input[type=range]::-moz-range-thumb{border-radius:var(--radius-pill);background:var(--color-paper-2);border:2px solid var(--color-accent);width:18px;height:18px}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12)}input[type=color]{border-radius:var(--radius-xs);border:var(--rule);background:var(--color-paper-2);cursor:pointer;width:44px;height:32px;padding:2px}.check{gap:var(--space-xs);font-size:var(--text-sm);min-height:var(--hit-sm);align-items:center;display:flex}.check input{width:18px;height:18px;min-height:0;accent-color:var(--color-accent);flex:none}.swatch-grid{grid-template-columns:repeat(auto-fill, minmax(var(--hit-sm), 1fr));gap:var(--space-xs);display:grid}.swatch{aspect-ratio:1;min-height:var(--hit-sm);border-radius:var(--radius-pill);min-width:0;transition:box-shadow var(--dur-fast) var(--ease-out);border:1px solid oklch(0% 0 0/.14);padding:0}.swatch.is-on{box-shadow:0 0 0 2px var(--color-paper-2), 0 0 0 4px var(--color-accent)}.swatch--none,.swatch--custom{background:var(--color-paper-3);color:var(--color-ink-2);border:var(--rule);place-items:center;display:grid}.swatch--custom{position:relative;overflow:clip}.swatch--custom input{opacity:0;cursor:pointer;border:0;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.swatch--custom:has(input:focus-visible){outline:2px solid var(--color-focus);outline-offset:2px}.width-chips{gap:var(--space-2xs);flex-wrap:wrap;display:flex}.width-chips button{min-height:var(--hit-sm);min-width:var(--hit-sm);padding:0 var(--space-xs);border-radius:var(--radius-pill);border:var(--rule);background:var(--color-paper);color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-2xs);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);font-weight:600}.width-chips button.is-on{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink)}.style-bar{align-items:center;gap:var(--space-2xs);flex-wrap:wrap;display:flex}.style-bar__rule{width:1px;height:20px;margin-inline:var(--space-2xs);background:var(--color-rule);border:0}.ink-preview{width:100%;min-height:56px;padding:var(--space-xs);border-radius:var(--radius);background:var(--color-sheet);border:var(--rule);flex-shrink:0;place-items:center;display:grid;overflow:clip}.ink-preview canvas{border-radius:var(--radius-xs);max-width:100%;margin-inline:auto;display:block}.ink-preview__hint{text-align:center;margin-top:calc(var(--space-2xs) * -1)}.brush-grid{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}.brush-grid .option{min-height:var(--hit);gap:var(--space-3xs);padding:var(--space-2xs);color:var(--color-ink)}.brush-grid__label{font-size:var(--text-2xs);letter-spacing:.01em;color:var(--color-muted);text-align:center;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:600;line-height:1.2;overflow:hidden}.brush-grid .option.is-on .brush-grid__label{color:var(--color-accent)}.toggle-row{align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm);border-radius:var(--radius);border:var(--rule);background:var(--color-paper-2);cursor:pointer;min-height:var(--hit);display:flex}.toggle-row input{width:18px;height:18px;accent-color:var(--color-accent);flex-shrink:0;margin-top:3px}.toggle-row strong{font-size:var(--text-sm);color:var(--color-ink);font-weight:600}.option-grid{gap:var(--space-2xs);grid-template-columns:repeat(auto-fill,minmax(74px,1fr));display:grid}.option-grid--tight{grid-template-columns:repeat(auto-fill,minmax(46px,1fr))}.option-grid--tight .option{min-height:46px;padding:var(--space-3xs)}.option{gap:var(--space-2xs);min-height:68px;padding:var(--space-xs);border-radius:var(--radius);border:var(--rule);background:var(--color-paper-2);color:var(--color-ink-2);font-size:var(--text-2xs);text-align:center;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);align-content:center;justify-items:center;display:grid}.option:hover{background:var(--color-paper-3)}.option.is-on{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-ink);font-weight:600}.option--row{justify-content:start;place-items:center start;gap:var(--space-xs);min-height:var(--hit);font-size:var(--text-sm);text-align:left;grid-auto-flow:column}.sticker-glyph{font-size:24px;line-height:1}.scrim{z-index:40;animation:fade-in var(--dur) var(--ease-out);background:oklch(25% .02 70/.32);border:0;padding:0;position:fixed;inset:0}.scrim--quiet{background:0 0}.popover{z-index:50;background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-lg);width:min(320px,100vw - 24px);box-shadow:var(--shadow-3);max-height:min(560px,100dvh - 120px);animation:pop-in var(--dur) var(--ease-out);flex-direction:column;display:flex;position:absolute}.popover--wide{width:min(520px,100vw - 24px)}.popover__head{align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-sm) var(--space-xs) var(--space-md);flex:none;display:flex}.popover__titles{flex:1;gap:1px;min-width:0;display:grid}.popover__head h2{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:var(--tracking-display);font-weight:600;line-height:1.2}.popover__sub{font-size:var(--text-xs);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.popover__badge{border-radius:var(--radius-pill);background:var(--color-accent-soft);max-width:42%;color:var(--color-accent);font-size:var(--text-2xs);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;flex:none;padding:3px 8px;font-weight:600;overflow:hidden}.popover__body{padding:0 var(--space-md) var(--space-md);overscroll-behavior:contain;gap:var(--space-md);align-content:start;display:grid;overflow:auto}.popover__footer{justify-content:flex-end;gap:var(--space-xs);padding:0 var(--space-md) var(--space-md);display:flex}.popover__pin{z-index:1;gap:var(--space-sm);background:var(--color-paper-2);padding-bottom:var(--space-sm);box-shadow:0 1px 0 var(--color-rule);display:grid;position:sticky;top:0}.props-section{gap:var(--space-sm);min-width:0;display:grid}.props-section+.props-section,.props-section+details.props-section,details.props-section+.props-section{padding-top:var(--space-sm);border-top:var(--rule)}.props-section__head{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);margin:0;font-weight:600}details.props-section>summary.props-section__head{cursor:pointer;min-height:var(--hit-sm);-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;list-style:none;display:flex}details.props-section>summary.props-section__head::-webkit-details-marker{display:none}details.props-section>summary.props-section__head:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}details.props-section>summary.props-section__head:after{content:"";border-right:1.5px solid var(--color-ink-2);border-bottom:1.5px solid var(--color-ink-2);width:6px;height:6px;transition:transform var(--dur-fast) var(--ease-out);transform:rotate(45deg)}details.props-section[open]>summary.props-section__head:after{transform:rotate(-135deg)}.props-section__body{gap:var(--space-sm);min-width:0;display:grid}.props-hint{font-size:var(--text-xs);color:var(--color-muted);margin:0;line-height:1.4}.popover__body:has(.size-select.is-open){overflow:visible}.popover__grip{display:none}.divider{background:var(--color-rule);height:1px;margin:var(--space-2xs) 0;border:0}.card{background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-lg);padding:var(--space-md)}.menu{z-index:80;overscroll-behavior:contain;min-width:232px;max-width:calc(100vw - 16px);padding:var(--space-2xs);background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-3);animation:pop-in var(--dur-fast) var(--ease-out);position:fixed;overflow-y:auto}.menu button{align-items:center;gap:var(--space-sm);width:100%;min-height:var(--hit-sm);padding:0 var(--space-xs);border-radius:var(--radius-xs);color:var(--color-ink);font-size:var(--text-sm);text-align:left;background:0 0;border:0;display:flex}.menu button:hover:not(:disabled){background:var(--color-paper-3)}.menu button:disabled{opacity:.4;cursor:not-allowed}.menu button.is-danger{color:var(--color-danger)}.menu button.is-on{background:var(--color-accent-soft)}.menu button svg{color:var(--color-muted);flex:none}.menu button.is-danger svg,.menu__check{color:inherit}.menu__check{margin-left:auto}.menu kbd,.cmd-row kbd{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-muted);background:var(--color-paper-3);border:var(--rule);border-radius:5px;margin-left:auto;padding:1px 5px}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 96px);z-index:60;align-items:center;gap:var(--space-sm);max-width:calc(100vw - 32px);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-md);background:var(--color-ink);color:var(--color-paper);border-radius:var(--radius-pill);box-shadow:var(--shadow-3);font-size:var(--text-sm);animation:toast-in var(--dur) var(--ease-out);display:flex;position:fixed;translate:-50%}.toast button{border-radius:var(--radius-pill);color:inherit;min-height:var(--hit-sm);padding:0 var(--space-sm);font-size:var(--text-xs);background:oklch(100% 0 0/.14);border:0;font-weight:600}.toast button:hover{background:oklch(100% 0 0/.24)}.modal-center{z-index:50;padding:var(--space-md);pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.modal-center>*{pointer-events:auto}@keyframes fade-in{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}}.library-shell{background:var(--color-paper);min-height:100dvh}.library{max-width:1180px;padding:var(--space-lg) var(--space-md) var(--space-3xl);margin:0 auto}.library__bar{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);display:flex}.library__title{margin-bottom:var(--space-lg);gap:2px;display:grid}.library__title h1{font-size:var(--text-display);line-height:1.05}.library__controls{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap;display:flex}.library__controls .search-field{flex:220px;max-width:340px}.folder-row{gap:var(--space-2xs);scrollbar-width:none;padding-bottom:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:var(--rule);align-items:center;display:flex;overflow-x:auto}.folder-row::-webkit-scrollbar{display:none}.chip{min-height:var(--hit-sm);padding:0 var(--space-sm);border-radius:var(--radius-pill);color:var(--color-muted);font-size:var(--text-sm);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);background:0 0;border:0;flex:none;font-weight:500}.chip:hover{color:var(--color-ink);background:var(--color-paper-3)}.chip.is-on{background:var(--color-ink);color:var(--color-paper)}.cover-grid{gap:var(--space-lg) var(--space-md);grid-template-columns:repeat(auto-fill,minmax(184px,1fr));align-items:start;display:grid}.cover-new{place-content:center;align-self:stretch;justify-items:center;gap:var(--space-2xs);width:100%;min-width:0;min-height:200px;padding:var(--space-md);border:1.5px dashed var(--color-rule-strong);border-radius:var(--radius-lg);background:var(--color-paper-2);color:var(--color-muted);transition:border-color var(--dur) var(--ease-out), background-color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out);display:grid}.cover-new__mark{width:46px;height:46px;margin-bottom:var(--space-xs);border-radius:var(--radius-pill);background:var(--color-accent-soft);color:var(--color-accent);transition:background-color var(--dur) var(--ease-out), color var(--dur) var(--ease-out);place-items:center;display:grid}.cover-new__label{font-size:var(--text-sm);color:var(--color-ink);text-align:center;font-weight:600}.cover-new__hint{font-size:var(--text-2xs);color:var(--color-muted);text-align:center}.cover-new:hover{border-color:var(--color-accent);background:var(--color-accent-soft);transform:translateY(-3px)}.cover-new:hover .cover-new__mark{background:var(--color-accent);color:var(--color-accent-ink)}.cover-card{border-radius:var(--radius-lg);background:var(--color-paper-2);min-width:0;box-shadow:var(--shadow-2);transition:transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);grid-template-rows:1fr auto;display:grid;position:relative}.cover-card:hover,.cover-card:focus-within,.cover-card.is-open{box-shadow:var(--shadow-3);transform:translateY(-3px)}.cover-card.is-open{z-index:20}.cover-card.is-pinned{box-shadow:0 0 0 1.5px var(--color-accent), var(--shadow-2)}@supports (color:color-mix(in lab, red, red)){.cover-card.is-pinned{box-shadow:0 0 0 1.5px color-mix(in oklch, var(--color-accent) 42%, transparent), var(--shadow-2)}}.cover-card__top{aspect-ratio:3/4;border-radius:var(--radius-lg) var(--radius-lg) 0 0;position:relative;overflow:hidden}.cover-face{align-content:end;gap:var(--space-2xs);padding:var(--space-sm);padding-left:var(--space-md);color:oklch(100% 0 0);text-align:left;border:0;border-radius:0;display:grid;position:absolute;inset:0;overflow:hidden}.cover-face:before{content:"";background:oklch(0% 0 0/.22);width:9px;position:absolute;inset:0 auto 0 0;box-shadow:inset -1px 0 oklch(100% 0 0/.14)}.cover-face:after{content:"";background:linear-gradient(#0000 42%,oklch(0% 0 0/.42));position:absolute;inset:0}.cover-face img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.cover-lines{background:repeating-linear-gradient(#0000 0 15px,oklch(100% 0 0/.22) 15px 16px);position:absolute;inset:14% 10% 34% 16%}.cover-icon,.cover-title,.cover-sub{z-index:1;position:relative}.cover-icon{opacity:.9;margin-bottom:auto}.cover-title{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:var(--tracking-display);overflow-wrap:anywhere;font-weight:600;line-height:1.15}.cover-sub{font-size:var(--text-xs);opacity:.82}.cover-card__foot{background:var(--color-paper-2);border-top:var(--rule);border-radius:0 0 var(--radius-lg) var(--radius-lg);align-items:center;gap:2px;min-width:0;min-height:45px;padding:4px 4px 4px 10px;display:flex}.cover-card__name{border:1px solid var(--color-accent);border-radius:var(--radius-xs);background:var(--color-paper);min-width:0;padding:0 var(--space-xs);font-size:var(--text-sm);min-height:var(--hit-sm);flex:1;font-weight:500}.cover-card__meta{min-width:0;font-size:var(--text-2xs);color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;align-items:center;gap:5px;margin:0;display:flex;overflow:hidden}.cover-card__meta svg{opacity:.8;flex:none}.cover-card__actions{flex:none;align-items:center;gap:0;display:flex}.cover-card__actions .icon-btn{border-radius:var(--radius-xs);width:30px;height:30px}.icon-btn.is-starred,.icon-btn.is-starred:hover{color:var(--color-accent)}.library-tip{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-lg);padding:var(--space-sm) var(--space-xs) var(--space-sm) var(--space-md);border:1px solid var(--color-accent);display:flex}@supports (color:color-mix(in lab, red, red)){.library-tip{border:1px solid color-mix(in oklch, var(--color-accent) 18%, transparent)}}.library-tip{border-radius:var(--radius-lg);background:var(--color-accent-soft);color:var(--color-ink)}.library-tip__icon{border-radius:var(--radius-pill);background:var(--color-paper-2);width:34px;height:34px;color:var(--color-accent);flex:none;place-items:center;display:grid}.library-tip__body{flex:1;gap:1px;min-width:0;display:grid}.library-tip__body strong{font-size:var(--text-sm);font-weight:600}.library-tip__body p{font-size:var(--text-xs);color:var(--color-ink-2);margin:0}.cover-list{border-top:var(--rule);gap:0;display:grid}.list-row{align-items:center;gap:var(--space-sm);width:100%;min-height:60px;padding:var(--space-xs) var(--space-2xs);border:0;border-bottom:var(--rule);text-align:left;color:var(--color-ink);transition:background-color var(--dur-fast) var(--ease-out);background:0 0;display:flex}.list-row:hover{background:var(--color-paper-3)}.list-row__mark{border-radius:3px var(--radius-xs) var(--radius-xs) 3px;color:oklch(100% 0 0);width:34px;height:44px;box-shadow:var(--shadow-1);flex:none;place-items:center;display:grid}.list-row__text{flex:1;gap:1px;min-width:0;display:grid}.list-row__text strong{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.list-row__text span{font-size:var(--text-2xs);color:var(--color-muted)}.empty{justify-items:center;gap:var(--space-sm);padding:var(--space-3xl) var(--space-md);text-align:center;display:grid}.empty__mark{border-radius:3px var(--radius) var(--radius) 3px;border:var(--rule);border-left:8px solid var(--color-accent-soft);background:repeating-linear-gradient(to bottom, transparent 0 14px, var(--color-rule) 14px 15px) no-repeat;background-position:62% 34%;background-size:60% 62%;background-color:var(--color-paper-2);width:96px;height:112px;box-shadow:var(--shadow-1);rotate:-3deg}.empty h2{font-family:var(--font-hand);font-size:var(--text-2xl);letter-spacing:0}.empty p{max-width:34ch;color:var(--color-muted);font-size:var(--text-sm)}.editor-shell{background:var(--color-paper);grid-template-rows:auto 1fr;height:100dvh;display:grid;overflow:hidden}.topbar{align-items:center;gap:var(--space-2xs);height:var(--topbar-h);padding:0 var(--space-xs) 0 var(--space-2xs);padding-top:env(safe-area-inset-top);background:var(--color-paper);border-bottom:var(--rule);z-index:40;display:flex;position:relative}.crumbs{align-items:center;gap:var(--space-2xs);flex:1;min-width:0;display:flex}.crumbs__sep{color:var(--color-rule-strong);flex:none}.crumbs__back{min-height:var(--hit-sm);padding:0 var(--space-xs);border-radius:var(--radius);color:var(--color-muted);font-size:var(--text-sm);background:0 0;border:0;flex:none}.crumbs__back:hover{background:var(--color-paper-3);color:var(--color-ink)}.title-input{width:min(28ch,100%);min-width:0;min-height:var(--hit-sm);padding:0 var(--space-xs);border-radius:var(--radius);font-family:var(--font-display);font-size:var(--text-md);letter-spacing:var(--tracking-display);text-overflow:ellipsis;background:0 0;border:1px solid #0000;flex:0 auto;font-weight:600}.title-input:hover{border-color:var(--color-rule)}.title-input:focus{background:var(--color-paper-2);border-color:var(--color-accent);outline:none}.save-state{padding:0 var(--space-xs);font-size:var(--text-2xs);color:var(--color-muted);white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.save-state__dot{border-radius:var(--radius-pill);background:var(--color-ok);flex:none;width:6px;height:6px}.save-state[data-state=dirty] .save-state__dot{background:var(--color-warn)}.save-state[data-state=error] .save-state__dot{background:var(--color-danger)}.topbar__actions{flex:none;align-items:center;gap:2px;display:flex}.menu-anchor{position:relative}.editor-body{grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:relative}.editor-body--rail{grid-template-columns:var(--rail-w) minmax(0, 1fr)}.pages-rail{width:var(--rail-w);background:var(--color-paper);border-right:var(--rule);flex-direction:column;min-height:0;display:flex}.pages-rail__head{align-items:center;gap:var(--space-2xs);padding:var(--space-xs) var(--space-xs) var(--space-xs) var(--space-sm);flex:none;display:flex;position:relative}.pages-rail__head h2{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-muted);flex:1;font-weight:600}.pages-rail__list{padding:0 var(--space-xs) var(--space-md);gap:var(--space-2xs);flex:1;align-content:start;min-height:0;margin:0;list-style:none;display:grid;overflow:auto}.page-item{align-items:center;display:flex;position:relative}.page-item__open{align-items:center;gap:var(--space-xs);min-width:0;padding:var(--space-2xs);border-radius:var(--radius);text-align:left;color:var(--color-ink-2);font-size:var(--text-sm);transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex:1;display:flex}.page-item:hover .page-item__open{background:var(--color-paper-3)}.page-item.is-on .page-item__open{background:var(--color-accent-soft);border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.page-item.is-on .page-item__open{border-color:color-mix(in oklch, var(--color-accent) 40%, transparent)}}.page-item.is-on .page-item__open{color:var(--color-ink);font-weight:500}.page-item__num{width:20px;font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-muted);text-align:right;flex:none}.page-item__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-xs);flex:1;align-items:center;gap:4px;display:inline-flex;overflow:hidden}.page-item__kind{color:var(--color-muted);opacity:.85;flex:none}.page-thumb{background:var(--color-sheet);width:42px;height:56px;box-shadow:var(--shadow-1);border:var(--rule);border-radius:3px;flex:none;display:block;overflow:hidden}.page-item__actions{opacity:0;gap:0;display:flex;position:absolute;right:2px}.page-item:hover .page-item__actions,.page-item__actions:focus-within{opacity:1}.pages-rail__foot{padding:var(--space-xs);border-top:var(--rule);gap:var(--space-sm);flex:none;display:grid}.size-select{gap:var(--space-2xs);min-width:0;display:grid;position:relative}.size-select__label{font-size:var(--text-xs);color:var(--color-muted);font-weight:600}.size-select__trigger{align-items:center;gap:var(--space-sm);width:100%;min-height:var(--hit);padding:var(--space-xs) var(--space-sm);border:var(--rule);border-radius:var(--radius);background:var(--color-paper-2);color:var(--color-ink);text-align:left;cursor:pointer;box-shadow:var(--shadow-inset);transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);display:flex}.size-select__trigger:hover,.size-select.is-hover .size-select__trigger{background:var(--color-paper-3);border-color:var(--color-rule-strong)}.size-select__trigger:focus-visible,.size-select.is-focus .size-select__trigger{outline:2px solid var(--color-focus);outline-offset:2px}.size-select__trigger:active,.size-select.is-active .size-select__trigger{transform:translateY(1px)}.size-select.is-open .size-select__trigger{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.size-select.is-open .size-select__trigger{border-color:color-mix(in oklch, var(--color-accent) 45%, var(--color-rule))}}.size-select.is-open .size-select__trigger{background:var(--color-paper-2)}.size-select[data-state=disabled] .size-select__trigger,.size-select__trigger:disabled{opacity:.45;cursor:not-allowed;transform:none}.size-select__meta{flex:1;gap:1px;min-width:0;display:grid}.size-select__name{font-size:var(--text-sm);color:var(--color-ink);font-weight:600;line-height:1.25}.size-select__hint{font-size:var(--text-2xs);color:var(--color-muted);line-height:1.3}.size-select__chev{border-right:2px solid var(--color-muted);border-bottom:2px solid var(--color-muted);width:7px;height:7px;transition:transform var(--dur-fast) var(--ease-out);flex:none;translate:0 -2px;rotate:45deg}.size-select.is-open .size-select__chev{translate:0 2px;rotate:225deg}.size-select__menu{z-index:60;padding:var(--space-2xs);background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius);box-shadow:var(--shadow-3);max-height:min(320px,50vh);animation:pop-in var(--dur-fast) var(--ease-out);margin:0;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:auto}.size-select__option{align-items:center;gap:var(--space-sm);width:100%;min-height:var(--hit);padding:var(--space-2xs) var(--space-xs);border-radius:var(--radius-xs);color:var(--color-ink);text-align:left;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;display:flex}.size-select__option:hover,.size-select__option.is-hover{background:var(--color-paper-3)}.size-select__option:focus-visible,.size-select__option.is-focus{outline:2px solid var(--color-focus);outline-offset:-2px}.size-select__option.is-on{background:var(--color-accent-soft)}.size-select__option.is-on .size-select__name{color:var(--color-ink)}.size-select__check{color:var(--color-accent);flex:none;margin-left:auto}.size-select__thumb{flex:none;place-items:center;width:36px;height:36px;display:grid}.size-thumb{background:var(--color-sheet);border:1px solid var(--color-rule);box-shadow:var(--shadow-1);color:var(--color-muted);border-radius:3px;place-items:center;display:grid}.size-thumb--infinite{background:var(--color-sheet)}@supports (color:color-mix(in lab, red, red)){.size-thumb--infinite{background:color-mix(in oklch, var(--color-sheet) 70%, var(--color-desk))}}.size-thumb--infinite{border-style:dashed}.size-thumb--custom{background:0 0;border-style:dashed}.size-thumb__dash{border:1.5px dashed var(--color-rule-strong);border-radius:2px;width:10px;height:10px}@media (prefers-reduced-motion:reduce){.size-select__trigger,.size-select__option,.size-select__chev,.size-select__menu{transition:none;animation:none}.size-select__trigger:active,.size-select.is-active .size-select__trigger{transform:none}}.pattern-picker{border:0;min-width:0;margin:0;padding:0}.pattern-picker__legend{margin:0 0 var(--space-2xs);font-size:var(--text-xs);color:var(--color-muted);letter-spacing:.01em;padding:0;font-weight:600}.pattern-picker__grid{gap:var(--space-2xs);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.pattern-card{align-items:center;gap:var(--space-2xs);min-width:0;min-height:var(--hit);padding:var(--space-2xs);border-radius:var(--radius);color:var(--color-ink-2);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), opacity var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;flex-direction:column;display:flex}.pattern-card:hover,.pattern-card.is-hover{background:var(--color-paper-3);color:var(--color-ink)}.pattern-card:focus-visible,.pattern-card.is-focus{outline:2px solid var(--color-focus);outline-offset:2px}.pattern-card:active,.pattern-card.is-active{transform:translateY(1px)}.pattern-card.is-on{background:var(--color-accent-soft);border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.pattern-card.is-on{border-color:color-mix(in oklch, var(--color-accent) 42%, transparent)}}.pattern-card.is-on{color:var(--color-ink)}.pattern-card.is-on .pattern-card__sheet{box-shadow:var(--shadow-1)}.pattern-card:disabled,.pattern-picker[data-state=disabled] .pattern-card,.pattern-card.is-disabled{opacity:.45;cursor:not-allowed;pointer-events:none;transform:none}.pattern-card[data-state=loading]{opacity:.7;pointer-events:none}.pattern-card[data-state=error]{border-color:var(--color-danger)}.pattern-card[data-state=success].is-on{border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.pattern-card[data-state=success].is-on{border-color:color-mix(in oklch, var(--color-accent) 55%, transparent)}}.pattern-card__sheet{aspect-ratio:3/4;border-radius:var(--radius-xs);background:var(--color-desk);width:100%;max-width:44px;box-shadow:inset 0 0 0 1px var(--color-ink);display:block}@supports (color:color-mix(in lab, red, red)){.pattern-card__sheet{box-shadow:inset 0 0 0 1px color-mix(in oklch, var(--color-ink) 6%, transparent)}}.pattern-card__sheet{transition:box-shadow var(--dur-fast) var(--ease-out);overflow:hidden}.pattern-card__sheet svg{width:100%;height:100%;display:block}.pattern-card__label{font-size:var(--text-xs);text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-weight:500;line-height:1.2;overflow:hidden}.pattern-card.is-on .pattern-card__label{font-weight:600}@media (prefers-reduced-motion:reduce){.pattern-card{transition:none}.pattern-card:active,.pattern-card.is-active{transform:none}}.pattern-picker--panel .pattern-picker__grid{grid-template-columns:repeat(5,minmax(0,1fr))}@media (width<=420px){.pattern-picker--panel .pattern-picker__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.stage-area{background:var(--color-desk);background-image:radial-gradient(circle at 1px 1px, var(--color-ink) 1px, transparent 0);min-width:0;min-height:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.stage-area{background-image:radial-gradient(circle at 1px 1px, color-mix(in oklch, var(--color-ink) 8%, transparent) 1px, transparent 0)}}.stage-area{background-size:22px 22px;background-attachment:local}.canvas-wrap{touch-action:none;position:absolute;inset:0}.canvas-wrap canvas{background:0 0;display:block}.canvas-empty{height:100%;color:var(--color-muted);font-size:var(--text-sm);place-items:center;display:grid}.stage-area--doc{background:var(--color-desk);background-image:none;flex-direction:column;display:flex}.doc-editor{background:var(--color-desk);flex-direction:column;min-height:0;display:flex;position:absolute;inset:0}.doc-toolbar{background:var(--color-paper);border-bottom:var(--rule);z-index:1;flex:none;position:relative}.doc-toolbar__row{align-items:center;gap:var(--space-xs);padding:var(--space-2xs) var(--space-sm);scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;display:flex;overflow:auto visible}.doc-toolbar__row::-webkit-scrollbar{display:none}.doc-toolbar__group{align-items:center;gap:var(--space-2xs);padding-right:var(--space-xs);border-right:var(--rule);flex:none;display:flex}.doc-toolbar__group:last-child{border-right:none;padding-right:0}.doc-toolbar__chip{min-height:var(--hit-sm);padding:0 var(--space-xs) 0 var(--space-sm);border-radius:var(--radius);color:var(--color-ink);font-size:var(--text-xs);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);background:0 0;border:1px solid #0000;align-items:center;gap:4px;font-weight:500;display:inline-flex}.doc-toolbar__chip:hover,.doc-toolbar__chip.is-hover{background:var(--color-paper-3)}.doc-toolbar__chip:focus-visible,.doc-toolbar__chip.is-focus{outline:2px solid var(--color-focus);outline-offset:2px}.doc-toolbar__chip:active,.doc-toolbar__chip.is-active{background:var(--color-accent-soft);color:var(--color-ink)}.doc-toolbar__chip:disabled,.doc-toolbar__chip.is-disabled{opacity:.35;cursor:not-allowed}.doc-toolbar__caret{pointer-events:none;position:absolute;bottom:1px;right:1px}.menu-anchor--hint .icon-btn{box-shadow:inset 0 0 0 1.5px var(--color-accent)}.menu-anchor--hint .icon-btn:after{content:"";background:var(--color-accent);width:6px;height:6px;box-shadow:0 0 0 2px var(--color-paper);border-radius:50%;position:absolute;top:4px;right:4px}.doc-scroll{min-height:0;padding:var(--space-lg) var(--space-md) var(--space-2xl);flex:1;overflow:auto}.doc-page{background:var(--color-sheet,#fff);width:min(100%,800px);min-height:min(100%,1100px);color:var(--color-ink);border-radius:var(--radius);box-shadow:var(--shadow-2);border:var(--rule);margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1.25rem,4vw,3.5rem)}.doc-page--export{width:794px!important;min-height:1123px!important;box-shadow:none!important;color:#1c1917!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:72px 64px!important}.doc-page--export .tiptap,.doc-page--export .doc-prose{color:#1c1917;min-height:0}.doc-page .tiptap,.doc-prose{min-height:60vh;font-family:var(--font-sans);font-size:var(--text-md,1rem);color:var(--color-ink);outline:none;line-height:1.65}.doc-prose p{margin:0 0 .85em}.doc-prose h1,.doc-prose h2,.doc-prose h3{font-family:var(--font-display,var(--font-sans));color:var(--color-ink);margin:1.25em 0 .5em;font-weight:650;line-height:1.25}.doc-prose h1{font-size:1.85em}.doc-prose h2{font-size:1.45em}.doc-prose h3{font-size:1.2em}.doc-prose ul{margin:0 0 .85em;padding-left:1.6em;list-style-type:disc;list-style-position:outside}.doc-prose ol{margin:0 0 .85em;padding-left:1.6em;list-style-type:decimal;list-style-position:outside}.doc-prose ul ul{margin-bottom:0;list-style-type:circle}.doc-prose ul ul ul{list-style-type:square}.doc-prose ol ol{margin-bottom:0;list-style-type:lower-alpha}.doc-prose li{margin:.2em 0;display:list-item}.doc-prose li p{margin:0}.doc-prose ul[data-type=taskList]{margin:0 0 .85em;padding-left:0;list-style:none}.doc-prose ul[data-type=taskList] li{align-items:flex-start;gap:.55em;margin:.35em 0;display:flex}.doc-prose ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;flex:none;align-items:center;margin-top:.3em;display:inline-flex}.doc-prose ul[data-type=taskList] li>label input[type=checkbox]{appearance:none;border:1.5px solid var(--color-ink);width:1.05em;height:1.05em;margin:0}@supports (color:color-mix(in lab, red, red)){.doc-prose ul[data-type=taskList] li>label input[type=checkbox]{border:1.5px solid color-mix(in oklch, var(--color-ink) 35%, transparent)}}.doc-prose ul[data-type=taskList] li>label input[type=checkbox]{background:var(--color-sheet,#fff);cursor:pointer;border-radius:4px;place-items:center;display:grid}.doc-prose ul[data-type=taskList] li>label input[type=checkbox]:checked{border-color:var(--color-accent);background:var(--color-accent)}.doc-prose ul[data-type=taskList] li>label input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:.28em;height:.5em;transform:rotate(45deg)translate(-.05em,-.05em)}.doc-prose ul[data-type=taskList] li>div{flex:1;min-width:0}.doc-prose ul[data-type=taskList] li[data-checked=true]>div{color:var(--color-muted);text-decoration:line-through;text-decoration-thickness:1px}.doc-prose ul[data-type=taskList] ul[data-type=taskList]{margin:.25em 0 0;padding-left:1.4em}.doc-prose blockquote{border-left:3px solid var(--color-accent);margin:0 0 .85em;padding:.35em 0 .35em 1em}@supports (color:color-mix(in lab, red, red)){.doc-prose blockquote{border-left:3px solid color-mix(in oklch, var(--color-accent) 55%, transparent)}}.doc-prose blockquote{color:var(--color-ink-2)}.doc-prose pre{border-radius:var(--radius);background:var(--color-paper-3);border:var(--rule);font-family:var(--font-mono);margin:0 0 .85em;padding:.85em 1em;font-size:.92em;line-height:1.5;overflow-x:auto}.doc-prose hr{border:none;border-top:1px solid var(--color-ink)}@supports (color:color-mix(in lab, red, red)){.doc-prose hr{border-top:1px solid color-mix(in oklch, var(--color-ink) 18%, transparent)}}.doc-prose hr{margin:1.5em 0}.callout{border-radius:var(--radius);background:var(--color-accent);grid-template-columns:auto 1fr;gap:.65em;margin:0 0 .85em;padding:.85em 1em;display:grid}@supports (color:color-mix(in lab, red, red)){.callout{background:color-mix(in oklch, var(--color-accent) 12%, var(--color-paper))}}.callout{border:1px solid var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.callout{border:1px solid color-mix(in oklch, var(--color-accent) 28%, transparent)}}.callout__icon{-webkit-user-select:none;user-select:none;font-size:1.1em;line-height:1.4}.callout__body>:last-child{margin-bottom:0}.doc-comment-mark{background:oklch(83.6861% .164422 84.4287/.35);border-bottom:2px solid oklch(66.584% .157422 58.3184/.7)}.doc-find{border-bottom:var(--rule);background:var(--color-paper-2);flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.doc-find input[type=search],.doc-find input[type=text]{border:var(--rule);border-radius:var(--radius-xs);background:var(--color-paper);min-width:140px;color:var(--color-ink);font:inherit;flex:1;padding:.35em .55em}.doc-find__count{min-width:3.5ch;font-size:var(--text-xs);color:var(--color-muted)}.doc-find__replace{flex:100%;align-items:center;gap:6px;display:flex}.doc-outline{gap:2px;margin:0;padding:0;list-style:none;display:grid}.doc-outline__item button{text-align:left;width:100%;color:var(--color-ink);border-radius:var(--radius-xs);font:inherit;background:0 0;border:none;padding:.35em .5em}.doc-outline__item--h2 button{padding-left:1em}.doc-outline__item--h3 button{padding-left:1.75em;font-size:.95em}.doc-outline__item button:hover{background:var(--color-paper-3)}.doc-comments{gap:.5rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.doc-comments li{border:var(--rule);border-radius:var(--radius);gap:.35rem;padding:.5rem;display:grid}.doc-comments__jump{text-align:left;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;gap:2px;display:grid}.doc-comments__jump strong{font-size:var(--text-sm)}.doc-comments__jump span{font-size:var(--text-xs);color:var(--color-muted)}.doc-image{max-width:100%;margin:.75em 0;display:inline-block;position:relative}.doc-image.is-selected{outline:2px solid var(--color-accent);outline-offset:2px}.doc-image img{max-width:100%;height:auto;margin:0;display:block}.doc-image__handle{background:var(--color-accent);border:2px solid var(--color-paper);cursor:nwse-resize;touch-action:none;border-radius:50%;width:14px;height:14px;position:absolute;bottom:-6px;right:-6px}.word-count{margin-left:var(--space-sm);font-size:var(--text-xs);color:var(--color-muted)}.editor-shell--reading{grid-template-rows:1fr}.editor-shell--reading .topbar,.editor-shell--reading .dock,.editor-shell--reading .selection-bar,.editor-shell--reading .recognize-hint,.editor-shell--reading .pages-rail,.editor-shell--reading .doc-toolbar,.editor-shell--reading .zoom-cluster{display:none!important}.editor-shell--reading .editor-body{grid-template-columns:1fr}.reading-chrome{z-index:40;background:var(--color-paper);border-radius:999px;align-items:center;gap:8px;padding:6px 10px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.reading-chrome{background:color-mix(in oklch, var(--color-paper) 92%, transparent)}}.reading-chrome{border:var(--rule);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.reading-chrome__label{text-align:center;min-width:4.5rem;font-size:var(--text-xs);color:var(--color-muted)}.doc-prose a{color:var(--color-accent);text-underline-offset:2px;text-decoration:underline}.doc-prose mark{background:oklch(88.3599% .128983 93.6664/.7);border-radius:2px;padding:0 .1em}.doc-prose img{border-radius:var(--radius);max-width:100%;height:auto;margin:.75em 0}.doc-prose table{border-collapse:collapse;table-layout:fixed;width:100%;margin:.85em 0}.doc-prose th,.doc-prose td{border:1px solid var(--color-ink);position:relative}@supports (color:color-mix(in lab, red, red)){.doc-prose th,.doc-prose td{border:1px solid color-mix(in oklch, var(--color-ink) 18%, transparent)}}.doc-prose th,.doc-prose td{vertical-align:top;min-width:1em;padding:.4em .55em}.doc-prose th{background:var(--color-paper-3)}@supports (color:color-mix(in lab, red, red)){.doc-prose th{background:color-mix(in oklch, var(--color-paper-3) 80%, transparent)}}.doc-prose th{text-align:left;font-weight:600}.doc-prose .selectedCell:after{content:"";background:var(--color-accent);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.doc-prose .selectedCell:after{background:color-mix(in oklch, var(--color-accent) 12%, transparent)}}.doc-prose .selectedCell:after{pointer-events:none}.doc-prose .tableWrapper{overflow-x:auto}.doc-prose p.is-editor-empty:first-child:before,.doc-prose p.is-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--color-muted)}.dock{z-index:25;left:var(--space-sm);gap:var(--space-2xs);padding:var(--space-2xs);background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-xl);box-shadow:var(--shadow-2);max-height:calc(100% - var(--space-lg));scrollbar-width:none;flex-direction:column;display:flex;position:absolute;top:50%;overflow:auto;translate:0 -50%}.dock::-webkit-scrollbar{display:none}.dock__rule{height:1px;margin:2px var(--space-2xs);background:var(--color-rule);flex:none}.dock .icon-btn{width:var(--hit);height:var(--hit)}.dock .icon-btn.is-active{border-radius:var(--radius-lg)}.ink-chip{border-radius:var(--radius-pill);border:1.5px solid var(--color-paper-2);pointer-events:none;width:10px;height:10px;position:absolute;bottom:3px;right:3px}.ruler-clear{z-index:28;right:var(--space-sm);bottom:calc(var(--space-sm) + 52px);min-height:var(--hit-sm);padding:0 var(--space-sm);border:var(--rule);border-radius:var(--radius-pill);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-xs);box-shadow:var(--shadow-2);align-items:center;gap:6px;font-weight:600;display:inline-flex;position:absolute}.ruler-clear:hover{background:var(--color-paper-3)}.ruler-clear kbd{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--color-muted);font-weight:500}.zoom-cluster{z-index:25;right:var(--space-sm);bottom:var(--space-sm);background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-pill);box-shadow:var(--shadow-2);align-items:center;gap:2px;padding:3px;display:flex;position:absolute}.zoom-cluster__value{min-width:52px;min-height:var(--hit-sm);padding:0 var(--space-xs);border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-ink-2);background:0 0;border:0}.zoom-cluster__value:hover{background:var(--color-paper-3)}.selection-bar{z-index:26;left:50%;top:var(--space-sm);background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-pill);box-shadow:var(--shadow-2);animation:pop-in var(--dur-fast) var(--ease-out);align-items:center;gap:2px;padding:3px;display:flex;position:absolute;translate:-50%}.selection-bar__count{padding:0 var(--space-xs) 0 var(--space-sm);font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap}.recognize-hint{z-index:26;left:50%;top:calc(var(--space-sm) + var(--hit-sm) + var(--space-2xs));align-items:center;gap:var(--space-2xs);max-width:min(420px,100vw - 32px);padding:var(--space-2xs) var(--space-xs);background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-pill);box-shadow:var(--shadow-1);animation:pop-in var(--dur-fast) var(--ease-out);display:flex;position:absolute;translate:-50%}.recognize-hint__icon{color:var(--color-accent);flex:none}.recognize-hint__text{min-width:0;font-size:var(--text-xs);color:var(--color-muted);flex:1;margin:0;line-height:1.35}.recognize-hint__more{min-height:var(--hit-sm);padding:0 var(--space-xs);border-radius:var(--radius-pill);color:var(--color-ink);font-size:var(--text-2xs);background:0 0;border:0;flex:none;align-items:center;gap:4px;font-weight:600;display:inline-flex}.recognize-hint__more:hover{background:var(--color-paper-3)}.recognize-hint__more:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.write-tips-list{gap:var(--space-xs);font-size:var(--text-sm);color:var(--color-ink);flex-direction:column;margin:0;padding-left:1.25rem;line-height:1.45;display:flex}.write-tips-note{margin:var(--space-md) 0 0;font-size:var(--text-xs);color:var(--color-muted);line-height:1.4}.icon-btn.is-loading{opacity:.55}.layers-list{flex-direction:column;gap:4px;max-height:280px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.layers-list li{align-items:center;gap:4px;display:flex}.layers-item{border:var(--rule);border-radius:var(--radius-sm);background:var(--color-paper);font-size:var(--text-sm);text-align:left;color:var(--color-text);flex:1;align-items:center;gap:8px;padding:8px 10px;display:flex}.layers-item.is-on{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.layers-item.is-on{background:color-mix(in srgb, var(--color-accent) 8%, var(--color-paper))}}.layers-item.is-hidden{opacity:.55}.layers-item__label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.layers-item__eye{border:var(--rule);border-radius:var(--radius-sm);background:var(--color-paper);width:32px;height:32px;color:var(--color-muted);flex-shrink:0;justify-content:center;align-items:center;display:flex}.layers-actions .btn{padding:6px 8px}.dock-panel{left:calc(var(--dock-w) + var(--space-md));top:var(--space-sm)}.panel-float{right:var(--space-sm);top:var(--space-sm)}.cmd-shell{z-index:70;padding:12vh var(--space-md) var(--space-md);animation:fade-in var(--dur-fast) var(--ease-out);background:oklch(25% .02 70/.34);align-content:start;justify-items:center;display:grid;position:fixed;inset:0}.cmd{background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-lg);width:min(560px,100%);box-shadow:var(--shadow-3);animation:pop-in var(--dur) var(--ease-out);overflow:hidden}.cmd input{border:0;border-bottom:var(--rule);min-height:52px;padding:0 var(--space-md);font-size:var(--text-lg);background:0 0;border-radius:0}.cmd input:hover{border-color:var(--color-rule)}.cmd input:focus-visible{outline:none}.cmd__list{padding:var(--space-2xs);max-height:46vh;margin:0;list-style:none;overflow:auto}.cmd-row{align-items:center;gap:var(--space-sm);width:100%;min-height:var(--hit);padding:0 var(--space-sm);border-radius:var(--radius);color:var(--color-ink);font-size:var(--text-sm);text-align:left;background:0 0;border:0;display:flex}.cmd-row svg{color:var(--color-muted);flex:none}.cmd-row.is-on{background:var(--color-accent-soft)}.cmd-row.is-on svg{color:var(--color-accent)}.cmd__empty{padding:var(--space-lg);text-align:center;color:var(--color-muted);font-size:var(--text-sm)}.html-overlay{z-index:15;box-sizing:border-box;width:auto;min-height:0;box-shadow:none;resize:none;caret-color:var(--color-accent);background:0 0;border:0;border-radius:0;margin:0;padding:0;line-height:1;position:absolute;overflow:hidden}.html-overlay:hover,.html-overlay:focus,.html-overlay:focus-visible{box-shadow:none;background:0 0;border:0;outline:none}.sheet{z-index:15;box-sizing:border-box;box-shadow:none;font-family:Inter,sans-serif;position:absolute}.sheet__head{cursor:default;display:flex}.sheet__colh{letter-spacing:.04em;box-sizing:border-box;place-items:center;font-weight:600;display:grid}.sheet__formula{align-items:center;gap:var(--space-2xs);min-height:var(--hit-sm);padding:0 var(--space-xs);border:var(--rule);border-radius:var(--radius-xs);box-shadow:var(--shadow-1);background:var(--color-accent-soft);margin-bottom:6px;display:flex;position:absolute;bottom:100%;left:-1px}.sheet__formula span{font-size:var(--text-2xs);color:var(--color-accent);font-weight:700;font-family:var(--font-mono);flex:none}.sheet__formula input{min-height:28px;font-family:var(--font-mono);font-size:var(--text-xs);background:0 0;border:0;padding:0}.sheet__grid{display:grid}.sheet__grid input{box-sizing:border-box;width:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;margin:0}.sheet__grid input:hover,.sheet__grid input.is-hover{background:#0000000a}.sheet__grid input:focus,.sheet__grid input:focus-visible,.sheet__grid input.is-on,.sheet__grid input.is-focus{outline:2px solid var(--color-focus);outline-offset:-2px;z-index:1;background:#ffffffb3}.sheet__grid input:disabled,.sheet__grid input.is-disabled{opacity:.45}.mini-grid{gap:var(--space-2xs);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mini-btn{min-height:var(--hit-sm);padding:0 var(--space-xs);border:var(--rule);border-radius:var(--radius);background:var(--color-paper-2);color:var(--color-ink);font-size:var(--text-xs);transition:border-color var(--dur-fast) var(--ease-out);font-weight:600}.mini-btn:hover:not(:disabled){border-color:var(--color-rule-strong);background:var(--color-paper-3)}.mini-btn:disabled{opacity:.45;cursor:not-allowed}.mini-btn--danger{color:var(--color-danger)}.scanner-video,.scanner-preview img{border-radius:var(--radius);background:oklch(0% 0 0);width:100%;display:block}.hit-list{gap:var(--space-2xs);margin:0;padding:0;list-style:none;display:grid}.hit-list button{text-align:left;border:var(--rule);border-radius:var(--radius);width:100%;padding:var(--space-xs) var(--space-sm);color:var(--color-ink);background:0 0;gap:2px;display:grid}.hit-list button:hover{background:var(--color-paper-3)}.hit-list strong{font-size:var(--text-sm);align-items:center;gap:6px;font-weight:600;display:inline-flex}.hit-list__kind{color:var(--color-muted);place-items:center;display:inline-grid}.hit-list span{font-size:var(--text-xs);color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.search-modal-shell{z-index:70;padding:10vh var(--space-md) var(--space-md);background:var(--color-ink);align-content:start;justify-items:center;display:grid;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.search-modal-shell{background:color-mix(in oklch, var(--color-ink) 28%, transparent)}}.search-modal-shell{animation:fade-in var(--dur-fast) var(--ease-out)}.search-modal{background:var(--color-paper-2);border:var(--rule);border-radius:var(--radius-lg);width:min(560px,100%);box-shadow:var(--shadow-3);max-height:min(72vh,640px);animation:pop-in var(--dur) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.search-modal__head{align-items:flex-start;gap:var(--space-sm);padding:var(--space-md) var(--space-md) var(--space-sm);display:flex}.search-modal__mark-icon{border-radius:var(--radius);background:var(--color-accent-soft);width:36px;height:36px;color:var(--color-accent);border:1px solid var(--color-accent);flex:none;place-items:center;display:grid}@supports (color:color-mix(in lab, red, red)){.search-modal__mark-icon{border:1px solid color-mix(in oklch, var(--color-accent) 22%, transparent)}}.search-modal__intro{flex:1;min-width:0}.search-modal__intro .eyebrow{margin:0 0 2px}.search-modal__intro h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:var(--tracking-display);color:var(--color-ink);margin:0;font-weight:650}.search-modal__field{align-items:center;gap:var(--space-xs);margin:0 var(--space-md);padding:0 var(--space-sm);border:var(--rule);border-radius:var(--radius);background:var(--color-paper);min-height:48px;transition:border-color var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out);display:flex;position:relative}.search-modal__field:hover{border-color:var(--color-rule-strong)}.search-modal__field:focus-within{border-color:var(--color-focus);box-shadow:0 0 0 3px var(--color-focus)}@supports (color:color-mix(in lab, red, red)){.search-modal__field:focus-within{box-shadow:0 0 0 3px color-mix(in oklch, var(--color-focus) 28%, transparent)}}.search-modal__field>svg{color:var(--color-muted);flex:none}.search-modal__field input{min-width:0;min-height:44px;font-size:var(--text-md);color:var(--color-ink);background:0 0;border:0;flex:1;padding:0}.search-modal__field input:hover,.search-modal__field input:focus-visible{box-shadow:none;border:0;outline:none}.search-modal__status{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap;flex:none}.search-modal__list{margin:var(--space-sm) 0 0;padding:var(--space-2xs) var(--space-xs);overscroll-behavior:contain;flex:1;min-height:0;list-style:none;overflow:auto}.search-modal__row{align-items:start;gap:var(--space-sm);width:100%;min-height:var(--hit);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius);color:var(--color-ink);text-align:left;transition:background-color var(--dur-fast) var(--ease-out);background:0 0;border:0;grid-template-columns:auto 1fr auto;display:grid}.search-modal__row:hover,.search-modal__row.is-hover{background:var(--color-paper-3)}.search-modal__row:focus-visible,.search-modal__row.is-focus{outline:2px solid var(--color-focus);outline-offset:-2px}.search-modal__row:active,.search-modal__row.is-active{transform:translateY(1px)}.search-modal__row.is-on{background:var(--color-accent-soft)}.search-modal__kind{border-radius:var(--radius-xs);background:var(--color-paper-3);width:32px;height:32px;color:var(--color-muted);border:var(--rule);place-items:center;margin-top:2px;display:grid}.search-modal__kind.is-doc{color:var(--color-accent);background:var(--color-accent-soft);border-color:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.search-modal__kind.is-doc{border-color:color-mix(in oklch, var(--color-accent) 20%, transparent)}}.search-modal__meta{gap:2px;min-width:0;display:grid}.search-modal__meta strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.search-modal__page{color:var(--color-ink-2);font-weight:500}.search-modal__snippet{font-size:var(--text-xs);color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.search-modal__mark{background:var(--color-accent)}@supports (color:color-mix(in lab, red, red)){.search-modal__mark{background:color-mix(in oklch, var(--color-accent) 22%, transparent)}}.search-modal__mark{color:var(--color-ink);border-radius:2px;padding:0 .1em}.search-modal__badge{border-radius:var(--radius-pill);border:var(--rule);font-size:var(--text-2xs);letter-spacing:.02em;color:var(--color-muted);background:var(--color-paper);flex:none;margin-top:4px;padding:2px 8px;font-weight:600}.search-modal__empty{padding:var(--space-xl) var(--space-md);text-align:center;gap:var(--space-2xs);display:grid}.search-modal__empty p{font-size:var(--text-sm);color:var(--color-ink);margin:0}.search-modal__foot{align-items:center;gap:6px var(--space-xs);padding:var(--space-xs) var(--space-md) var(--space-sm);border-top:var(--rule);font-size:var(--text-2xs);color:var(--color-muted);flex-wrap:wrap;display:flex}.search-modal__foot kbd{border:var(--rule);background:var(--color-paper);min-width:1.4em;font-family:var(--font-mono);color:var(--color-ink-2);border-radius:4px;place-items:center;padding:1px 5px;font-size:.95em;display:inline-grid}@media (width<=720px){.search-modal-shell{align-content:end;padding:0}.search-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:min(88dvh,720px);animation:sheet-in var(--dur) var(--ease-out)}.search-modal__foot{padding-bottom:calc(var(--space-sm) + env(safe-area-inset-bottom,0px))}}.share-link{overflow-wrap:anywhere;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-paper-3);padding:var(--space-xs);border-radius:var(--radius-xs)}.dialog{gap:var(--space-md);width:min(400px,100%);padding:var(--space-lg);box-shadow:var(--shadow-3);animation:pop-in var(--dur) var(--ease-out);display:grid;position:relative;overflow:hidden}.dialog__grip{display:none}.dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--space-sm);display:flex}.dialog__mark{border-radius:var(--radius);background:var(--color-accent-soft);width:48px;height:48px;color:var(--color-accent);border:var(--rule);box-shadow:var(--shadow-inset);place-items:center;display:grid}.dialog__intro{gap:var(--space-2xs);min-width:0;display:grid}.dialog__intro h2{font-family:var(--font-display);font-style:normal;font-size:var(--text-2xl);letter-spacing:var(--tracking-display);line-height:1.15}.dialog__field input{min-height:var(--hit);font-size:var(--text-md);background:var(--color-sheet);border-radius:var(--radius);font-weight:500}.dialog__field input:disabled{opacity:.55;cursor:not-allowed}.field__hint{font-size:var(--text-xs);color:var(--color-muted);line-height:1.4}.field__hint--error{color:var(--color-danger)}.dialog__preview{align-items:center;gap:var(--space-xs);min-height:40px;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius);background:var(--color-paper-3);border:var(--rule);display:flex}.dialog__preview .chip{text-overflow:ellipsis;white-space:nowrap;pointer-events:none;align-items:center;gap:6px;max-width:100%;display:inline-flex;overflow:hidden}.dialog__preview .chip svg{flex:none}.dialog__foot{justify-content:flex-end;gap:var(--space-xs);padding-top:var(--space-xs);border-top:var(--rule);flex-wrap:wrap;display:flex}.dialog__foot .btn--primary[data-state=loading]{opacity:.85;cursor:wait}.modal-center--sheet{z-index:50}@media (width<=720px){.modal-center--sheet{align-content:end;place-items:end center;padding:0}.dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:none;padding:var(--space-sm) var(--space-md) calc(env(safe-area-inset-bottom) + var(--space-md));animation:sheet-in var(--dur) var(--ease-out)}.dialog__grip{width:36px;height:4px;margin:var(--space-2xs) auto var(--space-xs);border-radius:var(--radius-pill);background:var(--color-rule-strong);display:block}.dialog__foot{grid-template-columns:1fr 1.4fr;display:grid}.dialog__foot .btn{width:100%}}.cover-editor{gap:var(--space-md);width:min(420px,100%);max-height:calc(100dvh - 2 * var(--space-md));overscroll-behavior:contain;align-content:start;display:grid;overflow:auto}.cover-editor__head{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.cover-editor__head h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:var(--tracking-display)}.cover-editor__preview{border-radius:4px var(--radius) var(--radius) 4px;color:oklch(100% 0 0);height:168px;padding:var(--space-sm) var(--space-sm) var(--space-sm) var(--space-md);box-shadow:var(--shadow-2);align-content:end;gap:2px;display:grid;position:relative;overflow:hidden}.cover-editor__preview:before{content:"";background:oklch(0% 0 0/.22);width:9px;position:absolute;inset:0 auto 0 0}.cover-editor__preview strong{font-family:var(--font-display);font-size:var(--text-lg);position:relative}.cover-editor__preview span,.cover-editor__preview svg{position:relative}.cover-editor__preview svg{margin-bottom:auto}.only-mobile{display:none!important}.fab{right:var(--space-md);bottom:calc(env(safe-area-inset-bottom) + var(--space-md));z-index:30;border-radius:var(--radius-xl);background:var(--color-accent);width:56px;height:56px;color:var(--color-accent-ink);box-shadow:var(--shadow-3);transition:transform var(--dur-fast) var(--ease-out);border:0;place-items:center;display:grid;position:fixed}.fab:active{transform:scale(.96)}@media (width<=900px){:root{--rail-w:200px}}@media (width<=720px){.only-mobile{display:inline-grid!important}.no-mobile{display:none!important}.title-input{width:min(16ch,100%);font-size:var(--text-sm)}.topbar{gap:0;padding-left:2px;padding-right:2px}.doc-toolbar .icon-btn--sm,.doc-toolbar__chip{min-height:var(--hit);min-width:var(--hit)}.ruler-clear{right:var(--space-xs);bottom:calc(env(safe-area-inset-bottom) + 128px)}.reading-chrome{bottom:calc(env(safe-area-inset-bottom) + var(--space-sm))}.library{padding:var(--space-md) var(--space-sm) 96px}.library__title h1{font-size:var(--text-2xl)}.cover-grid{gap:var(--space-md) var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.editor-body,.editor-body--rail{grid-template-columns:minmax(0,1fr)}.pages-rail{z-index:45;width:min(272px,84vw);box-shadow:var(--shadow-3);animation:pop-in var(--dur) var(--ease-out);position:absolute;inset:0 auto 0 0}.dock{left:var(--space-xs);right:var(--space-xs);top:auto;bottom:calc(env(safe-area-inset-bottom) + var(--space-xs));border-radius:var(--radius-xl);flex-direction:row;max-width:none;max-height:none;overflow-x:auto;translate:none}.dock__rule{width:1px;height:auto;margin:var(--space-2xs) 2px}.dock .icon-btn{width:var(--hit)}.zoom-cluster{bottom:calc(env(safe-area-inset-bottom) + 72px);right:var(--space-xs)}.popover,.popover--wide{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:74dvh;padding-bottom:env(safe-area-inset-bottom);animation:sheet-in var(--dur) var(--ease-out);border-bottom:0;position:fixed;inset:auto 0 0}.popover__grip{width:36px;height:4px;margin:var(--space-xs) auto 0;border-radius:var(--radius-pill);background:var(--color-rule-strong);flex:none;display:block}.swatch-grid{grid-template-columns:repeat(auto-fill, minmax(var(--hit), 1fr))}.swatch{min-height:var(--hit)}.selection-bar{top:var(--space-xs);max-width:calc(100% - 16px);bottom:auto}.toast{bottom:calc(env(safe-area-inset-bottom) + 132px)}.cmd-shell{padding-top:6vh}.scrim--quiet{background:oklch(25% .02 70/.32)}}@media (width<=420px){.topbar .icon-btn--sm{width:32px;height:32px}.title-input{width:min(12ch,100%);padding:0 var(--space-2xs)}.search-modal__badge{display:none}.search-modal__head{padding:var(--space-sm) var(--space-sm) var(--space-xs)}.search-modal__field{margin:0 var(--space-sm)}}@media (hover:none){.page-item__actions{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.popover,.cmd,.menu,.toast,.selection-bar{animation:fade-in .12s var(--ease-out)!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
