:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3e5c2;--panel:#fff5dcd9;--panel-strong:#fffaeef7;--ink:#2a1a06;--ink-soft:#5c3b1a;--ink-faint:#2a1a0675;--line:#5c3b1a24;--line-strong:#5c3b1a42;--accent:#c49235;--accent-dark:#9a7218;--accent-soft:#c4923524;--accent-glow:#c492354d;--success:#2e6c57;--success-soft:#2e6c571f;--danger:#8f3f3f;--danger-soft:#8f3f3f1a;--shadow-xs:0 1px 3px #28140514, 0 1px 2px #2814050d;--shadow-sm:0 4px 12px #28140517, 0 2px 4px #2814050f;--shadow-md:0 10px 28px #2814051c, 0 4px 10px #28140512;--shadow-lg:0 18px 56px #28140521, 0 8px 20px #28140514;--shadow-xl:0 32px 80px #2814052e, 0 14px 32px #2814051a;--shadow:var(--shadow-lg);--radius-xl:26px;--radius-lg:20px;--radius-md:16px;--radius-sm:12px;--radius-xs:8px;--font-zh-hant:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", sans-serif;--font-zh-hans:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-en:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-ui:var(--font-zh-hant);--font-heading:var(--font-ui);--font-body:var(--font-ui);--font-calligraphy:var(--font-ui);--font-kai:var(--font-ui);--font-mono:"JetBrains Mono", "Fira Code", ui-monospace, monospace;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.45, 0, .55, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.14s;--dur-base:.22s;--dur-slow:.38s;--dur-page:.48s;--z-base:0;--z-raised:10;--z-overlay:100;--z-modal:200;--z-toast:300;--panel-gap:1rem}*{box-sizing:border-box}html,body,#root{min-height:100%}:lang(zh-Hant),:lang(zh-TW){--font-ui:var(--font-zh-hant);font-family:var(--font-zh-hant)}:lang(zh-Hans),:lang(zh-CN){--font-ui:var(--font-zh-hans);font-family:var(--font-zh-hans)}:lang(en){--font-ui:var(--font-en);font-family:var(--font-en)}body{font-family:var(--font-body);color:var(--ink);-webkit-tap-highlight-color:#2a1a0614;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.032'/%3E%3C/svg%3E"),radial-gradient(at 0 0,#c492352e,#0000 38%),radial-gradient(at 85% 5%,#5c3b1a14,#0000 28%),radial-gradient(at 20% 80%,#c492351f,#0000 32%),linear-gradient(170deg,#faf0da 0%,#f3e5c2 55%,#ebd9a8 100%);margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;white-space:nowrap}input,textarea,select{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:#ffffffe0;padding:.82rem .95rem}textarea{resize:vertical}label{color:var(--ink-soft);gap:.45rem;display:grid}label>span{font-size:.88rem;font-weight:700}h1,h2,h3{text-wrap:balance}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--accent);margin:0;font-size:.72rem}.primary-button,.secondary-button,.ghost-button,.link-button,.chip-button,.tab-button,.rail-link,.scope-row,.directory-result,.relative-chip{transition:transform var(--dur-base) var(--ease-out-expo), background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-base) var(--ease-out-expo), opacity var(--dur-fast) ease}.primary-button,.secondary-button,.ghost-button{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;min-height:2.6rem;padding:.72rem 1.1rem;font-weight:600;position:relative;overflow:hidden}.primary-button:after,.secondary-button:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;background:radial-gradient(circle,#ffffff47 0%,#0000 70%);transition:opacity .4s,transform .4s;position:absolute;inset:0;transform:scale(.4)}.primary-button:active:after,.secondary-button:active:after{opacity:1;transition:opacity .15s,transform .15s;transform:scale(2.2)}.primary-button{color:#fff8ef;background:linear-gradient(135deg,#c49235 0%,#9a7218 100%);box-shadow:0 2px 8px #9a721859,0 1px 2px #9a72182e}.primary-button:hover:not(:disabled){background:linear-gradient(135deg,#d4a840 0%,#b08822 100%);transform:translateY(-2px);box-shadow:0 6px 20px #9a72186b,0 2px 6px #9a721838}.primary-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #9a721847}.primary-button:disabled{opacity:.42;cursor:not-allowed;box-shadow:none;transform:none}.secondary-button{color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-xs);background:#ffffffad}.secondary-button:hover:not(:disabled){border-color:var(--line-strong);box-shadow:var(--shadow-sm);background:#ffffffe0;transform:translateY(-2px)}.secondary-button:active:not(:disabled){box-shadow:var(--shadow-xs);transform:translateY(0)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2.5px solid var(--accent);outline-offset:3px}.ghost-button,.link-button{color:var(--ink);background:0 0;border:0;padding:0}.link-button{text-align:left;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--accent-glow);text-decoration-color:var(--accent-glow);font-weight:700}.link-button:hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);color:var(--accent-dark)}.auth-shell{background:#1a0c03;grid-template-columns:1fr minmax(380px,480px);gap:0;min-height:100dvh;padding:0;display:grid}.splash-screen{text-align:center;color:#f7f1ea;min-height:100dvh;animation:splash-in var(--dur-slow) var(--ease-out-expo) both;background-color:#1a0c03;background-image:linear-gradient(#140a0280,#140a0280),url(/auth-bg.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;grid-template-columns:1fr;place-content:center;justify-items:center;gap:1.2rem;padding:3rem;display:grid}.splash-screen .eyebrow{animation:splash-in var(--dur-slow) var(--ease-out-expo) 50ms both}.splash-screen h1{animation:splash-in var(--dur-slow) var(--ease-out-expo) .12s both;font-size:clamp(2rem,4vw,3rem);font-family:var(--font-calligraphy);font-weight:600}.splash-screen>p:last-child{animation:splash-in var(--dur-slow) var(--ease-out-expo) .2s both;color:#f7f1eab8}.splash-screen:before{content:"";background:radial-gradient(circle,#c4923573 0%,#0000 70%);border-radius:50%;width:80px;height:80px;margin-bottom:-1rem;animation:2.2s ease-in-out infinite pulse-ring}@keyframes splash-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse-ring{0%,to{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.18)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slide-right{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes spinner{to{transform:rotate(360deg)}}.auth-card,.app-rail,.tree-panel,.dossier-panel,.directory-panel,.history-panel,.composer-panel,.draft-list-panel,.steward-section,.read-only-banner,.modal-card,.app-header,.page-hero,.controls-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:var(--panel);box-shadow:var(--shadow);border:1px solid #ffffff6b}.auth-hero{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;animation:fade-in var(--dur-slow) var(--ease-out-expo) both;background-color:#1a0c03;background-image:url(/auth-bg.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;border:none;border-radius:0;margin:0;padding:0;overflow:hidden}.auth-card{animation:fade-in var(--dur-slow) var(--ease-out-expo) 80ms both;background:#fff9ee;border:none;border-left:1px solid #c4923533;border-radius:0;flex-direction:column;justify-content:center;align-self:stretch;gap:1.25rem;margin:0;padding:3rem 2.5rem;display:flex;box-shadow:-12px 0 40px #28140533}.auth-hero h1,.auth-card h2,.page-hero h1,.tree-panel h2,.dossier-header h2,.app-brand h1{font-family:var(--font-heading);margin:0}.app-brand h1{font-size:clamp(1.85rem,2.4vw,2.55rem);line-height:1.05}.app-brand p:last-child{margin:0;font-size:.96rem;line-height:1.5}.auth-hero-list{flex-wrap:wrap;gap:.7rem;display:flex}.auth-hero-summary,.auth-hero-footer,.auth-heritage-card p,.auth-origin-pill{margin:0;line-height:1.7}.auth-hero-summary{color:#f7f1eae0;max-width:42rem;font-size:1rem}.auth-origin-pill{border-radius:var(--radius-lg);color:#f7f1eaeb;background:#ffffff14;border:1px solid #ffffff24;gap:.28rem;padding:.95rem 1rem;display:grid}.auth-origin-pill strong{color:#fff8ef;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.auth-hero-list span,.detail-badge,.legend-chip{background:#ffffff1a;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.35rem;padding:.45rem .8rem;display:inline-flex}.auth-heritage-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;display:grid}.auth-heritage-card{border-radius:var(--radius-lg);background:#ffffff14;border:1px solid #ffffff1f;gap:.55rem;padding:1rem 1.05rem;display:grid}.auth-heritage-card h2{font-family:var(--font-heading);color:#fff8ef;margin:0;font-size:1.05rem}.auth-heritage-card p{color:#f7f1ead6;font-size:.93rem}.auth-hero-footer{color:#f7f1eacc;border-top:1px solid #ffffff24;padding-top:1rem;font-size:.94rem}.auth-card-header,.page-hero-copy,.tree-panel-header,.dossier-header,.app-brand,.rail-summary,.header-copy{gap:.45rem;display:grid}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.section-head h2{margin:0;font-size:clamp(1rem,1.5vw,1.18rem)}.auth-form,.language-switch,.auth-step-actions,.controls-panel,.dossier-actions,.modal-actions{gap:.75rem;display:grid}.auth-step-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-card-note{border-radius:var(--radius-md);color:var(--ink-soft);background:#c492351a;border:1px solid #c4923538;margin:0;padding:.85rem .95rem;line-height:1.6}.language-switch-label{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);font-size:.74rem}.language-switch.is-compact{align-items:center;gap:.65rem;display:flex}.language-switch-buttons,.header-actions,.tree-toolbar-actions,.dossier-badges,.hero-badges,.tab-strip,.section-actions{flex-wrap:wrap;gap:.65rem;display:flex}.section-actions{flex-shrink:0;align-items:center}.section-actions select{width:auto;padding:.48rem .72rem}.language-switch.is-compact .language-switch-buttons{gap:.45rem}.language-switch.is-compact .chip-button{min-height:2.35rem;padding:.5rem .78rem}.app-shell{--sidebar-w:220px;grid-template-columns:var(--sidebar-w) minmax(0, 1fr);min-height:100vh;display:grid}.app-rail{color:#eff3f7;height:100vh;animation:slide-right var(--dur-slow) var(--ease-out-expo) both;background:radial-gradient(at 100% 100%,#c492353d,#0000 52%),linear-gradient(165deg,#1a0c03 0%,#2e1a07 60%,#3a2010 100%);border-right:1px solid #c492351f;border-radius:0 32px 32px 0;grid-template-rows:auto auto 1fr;gap:1.15rem;padding:1.2rem .95rem;display:grid;position:sticky;top:0}.rail-nav{gap:.38rem;display:grid}.rail-link{color:#eff3f7c7;border-radius:var(--radius-md);background:#ffffff08;border:1px solid #ffffff0f;align-items:center;gap:.6rem;padding:.72rem .9rem;font-size:.96rem;font-weight:600;text-decoration:none;display:flex}.rail-link:hover{color:#fff;background:#ffffff14;border-color:#ffffff1f}.rail-link.is-active{color:#fff8ef;box-shadow:inset 3px 0 0 var(--accent), 0 2px 10px #c4923533;background:#c4923542;border-color:#c4923580}.rail-summary{border-radius:var(--radius-lg);background:#ffffff0f;border:1px solid #ffffff14;align-self:end;padding:.85rem .9rem}.rail-summary-head{justify-content:space-between;align-items:center;gap:.6rem;display:flex}.rail-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .65rem;margin:0;display:grid}.rail-summary-grid .is-wide{grid-column:1/-1}.rail-summary h2{font-size:clamp(1.25rem,1.55vw,1.7rem)}.rail-summary dt{color:#eff3f79e;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.rail-summary dd{word-break:break-word;margin:.18rem 0 0;font-size:.94rem;line-height:1.35}.rail-summary-badge{color:#fff8ef;background:#ffffff1a;border-color:#ffffff29}.app-main{align-content:start;align-items:start;gap:.7rem;min-width:0;padding:.85rem 1rem 1.45rem;display:grid}.app-header,.page-hero,.controls-panel,.directory-panel,.history-panel,.composer-panel,.draft-list-panel,.tree-panel,.dossier-panel,.steward-section,.read-only-banner{border-radius:var(--radius-xl);padding:.92rem 1rem}.app-header{background:#fffbf5b8;justify-content:space-between;align-items:center;gap:.8rem;display:flex}.header-copy{gap:.3rem;min-width:0}.header-title-row{flex-wrap:wrap;align-items:center;gap:.55rem;display:flex}.header-copy h2{font-family:var(--font-heading);margin:0;font-size:clamp(1.5rem,2vw,1.95rem);line-height:1.04}.header-subtitle{color:var(--ink-soft);margin:0;font-size:.92rem}.header-meta{flex-wrap:wrap;gap:.45rem;display:flex}.header-actions{justify-content:flex-end;align-items:center;gap:.55rem}.header-logout-button{min-height:2.35rem;padding-inline:.9rem}.page-shell{align-content:start;gap:.75rem;display:grid}.page-hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:.85rem;display:grid}.page-hero.compact{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:.82rem .95rem}.page-hero.compact .page-hero-copy{gap:.22rem}.page-hero.compact h1{font-size:clamp(1.48rem,2vw,2.05rem)}.page-hero.compact .hero-badges{gap:.42rem}.page-hero.compact .page-hero-copy>p:last-of-type{color:var(--ink-soft);font-size:.98rem}.archive-person-name,.dossier-name{font-family:var(--font-kai)}.hero-stats{grid-template-columns:repeat(3,minmax(86px,auto));justify-content:end;gap:.5rem;display:grid}.hero-stats article{border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffff8f;gap:.12rem;padding:.58rem .72rem;display:grid}.hero-stats span{color:var(--ink-soft);font-size:.76rem}.hero-stats strong{font-variant-numeric:tabular-nums;font-size:1.08rem}.controls-panel{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end}.inline-toggle{cursor:pointer;align-items:flex-start;gap:.65rem;display:flex}.inline-toggle input[type=checkbox]{width:1.05rem;height:1.05rem;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin-top:.18rem}.archive-grid,.directory-grid,.requests-grid{grid-template-columns:minmax(0,1.9fr) minmax(308px,360px);align-items:start;gap:.82rem;display:grid}.requests-grid.secondary{grid-template-columns:repeat(3,minmax(0,1fr))}.tree-panel{gap:.65rem;min-width:0;display:grid}.tree-panel.is-fullscreen{z-index:var(--z-modal);overscroll-behavior:contain;background:linear-gradient(#faf0dafa,#f3e5c2fa);border-radius:0;flex-direction:column;align-items:stretch;width:auto;max-width:none;height:100dvh;min-height:100dvh;max-height:100dvh;margin:0;display:flex;position:fixed;inset:0;overflow:hidden}.tree-panel.is-fullscreen>.tree-fullscreen-toolbar,.tree-panel.is-fullscreen>.tree-orientation-tip{flex:none;min-width:0}.tree-panel.is-fullscreen>.tree-canvas-frame{flex:auto;height:auto;min-height:0}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-toolbar{min-width:0;display:block}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-toolbar-scroll{grid-template-columns:1fr;gap:.22rem;padding-bottom:0;display:grid;overflow-x:visible}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-toolbar-row{justify-content:space-between;gap:.24rem;min-width:0}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-depth{gap:.28rem;padding:.2rem .36rem}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-depth strong{min-width:1rem;font-size:.74rem}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-depth .tree-depth-slider{width:4.75rem;min-width:4.75rem}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-control-group{gap:.24rem}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-mode-group,.tree-panel.is-fullscreen.is-phone-fullscreen .tree-visibility-group,.tree-panel.is-fullscreen.is-phone-fullscreen .tree-toolbar-actions.is-compact{flex-wrap:nowrap}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-mode-group{min-width:0}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-mode-group .tab-button,.tree-panel.is-fullscreen.is-phone-fullscreen .tree-visibility-group .chip-button,.tree-panel.is-fullscreen.is-phone-fullscreen .tree-toolbar-actions.is-compact .secondary-button,.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-close-button{min-height:1.8rem;padding:.18rem .5rem;font-size:.78rem;line-height:1}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-toolbar-actions.is-compact{grid-template-columns:none;gap:.24rem;width:auto;display:flex}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-fullscreen-close-button{min-width:2.8rem}.tree-panel.is-fullscreen.is-phone-fullscreen .tree-canvas-frame{touch-action:pan-y;flex:auto;height:auto;min-height:0}.tree-panel.is-fullscreen.is-compact-fullscreen{padding:.24rem .3rem .3rem;padding-top:max(.24rem, env(safe-area-inset-top));padding-bottom:max(.3rem, env(safe-area-inset-bottom));gap:.24rem}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact,.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-toolbar-row.is-primary,.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-toolbar-row.is-secondary{gap:.28rem}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-mode-group{gap:.2rem}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-mode-group .tab-button,.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-visibility-group .chip-button,.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-close-button,.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-more-button{min-height:1.95rem;padding:.18rem .46rem;font-size:.74rem;line-height:1.05}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-close-button,.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-more-button{min-width:2.5rem}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth{gap:.24rem;padding:.16rem .36rem}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth strong{min-width:.95rem;font-size:.74rem}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth .tree-depth-slider{width:100%}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-visibility-group{gap:.2rem}.tree-panel.is-fullscreen.is-compact-fullscreen .tree-fullscreen-more-menu{width:min(13rem,100vw - 1rem)}.tree-canvas-frame{border-radius:var(--radius-lg);border:1px solid var(--line);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(#fffcf0c7,#f3e5c2e0),radial-gradient(circle,#c492351f,#0000 34%);align-items:flex-start;height:clamp(510px,65vh,760px);min-height:510px;display:flex;overflow:auto}.tree-canvas-frame.is-panning{cursor:grabbing}.tree-canvas-scale{flex-shrink:0;margin-inline:auto;position:relative}.tree-canvas{display:block}.tree-link{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.tree-link.is-lineage{stroke:#5c3b1a47;stroke-width:2.1px}.tree-link.is-sibling{stroke:#5c3b1a38;stroke-dasharray:4 7;stroke-width:1.9px}.tree-link.is-spouse{stroke:#c492356b;stroke-dasharray:6 9;stroke-width:2px}.tree-node{cursor:pointer;touch-action:manipulation;transition:translate var(--dur-fast) var(--ease-out-expo)}.tree-node:hover{translate:0 -2px}.tree-node-card{fill:#fffcf0f0;stroke:#5c3b1a24;stroke-width:1.2px;transition:fill var(--dur-fast) ease, stroke var(--dur-fast) ease, filter var(--dur-fast) ease}.tree-node:hover .tree-node-card{filter:drop-shadow(0 4px 10px #2814052e);stroke-width:1.6px;stroke:#c492356b}.tree-node.is-focus .tree-node-card{fill:#2a1a06e6;stroke:#c492358c}.tree-node.is-descendant .tree-node-card{fill:#fff8eff5}.tree-node.is-spouse .tree-node-card{fill:#fdf5e4f5;stroke:#c492355c}.tree-node.is-sibling .tree-node-card{fill:#f8f2e6f5;stroke:#5c3b1a33}.tree-node.is-selected .tree-node-card{stroke:var(--accent);stroke-width:2.5px}.tree-node-kicker,.tree-node-subtitle,.tree-node-name{pointer-events:none;font-family:var(--font-body)}.tree-node-kicker{letter-spacing:.01em;fill:#2a1a06bd;font-size:11px;font-weight:700}.tree-node-name{fill:var(--ink);font-size:15px;font-weight:800}.tree-node-subtitle{fill:var(--ink-soft);font-size:12.5px}.tree-node.is-focus .tree-node-kicker,.tree-node.is-focus .tree-node-name,.tree-node.is-focus .tree-node-subtitle{fill:#fffaf2}.tree-node.is-ancestor .tree-node-name,.tree-node.is-descendant .tree-node-name{font-size:14px}.tree-node.is-spouse .tree-node-name,.tree-node.is-sibling .tree-node-name{font-size:13px}.tree-node.is-spouse .tree-node-subtitle,.tree-node.is-sibling .tree-node-subtitle,.tree-node.is-ancestor .tree-node-subtitle,.tree-node.is-descendant .tree-node-subtitle{font-size:11.5px}.tree-node.is-spouse .tree-node-kicker,.tree-node.is-sibling .tree-node-kicker,.tree-node.is-ancestor .tree-node-kicker,.tree-node.is-descendant .tree-node-kicker{font-size:10px}.tree-header-copy{min-width:0}.tree-panel-header-compact{gap:.2rem}.tree-header-copy h2{font-size:clamp(1.8rem,2.3vw,2.5rem)}.tree-header-note{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.55rem;max-width:38rem;margin:0;font-size:.96rem;display:flex}.tree-header-note strong{color:var(--ink);font-weight:700}.tree-quickstart{border-radius:var(--radius-lg);background:radial-gradient(at 100%,#c4923529,#0000 52%),#fff9eee0;border:1px solid #c492353d;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.82rem .9rem;display:grid}.tree-quickstart-copy{gap:.24rem;min-width:0;display:grid}.tree-quickstart-copy h3,.tree-guide-modal h2{font-family:var(--font-heading);margin:0}.tree-quickstart-copy h3{font-size:1rem}.tree-quickstart-copy p:last-child{color:var(--ink-soft);margin:0;font-size:.9rem;line-height:1.58}.tree-quickstart-actions,.tree-guide-actions{flex-wrap:wrap;gap:.65rem;display:flex}.tree-quickstart-actions{justify-content:flex-end}.tree-toolbar{border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffff7a;gap:.55rem;padding:.7rem .8rem;display:grid}.tree-toolbar-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;display:flex}.tree-toolbar-row.is-secondary{border-top:1px solid #5c3b1a1a;padding-top:.2rem}.tree-control-group{flex-wrap:wrap;align-items:center;gap:.45rem;display:flex}.tree-mode-group .tab-button{color:var(--ink);background:#ffffffd1;border-color:#5c3b1a1a}.tree-mode-group .tab-button.is-active{background:var(--ink);color:#fffaf2;border-color:var(--ink)}.tree-visibility-group .chip-button{background:#f6f0e8f2}.tree-visibility-group .chip-button.is-active{color:var(--ink);background:#c492352e;border-color:#c4923566}.tree-depth-group{color:var(--ink-soft);grid-template-columns:auto minmax(140px,180px) auto;align-items:center;gap:.6rem;display:grid}.tree-depth-group span{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:700}.tree-depth-group strong,.tree-zoom-badge{font-variant-numeric:tabular-nums}.tree-depth-slider{background:0 0;border:0;width:100%;padding:0}.tree-utility-row{margin-right:auto}.tree-hint{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.45rem;margin:0;font-size:.87rem;display:flex}.tree-zoom-badge{min-width:3.1rem;color:var(--ink);background:#5c3b1a17;border-radius:999px;justify-content:center;align-items:center;padding:.24rem .52rem;font-weight:700;display:inline-flex}.tree-toolbar-actions .secondary-button{min-height:2.4rem;padding-inline:.85rem}.tree-orientation-tip{border-radius:var(--radius-md);background:#c492351f;border:1px solid #c492353d;gap:.2rem;padding:.72rem .82rem;display:grid}.tree-orientation-tip strong{color:var(--ink);font-size:.9rem}.tree-orientation-tip span{color:var(--ink-soft);font-size:.86rem;line-height:1.58}.tree-fullscreen-toolbar{min-width:0;display:none}.tree-fullscreen-toolbar-scroll{grid-template-columns:1fr;align-items:stretch;gap:.45rem;display:grid}.tree-fullscreen-toolbar-scroll::-webkit-scrollbar{display:none}.tree-fullscreen-toolbar-row,.tree-fullscreen-depth{flex-wrap:nowrap;flex:none;align-items:center;gap:.4rem;display:flex}.tree-fullscreen-depth{border:1px solid var(--line);background:#ffffffc7;border-radius:999px;padding:.34rem .52rem}.tree-fullscreen-depth strong{text-align:right;min-width:1.2rem;color:var(--ink);font-variant-numeric:tabular-nums;font-size:.84rem}.tree-fullscreen-depth .tree-depth-slider{width:7rem;min-width:7rem}.tree-fullscreen-toolbar .tree-mode-group{flex:auto;min-width:0}.tree-fullscreen-toolbar .tree-fullscreen-toolbar-row.is-primary .tree-fullscreen-depth{flex:0 15rem}.tree-fullscreen-toolbar .tree-control-group,.tree-fullscreen-toolbar .tree-toolbar-actions{flex-wrap:wrap;flex:none}.tree-fullscreen-toolbar .tree-toolbar-actions{justify-content:flex-end;gap:.35rem;display:flex}.tree-fullscreen-toolbar.is-mobile-compact{gap:.32rem;display:grid;position:relative}.tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-toolbar-row.is-primary{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:.32rem;display:grid}.tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-toolbar-row.is-secondary{flex-wrap:nowrap;align-items:center;gap:.32rem;display:flex}.tree-fullscreen-toolbar.is-mobile-compact .tree-mode-group{grid-template-columns:repeat(3,minmax(0,1fr));gap:.24rem;display:grid}.tree-fullscreen-toolbar.is-mobile-compact .tree-mode-group .tab-button{white-space:normal;text-wrap:balance;min-width:0}.tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth{flex:1 1 0;min-width:0}.tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth .tree-depth-slider{width:100%;min-width:0}.tree-fullscreen-toolbar.is-mobile-compact .tree-visibility-group,.tree-fullscreen-close-button{flex:none}.tree-fullscreen-more{flex:none;position:relative}.tree-fullscreen-more-button{min-width:2.5rem;padding-inline:.7rem}.tree-fullscreen-more-menu{border-radius:var(--radius-md);border:1px solid var(--line);width:min(14rem,100vw - 1rem);box-shadow:var(--shadow-md);z-index:1;background:#fffaeefa;gap:.28rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.tree-fullscreen-more-menu .secondary-button{justify-content:flex-start;width:100%;display:flex}.tree-guide-modal{width:min(100%,640px);max-width:640px}.tree-guide-list{gap:.65rem;margin:0;padding-left:1.35rem;display:grid}.tree-guide-list li{color:var(--ink);line-height:1.7}.tree-guide-note{border-radius:var(--radius-md);color:var(--ink-soft);background:#c492351a;border:1px solid #c492352e;margin:0;padding:.85rem .95rem;line-height:1.6}.dossier-panel,.history-panel,.composer-panel,.draft-list-panel,.directory-panel,.steward-section{align-content:start;gap:.8rem;display:grid}.dossier-panel{align-self:start;position:sticky;top:1rem}.detail-badge{color:var(--ink);border:1px solid var(--line);background:#5c3b1a17;padding:.35rem .62rem;font-size:.82rem}.detail-badge.is-highlight{background:var(--accent-soft);color:var(--accent)}.dossier-life{color:var(--ink);margin:0;font-size:.98rem}.dossier-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:0;display:grid}.dossier-meta-grid .is-wide{grid-column:1/-1}.dossier-meta-grid>div{border-radius:var(--radius-md);background:#ffffff80;border:1px solid #5c3b1a1a;padding:.68rem .75rem}.dossier-meta-grid dt{text-transform:uppercase;letter-spacing:.14em;color:var(--ink-soft);font-size:.72rem}.dossier-meta-grid dd{font-variant-numeric:tabular-nums;margin:.28rem 0 0;font-size:.94rem}.dossier-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.dossier-actions .primary-button,.dossier-actions .secondary-button{min-height:2.5rem}.dossier-section h3{margin:0;font-size:1rem}.dossier-section,.directory-results,.scope-results,.ledger-list,.draft-card-list,.table-list{gap:.7rem;display:grid}.relative-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.relative-chip,.scope-row,.directory-result,.table-row{border:1px solid var(--line);border-radius:var(--radius-md);text-align:left;background:#ffffff9e;padding:.68rem .78rem}.relative-chip,.scope-row,.directory-result{gap:.28rem;display:grid}.relative-chip span,.scope-row span,.directory-result span{font-weight:700}.relative-chip small,.scope-row small,.directory-result small{color:var(--ink-soft);font-size:.78rem;line-height:1.35}.relative-chip.is-active,.directory-result.is-active{border-color:var(--accent);background:#c4923524}.scope-row,.directory-result{width:100%}.draft-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffff9e;gap:.8rem;padding:1rem;display:grid}.draft-card header,.ledger-item header,.review-card header,.table-row{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.ledger-item,.review-card{border-radius:var(--radius-lg);border:1px solid var(--line);background:#ffffff9e;gap:.75rem;padding:1rem;display:grid}.review-actions,.directory-actions{flex-wrap:wrap;gap:.65rem;display:flex}.table-row{align-items:center}.read-only-banner{background:#c492351a}.steward-controls{grid-template-columns:minmax(0,1fr) auto}.steward-binding-card{gap:.9rem}.binding-form-grid,.binding-meta-grid{gap:.75rem;display:grid}.binding-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.binding-meta-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:0}.binding-meta-grid>div{border-radius:var(--radius-md);border:1px solid var(--line);background:#ffffff7a;gap:.24rem;padding:.72rem .8rem;display:grid}.binding-meta-grid dt{color:var(--ink-soft);font-size:.76rem;font-weight:700}.binding-meta-grid dd{color:var(--ink);word-break:break-word;margin:0;font-weight:600}.steward-binding-note{color:var(--ink-soft);margin:0;font-size:.84rem}.empty-text{color:var(--ink-soft);margin:0}@media (width<=980px){.binding-form-grid,.binding-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.binding-form-grid,.binding-meta-grid{grid-template-columns:1fr}}.empty-state{text-align:center;color:var(--ink-soft);place-items:center;gap:.8rem;padding:3rem 1rem;display:grid}.empty-state-icon{background:var(--accent-soft);width:52px;height:52px;color:var(--accent);border-radius:50%;place-items:center;font-size:1.5rem;display:grid}.empty-state-title{font-family:var(--font-heading);color:var(--ink);margin:0;font-size:1.1rem}.empty-state-hint{max-width:28ch;margin:0;font-size:.9rem;line-height:1.55}.skeleton{border-radius:var(--radius-sm);background:linear-gradient(90deg,#5c3b1a0f 25%,#5c3b1a1f 50%,#5c3b1a0f 75%) 0 0/400px 100%;animation:1.4s ease-in-out infinite shimmer}.skeleton-text{border-radius:4px;height:1em}.skeleton-title{border-radius:6px;width:60%;height:1.6em}.skeleton-block{border-radius:var(--radius-md);height:80px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:var(--z-modal);animation:fade-in var(--dur-base) ease both;background:#140a037a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.modal-card{background:var(--panel-strong);width:min(100%,560px);max-width:560px;box-shadow:var(--shadow-xl);animation:scale-in var(--dur-base) var(--ease-spring) both;border-radius:30px;gap:1rem;padding:1.75rem;display:grid}.read-only-banner{border-left:3px solid var(--accent);animation:fade-up var(--dur-base) var(--ease-out-expo) both;background:linear-gradient(135deg,#c492351f,#c492350f)}.draft-card,.ledger-item,.review-card{transition:transform var(--dur-base) var(--ease-out-expo), box-shadow var(--dur-base) var(--ease-out-expo), border-color var(--dur-fast) ease}.draft-card:hover,.ledger-item:hover,.review-card:hover{box-shadow:var(--shadow-sm);border-color:var(--line-strong);transform:translateY(-2px)}.relative-chip,.scope-row,.directory-result{transition:transform var(--dur-base) var(--ease-out-expo), background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, box-shadow var(--dur-base) var(--ease-out-expo)}.relative-chip:hover,.directory-result:hover{border-color:var(--line-strong);box-shadow:var(--shadow-xs);background:#ffffffdb;transform:translateY(-1px)}.tree-canvas-frame{transition:box-shadow var(--dur-base) ease}.tree-canvas-frame:focus-within{box-shadow:0 0 0 3px var(--accent-glow), var(--shadow-md)}input,textarea,select{transition:border-color var(--dur-fast) ease, box-shadow var(--dur-fast) ease, background-color var(--dur-fast) ease}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fffffff5;outline:none}.page-shell>*{animation:fade-up var(--dur-slow) var(--ease-out-expo) both}.page-shell>:first-child{animation-delay:40ms}.page-shell>:nth-child(2){animation-delay:.1s}.page-shell>:nth-child(3){animation-delay:.16s}.page-shell>:nth-child(4){animation-delay:.22s}.app-main{animation:fade-in var(--dur-slow) var(--ease-out-expo) 80ms both}.chip-button,.tab-button{border:1px solid var(--line);color:var(--ink-soft);min-height:1.9rem;transition:transform var(--dur-base) var(--ease-out-expo), background-color var(--dur-fast) ease, border-color var(--dur-fast) ease, color var(--dur-fast) ease, box-shadow var(--dur-base) var(--ease-out-expo);background:#ffffffb3;border-radius:999px;padding:.38rem .78rem;font-size:.875rem}.chip-button:hover,.tab-button:hover{border-color:var(--line-strong);box-shadow:var(--shadow-xs);background:#ffffffe6}.chip-button.is-active,.tab-button.is-active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:0 2px 8px #2a1a0638}.inline-message{border-radius:var(--radius-sm);border:1px solid var(--line);animation:fade-up var(--dur-base) var(--ease-out-expo) both;margin:0;padding:.95rem 1.05rem}.inline-message.is-error{background:var(--danger-soft);color:var(--danger);border-color:#8f3f3f33}.inline-message.is-success{background:var(--success-soft);color:var(--success);border-color:#2e6c5733}@keyframes typing-dot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.heritage-banner{border-radius:var(--radius-xl);box-shadow:var(--shadow-md);color:#f7f1ea;background:radial-gradient(at 100% 100%,#c4923529,#0000 55%),linear-gradient(148deg,#2a1a06f0 0%,#3c240ae6 100%);border:1px solid #c492353d;overflow:hidden}.heritage-banner-top{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.3rem;display:flex}.heritage-banner-origin-block{gap:.2rem;min-width:0;display:grid}.heritage-banner-origin-label{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.72rem}.heritage-banner-origin-value{color:#f7f1eae0;margin:0;font-size:.9rem;line-height:1.5}.heritage-expand-btn{color:#f7f1eab8;letter-spacing:.04em;cursor:pointer;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease;white-space:nowrap;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;flex-shrink:0;padding:.35rem .75rem;font-size:.82rem;font-weight:600}.heritage-expand-btn:hover{color:#fff8ef;background:#ffffff24}.heritage-banner-detail{gap:1rem;padding:0 1.3rem 1.3rem;display:grid;overflow:hidden}.heritage-banner-summary{color:#f7f1ead1;border-top:1px solid #ffffff1a;margin:0;padding-top:.2rem;font-size:.93rem;line-height:1.68}.heritage-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.heritage-banner-card{border-radius:var(--radius-md);background:#ffffff0f;border:1px solid #ffffff1a;gap:.4rem;padding:.85rem 1rem;display:grid}.heritage-banner-card h3{font-family:var(--font-heading);color:#fff8ef;margin:0;font-size:.95rem}.heritage-banner-card p{color:#f7f1eac7;margin:0;font-size:.86rem;line-height:1.62}.heritage-banner-footer{color:#f7f1ea9e;border-top:1px solid #ffffff14;margin:0;padding-top:.5rem;font-size:.86rem;line-height:1.6}@media (width<=860px){.heritage-banner-grid{grid-template-columns:1fr}.heritage-banner-top{flex-direction:column;gap:.75rem}}@media (width>=1280px){.app-shell:not(.sidebar-collapsed){--sidebar-w:240px}.archive-grid,.directory-grid{grid-template-columns:minmax(0,2fr) minmax(320px,380px)}}@media (width>=1920px){.app-shell:not(.sidebar-collapsed){--sidebar-w:260px}.app-main{padding:1.1rem 2rem 2rem}}@media (width<=1180px){.archive-grid,.directory-grid,.requests-grid,.requests-grid.secondary,.page-hero,.controls-panel,.steward-controls{grid-template-columns:1fr}.dossier-panel{position:static}.page-hero.compact{grid-template-columns:1fr}}@media (width<=860px){.auth-shell{grid-template-rows:auto 1fr;grid-template-columns:1fr;min-height:100dvh}.auth-hero{background-position:54%;min-height:45dvh}.auth-card{border-top:1px solid #c4923533;border-left:none;justify-content:flex-start;align-self:auto;padding:2rem 1.5rem;box-shadow:0 -10px 36px #2814052e}.auth-heritage-grid{grid-template-columns:1fr}.app-main,.app-rail{padding:1.15rem}.app-header,.tree-panel-header,.draft-card header,.ledger-item header,.review-card header,.table-row{flex-direction:column}.header-title-row,.language-switch.is-compact{width:100%}.header-actions{justify-content:space-between;width:100%}.tree-canvas-frame{height:min(52vh,480px);min-height:340px}.tree-toolbar-row,.tree-toolbar-row.is-secondary{flex-direction:column;align-items:stretch}.tree-depth-group{grid-template-columns:1fr auto}.tree-depth-group>input{grid-area:2/1/auto/-1}.tree-depth-group>strong{text-align:right;grid-row:1}.dossier-actions,.relative-list{grid-template-columns:1fr}.tree-toolbar-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.tree-toolbar-actions .secondary-button{flex:none;min-height:2.5rem}.tree-quickstart{grid-template-columns:1fr;align-items:start}.tree-quickstart-actions{justify-content:flex-start}}@media (width<=768px){.app-rail{height:auto;z-index:var(--z-overlay);padding:.5rem .6rem calc(.5rem + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-top:1px solid #ffffff1a;border-right:none;border-radius:20px 20px 0 0;grid-template-rows:auto;gap:0;animation:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 32px #1e0f0342}.app-brand,.rail-summary{display:none}.rail-nav{justify-content:space-around;gap:.3rem;display:flex}.rail-link{border-radius:var(--radius-sm);letter-spacing:.01em;text-align:center;white-space:nowrap;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.25rem;min-height:52px;padding:.5rem .4rem;font-size:.72rem;font-weight:600}.rail-link.is-active{box-shadow:none;background:#c4923542}.app-shell{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.app-main{padding:.75rem .75rem 1rem}.page-hero,.page-hero.compact{padding:.82rem .9rem}.tree-canvas-frame{touch-action:pan-y;height:min(42vh,360px);min-height:260px}.tree-utility-row{display:none}.tree-toolbar{gap:.4rem;padding:.55rem .65rem}.tree-quickstart{padding:.72rem .78rem}.tree-quickstart-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.tree-quickstart-actions .primary-button,.tree-quickstart-actions .secondary-button{width:100%}.controls-panel{grid-template-columns:repeat(2,minmax(0,1fr));padding:.72rem .82rem}.steward-controls{grid-template-columns:1fr}.directory-detail-stack{margin-top:.5rem}.requests-grid,.requests-grid.secondary{grid-template-columns:1fr}.table-row{flex-wrap:wrap;gap:.4rem}.modal-card{border-radius:24px;padding:1.25rem}.tree-guide-modal{max-height:calc(100dvh - 2rem);overflow:auto}.tree-panel.is-fullscreen{height:100dvh;min-height:100dvh;max-height:100dvh;padding:.22rem .28rem .28rem;padding-top:max(.22rem, env(safe-area-inset-top));padding-bottom:max(.28rem, env(safe-area-inset-bottom));border-radius:0;flex-direction:column;gap:.2rem;display:flex}.tree-panel.is-fullscreen .tree-panel-header,.tree-panel.is-fullscreen .tree-toolbar{display:none}.tree-panel.is-fullscreen .tree-fullscreen-toolbar{min-width:0;display:block}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-scroll{grid-template-columns:1fr;gap:.22rem;padding-bottom:0;display:grid;overflow-x:visible}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-row{justify-content:space-between;gap:.24rem;min-width:0}.tree-panel.is-fullscreen .tree-fullscreen-depth{gap:.28rem;padding:.2rem .36rem}.tree-panel.is-fullscreen .tree-fullscreen-depth strong{min-width:1rem;font-size:.74rem}.tree-panel.is-fullscreen .tree-fullscreen-depth .tree-depth-slider{width:4.75rem;min-width:4.75rem}.tree-panel.is-fullscreen .tree-control-group{gap:.24rem}.tree-panel.is-fullscreen .tree-mode-group,.tree-panel.is-fullscreen .tree-visibility-group,.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact{flex-wrap:nowrap}.tree-panel.is-fullscreen .tree-mode-group{min-width:0}.tree-panel.is-fullscreen .tree-mode-group .tab-button,.tree-panel.is-fullscreen .tree-visibility-group .chip-button,.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact .secondary-button,.tree-panel.is-fullscreen .tree-fullscreen-close-button{min-height:1.8rem;padding:.18rem .5rem;font-size:.78rem;line-height:1}.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact{grid-template-columns:none;gap:.24rem;width:auto;display:flex}.tree-panel.is-fullscreen .tree-fullscreen-close-button{min-width:2.8rem}.tree-panel.is-fullscreen .tree-canvas-frame{touch-action:pan-y;flex:auto;height:auto;min-height:0}}@media (width<=768px) and (orientation:landscape){.tree-panel.is-fullscreen{padding:.12rem .16rem .16rem;padding-top:max(.12rem, env(safe-area-inset-top));padding-bottom:max(.16rem, env(safe-area-inset-bottom));gap:.1rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-scroll{grid-template-columns:1fr;gap:.12rem;padding-bottom:0;display:grid;overflow-x:visible}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-row{justify-content:space-between;gap:.16rem;min-width:0}.tree-panel.is-fullscreen .tree-fullscreen-depth{padding:.12rem .24rem}.tree-panel.is-fullscreen .tree-fullscreen-depth .tree-depth-slider{width:3.4rem;min-width:3.4rem}.tree-panel.is-fullscreen .tree-mode-group .tab-button,.tree-panel.is-fullscreen .tree-visibility-group .chip-button,.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact .secondary-button,.tree-panel.is-fullscreen .tree-fullscreen-close-button{border-radius:999px;min-height:1.45rem;padding:.08rem .3rem;font-size:.66rem}.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact{gap:.16rem}.tree-panel.is-fullscreen .tree-fullscreen-close-button{min-width:2.35rem}.tree-panel.is-fullscreen .tree-canvas-frame{touch-action:pan-y}}@media (hover:none) and (pointer:coarse){.tree-canvas-frame{touch-action:pan-y}.tree-panel.is-fullscreen{height:100dvh;min-height:100dvh;max-height:100dvh;padding:.22rem .28rem .28rem;padding-top:max(.22rem, env(safe-area-inset-top));padding-bottom:max(.28rem, env(safe-area-inset-bottom));border-radius:0;flex-direction:column;gap:.2rem;display:flex}.tree-panel.is-fullscreen .tree-panel-header,.tree-panel.is-fullscreen .tree-toolbar{display:none}.tree-panel.is-fullscreen .tree-fullscreen-toolbar{min-width:0;display:block}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-scroll{grid-template-columns:1fr;gap:.22rem;padding-bottom:0;display:grid;overflow-x:visible}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-row{justify-content:space-between;gap:.24rem;min-width:0}.tree-panel.is-fullscreen .tree-fullscreen-depth{gap:.28rem;padding:.2rem .36rem}.tree-panel.is-fullscreen .tree-fullscreen-depth strong{min-width:1rem;font-size:.74rem}.tree-panel.is-fullscreen .tree-fullscreen-depth .tree-depth-slider{width:4.75rem;min-width:4.75rem}.tree-panel.is-fullscreen .tree-control-group{gap:.24rem}.tree-panel.is-fullscreen .tree-mode-group,.tree-panel.is-fullscreen .tree-visibility-group,.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact{flex-wrap:nowrap}.tree-panel.is-fullscreen .tree-mode-group{min-width:0}.tree-panel.is-fullscreen .tree-mode-group .tab-button,.tree-panel.is-fullscreen .tree-visibility-group .chip-button,.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact .secondary-button,.tree-panel.is-fullscreen .tree-fullscreen-close-button{min-height:1.8rem;padding:.18rem .5rem;font-size:.78rem;line-height:1}.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact{grid-template-columns:none;gap:.24rem;width:auto;display:flex}.tree-panel.is-fullscreen .tree-fullscreen-close-button{min-width:2.8rem}.tree-panel.is-fullscreen .tree-canvas-frame{touch-action:pan-y;flex:auto;height:auto;min-height:0}}@media (hover:none) and (pointer:coarse) and (orientation:landscape){.tree-panel.is-fullscreen{padding:.12rem .16rem .16rem;padding-top:max(.12rem, env(safe-area-inset-top));padding-bottom:max(.16rem, env(safe-area-inset-bottom));gap:.1rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-scroll{grid-template-columns:1fr;gap:.12rem;padding-bottom:0;display:grid;overflow-x:visible}.tree-panel.is-fullscreen .tree-fullscreen-toolbar-row{justify-content:space-between;gap:.16rem;min-width:0}.tree-panel.is-fullscreen .tree-fullscreen-depth{padding:.12rem .24rem}.tree-panel.is-fullscreen .tree-fullscreen-depth .tree-depth-slider{width:3.4rem;min-width:3.4rem}.tree-panel.is-fullscreen .tree-mode-group .tab-button,.tree-panel.is-fullscreen .tree-visibility-group .chip-button,.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact .secondary-button,.tree-panel.is-fullscreen .tree-fullscreen-close-button{border-radius:999px;min-height:1.45rem;padding:.08rem .3rem;font-size:.66rem}.tree-panel.is-fullscreen .tree-toolbar-actions.is-compact{gap:.16rem}.tree-panel.is-fullscreen .tree-fullscreen-close-button{min-width:2.35rem}.tree-panel.is-fullscreen .tree-canvas-frame{touch-action:pan-y}}@media (width<=480px){.auth-shell{min-height:100dvh}.auth-hero{background-position:54% 40%;min-height:38dvh}.auth-card{padding:1.5rem 1rem}.controls-panel{grid-template-columns:1fr}.hero-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=480px) and (orientation:portrait){.tree-panel.is-fullscreen{padding:.24rem .3rem .3rem;padding-top:max(.24rem, env(safe-area-inset-top));padding-bottom:max(.3rem, env(safe-area-inset-bottom));gap:.24rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact,.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-toolbar-row.is-primary,.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-toolbar-row.is-secondary{gap:.28rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-mode-group{gap:.2rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-mode-group .tab-button,.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-visibility-group .chip-button,.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-close-button,.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-more-button{min-height:1.95rem;padding:.18rem .46rem;font-size:.74rem;line-height:1.05}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-close-button,.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-more-button{min-width:2.5rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth{gap:.24rem;padding:.16rem .36rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth strong{min-width:.95rem;font-size:.74rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-fullscreen-depth .tree-depth-slider{width:100%}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact .tree-visibility-group{gap:.2rem}.tree-panel.is-fullscreen .tree-fullscreen-toolbar.is-mobile-compact+.tree-orientation-tip{display:none}.tree-panel.is-fullscreen .tree-fullscreen-more-menu{width:min(13rem,100vw - 1rem)}}@media (width<=360px){body{font-size:15px}.app-main{padding:.6rem .6rem .8rem}.rail-link{padding:.45rem .3rem;font-size:.65rem}.hero-stats{grid-template-columns:1fr 1fr}.hero-stats article:last-child{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-delay:.01ms!important}}.app-shell{--sidebar-w:220px}.app-shell.sidebar-collapsed{--sidebar-w:64px}.app-sidebar{width:var(--sidebar-w);color:#eff3f7;height:100vh;min-height:100vh;transition:width var(--dur-base) var(--ease-out-expo);scrollbar-width:none;-ms-overflow-style:none;background:radial-gradient(at 100% 100%,#c492353d,#0000 52%),radial-gradient(at top,#c492351a,#0000 40%),linear-gradient(165deg,#1a0c03 0%,#2e1a07 60%,#3a2010 100%);border-right:1px solid #c492351f;grid-template-rows:auto 1fr auto auto;gap:0;padding:0;display:grid;position:sticky;top:0;overflow:hidden auto}.app-sidebar::-webkit-scrollbar{display:none}.sidebar-brand{border-bottom:1px solid #ffffff12;gap:.35rem;padding:1.1rem .9rem .6rem;display:grid}.sidebar-brand .eyebrow{color:var(--accent);letter-spacing:.24em;font-size:.65rem}.sidebar-app-title{font-family:var(--font-calligraphy);color:#eff3f7;white-space:normal;text-overflow:clip;font-size:1rem;font-weight:600;line-height:1.2;display:block;overflow:visible}.sidebar-nav{align-content:start;gap:.2rem;padding:.6rem .55rem;display:grid}.sidebar-nav-group{gap:.15rem;margin-bottom:.5rem;display:grid}.sidebar-nav-group-label{letter-spacing:.2em;text-transform:uppercase;color:#eff3f76b;white-space:nowrap;padding:.5rem .6rem .28rem;font-size:.62rem;font-weight:700;display:block;overflow:hidden}.sidebar-nav-item{border-radius:var(--radius-sm);color:#eff3f7b8;transition:background-color var(--dur-fast) ease, color var(--dur-fast) ease, border-color var(--dur-fast) ease, box-shadow var(--dur-base) var(--ease-out-expo);white-space:nowrap;border:1px solid #0000;align-items:center;gap:.62rem;padding:.62rem .6rem;font-size:.92rem;font-weight:600;text-decoration:none;display:flex;position:relative;overflow:hidden}.sidebar-nav-item:hover{color:#fff;background:#ffffff14;border-color:#ffffff1a}.sidebar-nav-item.is-active{color:#fff8ef;box-shadow:inset 2px 0 0 var(--accent), 0 2px 10px #c4923533;background:#c4923542;border-color:#c492357a}.sidebar-nav-item-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:relative}.sidebar-nav-item-icon svg{width:18px;height:18px}.sidebar-nav-item-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sidebar-badge{background:var(--accent);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;padding:0 .32rem;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex}.sidebar-badge-dot{background:var(--accent);border:2px solid #2e1a07;border-radius:50%;width:8px;height:8px;position:absolute;top:-2px;right:-2px}.sidebar-settings-group{margin-top:.25rem}.sidebar-lang-wrap{padding:.3rem .4rem}.sidebar-lang-wrap .language-switch.is-compact{flex-direction:column;align-items:flex-start;gap:.4rem}.sidebar-lang-wrap .language-switch-buttons{gap:.3rem}.sidebar-lang-wrap .chip-button{color:#eff3f7b8;background:#ffffff14;border-color:#ffffff1a;min-height:2rem;padding:.38rem .62rem;font-size:.78rem}.sidebar-lang-wrap .chip-button:hover{color:#fff;background:#ffffff24}.sidebar-lang-wrap .chip-button.is-active{color:#fff8ef;background:#c4923552;border-color:#c492357a}.sidebar-lang-wrap .language-switch-label{color:#eff3f76b;font-size:.6rem}.sidebar-lang-wrap.is-icon-only{display:none}.sidebar-user{border-top:1px solid #ffffff14;align-items:center;gap:.55rem;min-width:0;padding:.7rem .75rem;display:flex}.sidebar-user-avatar{color:#fff8ef;letter-spacing:.02em;background:#c492355c;border:1.5px solid #c492358f;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.76rem;font-weight:700;display:flex}.sidebar-user-info{flex:1;gap:.1rem;min-width:0;display:grid;overflow:hidden}.sidebar-user-name{color:#eff3f7;white-space:nowrap;text-overflow:ellipsis;font-size:.86rem;font-weight:700;line-height:1.2;overflow:hidden}.sidebar-user-role{color:#eff3f785;font-size:.72rem;line-height:1.2}.sidebar-logout-btn{border-radius:var(--radius-xs);color:#eff3f780;width:28px;height:28px;transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-logout-btn:hover{color:#fff8ef;background:#ffffff1a}.sidebar-logout-btn svg{width:16px;height:16px}.sidebar-collapse-btn{color:#eff3f766;cursor:pointer;width:100%;height:36px;transition:color var(--dur-fast) ease, background-color var(--dur-fast) ease;background:#ffffff0a;border:0;border-top:1px solid #ffffff0f;justify-content:center;align-items:center;padding:0;display:flex}.sidebar-collapse-btn:hover{color:#eff3f7;background:#ffffff14}.sidebar-collapse-btn svg{width:16px;height:16px}.app-sidebar.is-collapsed .sidebar-brand{justify-items:center;padding:1rem 0}.app-sidebar.is-collapsed .sidebar-nav{padding:.6rem .4rem}.app-sidebar.is-collapsed .sidebar-nav-item{justify-content:center;padding:.65rem 0}.app-sidebar.is-collapsed .sidebar-nav-group{margin-bottom:.4rem}.app-sidebar.is-collapsed .sidebar-user{justify-content:center;padding:.7rem 0}.app-sidebar.is-collapsed .sidebar-logout-btn{display:none}.sidebar-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:calc(var(--z-overlay) + 1);opacity:0;pointer-events:none;transition:opacity var(--dur-base) ease;background:#140a038c;display:none;position:fixed;inset:0}.sidebar-overlay.is-visible{opacity:1;pointer-events:auto}.topbar{height:56px;z-index:var(--z-overlay);background:radial-gradient(at 0 0,#c4923533,#0000 38%),linear-gradient(165deg,#1a0c03 0%,#2e1a07 100%);border-bottom:1px solid #c4923524;align-items:center;gap:.75rem;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 12px #1e0f0359}.topbar-hamburger{border-radius:var(--radius-sm);color:#eff3f7;cursor:pointer;width:40px;height:40px;transition:background-color var(--dur-fast) ease;background:#ffffff12;border:1px solid #ffffff1a;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.topbar-hamburger:hover{background:#ffffff21}.topbar-hamburger svg{width:20px;height:20px}.topbar-title{font-family:var(--font-heading);color:#eff3f7;white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;overflow:hidden}@media (width<=768px){.app-shell{grid-template-columns:none;padding-top:56px;padding-bottom:0;display:block}.app-rail{display:none!important}.topbar{display:flex}.sidebar-overlay{display:block}.app-sidebar{height:100%;z-index:calc(var(--z-overlay) + 2);transition:transform var(--dur-base) var(--ease-out-expo);border-radius:0 var(--radius-lg) var(--radius-lg) 0;box-shadow:var(--shadow-xl);position:fixed;top:0;left:0;transform:translate(-100%);width:280px!important}.app-sidebar.is-mobile-open{transform:translate(0)}.sidebar-collapse-btn{display:none}.sidebar-lang-wrap.is-icon-only{display:block}.app-sidebar.is-collapsed .sidebar-nav-item{justify-content:flex-start;padding:.62rem .6rem}.app-sidebar.is-collapsed .sidebar-nav-group{margin-bottom:.5rem}.app-sidebar.is-collapsed .sidebar-user{justify-content:flex-start;padding:.7rem .75rem}.app-sidebar.is-collapsed .sidebar-logout-btn{display:flex}.app-main{padding:.85rem .9rem 1.2rem}}@media (width<=360px){.app-shell{padding-top:56px}}
