:root{--n-0: #ffffff;--n-25: #fdfcfa;--n-50: #f8f6f2;--n-100: #f1eee8;--n-150: #e9e5dd;--n-200: #ded9cf;--n-300: #c8c1b3;--n-400: #a69d8d;--n-500: #82796a;--n-600: #635c4f;--n-700: #49443a;--n-800: #2f2b25;--n-900: #1b1814;--n-950: #0f0d0b;--c-50: #fdf4ef;--c-100: #fae4d7;--c-200: #f3c6ac;--c-300: #eaa37c;--c-400: #df7c4c;--c-500: #d2542a;--c-600: #b4411f;--c-700: #8f331a;--c-800: #6b2714;--g-100: #dcefe2;--g-500: #2f7d53;--g-600: #24623f;--y-100: #fbeed0;--y-500: #b5811b;--r-100: #fadcd8;--r-500: #c0392b;--b-100: #d9e8f7;--b-500: #2d6fb0;--brand-ink: var(--n-900);--brand-leaf: var(--c-500);--brand-paper: #fffdf8;--ui-bg: var(--n-100);--ui-panel: var(--n-0);--ui-panel-2: var(--n-50);--ui-sunken: var(--n-100);--ui-border: var(--n-150);--ui-border-strong: var(--n-200);--ui-text: var(--n-900);--ui-text-2: var(--n-700);--ui-muted: var(--n-500);--ui-faint: var(--n-400);--ui-hover: var(--n-100);--ui-active: var(--n-150);--ui-canvas: #e8e4dc;--accent: var(--c-500);--accent-hover: var(--c-600);--accent-press: var(--c-700);--accent-soft: var(--c-50);--accent-soft-2: var(--c-100);--accent-line: var(--c-200);--accent-on: #ffffff;--good: var(--g-500);--good-soft: var(--g-100);--warn: var(--y-500);--warn-soft: var(--y-100);--danger: var(--r-500);--danger-soft: var(--r-100);--info: var(--b-500);--info-soft: var(--b-100);--e-1: 0 1px 2px rgba(27, 24, 20, .05);--e-2: 0 1px 2px rgba(27, 24, 20, .05), 0 2px 6px rgba(27, 24, 20, .06);--e-3: 0 2px 4px rgba(27, 24, 20, .05), 0 8px 20px rgba(27, 24, 20, .09);--e-4: 0 4px 8px rgba(27, 24, 20, .06), 0 18px 44px rgba(27, 24, 20, .14);--e-5: 0 8px 16px rgba(27, 24, 20, .08), 0 32px 80px rgba(27, 24, 20, .2);--ring: 0 0 0 3px var(--c-100);--ui-shadow: var(--e-2);--ui-shadow-lg: var(--e-4);--r-xs: 4px;--r-sm: 6px;--r-md: 9px;--r-lg: 13px;--r-xl: 18px;--r-2xl: 26px;--r-pill: 999px;--radius-sm: var(--r-sm);--radius: var(--r-md);--radius-lg: var(--r-lg);--radius-xl: var(--r-xl);--font-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-hand: "Comic Neue", "Comic Sans MS", "Chalkboard SE", "Architects Daughter", cursive;--font-marker: "Architects Daughter", "Comic Neue", cursive;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--t-xs: 11px;--t-sm: 12px;--t-md: 13px;--t-lg: 15px;--t-xl: 18px;--topbar-h: 50px;--rail-w: 54px;--panel-w: 288px;--inspector-w: 272px;--dur-fast: .12s;--dur: .18s;--ease: cubic-bezier(.2, .8, .3, 1);color-scheme:light;accent-color:var(--accent)}:root[data-ui=dark]{--ui-bg: #151317;--ui-panel: #1c1a20;--ui-panel-2: #232128;--ui-sunken: #121014;--ui-border: #2e2b34;--ui-border-strong: #433f4c;--ui-text: #f0eef2;--ui-text-2: #bdb9c4;--ui-muted: #8a8593;--ui-faint: #6c6775;--ui-hover: #272430;--ui-active: #332f3d;--ui-canvas: #0e0d10;--brand-ink: #f0eef2;--brand-paper: #1c1a20;--accent: #f0764a;--accent-hover: #ff8a5f;--accent-press: #ff9c77;--accent-soft: rgba(240, 118, 74, .14);--accent-soft-2: rgba(240, 118, 74, .22);--accent-line: rgba(240, 118, 74, .42);--good-soft: rgba(47, 125, 83, .2);--warn-soft: rgba(181, 129, 27, .2);--danger-soft: rgba(192, 57, 43, .2);--info-soft: rgba(45, 111, 176, .2);--e-1: 0 1px 2px rgba(0, 0, 0, .4);--e-2: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 6px rgba(0, 0, 0, .3);--e-3: 0 2px 4px rgba(0, 0, 0, .4), 0 8px 20px rgba(0, 0, 0, .45);--e-4: 0 4px 8px rgba(0, 0, 0, .4), 0 18px 44px rgba(0, 0, 0, .55);--e-5: 0 8px 16px rgba(0, 0, 0, .5), 0 32px 80px rgba(0, 0, 0, .7);--ring: 0 0 0 3px rgba(240, 118, 74, .28);color-scheme:dark}.w-theme-sketch{--w-font: var(--font-hand);--w-font-display: var(--font-marker);--w-ink: #1f1d1a;--w-ink-2: #4a463f;--w-muted: #9c968a;--w-faint: #ccc6b8;--w-paper: #fffdf8;--w-fill: #ffffff;--w-fill-2: #f4f1e8;--w-accent: #1f1d1a;--w-stroke-thin: 1.8px;--w-radius: 4px;--w-radius-lg: 10px;--w-shadow: 2px 2px 0 rgba(31, 29, 26, .16);--w-letter: .1px;--w-hair: 1.4px;--w-stroke: 2.2px;--w-stroke-thick: 3.2px;--w-structure-stroke: var(--w-faint);--w-structure-width: 1.4px;--w-surface-fill: var(--w-paper);--w-surface-radius: 10px;--w-field-fill: #faf7ef;--w-field-stroke: #6c675d;--w-field-width: 1.9px;--w-field-radius: 3px;--w-control-width: 3px;--w-control-radius: 7px;--w-media-fill: #f6f3ea;--w-hatch: rgba(31, 29, 26, .09);--w-lift: 3px 4px 0 rgba(31, 29, 26, .17);--w-lift-lg: 5px 7px 0 rgba(31, 29, 26, .15);--w-pen: #c4402c;--w-pen-soft: rgba(196, 64, 44, .12)}.w-theme-wire{--w-font: var(--font-ui);--w-font-display: var(--font-ui);--w-ink: #4b5563;--w-ink-2: #6b7280;--w-muted: #9ca3af;--w-faint: #d9dee5;--w-paper: #ffffff;--w-fill: #ffffff;--w-fill-2: #f3f5f7;--w-accent: #4b5563;--w-stroke-thin: 1px;--w-radius: 6px;--w-radius-lg: 12px;--w-shadow: none;--w-letter: 0;--w-hair: 1px;--w-stroke: 1.5px;--w-stroke-thick: 2px;--w-structure-stroke: var(--w-faint);--w-structure-width: 1px;--w-surface-fill: var(--w-paper);--w-surface-radius: 10px;--w-field-fill: #f8fafc;--w-field-stroke: #94a0ae;--w-field-width: 1.2px;--w-field-radius: 5px;--w-control-width: 1.8px;--w-control-radius: 7px;--w-media-fill: #f3f5f7;--w-hatch: rgba(75, 85, 99, .08);--w-lift: 0 2px 6px rgba(15, 23, 42, .1);--w-lift-lg: 0 10px 26px rgba(15, 23, 42, .14);--w-pen: #d23f2b;--w-pen-soft: rgba(210, 63, 43, .1)}.w-theme-mono{--w-font: var(--font-mono);--w-font-display: var(--font-mono);--w-ink: #101010;--w-ink-2: #2f2f2f;--w-muted: #8a8a8a;--w-faint: #d5d5d5;--w-paper: #ffffff;--w-fill: #ffffff;--w-fill-2: #f0f0f0;--w-accent: #101010;--w-stroke-thin: 1.4px;--w-radius: 0px;--w-radius-lg: 0px;--w-shadow: 3px 3px 0 #101010;--w-letter: -.2px;--w-hair: 1.4px;--w-stroke: 2px;--w-stroke-thick: 3px;--w-structure-stroke: var(--w-faint);--w-structure-width: 1.4px;--w-surface-fill: var(--w-paper);--w-surface-radius: 0px;--w-field-fill: #f7f7f7;--w-field-stroke: #5c5c5c;--w-field-width: 1.6px;--w-field-radius: 0px;--w-control-width: 2.6px;--w-control-radius: 0px;--w-media-fill: #f0f0f0;--w-hatch: rgba(16, 16, 16, .08);--w-lift: 3px 3px 0 #101010;--w-lift-lg: 5px 5px 0 #101010;--w-pen: #101010;--w-pen-soft: rgba(16, 16, 16, .08)}.logo-full{display:inline-flex;align-items:center;gap:.36em;font-size:calc(var(--logo-size) * .62)}.logo-word{font-family:var(--font-ui);font-weight:700;letter-spacing:-.028em;white-space:nowrap;line-height:1}.logo-word-a{color:var(--brand-ink)}.logo-word-b{color:var(--brand-leaf)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-ui);font-size:var(--t-md);color:var(--ui-text);background:var(--ui-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;text-rendering:optimizeLegibility;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer;padding:0}h1,h2,h3,h4{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-xs)}::selection{background:var(--accent-soft-2)}.scroll{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--ui-border-strong) transparent}.scroll::-webkit-scrollbar{width:10px;height:10px}.scroll::-webkit-scrollbar-thumb{background:var(--ui-border-strong);border-radius:6px;border:3px solid transparent;background-clip:content-box}.scroll::-webkit-scrollbar-thumb:hover{background:var(--ui-muted);background-clip:content-box}.scroll::-webkit-scrollbar-track{background:transparent}.app{display:grid;grid-template-rows:var(--topbar-h) 1fr;height:100%;overflow:hidden;background:var(--ui-bg)}.app-body{display:flex;min-height:0;position:relative}.app-main{flex:1;min-width:0;position:relative}.route-loading,.route-missing{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--ui-muted);text-align:center;padding:24px}.route-missing h1{font-size:21px;letter-spacing:-.02em;color:var(--ui-text);margin-top:8px}.route-missing p{margin:0;max-width:34ch;line-height:1.6}.route-missing .btn{margin-top:10px}.topbar{display:grid;grid-template-columns:minmax(180px,1fr) auto minmax(180px,1fr);align-items:center;gap:12px;padding:0 10px;background:var(--ui-panel);border-bottom:1px solid var(--ui-border);z-index:40;position:relative}.topbar-zone{display:flex;align-items:center;gap:5px;min-width:0}.topbar-zone.center{justify-content:center;gap:4px}.topbar-zone.right{justify-content:flex-end}.home-btn{width:34px;height:34px;border-radius:var(--r-md);display:grid;place-items:center;flex:none;transition:background var(--dur-fast)}.home-btn:hover{background:var(--ui-hover)}.topbar-crumbs{display:flex;align-items:center;gap:1px;color:var(--ui-faint);min-width:0;flex:none}.topbar-crumb{font-size:var(--t-md);color:var(--ui-muted);padding:4px 6px;border-radius:var(--r-sm);max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-crumb:hover{background:var(--ui-hover);color:var(--ui-text)}.crumb-ellipsis{color:var(--ui-faint);padding:0 3px}.doc-chip{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 8px;border-radius:var(--r-sm);color:var(--ui-text);font-weight:600;font-size:var(--t-md);min-width:0;max-width:230px}.doc-chip:hover{background:var(--ui-hover)}.doc-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-chip svg{color:var(--ui-faint);flex:none}.doc-chip-input{height:30px;padding:0 8px;max-width:230px;border-radius:var(--r-sm);border:1.5px solid var(--accent);background:var(--ui-panel);outline:none;font-weight:600;font-size:var(--t-md)}.save-state{font-size:var(--t-xs);color:var(--ui-faint);flex:none;white-space:nowrap}.save-state.done:before{content:"●";color:var(--good);font-size:8px;margin-right:5px;vertical-align:middle}.toolgroup{display:flex;align-items:center;gap:1px;background:var(--ui-sunken);border-radius:var(--r-md);padding:3px}.tool-btn{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ui-text-2);transition:background var(--dur-fast),color var(--dur-fast)}.tool-btn:hover{background:var(--ui-panel);color:var(--ui-text)}.tool-btn.on{background:var(--ui-text);color:var(--ui-panel)}.insert-btn .kbd{margin-left:2px}.style-btn{min-width:96px;justify-content:flex-start}@media (max-width: 1180px){.panel.right{position:absolute;right:0;top:0;bottom:0;box-shadow:var(--e-4);z-index:30}}@media (max-width: 940px){.panel.left{position:absolute;left:var(--rail-w);top:0;bottom:0;box-shadow:var(--e-4);z-index:30}}@media (max-width: 1240px){.topbar-crumbs{display:none}}@media (max-width: 1120px){.insert-btn span:not(.kbd){display:none}.style-btn span{display:none}.style-btn{min-width:0}}@media (max-width: 980px){.topbar{grid-template-columns:auto 1fr auto}.topbar-zone.center{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.topbar-zone.center::-webkit-scrollbar{display:none}.save-state{display:none}}.rail{width:var(--rail-w);flex:none;background:var(--ui-panel);border-right:1px solid var(--ui-border);display:flex;flex-direction:column;align-items:center;padding:8px 0;gap:3px;z-index:25}.rail-spacer{flex:1}.rail-btn{width:38px;height:38px;border-radius:var(--r-md);display:grid;place-items:center;color:var(--ui-muted);position:relative;transition:background var(--dur-fast),color var(--dur-fast)}.rail-btn:hover{background:var(--ui-hover);color:var(--ui-text)}.rail-btn.on{background:var(--accent-soft);color:var(--accent)}.rail-dot{position:absolute;left:-8px;top:50%;width:3px;height:0;border-radius:0 3px 3px 0;background:var(--accent);transform:translateY(-50%);transition:height var(--dur) var(--ease)}.rail-btn.on .rail-dot{height:20px}.rail-btn[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--n-900);color:var(--n-0);font-size:var(--t-xs);font-weight:600;padding:5px 9px;border-radius:var(--r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) .3s;z-index:200}.rail-btn[data-tip]:hover:after{opacity:1}.panel{background:var(--ui-panel);display:flex;flex-direction:column;min-height:0;z-index:20;position:relative}.panel.left{width:var(--panel-w);border-right:1px solid var(--ui-border)}.panel.right{width:var(--inspector-w);border-left:1px solid var(--ui-border)}.panel-head{display:flex;align-items:center;justify-content:space-between;height:40px;padding:0 8px 0 14px;border-bottom:1px solid var(--ui-border);flex:none}.panel-head h2{font-size:var(--t-md);font-weight:700;letter-spacing:-.01em}.panel-collapse{width:26px;height:26px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ui-muted)}.panel-collapse:hover{background:var(--ui-hover);color:var(--ui-text)}.panel-body{flex:1;min-height:0}.panel-foot{border-top:1px solid var(--ui-border);padding:9px;flex:none}.inspect-head{display:flex;align-items:center;gap:9px;padding:11px 10px 11px 12px;border-bottom:1px solid var(--ui-border)}.inspect-icon{width:30px;height:30px;flex:none;border-radius:var(--r-sm);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.inspect-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.inspect-title strong{font-size:var(--t-md);font-weight:600}.inspect-title em{font-style:normal;font-size:var(--t-xs);color:var(--ui-muted);padding-left:1px}.inspect-title .field{height:24px;padding:0 5px;background:transparent}.inspect-title .field input{font-size:var(--t-md);font-weight:600}.inspect-actions{display:flex;gap:1px;flex:none}.layer-act.danger:hover{background:var(--danger-soft);color:var(--danger)}.panel-section{border-bottom:1px solid var(--ui-border);padding:9px 13px 13px}.panel-section.closed{padding-bottom:9px}.panel-section:last-child{border-bottom:none}.section-title{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-muted);margin:0;display:flex;align-items:center;justify-content:space-between;user-select:none;min-height:24px}.section-toggle{display:inline-flex;align-items:center;gap:5px;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;margin-left:-15px;padding:3px 4px 3px 0;border-radius:var(--r-xs)}.section-toggle svg{color:var(--ui-faint);flex:none}.section-toggle:not(:disabled):hover{color:var(--ui-text)}.section-toggle:disabled{margin-left:0;cursor:default}.section-content{margin-top:8px}.section-title>button:not(.section-toggle){color:var(--ui-muted);display:inline-flex}.section-title>button:not(.section-toggle):hover{color:var(--ui-text)}.panel-peek{position:absolute;top:12px;width:26px;height:30px;display:grid;place-items:center;background:var(--ui-panel);border:1px solid var(--ui-border);color:var(--ui-muted);z-index:30;box-shadow:var(--e-2)}.panel-peek.left{left:0;border-left:none;border-radius:0 var(--r-md) var(--r-md) 0}.panel-peek.right{right:0;border-right:none;border-radius:var(--r-md) 0 0 var(--r-md)}.panel-peek:hover{color:var(--accent)}.row{display:flex;align-items:center;gap:6px}.row+.row{margin-top:7px}.row.split{display:grid;grid-template-columns:1fr 1fr}.row.split3{display:grid;grid-template-columns:1fr 1fr 1fr}.align-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px}.align-grid .btn.icon{width:100%}.row-label{font-size:var(--t-sm);color:var(--ui-muted);width:56px;flex:none;font-weight:500}.empty-note{color:var(--ui-muted);font-size:var(--t-md);line-height:1.6;padding:22px 16px;text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 11px;border-radius:var(--r-md);color:var(--ui-text-2);font-weight:500;font-size:var(--t-md);white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}.btn:hover{background:var(--ui-hover);color:var(--ui-text)}.btn:active{background:var(--ui-active)}.btn.icon{width:32px;padding:0}.btn.icon.sm{width:30px}.btn.active{background:var(--accent-soft);color:var(--accent)}.btn.primary{background:var(--accent);color:var(--accent-on);font-weight:600}.btn.primary:hover{background:var(--accent-hover);color:var(--accent-on)}.btn.primary:active{background:var(--accent-press)}.btn.ghost-border{border:1px solid var(--ui-border)}.btn.ghost-border:hover{border-color:var(--ui-border-strong)}.btn:disabled{opacity:.35;pointer-events:none}.btn.sm{height:30px;font-size:var(--t-sm);padding:0 9px}.seg{display:inline-flex;background:var(--ui-sunken);border-radius:var(--r-md);padding:2px;gap:2px}.seg>button{height:26px;min-width:28px;padding:0 9px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;gap:5px;color:var(--ui-muted);font-size:var(--t-sm);font-weight:600;transition:background var(--dur-fast),color var(--dur-fast)}.seg>button:hover{color:var(--ui-text)}.seg>button.on{background:var(--ui-panel);color:var(--ui-text);box-shadow:var(--e-1)}:root[data-ui=dark] .seg>button.on{background:var(--ui-active)}.field{display:flex;align-items:center;gap:5px;background:var(--ui-sunken);border:1px solid transparent;border-radius:var(--r-sm);height:28px;padding:0 7px;min-width:0;transition:border-color var(--dur-fast),background var(--dur-fast)}.field:hover{background:var(--ui-hover)}.field:focus-within{border-color:var(--accent);background:var(--ui-panel);box-shadow:var(--ring)}.field input,.field select{background:transparent;border:none;outline:none;width:100%;min-width:0;font-size:var(--t-sm);font-variant-numeric:tabular-nums;color:var(--ui-text)}.field select{cursor:pointer;appearance:none}.field .unit{color:var(--ui-muted);font-size:10.5px;font-weight:700;text-transform:uppercase;flex:none;letter-spacing:.04em}.field.num input{cursor:ew-resize}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:5px;background:var(--ui-sunken);color:var(--ui-muted);font-size:10.5px;font-weight:600;font-family:var(--font-ui);border:1px solid var(--ui-border)}.tip{position:relative}.tip:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--n-900);color:var(--n-0);font-size:var(--t-xs);font-weight:600;padding:5px 8px;border-radius:var(--r-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast) .32s;z-index:200}.tip:hover:after{opacity:1}.tip.below:after{top:calc(100% + 8px)}.vsep{width:1px;height:20px;background:var(--ui-border);flex:none;margin:0 4px}.searchbar{padding:9px 10px;flex:none}.searchbar .field{height:32px}.lib-cats{display:flex;gap:5px;padding:0 10px 9px;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--ui-border);flex:none}.lib-cats::-webkit-scrollbar{display:none}.chip{flex:none;height:24px;padding:0 10px;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:600;color:var(--ui-text-2);background:var(--ui-sunken);white-space:nowrap;transition:background var(--dur-fast),color var(--dur-fast)}.chip:hover{background:var(--ui-active)}.chip.on{background:var(--ui-text);color:var(--ui-panel)}.lib-group-title{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-muted);padding:14px 12px 7px;position:sticky;top:0;background:linear-gradient(var(--ui-panel) 74%,transparent);z-index:2;user-select:none}.lib-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 10px 10px}.lib-item{border:1px solid var(--ui-border);border-radius:var(--r-md);background:var(--ui-panel);overflow:hidden;cursor:grab;display:flex;flex-direction:column;transition:border-color var(--dur-fast),transform .08s,box-shadow var(--dur-fast);text-align:left}.lib-item:hover{border-color:var(--accent-line);box-shadow:var(--e-2)}.lib-item:active{cursor:grabbing;transform:scale(.97)}.lib-thumb{height:78px;background:var(--ui-panel-2);border-bottom:1px solid var(--ui-border);display:grid;place-items:center;overflow:hidden;color:var(--ui-text-2);position:relative}.lib-name{font-size:var(--t-sm);font-weight:500;padding:6px 7px;color:var(--ui-text-2);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.layer{display:flex;align-items:center;gap:5px;height:27px;padding-right:7px;border-radius:var(--r-sm);font-size:var(--t-md);color:var(--ui-text-2);cursor:default;user-select:none;position:relative}.layer:hover{background:var(--ui-hover)}.layer.sel{background:var(--accent-soft);color:var(--accent)}.layer.hovered{background:var(--ui-hover)}.layer-caret{width:15px;height:100%;flex:none;display:grid;place-items:center;color:var(--ui-faint)}.layer-icon{width:16px;flex:none;display:grid;place-items:center;color:var(--ui-muted)}.layer.sel .layer-icon{color:var(--accent)}.layer-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layer-name input{width:100%;background:var(--ui-panel);border:1.5px solid var(--accent);border-radius:var(--r-xs);padding:0 4px;font-size:var(--t-sm);outline:none}.layer-actions{display:flex;gap:1px;opacity:0}.layer:hover .layer-actions,.layer-actions:has(.on){opacity:1}.layer-act{width:20px;height:20px;display:grid;place-items:center;border-radius:var(--r-xs);color:var(--ui-muted)}.layer-act:hover{background:var(--ui-active);color:var(--ui-text)}.layer-act.on{color:var(--accent)}.layer-drop{position:absolute;left:0;right:0;height:2px;background:var(--accent);border-radius:2px;pointer-events:none}.frames-list{padding:8px;display:flex;flex-direction:column;gap:4px}.frame-item{display:flex;align-items:center;gap:10px;padding:7px;border-radius:var(--r-md);border:1px solid transparent;text-align:left;width:100%;transition:background var(--dur-fast),border-color var(--dur-fast)}.frame-item:hover{background:var(--ui-hover)}.frame-item.on{background:var(--accent-soft);border-color:var(--accent-line)}.frame-item-thumb{width:56px;height:44px;flex:none;border-radius:var(--r-xs);border:1px solid var(--ui-border);background:var(--n-0);overflow:hidden;display:grid;place-items:center}.frame-item-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.frame-item-name{font-size:var(--t-md);font-weight:600;color:var(--ui-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-item-meta{font-size:var(--t-xs);color:var(--ui-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.frame-item-link{color:var(--accent);flex:none}.frame-item-index{font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ui-faint);flex:none}.menu{position:fixed;z-index:300;min-width:200px;max-height:74vh;overflow:auto;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--r-lg);box-shadow:var(--e-4);padding:6px;font-size:var(--t-md);animation:pop .11s var(--ease)}@keyframes pop{0%{opacity:0;transform:scale(.97) translateY(-3px)}}.menu-item{display:flex;align-items:center;gap:9px;height:30px;padding:0 9px;border-radius:var(--r-sm);color:var(--ui-text-2);white-space:nowrap;width:100%;position:relative}.menu-item:hover,.menu-item.on{background:var(--accent-soft);color:var(--accent)}.menu-item .mi-icon{width:16px;display:grid;place-items:center;flex:none;opacity:.9}.menu-item .mi-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis}.menu-item .mi-key{color:var(--ui-faint);font-size:var(--t-xs);font-variant-numeric:tabular-nums;flex:none}.menu-item:hover .mi-key{color:var(--accent);opacity:.7}.menu-item:disabled{opacity:.35;pointer-events:none}.menu-sep{height:1px;background:var(--ui-border);margin:6px 4px}.menu-label{font-size:var(--t-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-muted);padding:8px 9px 5px}.style-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px 9px;border-radius:var(--r-sm);color:var(--ui-text-2);text-align:left}.style-row:hover{background:var(--ui-hover)}.style-row.on{background:var(--accent-soft);color:var(--accent)}.style-row>span{flex:1;min-width:0}.style-row strong{display:block;font-size:var(--t-md);font-weight:600}.style-row em{display:block;font-style:normal;font-size:var(--t-xs);color:var(--ui-muted);margin-top:1px}.style-row.on em{color:var(--accent);opacity:.75}.menu-slider{padding:4px 10px 10px}.menu-slider label{display:flex;justify-content:space-between;font-size:var(--t-sm);color:var(--ui-muted);margin-bottom:7px}.menu-slider label b{color:var(--ui-text);font-variant-numeric:tabular-nums}.menu-slider input{width:100%;accent-color:var(--accent)}.scrim{position:fixed;inset:0;z-index:400;background:#14120f52;backdrop-filter:blur(3px);display:flex;justify-content:center;align-items:flex-start;padding-top:12vh;animation:fade .12s}@keyframes fade{0%{opacity:0}}.palette{width:min(640px,92vw);background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--r-xl);box-shadow:var(--e-5);overflow:hidden;display:flex;flex-direction:column;max-height:66vh;animation:rise .15s var(--ease)}@keyframes rise{0%{opacity:0;transform:translateY(-10px) scale(.99)}}.palette-input{display:flex;align-items:center;gap:11px;padding:14px 17px;border-bottom:1px solid var(--ui-border);flex:none}.palette-input input{flex:1;border:none;outline:none;background:transparent;font-size:16px;font-weight:500}.palette-input input::placeholder{color:var(--ui-muted);font-weight:400}.palette-list{overflow:auto;padding:7px}.palette-row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--r-md);width:100%;text-align:left;color:var(--ui-text-2)}.palette-row.on{background:var(--accent-soft);color:var(--accent)}.palette-row .pr-icon{width:42px;height:32px;flex:none;display:grid;place-items:center;border:1px solid var(--ui-border);border-radius:var(--r-sm);background:var(--ui-panel-2);color:var(--ui-text-2);overflow:hidden}.palette-row.on .pr-icon{border-color:var(--accent-line)}.palette-row .pr-main{flex:1;min-width:0}.palette-row .pr-title{font-weight:600;font-size:var(--t-lg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row .pr-sub{font-size:var(--t-sm);color:var(--ui-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette-row.on .pr-sub{color:var(--accent);opacity:.72}.palette-foot{border-top:1px solid var(--ui-border);padding:8px 14px;display:flex;gap:16px;align-items:center;color:var(--ui-muted);font-size:var(--t-xs);flex:none}.toasts{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:500;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.toast{background:var(--n-900);color:var(--n-0);padding:9px 16px;border-radius:var(--r-pill);font-size:var(--t-md);font-weight:500;box-shadow:var(--e-4);animation:rise .18s var(--ease);display:flex;align-items:center;gap:8px}.toast.good{background:var(--g-600)}.toast.warn{background:#8a5f11}.modal{width:min(790px,92vw);max-height:82vh;background:var(--ui-panel);border-radius:var(--r-xl);box-shadow:var(--e-5);border:1px solid var(--ui-border);display:flex;flex-direction:column;overflow:hidden;animation:rise .16s var(--ease)}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--ui-border);flex:none}.modal-head h2{font-size:16px;font-weight:700;letter-spacing:-.015em}.modal-body{padding:18px 20px 22px;overflow:auto}.shortcut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:22px 30px}.shortcut-grid h3{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--ui-muted);margin:0 0 8px}.shortcut-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 0;font-size:var(--t-md);color:var(--ui-text-2)}.shortcut-row .keys{display:flex;gap:3px;flex:none}.code-modal{width:min(1120px,94vw);height:min(760px,88vh);max-height:88vh}.code-head-main h2{font-size:16px;font-weight:700;letter-spacing:-.015em}.code-head-main p{margin-top:2px;font-size:var(--t-sm);color:var(--ui-muted)}.code-toolbar{display:flex;align-items:center;gap:10px;flex:none;padding:10px 20px;border-bottom:1px solid var(--ui-border);flex-wrap:wrap}.code-hint{font-size:var(--t-sm);color:var(--ui-muted);margin-left:auto}.code-body{flex:1;display:grid;grid-template-columns:236px 1fr;min-height:0}.code-files{border-right:1px solid var(--ui-border);padding:8px;overflow:auto;background:var(--ui-panel-2)}.code-file{display:flex;align-items:center;gap:7px;width:100%;padding:6px 8px;border-radius:var(--r-sm);font-size:var(--t-sm);color:var(--ui-text-2);text-align:left}.code-file span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl}.code-file:hover{background:var(--ui-hover)}.code-file.on{background:var(--accent-soft);color:var(--accent);font-weight:600}.code-empty{padding:14px 10px;font-size:var(--t-sm);color:var(--ui-muted);line-height:1.5}.code-view{overflow:auto;background:var(--ui-sunken);font-family:var(--font-mono);font-size:12.5px;line-height:1.65;padding:12px 0}.code-view pre{margin:0;min-width:max-content}.code-line{display:flex;white-space:pre}.code-num{flex:none;width:44px;padding-right:14px;text-align:right;color:var(--ui-muted);user-select:none}.code-text{padding-right:24px;color:var(--ui-text)}.code-foot{flex:none;display:flex;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid var(--ui-border)}.code-note{font-size:var(--t-sm);color:var(--ui-muted)}.code-actions{display:flex;gap:8px;margin-left:auto}@media (max-width: 760px){.code-body{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.code-files{display:flex;gap:4px;overflow-x:auto;overflow-y:hidden;border-right:none;border-bottom:1px solid var(--ui-border)}.code-file{width:auto;flex:none}.code-file span{direction:ltr}.code-note{display:none}}.canvas{position:absolute;inset:0;overflow:hidden;background:var(--ui-canvas);touch-action:none;user-select:none;cursor:default;contain:strict}.canvas.tool-hand{cursor:grab}.canvas.panning{cursor:grabbing!important}.canvas.tool-draw{cursor:crosshair}.canvas-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,var(--dot-color) var(--dot-size),transparent var(--dot-size));--dot-color: rgba(35, 33, 29, .14);--dot-size: 1px}:root[data-ui=dark] .canvas-grid{--dot-color: rgba(255, 255, 255, .11)}.world{position:absolute;top:0;left:0;transform-origin:0 0;will-change:transform}.frame-wrap{position:absolute;top:0;left:0}.frame-label{position:absolute;bottom:100%;left:0;margin-bottom:5px;font-size:11px;font-weight:600;color:var(--ui-muted);white-space:nowrap;cursor:pointer;padding:1px 3px;border-radius:3px;transform-origin:0 100%;display:flex;align-items:center;gap:5px;max-width:420px;overflow:hidden;text-overflow:ellipsis}.frame-label:hover{color:var(--ui-text)}.frame-label.sel{color:var(--accent)}.frame-label .fl-size{opacity:.6;font-weight:500}.frame-body{position:absolute;inset:0;background:var(--w-paper);overflow:hidden;box-shadow:0 1px 3px #23211d1a,0 10px 30px #23211d14}:root[data-ui=dark] .frame-body{box-shadow:0 1px 3px #00000080,0 10px 34px #0000006b}.device{position:absolute;pointer-events:none;color:var(--w-ink);z-index:1}.device.device-front{z-index:6}.device svg{position:absolute;overflow:visible}.guides-overlay{position:absolute;inset:0;pointer-events:none;display:flex;z-index:3}.guides-col{height:100%;background:var(--guide-color)}.overlay{position:absolute;inset:0;pointer-events:none;z-index:60;overflow:hidden}.sel-box{position:absolute;border:1.5px solid var(--accent);pointer-events:none;box-sizing:border-box}.sel-box.multi{border-style:solid;border-color:var(--accent)}.sel-box.member{border-width:1px;opacity:.5}.hover-box{position:absolute;border:1.5px solid var(--accent);opacity:.55;pointer-events:none;box-sizing:border-box}.hover-box.container{border-style:dashed}.handle{position:absolute;width:9px;height:9px;background:var(--ui-panel);border:1.5px solid var(--accent);border-radius:2px;pointer-events:auto;box-sizing:border-box;transform:translate(-50%,-50%)}.handle:after{content:"";position:absolute;inset:-7px}.handle.round{border-radius:50%}.handle.edge{background:transparent;border:none;pointer-events:auto}.handle.rot{width:15px;height:15px;background:transparent;border:none;pointer-events:auto}.sel-size{position:absolute;background:var(--accent);color:#fff;font-size:10.5px;font-weight:600;padding:2px 5px;border-radius:4px;white-space:nowrap;transform:translate(-50%);font-variant-numeric:tabular-nums;pointer-events:none}.marquee{position:absolute;border:1px solid var(--accent);background:var(--accent-soft);pointer-events:none}.snap-line{position:absolute;background:#f0349a;pointer-events:none;z-index:70}.snap-line.h{height:1px}.snap-line.v{width:1px}.snap-dist{position:absolute;color:#f0349a;font-size:10px;font-weight:700;background:var(--ui-panel);padding:0 3px;border-radius:3px;transform:translate(-50%,-50%);pointer-events:none;z-index:71}.drop-target{position:absolute;border:2px solid var(--accent);background:#d2542a12;pointer-events:none;border-radius:3px;z-index:65}.drop-line{position:absolute;background:var(--accent);border-radius:2px;pointer-events:none;z-index:66;box-shadow:0 0 0 1px #fff9}.drag-ghost{position:fixed;z-index:600;pointer-events:none;opacity:.85;transform-origin:0 0;border:1px dashed var(--accent);background:#ffffff8c}.statusbar-float{position:absolute;right:14px;bottom:14px;z-index:50;display:flex;align-items:center;gap:3px;background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--r-pill);padding:3px;box-shadow:var(--e-3);user-select:none}.zoom-val{min-width:48px;text-align:center;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ui-text-2);padding:0 3px;height:24px;line-height:24px;border-radius:12px}.zoom-val:hover{background:var(--ui-hover)}.round-btn{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;color:var(--ui-text-2)}.round-btn:hover{background:var(--ui-hover);color:var(--ui-text)}.ruler{position:absolute;background:var(--ui-panel);color:var(--ui-muted);z-index:55;pointer-events:none;font-size:9px;font-weight:600;font-variant-numeric:tabular-nums}.ruler.h{top:0;left:0;right:0;height:18px;border-bottom:1px solid var(--ui-border)}.ruler.v{top:0;left:0;bottom:0;width:18px;border-right:1px solid var(--ui-border)}.ruler-corner{position:absolute;top:0;left:0;width:18px;height:18px;background:var(--ui-panel);border-right:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border);z-index:56}.ruler-tick{position:absolute;color:var(--ui-muted)}.ruler-sel{position:absolute;background:var(--accent-soft)}.canvas-empty{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:10}.empty-card{pointer-events:auto;text-align:center;max-width:470px;padding:26px 30px 30px}.empty-card h1{font-family:var(--font-hand);font-size:30px;margin:12px 0 4px;letter-spacing:-.3px}.empty-card p{color:var(--ui-text-2);font-size:13px;line-height:1.6;margin:0 0 20px}.empty-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.starter{border:1.5px dashed var(--ui-border-strong);background:var(--ui-panel);border-radius:var(--radius-lg);padding:11px 13px;display:flex;flex-direction:column;gap:6px;align-items:center;color:var(--ui-text-2);font-size:12px;font-weight:600;min-width:96px;transition:all .12s}.starter:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.starter .s-icon{color:var(--ui-muted)}.starter:hover .s-icon{color:var(--accent)}.present{position:fixed;inset:0;z-index:900;background:#1b1a17;display:grid;place-items:center;overflow:hidden}.present-stage{position:relative;transform-origin:center;background:var(--w-paper);box-shadow:0 30px 80px #0000008c}.present-bar{position:fixed;top:14px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:4px;background:#282622e6;backdrop-filter:blur(8px);border-radius:20px;padding:4px;color:#fff;z-index:910;opacity:0;transition:opacity .2s}.present:hover .present-bar{opacity:1}.present-bar button{color:#fff;height:28px;padding:0 11px;border-radius:16px;font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.present-bar button:hover{background:#ffffff29}.hotspot-flash{position:absolute;background:#2d7eff73;border:2px solid rgba(45,126,255,.85);border-radius:4px;pointer-events:none;animation:hotspot .5s ease-out forwards}@keyframes hotspot{0%{opacity:1}to{opacity:0}}.link-badge{position:absolute;width:14px;height:14px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;transform:translate(-50%,-50%);z-index:62;box-shadow:0 0 0 2px var(--ui-panel)}.w-surface{font-family:var(--w-font);color:var(--w-ink);letter-spacing:var(--w-letter);line-height:1.35}.wn{position:absolute;box-sizing:border-box;min-width:0;min-height:0}.wn.flow{position:relative}.wn[data-hidden="1"]{display:none}.rough-on{filter:url(#cider-rough)}.wn-group,.wn-stack,.wn-grid{display:flex}.wn-stack.free,.wn-group.free,.wn-grid.free{display:block}.wn-grid.is-grid{display:grid}.wn-box{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background:var(--w-fill)}.wn.role-structure{border:var(--w-structure-width) dashed var(--w-structure-stroke);border-radius:2px;background:transparent}.wn.role-surface{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-surface-radius);background:var(--w-surface-fill)}.wn.role-raised{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-surface-radius);background:var(--w-paper);box-shadow:var(--w-lift-lg)}.wn.role-field{border:var(--w-field-width) solid var(--w-field-stroke);border-radius:var(--w-field-radius);background:var(--w-field-fill)}.wn.role-control{border:var(--w-control-width) solid var(--w-ink);border-radius:var(--w-control-radius);background:var(--w-fill)}.wn.role-bar{border:var(--w-hair) solid var(--w-faint);border-radius:0;background:var(--w-fill-2)}.wn.role-bare{border:none;background:transparent;box-shadow:none}.wn-ellipse{border:var(--w-stroke) solid var(--w-ink);border-radius:50%;background:var(--w-fill)}.wn-divider{background:var(--w-ink)}.wn-line,.wn-arrow{overflow:visible}.wn-line svg,.wn-arrow svg{overflow:visible;width:100%;height:100%;display:block}.wn-text{display:flex;white-space:pre-wrap;word-break:break-word;overflow:hidden}.wn-text>.t-inner{width:100%;outline:none}.wn-text[contenteditable=true],.wn-text .t-inner[contenteditable=true]{cursor:text;outline:none}.wn-image{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background-color:var(--w-media-fill);overflow:hidden;position:relative;display:grid;place-items:center}.wn-image .cross{position:absolute;inset:0;color:var(--w-ink);opacity:.32}.wn-image .cross svg{width:100%;height:100%;display:block}.wn-image .glyph{position:relative;color:var(--w-ink);opacity:.75}.wn-image img{width:100%;height:100%;object-fit:cover;display:block}.wn-image.avatarish{border-radius:50%}.wn-icon{display:grid;place-items:center;color:var(--w-ink)}.wn-icon svg{width:100%;height:100%}.wn-icon.boxed{border:var(--w-stroke-thin) solid var(--w-ink);border-radius:var(--w-radius);padding:12%}.wn-scribble{display:flex;flex-direction:column;justify-content:flex-start}.wn-scribble .sl{background:var(--w-muted);border-radius:1.5px;opacity:.55;flex:none}.wn-scribble.inky .sl{background:var(--w-ink-2);opacity:.7}.wn-scribble.squiggle{background:transparent}.wn-scribble.squiggle svg{width:100%;height:100%;display:block;overflow:visible}.wn-sticky{--sticky-bg: #ffe98a;--sticky-fold: #e8cf62;--sticky-ink: #40371d;background:linear-gradient(-135deg,transparent 0 13px,var(--sticky-bg) 13px) top right / 100% 100% no-repeat;border:none;border-radius:1px;filter:drop-shadow(2px 3px 2px rgba(31,29,26,.22));padding:13px 14px;font-family:var(--font-marker);font-size:15px;line-height:1.28;color:var(--sticky-ink);display:flex;overflow:hidden;position:relative;white-space:pre-wrap;word-break:break-word}.wn-sticky:after{content:"";position:absolute;top:0;right:0;width:13px;height:13px;background:var(--sticky-fold);clip-path:polygon(0 0,100% 100%,0 100%)}.wn-sticky.yellow{--sticky-bg: #ffe98a;--sticky-fold: #e5ca5c;--sticky-ink: #40371d}.wn-sticky.pink{--sticky-bg: #ffb3cd;--sticky-fold: #e894b0;--sticky-ink: #4d1f32}.wn-sticky.blue{--sticky-bg: #a8d8ff;--sticky-fold: #86bce8;--sticky-ink: #123049}.wn-sticky.green{--sticky-bg: #b4eaa8;--sticky-fold: #93cd87;--sticky-ink: #1c3d16}.wn-sticky.purple{--sticky-bg: #cfc0ff;--sticky-fold: #ae9ce8;--sticky-ink: #2b1f55}.wn-sticky.orange{--sticky-bg: #ffc78a;--sticky-fold: #e8a962;--sticky-ink: #4a2f10}.wn-sticky.torn{border-radius:0;clip-path:polygon(0 2%,8% 0,22% 3%,38% .5%,55% 3%,71% 0,87% 2.5%,100% .5%,99% 18%,100% 38%,98.5% 60%,100% 80%,99% 100%,82% 97.5%,66% 100%,48% 97%,30% 99.5%,14% 97%,0 99%,1.5% 78%,0 58%,1% 36%,0 18%);filter:drop-shadow(1px 2px 1.5px rgba(31,29,26,.2))}.wn-sticky.torn:after{display:none}.wn-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:var(--w-control-width) solid var(--w-ink);border-radius:var(--w-control-radius);background:var(--w-fill);color:var(--w-ink);font-weight:700;text-align:center;padding:0 16px;white-space:nowrap;overflow:hidden}.wn-button.primary{background:var(--w-ink);color:var(--w-paper)}.wn-button.primary .wn-icon,.wn-button.primary svg{color:var(--w-paper)}.wn-button.secondary{background:var(--w-fill)}.wn-button.ghost{border-color:transparent;background:transparent;box-shadow:none;text-decoration:underline;text-underline-offset:3px}.wn-button.dashed{border-style:dashed;box-shadow:none}.wn-button.danger{background:repeating-linear-gradient(45deg,var(--w-fill),var(--w-fill) 5px,var(--w-fill-2) 5px,var(--w-fill-2) 10px)}.wn-button.pill{border-radius:999px}.wn-button.disabled{opacity:.45}.wn-button.iconOnly{padding:0}.wn-input,.wn-textarea,.wn-select{border:var(--w-field-width) solid var(--w-field-stroke);border-radius:var(--w-field-radius);background:var(--w-field-fill);display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--w-muted);overflow:hidden}.wn-textarea{align-items:flex-start;padding:9px 11px}.wn-input .ph,.wn-textarea .ph,.wn-select .ph{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wn-input.filled .ph,.wn-select.filled .ph{color:var(--w-ink)}.wn-input .caret{width:var(--w-stroke-thin);height:58%;background:var(--w-ink);flex:none}.wn-input.underline,.wn-select.underline{background:transparent;border-width:0 0 var(--w-stroke) 0;border-radius:0;padding-left:2px;padding-right:2px}.wn-input.error,.wn-textarea.error,.wn-select.error{border-color:var(--w-ink);border-style:dashed;border-width:var(--w-stroke)}.wn-select .chev{flex:none;color:var(--w-ink)}.wn-checkbox,.wn-radio{display:flex;align-items:center;gap:9px;color:var(--w-ink);overflow:hidden}.wn-checkbox .bx,.wn-radio .bx{flex:none;border:var(--w-field-width) solid var(--w-ink);background:var(--w-field-fill);display:grid;place-items:center;color:var(--w-ink)}.wn-checkbox .bx{border-radius:3px}.wn-radio .bx{border-radius:50%}.wn-checkbox .lbl,.wn-radio .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wn-radio .dot{background:var(--w-ink);border-radius:50%;width:52%;height:52%}.wn-switch{display:flex;align-items:center;gap:10px;color:var(--w-ink)}.wn-switch .track{flex:none;border:var(--w-stroke) solid var(--w-ink);border-radius:999px;background:var(--w-fill);display:flex;align-items:center;padding:2px}.wn-switch.on .track{background:var(--w-ink);justify-content:flex-end}.wn-switch .knob{border-radius:50%;background:var(--w-ink);aspect-ratio:1;height:100%}.wn-switch.on .knob{background:var(--w-paper)}.wn-slider{display:flex;align-items:center;position:relative}.wn-slider .track{height:var(--w-stroke);background:var(--w-faint);width:100%;border-radius:99px}.wn-slider .fill{position:absolute;height:var(--w-stroke);background:var(--w-ink);border-radius:99px;left:0}.wn-slider .knob{position:absolute;width:18px;height:18px;border-radius:50%;border:var(--w-stroke) solid var(--w-ink);background:var(--w-fill);transform:translate(-50%)}.wn-slider.range .knob.b{left:auto}.wn-segmented{display:flex;border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);overflow:hidden;background:var(--w-fill)}.wn-segmented .sg{flex:1;display:grid;place-items:center;border-right:var(--w-stroke-thin) solid var(--w-ink);overflow:hidden;white-space:nowrap;padding:0 6px;font-weight:600}.wn-segmented .sg:last-child{border-right:none}.wn-segmented .sg.on{background:var(--w-ink);color:var(--w-paper)}.wn-rating{display:flex;align-items:center;gap:4px;color:var(--w-ink)}.wn-stepper{display:flex;align-items:stretch;border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);overflow:hidden;background:var(--w-fill)}.wn-stepper .sbtn{width:34px;display:grid;place-items:center;border-right:var(--w-stroke-thin) solid var(--w-ink);font-weight:700;flex:none}.wn-stepper .sval{flex:1;display:grid;place-items:center;font-weight:600}.wn-stepper .sbtn.last{border-right:none;border-left:var(--w-stroke-thin) solid var(--w-ink)}.wn-avatar{border:var(--w-stroke) solid var(--w-ink);border-radius:50%;background:var(--w-fill-2);display:grid;place-items:center;overflow:hidden;color:var(--w-ink);font-weight:700;flex:none}.wn-avatar.square{border-radius:var(--w-radius)}.wn-badge{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:var(--w-stroke-thin) solid var(--w-ink);border-radius:999px;padding:0 9px;font-weight:700;background:var(--w-fill);white-space:nowrap;overflow:hidden}.wn-badge.solid{background:var(--w-ink);color:var(--w-paper)}.wn-badge.square{border-radius:var(--w-radius)}.wn-badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.wn-progress{border:var(--w-stroke) solid var(--w-ink);border-radius:999px;overflow:hidden;background:var(--w-fill);display:flex}.wn-progress .bar{background:var(--w-ink);height:100%}.wn-progress.striped .bar{background:repeating-linear-gradient(-45deg,var(--w-ink),var(--w-ink) 4px,transparent 4px,transparent 8px)}.wn-progress.ring{border:none;border-radius:0;background:transparent}.wn-progress.ring svg{width:100%;height:100%}.wn-spinner{display:grid;place-items:center;color:var(--w-ink)}.wn-spinner svg{width:100%;height:100%;animation:wspin 1.4s linear infinite}@keyframes wspin{to{transform:rotate(360deg)}}.wn-chart{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background:var(--w-fill);overflow:hidden;padding:10px}.wn-chart.bare{border:none;background:transparent;padding:0}.wn-chart svg{width:100%;height:100%;display:block;overflow:visible}.wn-table{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background:var(--w-fill);overflow:hidden;display:flex;flex-direction:column}.wn-table .tr{display:flex;align-items:center;border-bottom:var(--w-stroke-thin) solid var(--w-faint);flex:1;min-height:0}.wn-table .tr:last-child{border-bottom:none}.wn-table .tr.head{border-bottom:var(--w-stroke) solid var(--w-ink);font-weight:700;background:var(--w-fill-2);flex:none}.wn-table .td{padding:0 11px;overflow:hidden;display:flex;align-items:center;gap:7px;min-width:0}.wn-table .td .bar{height:8px;background:var(--w-faint);border-radius:99px;width:72%}.wn-table .td.num{justify-content:flex-end}.wn-table.zebra .tr:nth-child(2n):not(.head){background:var(--w-fill-2)}.wn-table.bordered .td{border-right:var(--w-stroke-thin) solid var(--w-faint)}.wn-table.bordered .td:last-child{border-right:none}.wn-calendar{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background:var(--w-fill);display:flex;flex-direction:column;overflow:hidden;padding:9px;gap:5px}.wn-calendar .cal-head{display:flex;align-items:center;justify-content:space-between;font-weight:700;flex:none}.wn-calendar .cal-dows,.wn-calendar .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.wn-calendar .cal-grid{flex:1;grid-auto-rows:1fr}.wn-calendar .dow{text-align:center;color:var(--w-muted);font-weight:700;font-size:.82em}.wn-calendar .day{display:grid;place-items:center;border-radius:var(--w-radius);color:var(--w-ink-2)}.wn-calendar .day.out{opacity:.3}.wn-calendar .day.on{background:var(--w-ink);color:var(--w-paper)}.wn-calendar .day.dotted:after{content:"";width:4px;height:4px;border-radius:50%;background:var(--w-ink);position:absolute;transform:translateY(9px)}.wn-code{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background:var(--w-fill-2);font-family:var(--font-mono);padding:10px 12px;overflow:hidden;display:flex;flex-direction:column;gap:6px}.wn-code .cl{height:7px;background:var(--w-faint);border-radius:2px}.wn-map{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background:var(--w-fill-2);overflow:hidden;position:relative}.wn-image,.wn-video,.wn-qr{background-image:repeating-linear-gradient(45deg,transparent 0 6px,var(--w-hatch) 6px 7px)}.wn-image,.wn-video{background-color:var(--w-media-fill)}.wn-image:has(img){background-image:none}.wn-map svg{width:100%;height:100%;display:block}.wn-video{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius);background-color:var(--w-media-fill);display:grid;place-items:center;position:relative;overflow:hidden;color:var(--w-ink)}.wn-video .play{width:20%;min-width:34px;max-width:64px;aspect-ratio:1;border:var(--w-stroke) solid var(--w-ink);border-radius:50%;display:grid;place-items:center;background:var(--w-fill)}.wn-video .scrub{position:absolute;left:8%;right:8%;bottom:9px;height:var(--w-stroke);background:var(--w-faint)}.wn-video .scrub i{display:block;height:100%;width:36%;background:var(--w-ink)}.wn-qr{border:var(--w-stroke) solid var(--w-ink);background:var(--w-fill);padding:8%;display:grid;place-items:center}.wn-qr svg{width:100%;height:100%}.wn-browserbar{border:var(--w-stroke) solid var(--w-ink);border-radius:var(--w-radius) var(--w-radius) 0 0;background:var(--w-fill-2);display:flex;align-items:center;gap:8px;padding:0 11px;overflow:hidden}.wn-browserbar .dots{display:flex;gap:5px;flex:none}.wn-browserbar .dots i{width:9px;height:9px;border-radius:50%;border:var(--w-stroke-thin) solid var(--w-ink);display:block}.wn-browserbar .url{flex:1;height:62%;border:var(--w-stroke-thin) solid var(--w-ink);border-radius:999px;display:flex;align-items:center;padding:0 10px;color:var(--w-muted);background:var(--w-fill);overflow:hidden;white-space:nowrap}.wn-statusbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;color:var(--w-ink);font-weight:700;overflow:hidden}.wn-statusbar .right{display:flex;align-items:center;gap:5px}.wn-placeholder-cell{border:var(--w-stroke-thin) dashed var(--w-faint);border-radius:var(--w-radius);min-height:24px}.wn.overlap-row>.wn+.wn{margin-left:var(--overlap, 0)}.wn.overlap-col>.wn+.wn{margin-top:var(--overlap, 0)}.wn.dragging{opacity:.55}.files{display:grid;grid-template-rows:60px 1fr;height:100%;background:var(--ui-bg);overflow:hidden}.files-top{display:flex;align-items:center;gap:18px;padding:0 18px;background:var(--ui-panel);border-bottom:1px solid var(--ui-border);z-index:10}.files-brand{text-decoration:none;display:flex;align-items:center;flex:none;border-radius:var(--r-md);padding:4px 6px;margin-left:-6px}.files-brand:hover{background:var(--ui-hover)}.files-search{flex:1;max-width:460px;margin:0 auto;display:flex;align-items:center;gap:9px;height:36px;padding:0 12px;border-radius:var(--r-pill);background:var(--ui-sunken);border:1px solid transparent;color:var(--ui-muted);transition:border-color var(--dur),background var(--dur)}.files-search:focus-within{border-color:var(--accent);background:var(--ui-panel);box-shadow:var(--ring)}.files-search input{flex:1;border:none;outline:none;background:transparent;font-size:var(--t-md);color:var(--ui-text);min-width:0}.files-search input::placeholder{color:var(--ui-muted)}.files-search button{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;color:var(--ui-muted)}.files-search button:hover{background:var(--ui-active);color:var(--ui-text)}.files-top-actions{display:flex;align-items:center;gap:6px;flex:none}.files-body{display:flex;min-height:0}.files-sidebar{width:236px;flex:none;border-right:1px solid var(--ui-border);background:var(--ui-panel);padding:14px 10px;display:flex;flex-direction:column;gap:18px;overflow-y:auto}.nav-group{display:flex;flex-direction:column;gap:1px}.nav-heading{display:flex;align-items:center;justify-content:space-between;font-size:var(--t-xs);font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ui-muted);padding:4px 8px 6px}.nav-add{width:20px;height:20px;border-radius:var(--r-xs);display:grid;place-items:center;color:var(--ui-muted)}.nav-add:hover{background:var(--ui-hover);color:var(--ui-text)}.nav-item{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:var(--r-md);color:var(--ui-text-2);font-size:var(--t-md);font-weight:500;width:100%;text-align:left;transition:background var(--dur-fast),color var(--dur-fast)}.nav-item:hover{background:var(--ui-hover);color:var(--ui-text)}.nav-item.on{background:var(--accent-soft);color:var(--accent)}.nav-item.drop{background:var(--accent-soft-2);box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent)}.nav-caret{width:12px;flex:none;display:grid;place-items:center;color:var(--ui-faint)}.nav-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-count{font-size:var(--t-xs);font-variant-numeric:tabular-nums;color:var(--ui-muted);background:var(--ui-sunken);border-radius:var(--r-pill);padding:1px 6px;flex:none}.nav-item.on .nav-count{background:var(--accent-soft-2);color:var(--accent)}.nav-empty{font-size:var(--t-sm);color:var(--ui-faint);padding:2px 10px 6px;margin:0}.nav-foot{margin-top:auto;padding:12px 8px 4px;border-top:1px solid var(--ui-border);display:flex;flex-direction:column;gap:10px}.nav-link{display:flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:600;color:var(--ui-text-2);text-decoration:none}.nav-link:hover{color:var(--accent)}.nav-note{font-size:var(--t-xs);line-height:1.5;color:var(--ui-faint);margin:0}.nav-note code{font-family:var(--font-mono);font-size:10px;background:var(--ui-sunken);padding:1px 4px;border-radius:4px}.files-main{flex:1;min-width:0;overflow-y:auto;display:flex;flex-direction:column}.files-head{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 26px 14px;background:linear-gradient(var(--ui-bg) 76%,transparent);flex-wrap:wrap}.files-crumbs{display:flex;align-items:center;gap:2px;min-width:0;font-size:19px;font-weight:700;letter-spacing:-.02em}.crumb-wrap{display:inline-flex;align-items:center;gap:2px;color:var(--ui-faint)}.crumb{color:var(--ui-muted);font:inherit;padding:3px 7px;border-radius:var(--r-sm);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb:hover:not(:disabled){background:var(--ui-hover);color:var(--ui-text)}.crumb.here,.crumb:disabled{color:var(--ui-text);pointer-events:none}.files-tools{display:flex;align-items:center;gap:8px;flex:none}.files-count{font-size:var(--t-sm);color:var(--ui-muted);margin-right:4px;font-variant-numeric:tabular-nums}.danger-btn{color:var(--danger)}.danger-btn:hover{background:var(--danger-soft);color:var(--danger)}.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(238px,1fr));gap:20px;padding:4px 26px 40px;align-content:start}.file-card{border-radius:var(--r-lg);cursor:default;outline:none;transition:transform var(--dur-fast) var(--ease);user-select:none}.file-card:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.file-thumb{position:relative;height:150px;border-radius:var(--r-lg);border:1px solid var(--ui-border);background:var(--ui-panel);overflow:hidden;display:grid;place-items:center;transition:border-color var(--dur),box-shadow var(--dur)}.file-card:hover .file-thumb{border-color:var(--ui-border-strong);box-shadow:var(--e-2)}.file-card.sel .file-thumb{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft-2)}.file-card.drop .file-thumb{border-color:var(--accent);border-style:dashed;background:var(--accent-soft);box-shadow:0 0 0 3px var(--accent-soft-2)}.file-card.is-folder .file-thumb{background:var(--ui-panel-2)}.folder-visual{display:grid;place-items:center;gap:6px;color:var(--ui-faint);position:relative}.folder-peek{position:absolute;inset:0;display:grid;place-items:center;padding-top:10px}.folder-peek-tab{position:absolute;top:0;left:14px;width:54px;height:7px;border-radius:0 0 4px 4px;background:var(--ui-border-strong)}.folder-peek-row{display:flex;gap:7px;align-items:flex-end}.folder-peek-card{width:58px;height:78px;border-radius:var(--r-xs);border:1px solid var(--ui-border);background:var(--n-0);overflow:hidden;box-shadow:var(--e-1)}.folder-peek-card:nth-child(1){transform:rotate(-3deg)}.folder-peek-card:nth-child(3){transform:rotate(3deg)}.folder-peek-count{position:absolute;left:9px;bottom:8px;display:inline-flex;align-items:center;gap:4px;font-size:var(--t-xs);font-weight:600;color:var(--ui-muted);background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--r-pill);padding:2px 8px 2px 6px}.doc-empty-visual{display:grid;place-items:center;gap:8px;color:var(--ui-faint);font-size:var(--t-sm)}.doc-preview-empty{background:var(--ui-panel-2)}.file-foot{padding:9px 3px 0;display:flex;flex-direction:column;gap:2px;min-width:0}.file-name{font-size:var(--t-md);font-weight:600;color:var(--ui-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:var(--t-sm);color:var(--ui-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-rename{width:100%;font-size:var(--t-md);font-weight:600;padding:2px 5px;border-radius:var(--r-xs);border:1.5px solid var(--accent);background:var(--ui-panel);color:var(--ui-text);outline:none}.file-star{position:absolute;top:8px;right:8px;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--ui-panel);border:1px solid var(--ui-border);color:var(--ui-muted);opacity:0;transition:opacity var(--dur),color var(--dur)}.file-card:hover .file-star,.file-card.sel .file-star,.file-star.on{opacity:1}.file-star:hover,.file-star.on{color:var(--accent)}.file-list{padding:0 26px 40px}.file-list-head,.file-row{display:grid;grid-template-columns:26px 1fr 150px 130px 34px;align-items:center;gap:10px}.file-list-head{font-size:var(--t-xs);font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:var(--ui-muted);padding:0 10px 8px;border-bottom:1px solid var(--ui-border)}.file-row{height:44px;padding:0 10px;border-radius:var(--r-md);cursor:default;user-select:none;border-bottom:1px solid var(--ui-border);position:relative}.file-row:hover{background:var(--ui-hover)}.file-row.sel{background:var(--accent-soft)}.file-row.drop{background:var(--accent-soft-2);box-shadow:inset 0 0 0 1.5px var(--accent)}.file-row-icon{display:grid;place-items:center;color:var(--ui-muted)}.file-row-name{min-width:0;display:flex}.file-row-meta,.file-row-time{font-size:var(--t-sm);color:var(--ui-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-row .file-star{position:static;opacity:0;border:none;background:transparent}.file-row:hover .file-star,.file-row .file-star.on{opacity:1}.files-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ui-muted);padding:60px 20px 100px;text-align:center}.files-empty h3{margin:6px 0 0;font-size:17px;color:var(--ui-text);font-weight:700;letter-spacing:-.01em}.files-empty p{margin:0;font-size:var(--t-md);max-width:330px;line-height:1.6}.files-empty .btn{margin-top:10px}.files-empty-art{opacity:.85;margin-bottom:4px}.file-drag-chip{position:fixed;z-index:800;pointer-events:none;display:flex;align-items:center;gap:7px;padding:6px 11px;border-radius:var(--r-md);background:var(--ui-text);color:var(--ui-panel);font-size:var(--t-sm);font-weight:600;box-shadow:var(--e-4);max-width:240px;overflow:hidden;white-space:nowrap}.colour-row{display:flex;gap:6px;padding:4px 8px 8px}.colour-row button{width:20px;height:20px;border-radius:50%;border:2px solid transparent;box-shadow:0 0 0 1px var(--ui-border) inset}.colour-row button.on{border-color:var(--ui-text)}@media (max-width: 880px){.files-sidebar{display:none}.files-search{max-width:none}}body.landing-body{overflow-y:auto;background:var(--n-25)}:root[data-ui=dark] body.landing-body{background:var(--ui-bg)}.landing{min-height:100%;color:var(--ui-text)}.ln-wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}.ln-nav{position:sticky;top:0;z-index:50;padding:14px 0;transition:background var(--dur),border-color var(--dur),padding var(--dur);border-bottom:1px solid transparent}.ln-nav.stuck{background:color-mix(in srgb,var(--ui-panel) 86%,transparent);backdrop-filter:saturate(180%) blur(12px);border-bottom-color:var(--ui-border);padding:9px 0}.ln-nav-inner{display:flex;align-items:center;gap:28px}.ln-brand{text-decoration:none;flex:none}.ln-links{display:flex;gap:24px;margin-right:auto}.ln-links a{font-size:var(--t-md);font-weight:500;color:var(--ui-text-2);text-decoration:none;padding:4px 0;border-bottom:1.5px solid transparent}.ln-links a:hover{color:var(--ui-text);border-bottom-color:var(--accent)}.ln-nav-cta{display:flex;gap:8px;flex:none}.ln-nav-cta .btn{text-decoration:none}.ln-hero{padding:56px 0 84px;position:relative;overflow:hidden}.ln-hero:before{content:"";position:absolute;inset:-200px 0 auto;height:620px;background:radial-gradient(60% 60% at 62% 40%,var(--c-50),transparent 70%);pointer-events:none;z-index:0}:root[data-ui=dark] .ln-hero:before{background:radial-gradient(60% 60% at 62% 40%,rgba(240,118,74,.09),transparent 70%)}.ln-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;position:relative;z-index:1}.ln-pill{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 10px;border-radius:var(--r-pill);background:var(--ui-panel);border:1px solid var(--ui-border);font-size:var(--t-sm);font-weight:600;color:var(--ui-text-2);text-decoration:none;box-shadow:var(--e-1)}.ln-pill:hover{border-color:var(--accent-line);color:var(--accent)}.ln-hero h1{font-size:clamp(38px,5.1vw,62px);line-height:1.04;letter-spacing:-.035em;margin:20px 0 0;font-weight:800}.ln-hand{font-family:var(--font-marker);color:var(--accent);letter-spacing:-.01em;font-weight:400;position:relative;white-space:nowrap}.ln-hand:after{content:"";position:absolute;left:-2%;right:-2%;bottom:.03em;height:.09em;background:var(--accent);opacity:.32;border-radius:2px}.ln-sub{font-size:17px;line-height:1.62;color:var(--ui-text-2);margin:20px 0 0;max-width:44ch}.ln-cta{display:flex;gap:11px;margin-top:28px;flex-wrap:wrap}.btn.lg{height:46px;padding:0 20px;font-size:var(--t-lg);border-radius:var(--r-md);font-weight:600}.ln-cta a.btn{text-decoration:none}.ln-note{font-size:var(--t-sm);color:var(--ui-muted);margin:14px 0 0}.ln-hero-art{position:relative;height:430px;pointer-events:none}.ln-art-desktop{position:absolute;top:18px;left:0;width:560px;max-width:100%;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--ui-border);background:var(--n-0);box-shadow:var(--e-4);transform:rotate(-1.1deg)}.ln-art-phone{position:absolute;right:6px;bottom:0;width:172px;border-radius:22px;overflow:hidden;border:1px solid var(--ui-border);background:var(--n-0);box-shadow:var(--e-5);transform:rotate(2.4deg)}.ln-art-note{position:absolute;left:-20px;bottom:40px;transform:rotate(-4deg)}.ln-sticky{--sticky-bg: #ffe98a;--sticky-fold: #e5ca5c;background:linear-gradient(-135deg,transparent 0 13px,var(--sticky-bg) 13px) top right / 100% 100% no-repeat;color:#40371d;font-family:var(--font-marker);font-size:14px;padding:13px 15px;width:158px;line-height:1.3;position:relative;filter:drop-shadow(3px 4px 3px rgba(31,29,26,.24))}.ln-sticky:after{content:"";position:absolute;top:0;right:0;width:13px;height:13px;background:var(--sticky-fold);clip-path:polygon(0 0,100% 100%,0 100%)}.ln-section{padding:84px 0;position:relative}.ln-section.alt{background:var(--ui-panel);border-top:1px solid var(--ui-border);border-bottom:1px solid var(--ui-border)}.ln-eyebrow{font-size:var(--t-sm);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 12px}.ln-h2{font-size:clamp(27px,3.3vw,38px);line-height:1.16;letter-spacing:-.028em;font-weight:800;margin:0;max-width:20ch}.ln-lead{font-size:16px;line-height:1.65;color:var(--ui-text-2);margin:16px 0 0;max-width:64ch}.reveal{opacity:0;transform:translateY(16px);transition:opacity .5s var(--ease),transform .5s var(--ease)}.reveal.in{opacity:1;transform:none}.ln-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:20px;margin-top:36px}.ln-card{background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--r-lg);padding:22px;transition:border-color var(--dur),transform var(--dur),box-shadow var(--dur)}.ln-section.alt .ln-card{background:var(--ui-panel-2)}.ln-card:hover{border-color:var(--accent-line);transform:translateY(-2px);box-shadow:var(--e-3)}.ln-card-icon{width:40px;height:40px;border-radius:var(--r-md);display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);margin-bottom:14px}.ln-card h3{font-size:16px;font-weight:700;letter-spacing:-.015em;margin:0 0 8px}.ln-card p{font-size:var(--t-md);line-height:1.62;color:var(--ui-text-2);margin:0}.ln-good,.ln-gap{display:flex;gap:8px;align-items:flex-start;margin-top:10px!important}.ln-good svg{color:var(--good);flex:none;margin-top:2px}.ln-gap svg{color:var(--ui-faint);flex:none;margin-top:2px}.ln-steps{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;margin-top:36px;align-items:center}.ln-step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ln-step-list button{display:flex;gap:14px;align-items:flex-start;width:100%;text-align:left;padding:14px 16px;border-radius:var(--r-lg);border:1px solid transparent;transition:all var(--dur)}.ln-step-list button:hover{background:var(--ui-hover)}.ln-step-list button.on{background:var(--ui-panel);border-color:var(--accent-line);box-shadow:var(--e-2)}.ln-section.alt .ln-step-list button.on{background:var(--ui-panel-2)}.ln-step-key{flex:none;min-width:40px;height:28px;padding:0 9px;border-radius:var(--r-sm);background:var(--ui-text);color:var(--ui-panel);font-size:var(--t-sm);font-weight:700;display:grid;place-items:center;font-variant-numeric:tabular-nums}.ln-step-list button.on .ln-step-key{background:var(--accent);color:#fff}.ln-step-body strong{display:block;font-size:var(--t-lg);letter-spacing:-.012em}.ln-step-body em{display:block;font-style:normal;font-size:var(--t-md);line-height:1.55;color:var(--ui-text-2);margin-top:3px}.ln-step-stage{display:grid;place-items:center;min-height:330px;border-radius:var(--r-xl);background:var(--ui-bg);border:1px solid var(--ui-border);padding:26px}.ln-step-frame{animation:stepIn .4s var(--ease);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--e-3);background:#fff}@keyframes stepIn{0%{opacity:0;transform:scale(.96) translateY(8px)}}.ln-marquee{overflow:hidden;margin-top:30px;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.ln-marquee-track{display:flex;gap:16px;width:max-content;animation:slide 62s linear infinite}.ln-marquee.rev .ln-marquee-track{animation-direction:reverse}.ln-marquee:hover .ln-marquee-track{animation-play-state:paused}@keyframes slide{to{transform:translate(-50%)}}.ln-chip{flex:none;width:166px;border:1px solid var(--ui-border);border-radius:var(--r-md);background:var(--ui-panel);overflow:hidden;display:flex;flex-direction:column;align-items:center}.ln-chip span{font-size:var(--t-xs);font-weight:600;color:var(--ui-muted);padding:7px 8px;border-top:1px solid var(--ui-border);width:100%;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ln-cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:30px}.ln-cat{font-size:var(--t-sm);font-weight:600;color:var(--ui-text-2);background:var(--ui-panel);border:1px solid var(--ui-border);border-radius:var(--r-pill);padding:5px 12px}.ln-cat b{color:var(--accent);margin-left:3px}.ln-facts{margin-top:34px;background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--r-xl);padding:26px 28px}.ln-facts h3{margin:0 0 16px;font-size:15px;font-weight:700;letter-spacing:-.01em}.ln-facts ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:11px 26px}.ln-facts li{display:flex;gap:10px;align-items:flex-start;font-size:var(--t-md);line-height:1.55;color:var(--ui-text-2)}.ln-facts svg{color:var(--good);flex:none;margin-top:1px}.ln-oss{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:44px;align-items:center}.ln-code{margin:0;background:var(--n-900);color:#e9e4db;border-radius:var(--r-lg);padding:22px;font-family:var(--font-mono);font-size:12.5px;line-height:1.65;overflow-x:auto;box-shadow:var(--e-4)}.ln-oss .ln-cta a{text-decoration:none}.ln-closer{padding:96px 0;text-align:center;background:var(--ui-panel);border-top:1px solid var(--ui-border)}.ln-closer h2{font-size:clamp(25px,3.4vw,38px);letter-spacing:-.03em;font-weight:800;margin:18px auto 26px;max-width:17ch;line-height:1.16}.ln-footer{padding:52px 0 26px;border-top:1px solid var(--ui-border);background:var(--ui-bg)}.ln-footer-inner{display:flex;justify-content:space-between;gap:40px;flex-wrap:wrap}.ln-footer-inner>div:first-child p{font-size:var(--t-md);color:var(--ui-muted);margin:12px 0 0;max-width:30ch}.ln-footer-cols{display:flex;gap:56px;flex-wrap:wrap}.ln-footer-cols h4{font-size:var(--t-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--ui-muted);margin:0 0 12px}.ln-footer-cols a,.ln-footer-note{display:block;font-size:var(--t-md);color:var(--ui-text-2);text-decoration:none;margin-bottom:8px}.ln-footer-cols a:hover{color:var(--accent)}.ln-footer-note{color:var(--ui-faint)}.ln-footer-base{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:20px;border-top:1px solid var(--ui-border);font-size:var(--t-sm);color:var(--ui-faint);flex-wrap:wrap}@media (max-width: 1020px){.ln-hero-inner,.ln-steps,.ln-oss{grid-template-columns:1fr}.ln-hero-art{height:380px}.ln-art-desktop{width:100%}.ln-links{display:none}}@media (max-width: 620px){.ln-wrap{width:calc(100% - 32px)}.ln-hero-art{display:none}.ln-section{padding:56px 0}}
