:root{color-scheme:light;font-family:Arial,Helvetica,sans-serif;font-size:16px;background:#f6f5ef;color:#202d2a}body{margin:0}html{scroll-behavior:smooth}button,a,summary{touch-action:manipulation}button,summary{cursor:pointer}.skip-link{position:absolute;left:16px;top:-90px;z-index:20;background:#183e32;color:#fff;padding:14px}.skip-link:focus{top:12px}
#ucupa-site { --u-paper: light-dark(#f6f5ef,#141a19); --u-ink: light-dark(#202d2a,#e6ece7); --u-muted: light-dark(#576761,#a3b6ad); --u-line: light-dark(#d7ddd5,#35433d); --u-green: light-dark(#246451,#9acbb4); --u-wash: light-dark(#e7ede4,#202f28); --u-solid: light-dark(#183e32,#b3d7c3); --u-on-solid: light-dark(#f5f5ed,#15251e); --u-code: light-dark(#1c2c25,#0d1410); --u-code-ink: #d9ebdf; --u-title: 63px; color-scheme: light; color:var(--u-ink); font-family:Arial,Helvetica,sans-serif; }
    #ucupa-site * { box-sizing:border-box; }
    #ucupa-site .u-site { width:100%; max-width:1280px; margin:auto; background:var(--u-paper); container-type:inline-size; container-name:ucupa-page; }
    #ucupa-site.is-mobile .u-site { max-width:390px; }
    #ucupa-site h1,#ucupa-site h2,#ucupa-site h3,#ucupa-site p { margin:0; }
    #ucupa-site a { color:inherit; text-decoration:none; }
    #ucupa-site .u-inline-link { text-decoration:underline; text-underline-offset:3px; }
    #ucupa-site button { font:inherit; color:inherit; }
    #ucupa-site a:focus-visible,#ucupa-site button:focus-visible,#ucupa-site summary:focus-visible,#ucupa-site .u-spatial-view:focus-visible { outline:3px solid var(--u-green); outline-offset:4px; }
    #ucupa-site .u-header { min-height:84px; padding:20px 5%; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid var(--u-line); }
    #ucupa-site .u-wordmark { font-size:23px; font-weight:600; letter-spacing:-1.3px; }
    #ucupa-site .u-wordmark span { color:var(--u-green); margin-right:9px; font-family:Georgia,serif; font-weight:400; }
    #ucupa-site .u-nav { display:flex; gap:26px; align-items:center; font-size:14px; }
    #ucupa-site .u-nav a { min-height:32px; display:flex; align-items:center; }
    #ucupa-site .u-nav a:hover { color:var(--u-green); text-decoration:underline; text-underline-offset:5px; }
    #ucupa-site .u-prototype { display:inline-flex; align-items:center; gap:7px; font:12px 'Courier New',monospace; color:var(--u-muted); white-space:nowrap; }
    #ucupa-site .u-prototype::before { content:''; width:5px; height:5px; background:var(--u-green); border-radius:100%; }
    #ucupa-site .u-mobile-menu { display:none; position:relative; }
    #ucupa-site .u-mobile-menu summary { list-style:none; min-height:44px; display:flex; align-items:center; font-size:14px; }
    #ucupa-site .u-mobile-menu summary::-webkit-details-marker { display:none; }
    #ucupa-site .u-mobile-links { position:absolute; right:0; top:44px; width:176px; background:var(--u-paper); padding:12px 18px; border:1px solid var(--u-line); z-index:4; }
    #ucupa-site .u-mobile-links a { display:block; padding:13px 0; font-size:16px; }
    #ucupa-site .u-hero { padding:82px 5% 64px; text-align:center; }
    #ucupa-site .u-hero>div { max-width:980px; margin-inline:auto; }
    #ucupa-site h1 { font-size:var(--u-title); font-weight:400; line-height:1.03; letter-spacing:-3px; max-width:900px; margin-inline:auto; }
    #ucupa-site h1 em { display:block; white-space:nowrap; font-family:Georgia,'Times New Roman',serif; color:var(--u-green); font-weight:400; letter-spacing:-2.6px; }
    #ucupa-site .u-intro { font-size:16px; line-height:1.75; color:var(--u-muted); margin:28px auto 0; max-width:650px; text-wrap:pretty; }
    #ucupa-site .u-actions { display:flex; gap:18px; align-items:center; justify-content:center; flex-wrap:wrap; margin-top:29px; font-size:14px; }
    #ucupa-site .u-action { padding:14px 17px; background:var(--u-solid); color:var(--u-on-solid); min-height:44px; display:inline-flex; align-items:center; gap:15px; }
    #ucupa-site .u-link { display:inline-flex; align-items:center; min-height:44px; gap:9px; border-bottom:1px solid var(--u-line); }
    #ucupa-site .u-actions a:hover { filter:brightness(.92); }
    #ucupa-site .u-spatial-view.is-pointer-focused:focus { outline:none; }
    #ucupa-site .u-section { --u-section-gutter:5cqi; padding:70px var(--u-section-gutter); }
    #ucupa-site h2 { font-size:39px; font-weight:400; line-height:1.14; letter-spacing:-1.8px; max-width:680px; }
    #ucupa-site .u-section-description { font-size:14px; line-height:1.8; color:var(--u-muted); max-width:780px; margin-top:21px; }
    #ucupa-site .u-model-points { margin:35px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
    #ucupa-site .u-model-points article { border-top:1px solid var(--u-line); padding-top:16px; }
    #ucupa-site h3 { font-size:16px; font-weight:500; letter-spacing:-.3px; }
    #ucupa-site .u-model-points p { font-size:14px; color:var(--u-muted); line-height:1.7; margin-top:9px; }
    #ucupa-site .u-model-intro { margin:40px 0 25px; max-width:780px; }
    #ucupa-site .u-model-intro h3 { font-size:25px; margin-bottom:12px; }
    #ucupa-site .u-model-intro p { font-size:16px; line-height:1.8; color:var(--u-muted); }
    #ucupa-site .u-model-intro strong { color:var(--u-ink); font-weight:500; }
    #ucupa-site .u-spatial-demo { display:grid; grid-template-columns:.65fr 1.35fr; border:1px solid var(--u-line); }
    #ucupa-site .u-tree-panel,#ucupa-site .u-pose-panel { min-width:0; padding:28px; }
    #ucupa-site .u-tree-panel { border-right:1px solid var(--u-line); }
    #ucupa-site .u-panel-label { color:var(--u-muted); font:12px/1.6 'Courier New',monospace; letter-spacing:.6px; }
    #ucupa-site .u-tree { padding:0; margin:24px 0 0; list-style:none; }
    #ucupa-site .u-tree ul { list-style:none; margin:0 0 0 7px; padding:0 0 0 22px; }
    #ucupa-site .u-tree li { position:relative; }
    #ucupa-site .u-tree ul>li::before { content:''; position:absolute; left:-22px; top:0; height:100%; border-left:1px solid var(--u-line); }
    #ucupa-site .u-tree ul>li:last-child::before { height:25px; }
    #ucupa-site .u-tree ul>li::after { content:''; position:absolute; left:-22px; top:25px; width:20px; border-top:1px solid var(--u-line); }
    #ucupa-site .u-tree-node { padding:12px 9px; }
    #ucupa-site .u-tree-node strong { display:flex; align-items:center; flex-wrap:wrap; gap:8px; font-size:15px; font-weight:500; }
    #ucupa-site .u-tree-node small { display:block; font:12px/1.7 'Courier New',monospace; color:var(--u-muted); margin:5px 0 0 18px; }
    #ucupa-site .u-tree-node strong span { color:var(--u-green); font-size:12px; }
    #ucupa-site .u-anchor-mark,#ucupa-site .u-entity-mark { display:inline-block; flex:0 0 10px; width:10px; height:10px; border:1.5px solid var(--u-green); border-radius:50%; }
    #ucupa-site .u-entity-mark { background:var(--u-green); }
    #ucupa-site .u-pose-panel h3 { font-size:28px; line-height:1.15; font-weight:400; letter-spacing:-.9px; margin-top:18px; }
    #ucupa-site .u-pose-panel>p:not(.u-diagram-note) { color:var(--u-muted); font-size:16px; line-height:1.7; margin-top:15px; }
    #ucupa-site .u-orbit-figure { margin:24px 0 0; }
    #ucupa-site .u-spatial-view { display:block; width:100%; height:450px; cursor:grab; touch-action:none; user-select:none; }
    #ucupa-site .u-spatial-view.is-dragging { cursor:grabbing; }
    #ucupa-site .u-spatial-view text { font:12px 'Courier New',monospace; fill:var(--u-muted); }
    #ucupa-site .u-spatial-view .u-point-label { fill:var(--u-ink); font-size:14px; font-weight:600; paint-order:stroke; stroke:var(--u-paper); stroke-width:4px; stroke-linejoin:round; }
    #ucupa-site .u-spatial-legend { display:flex; flex-wrap:wrap; gap:13px 22px; margin-top:22px; font-size:14px; color:var(--u-muted); }
    #ucupa-site .u-spatial-legend span { display:flex; align-items:center; gap:8px; }
    #ucupa-site .u-range-mark { display:inline-block; width:14px; height:14px; border:1px solid #739b89; border-radius:50%; background:repeating-linear-gradient(90deg,transparent 0 4px,#abc4b7 4px 5px); }
    #ucupa-site .u-diagram-note { color:var(--u-muted); font-size:12px; line-height:1.7; margin-top:20px; }
    #ucupa-site .u-composition-rule { display:flex; flex-wrap:wrap; align-items:center; gap:18px 30px; padding:23px 0; border-bottom:1px solid var(--u-line); }
    #ucupa-site .u-composition-rule>span { font:12px 'Courier New',monospace; color:var(--u-muted); }
    #ucupa-site .u-composition-rule code { color:var(--u-green); font:18px/1.5 'Courier New',monospace; }
    #ucupa-site .u-composition-rule p { flex:1 1 300px; font-size:14px; color:var(--u-muted); line-height:1.7; }
    #ucupa-site .u-ownership { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:50px; margin-top:32px; }
    #ucupa-site .u-ownership p { font-size:16px; line-height:1.8; color:var(--u-muted); max-width:540px; }
    #ucupa-site .u-ownership p+p { margin-top:16px; }
    #ucupa-site .u-mount-control { max-width:780px; margin-top:24px; font-size:16px; line-height:1.8; color:var(--u-muted); }
    #ucupa-site .u-mount-control p+p { margin-top:16px; }
    #ucupa-site .u-owner-chain { margin:0; padding:0; list-style:none; align-self:center; }
    #ucupa-site .u-owner-chain li { display:flex; gap:12px; justify-content:space-between; padding:16px 12px; border-left:2px solid var(--u-line); border-bottom:1px solid var(--u-line); font-size:14px; }
    #ucupa-site .u-owner-chain li:nth-child(2) { margin-left:16px; }
    #ucupa-site .u-owner-chain li:nth-child(3) { margin-left:32px; border-left-color:var(--u-green); }
    #ucupa-site .u-owner-chain b { color:var(--u-green); font:12px/1.7 'Courier New',monospace; white-space:nowrap; }
    @container ucupa-page (max-width:900px) {
      #ucupa-site .u-spatial-demo { grid-template-columns:1fr; }
      #ucupa-site .u-tree-panel { border-right:0; border-bottom:1px solid var(--u-line); }
    }
    @container ucupa-page (max-width:620px) {
      #ucupa-site .u-tree-panel,#ucupa-site .u-pose-panel { padding:20px 14px; }
      #ucupa-site .u-tree ul { padding-left:17px; }
      #ucupa-site .u-tree ul>li::before,#ucupa-site .u-tree ul>li::after { left:-17px; }
      #ucupa-site .u-tree ul>li::after { width:15px; }
      #ucupa-site .u-tree-node { padding:12px 6px; }
      #ucupa-site .u-tree-node small { margin-left:0; }
      #ucupa-site .u-ownership { grid-template-columns:1fr; gap:24px; }
      #ucupa-site .u-spatial-view { height:350px; }
      #ucupa-site .u-composition-rule code { font-size:16px; }
    }
    #ucupa-site .u-module-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px; margin-top:42px; }
    #ucupa-site .u-module { border-top:1px solid var(--u-line); padding-top:20px; }
    #ucupa-site .u-module-name { display:flex; justify-content:space-between; align-items:center; margin-bottom:29px; font:12px 'Courier New',monospace; color:var(--u-muted); }
    #ucupa-site .u-module-name strong { font-family:Arial,Helvetica,sans-serif; font-size:23px; font-weight:400; color:var(--u-ink); letter-spacing:-.8px; }
    #ucupa-site .u-module h3 { margin-bottom:12px; }
    #ucupa-site .u-module p { font-size:16px; line-height:1.75; color:var(--u-muted); }
    #ucupa-site .u-module code { display:block; font:12px/1.7 'Courier New',monospace; margin-top:22px; padding-top:15px; border-top:1px solid var(--u-line); white-space:normal; color:var(--u-green); background:none; }
    #ucupa-site .u-behaviors { list-style:none; padding:0; margin:38px 0 0; }
    #ucupa-site .u-behaviors>li { display:grid; grid-template-columns:150px minmax(0,1.3fr) minmax(0,1fr); gap:35px; padding:27px 0; border-top:1px solid var(--u-line); }
    #ucupa-site .u-behavior-name { display:flex; align-items:baseline; gap:13px; }
    #ucupa-site .u-behavior-name>span { font:12px 'Courier New',monospace; color:var(--u-muted); }
    #ucupa-site .u-behavior-name h3 { color:var(--u-green); font-size:22px; font-weight:400; letter-spacing:-.6px; }
    #ucupa-site .u-behavior-purpose h4 { margin:0 0 9px; font-size:16px; font-weight:500; }
    #ucupa-site .u-behavior-purpose p { color:var(--u-muted); font-size:16px; line-height:1.7; }
    #ucupa-site .u-behavior-example { color:var(--u-muted); font-size:14px; line-height:1.7; border-left:1px solid var(--u-line); padding-left:23px; }
    #ucupa-site .u-use-guides { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; border-top:1px solid var(--u-line); padding-top:30px; margin-top:42px; }
    #ucupa-site .u-use-guides article { min-width:0; }
    #ucupa-site .u-use-guides h3 { font-size:22px; font-weight:400; line-height:1.3; margin:14px 0; }
    #ucupa-site .u-use-guides p { color:var(--u-muted); font-size:16px; line-height:1.75; }
    #ucupa-site .u-use-guides p+p { margin-top:14px; }
    #ucupa-site .u-use-guides strong { color:var(--u-ink); font-weight:500; }
    #ucupa-site .u-run-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:50px; margin-top:35px; align-items:start; }
    #ucupa-site .u-run-copy { font-size:14px; line-height:1.8; color:var(--u-muted); }
    #ucupa-site .u-run-copy strong { color:var(--u-ink); font-weight:500; }
    #ucupa-site .u-run-copy p+p { margin-top:17px; }
    #ucupa-site .u-terminal { min-width:0; background:var(--u-code); color:var(--u-code-ink); padding:22px; }
    #ucupa-site .u-terminal-bar { display:flex; justify-content:space-between; align-items:center; color:#b0c6b7; font:12px 'Courier New',monospace; padding-bottom:18px; border-bottom:1px solid #3c5043; }
    #ucupa-site .u-terminal pre { padding:22px 0 6px; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; font:13px/1.9 'Courier New',monospace; }
    #ucupa-site .u-terminal code { background:none; color:inherit; font:inherit; }
    #ucupa-site .u-terminal .u-prompt { color:#92cba7; }
    #ucupa-site .u-proof-note { font-size:14px; line-height:1.7; color:var(--u-muted); margin-top:14px; }
    #ucupa-site .u-status-grid { display:grid; grid-template-columns:1fr 1fr; gap:45px; margin-top:35px; }
    #ucupa-site .u-status h3 { margin-bottom:16px; }
    #ucupa-site .u-status ul { padding:0; margin:0; list-style:none; }
    #ucupa-site .u-status li { border-top:1px solid var(--u-line); padding:12px 0; color:var(--u-muted); font-size:14px; line-height:1.65; }
    #ucupa-site .u-footer { margin:0 5%; padding:28px 0 35px; border-top:1px solid var(--u-line); display:flex; justify-content:space-between; gap:30px; }
    #ucupa-site .u-footer-name { font-size:20px; letter-spacing:-.8px; }
    #ucupa-site .u-fullname { color:var(--u-muted); font-size:14px; line-height:1.7; margin-top:10px; max-width:285px; }
    #ucupa-site .u-footer-meta { font:12px/1.8 'Courier New',monospace; color:var(--u-muted); text-align:right; }
    @container ucupa-page (max-width:800px) {
      #ucupa-site h1 { font-size:52px; letter-spacing:-2.5px; }
      #ucupa-site .u-hero { padding-top:56px; }
      #ucupa-site .u-run-grid { gap:28px; }
      #ucupa-site .u-nav { gap:16px; }
      #ucupa-site .u-behaviors>li { grid-template-columns:115px minmax(0,1fr); gap:18px 20px; }
      #ucupa-site .u-behavior-example { grid-column:2; padding-left:15px; }
      #ucupa-site .u-use-guides { gap:26px; }
    }
    @container ucupa-page (max-width:620px) {
      #ucupa-site .u-header { padding:12px 7%; min-height:72px; }
      #ucupa-site .u-nav { display:none; }
      #ucupa-site .u-mobile-menu { display:block; }
      #ucupa-site .u-wordmark { font-size:22px; }
      #ucupa-site .u-hero { padding:40px 7% 27px; text-align:left; }
      #ucupa-site h1 { font-size:46px; letter-spacing:-2px; max-width:410px; margin-inline:0; }
      #ucupa-site h1 em { white-space:normal; letter-spacing:-2px; }
      #ucupa-site .u-intro { font-size:14px; line-height:1.8; margin-top:21px; margin-inline:0; }
      #ucupa-site .u-actions { gap:15px; justify-content:flex-start; font-size:14px; margin-top:25px; }
      #ucupa-site .u-action { padding:13px 14px; gap:9px; }
      #ucupa-site .u-section { --u-section-gutter:7cqi; padding:42px var(--u-section-gutter); }
      #ucupa-site h2 { font-size:33px; letter-spacing:-1.4px; }
      #ucupa-site .u-section-description { font-size:16px; margin-top:18px; }
      #ucupa-site .u-model-points { margin:26px 0 0; grid-template-columns:1fr; gap:22px; }
      #ucupa-site .u-module-grid { grid-template-columns:1fr; gap:30px; margin-top:30px; }
      #ucupa-site .u-module-name { margin-bottom:17px; }
      #ucupa-site .u-module code { margin-top:17px; }
      #ucupa-site .u-run-grid,#ucupa-site .u-status-grid { grid-template-columns:1fr; gap:28px; margin-top:28px; }
      #ucupa-site .u-behaviors>li { grid-template-columns:1fr; gap:17px; padding:25px 0; }
      #ucupa-site .u-behavior-example { grid-column:auto; }
      #ucupa-site .u-use-guides { grid-template-columns:1fr; padding-top:28px; gap:30px; }
      #ucupa-site .u-terminal { padding:18px; }
      #ucupa-site .u-footer { margin:0 7%; flex-direction:column; gap:20px; }
      #ucupa-site .u-footer-meta { text-align:left; }
    }
    @media (prefers-reduced-motion:reduce) { #ucupa-site * { scroll-behavior:auto!important; transition:none!important; } }
#ucupa-site .u-wordmark{display:flex;align-items:center}#ucupa-site .u-wordmark img{display:block;width:170px;height:auto}#ucupa-site .u-prototype::before{display:none}#ucupa-site .u-footer-brand{width:145px;height:auto;display:block}#ucupa-site .u-copy{font:12px Arial,sans-serif;color:#e1eee5;background:transparent;border:1px solid #5a7462;border-radius:3px;padding:8px 12px;min-height:36px}#ucupa-site .u-copy-status{font-size:12px;color:var(--u-muted);min-height:20px;margin-top:8px}#ucupa-site .u-footer a{text-decoration:underline;text-underline-offset:3px}#ucupa-site .u-module p,#ucupa-site .u-section-description,#ucupa-site .u-model-points p,#ucupa-site .u-run-copy,#ucupa-site .u-intro{font-size:1rem}#ucupa-site .u-footer-meta,#ucupa-site .u-fullname,#ucupa-site .u-proof-note{font-size:.8rem}#ucupa-site .u-mobile-links{width:200px}#ucupa-site .u-mobile-links a{min-height:44px}@container ucupa-page (max-width:620px){#ucupa-site .u-wordmark img{width:145px}#ucupa-site h1{font-size:clamp(2.35rem,10.9cqi,2.875rem)}#ucupa-site .u-actions{gap:13px}#ucupa-site .u-model-points p{font-size:1rem}}
