:root{color:#f7edd0;--font-display:"Marcellus", "Cormorant Garamond", Georgia, serif;--font-italic:"Cormorant Garamond", "EB Garamond", Georgia, serif;--ink-warm:#ead7a4;--ink-warm-strong:#f3deaa;--ink-shadow:#140c06e0;background:#090807;font-family:EB Garamond,Cormorant Garamond,Georgia,Times New Roman,serif}*{box-sizing:border-box}body{background:#090807;min-width:320px;min-height:100vh;margin:0;overflow:hidden}button,input{font:inherit}.app-shell{background:#090807;min-height:100svh}.intro-experience,.opening-stage{min-height:100svh;position:relative}.opening-stage{align-content:end;padding:clamp(28px,6vw,82px);display:grid}.intro-experience{isolation:isolate;background:#080604;animation:2.8s cubic-bezier(.18,.72,.24,1) both stageAwaken;overflow:hidden}.intro-experience:after{content:"";z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 65%,#0000 28%,#00000080 92%);position:absolute;inset:0}.intro-experience:before{content:"";z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 42%,#ffe19a1f,#0000 30%),radial-gradient(circle,#0000 0 49%,#0000007a 88%);position:absolute;inset:0}.film-grain{z-index:5;opacity:.24;pointer-events:none;mix-blend-mode:overlay;background-image:repeating-linear-gradient(0deg,#ffffff0b 0 1px,#0000 1px 4px),radial-gradient(circle at 30% 20%,#eecb821f,#0000 32%);position:absolute;inset:0}.memory-haze{z-index:2;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(at 47% 44%,#0000 0 18%,#ffe19a14 35%,#0000 58%),linear-gradient(120deg,#0000 34%,#ffde9224 48%,#0000 60%);animation:9s ease-in-out infinite alternate lightDrift;position:absolute;inset:-12%}.eyebrow{color:#dfc077;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem}h1{color:#fff1bd;letter-spacing:0;max-width:720px;margin:0;font-size:7.6rem;line-height:.86}p{color:#ffffffc7;max-width:620px;line-height:1.45}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.tree-scene{z-index:4;position:absolute;inset:0}.tree-canvas{z-index:4;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.tree-canvas:active{cursor:grabbing}.canvas-zoom-controls{z-index:12;flex-direction:column;gap:8px;display:none;position:absolute;bottom:16px;left:14px}.canvas-zoom-controls button{width:46px;height:46px;color:var(--ink-warm-strong);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-tap-highlight-color:transparent;background:#0e0a079e;border:1px solid #ffebb252;border-radius:999px;place-items:center;font-size:1.5rem;line-height:1;display:grid}.canvas-zoom-controls button:active{background:#362212db}@media (pointer:coarse),(width<=920px){.canvas-zoom-controls{display:flex}}.memory-bloom-gallery-open{width:100%;color:var(--ink-warm-strong);font-family:var(--font-italic);letter-spacing:.02em;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(#281a0eb3,#0e0905cc);border:1px solid #ffebb242;border-radius:8px;padding:14px 16px;font-size:1.05rem;font-style:italic;display:none}.memory-bloom-gallery-open:active{background:#362212db}.tree-canvas-svg{width:100%;height:100%;display:block}.canvas-hud{z-index:12;pointer-events:auto;flex-direction:column;gap:8px;display:flex;position:absolute;bottom:22px;right:22px}.canvas-hud button{color:#fff1bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0e0a07a8;border:1px solid #ffebb247;border-radius:999px;width:40px;height:40px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:1.1rem;transition:background .16s,transform .16s}.canvas-hud button:hover{background:#322010d1;transform:scale(1.05)}.rig-editor-panel{z-index:40;color:#fff1bd;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 0 0,#ffe9aa1f,#0000 56%),linear-gradient(#3a2614f0,#100a06f5),#0c0805f0;border:1px solid #ffebb252;border-radius:10px;width:min(360px,100vw - 32px);padding:18px 20px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;position:fixed;bottom:24px;left:24px;box-shadow:0 24px 60px #0000008c}.rig-editor-panel-title{font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;color:#ffebb2db;margin-bottom:10px;font-size:.84rem;font-weight:600}.rig-editor-panel p{color:#ffebb2d6;margin:0 0 10px;font-size:.88rem;line-height:1.4}.rig-editor-stats{color:#ffe7a9;margin-bottom:12px;font-weight:800}.rig-editor-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.rig-editor-actions button{color:#fff1bd;cursor:pointer;background:#22160cdb;border:1px solid #ffebb252;border-radius:999px;flex:auto;padding:9px 12px;font-family:inherit;font-size:.84rem;transition:background .16s}.rig-editor-actions button:hover{background:#402a16f0}.rig-editor-hint{color:#ffebb299!important;font-size:.78rem!important}.rig-editor-hint code{color:#ffe7a9;background:#00000057;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.rig-editor-selected{background:#000c185c;border:1px solid #78dcff52;border-radius:6px;gap:8px;margin-bottom:14px;padding:10px 12px;display:grid}.rig-editor-structure{background:#08140c66;border:1px solid #96dca04d;border-radius:6px;gap:10px;margin-bottom:14px;padding:12px;display:grid}.rig-editor-structure--hint{color:#dce8d299;font-family:var(--font-italic);font-size:.86rem;font-style:italic}.rig-editor-structure-head{font-family:var(--font-italic);color:#d6f0dceb;align-items:center;gap:8px;font-size:.92rem;display:flex}.rig-editor-structure-head strong{color:#fff5cc}.rig-editor-tag{letter-spacing:.1em;text-transform:uppercase;color:#96dca0f2;border:1px solid #96dca066;border-radius:999px;padding:1px 7px;font-size:.64rem}.rig-editor-add,.rig-editor-edit{border-top:1px solid #ffebb21f;gap:6px;padding-top:8px;display:grid}.rig-editor-add-title{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#dce8d2b3;font-size:.68rem}.rig-editor-add-row{grid-template-columns:1fr 1fr;gap:6px;display:grid}.rig-editor-field{width:100%;color:var(--ink-warm-strong);font-family:var(--font-italic);background:#140d07b3;border:1px solid #ffebb23d;border-radius:5px;padding:7px 9px;font-size:.86rem}.rig-editor-field:focus{border-color:#96dca099;outline:none}.rig-editor-add-btn,.rig-editor-delete-btn{color:#e6ffe9;font-family:var(--font-italic);cursor:pointer;background:#18301cb3;border:1px solid #96dca066;border-radius:6px;padding:8px 12px;font-size:.88rem;transition:background .16s}.rig-editor-add-btn:hover:not(:disabled){background:#244628db}.rig-editor-add-btn:disabled{opacity:.45;cursor:not-allowed}.rig-editor-delete-btn{color:#ffd9d2;background:#3c1814b3;border-color:#e4786e80}.rig-editor-delete-btn:hover{background:#5a201adb}.rig-editor-structure-foot{font-family:var(--font-italic);color:#dce8d2b3;border-top:1px solid #ffebb21f;justify-content:space-between;align-items:center;gap:8px;padding-top:8px;font-size:.78rem;display:flex}.rig-editor-structure-foot button{color:var(--ink-warm-strong);cursor:pointer;background:#140d07b3;border:1px solid #ffebb24d;border-radius:999px;padding:6px 10px;font-family:inherit;font-size:.78rem}.rig-editor-selected-name{font-family:var(--font-italic);color:#b4e8fff0;letter-spacing:.02em;font-size:.96rem;font-style:italic}.rig-editor-selected>label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#b4e8ffbd;font-size:.72rem}.rig-editor-selected>label strong{font-family:var(--font-italic);color:#dcf0fff5;letter-spacing:0;text-transform:none;margin-left:6px;font-style:italic;font-weight:600}.rig-editor-selected input[type=range]{accent-color:#6cc8ff;width:100%}.rig-editor-selected-hint{font-family:var(--font-italic);color:#c8e0f0a8;font-size:.74rem;font-style:italic;line-height:1.35}.rig-editor-visual{background:#00000047;border:1px solid #ffebb22e;border-radius:6px;gap:10px;margin-bottom:14px;padding:10px 12px;display:grid}.rig-editor-visual>label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#ffebb2b8;font-size:.72rem}.rig-editor-visual>label strong{font-family:var(--font-italic);color:var(--ink-warm-strong);letter-spacing:0;text-transform:none;margin-left:6px;font-style:italic;font-weight:600}.rig-editor-visual input[type=range]{accent-color:#dba34a;width:100%}.rig-editor-checkbox{cursor:pointer;align-items:center;gap:8px;font-style:italic;font-family:var(--font-italic)!important;letter-spacing:.02em!important;text-transform:none!important;color:#e8dab2e0!important;font-size:.84rem!important;display:flex!important}.rig-editor-checkbox input{accent-color:#dba34a}.rig-editor-backdrop{background:#00000047;border:1px solid #ffebb22e;border-radius:6px;gap:6px;margin-bottom:14px;padding:10px 12px;display:grid}.rig-editor-backdrop label{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#ffebb2b8;font-size:.72rem}.rig-editor-backdrop select,.rig-editor-backdrop-custom{width:100%;color:var(--ink-warm-strong);font-family:var(--font-italic);background:#140d07b3;border:1px solid #ffebb242;border-radius:5px;padding:7px 10px;font-size:.86rem}.rig-editor-backdrop select:focus,.rig-editor-backdrop-custom:focus{border-color:#ffe2a399;outline:none}.rig-editor-backdrop-custom{color:#ffe7a9;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}.rig-editor-modes{gap:7px;margin:0 0 14px;padding:0;list-style:none;display:grid}.rig-editor-modes li{color:#ffebb2d1;grid-template-columns:auto 1fr;align-items:center;gap:10px;font-size:.84rem;display:grid}.rig-editor-modes kbd{color:#fff5cc;white-space:nowrap;background:#0000005c;border:1px solid #ffebb257;border-radius:5px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.memory-bloom-backdrop{z-index:18;-webkit-backdrop-filter:blur(6px)saturate(.7);backdrop-filter:blur(6px)saturate(.7);background:radial-gradient(circle at 50% 38%,#0000002e,#0000009e 70%),#0504039e;position:fixed;inset:0}.memory-bloom{z-index:20;color:#fff1bd;background:radial-gradient(circle at 50% 0,#ffe9aa1f,#0000 38%),linear-gradient(135deg,#3a2614f0,#100a06f5 60%,#26190ef0),#0c0805f5;border:1px solid #ffebb23d;border-radius:10px;flex-direction:column;padding:22px clamp(20px,3vw,40px);font-family:Cormorant Garamond,Georgia,Times New Roman,serif;display:flex;position:fixed;inset:3vh 3vw;overflow:hidden;box-shadow:0 36px 110px #000000ad,inset 0 0 90px #ffe2a30d}.memory-bloom-content{flex-direction:column;flex:1;gap:14px;min-height:0;display:flex;overflow:hidden}.memory-bloom-header{flex-shrink:0}.memory-bloom-close{color:#fff1bd;cursor:pointer;z-index:3;background:#0e0a0799;border:1px solid #ffebb242;border-radius:999px;width:36px;height:36px;font-size:1rem;position:absolute;top:18px;right:18px}.memory-bloom-header{max-width:920px}.memory-bloom-crumbs{font-family:var(--font-italic);flex-wrap:wrap;align-items:center;gap:4px 2px;margin:0 0 6px;font-style:italic;display:flex}.memory-bloom-crumb-wrap{align-items:center;gap:4px;display:inline-flex}.memory-bloom-crumb-sep{color:#e8dab252;margin:0 6px;font-size:.9rem;font-style:normal}.memory-bloom-crumb{font:inherit;letter-spacing:.02em;color:#e8dab2b8;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:3px 8px;font-size:.92rem;font-style:italic;transition:background .16s,color .16s,transform .16s}button.memory-bloom-crumb:hover{color:var(--ink-warm-strong);background:#ffe2a31f;transform:translateY(-1px)}button.memory-bloom-crumb:focus-visible{outline-offset:2px;outline:1px solid #ffe2a399}.memory-bloom-crumb.is-current{color:var(--ink-warm-strong);cursor:default;background:#ffe2a314;font-weight:600}.memory-bloom-header h2{font-family:var(--font-display);letter-spacing:.08em;color:var(--ink-warm-strong);margin:6px 0;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:600;line-height:1.05}.memory-bloom-meta{color:#ffebb2d1;flex-wrap:wrap;gap:18px;font-size:.96rem;display:flex}.memory-bloom-plus{color:#dba34a;margin-right:4px;font-style:normal;font-weight:800}.memory-bloom-story{color:#ffebb2d6;max-width:80ch;margin:8px 0 0;font-size:.96rem;line-height:1.35}.memory-bloom-stage{flex:1;grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr 1fr;gap:24px;min-height:0;display:grid;overflow:hidden}.memory-bloom-left,.memory-bloom-right{display:contents}.memory-bloom-mini{grid-area:1/1}.memory-bloom-videoblock{grid-area:1/2}.memory-bloom-gallery{grid-area:2/1}.memory-bloom-wreath{grid-area:2/2}.memory-bloom-mini,.memory-bloom-videoblock,.memory-bloom-gallery,.memory-bloom-wreath{min-width:0}.memory-bloom-mini,.memory-bloom-gallery,.memory-bloom-wreath{min-height:0}.memory-bloom-videoblock h3,.memory-bloom-wreath h3,.memory-bloom-gallery h3{color:var(--ink-warm-strong);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px;font-size:.84rem}.memory-bloom-videoblock{background:linear-gradient(#1c120a8c,#0a0704a6);border:1px solid #ffebb22e;border-radius:8px;padding:16px}.branch-video{background:#060403;border-radius:8px;width:100%;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 18px 44px #0000008c,inset 0 0 0 1px #ffebb224}.branch-video-el{aspect-ratio:16/9;object-fit:cover;background:#060403;width:100%;display:block}.branch-video--empty{aspect-ratio:16/9;color:#ffebb299;font-family:var(--font-italic);letter-spacing:.12em;text-transform:uppercase;border:1px dashed #ffebb24d;place-items:center;font-size:.82rem;font-style:italic;display:grid}.branch-video-toggle{width:40px;height:40px;color:var(--ink-warm-strong);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;background:#0e0a079e;border:1px solid #ffebb24d;border-radius:999px;place-items:center;transition:opacity .2s,transform .2s,background .16s;display:grid;position:absolute;bottom:12px;left:12px;transform:translateY(4px)}.branch-video:hover .branch-video-toggle,.branch-video:focus-within .branch-video-toggle{opacity:1;transform:translateY(0)}.branch-video-toggle:hover{background:#362212db}.memory-bloom-mini{background:radial-gradient(circle at 50% 30%,#ffe19a12,#0000 56%),linear-gradient(#140c0766,#08050380);border:1px solid #ffebb22e;border-radius:8px;flex-direction:column;gap:6px;padding:16px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 18px 40px #00000052}.mini-rig-wrap{flex:1 1 0;min-height:0;display:flex;position:relative}.memory-bloom-mini .mini-rig{filter:drop-shadow(0 18px 32px #0000008c);width:100%;height:100%;max-height:none;display:block}.memory-bloom-hint{flex:none}.mini-rig-controls{flex-direction:column;gap:6px;display:flex;position:absolute;bottom:8px;right:8px}.mini-rig-controls button{width:34px;height:34px;color:var(--ink-warm-strong);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0e0a07a8;border:1px solid #ffebb24d;border-radius:999px;place-items:center;font-family:Georgia,serif;font-size:1rem;transition:background .16s,transform .16s;display:grid}.mini-rig-controls button:hover{background:#362212d6;transform:scale(1.06)}.memory-bloom-hint{color:#ffebb280;text-align:center;pointer-events:none;text-shadow:0 1px 6px #000c;margin:0;font-size:.82rem;font-style:italic;position:absolute;bottom:10px;left:16px;right:16px}.memory-bloom-side{gap:22px;min-width:0;display:grid}.memory-bloom-wreath,.memory-bloom-strip{background:linear-gradient(#1c120a9e,#0c0805b8);border:1px solid #ffebb22e;border-radius:8px;padding:16px 18px}.memory-bloom-wreath{flex-direction:column;min-height:0;display:flex}.memory-bloom-wreath h3,.memory-bloom-strip h3{color:#fff5cc;letter-spacing:.18em;text-transform:uppercase;flex-shrink:0;margin:0 0 12px;font-size:.78rem}.memory-bloom-portraits{scrollbar-width:thin;scrollbar-color:#ffe2a36b #0000003d;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;min-height:0;padding-right:6px;display:grid;overflow-y:auto}.memory-portrait{color:#fff1bd;cursor:pointer;text-align:center;background:linear-gradient(#2e1e10e0,#100a06e6);border:1px solid #ffebb233;border-radius:6px;gap:2px;padding:6px 5px 7px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;transition:transform .22s,box-shadow .22s,border-color .22s;display:grid;position:relative}.memory-portrait.is-spouse{background:linear-gradient(#221a10cc,#0c0906e0);border-style:dashed;border-color:#ffe2a34d}.memory-portrait-ring{color:#1a0f06;background:#dba34ae6;border-radius:999px;place-items:center;width:16px;height:16px;font-size:.7rem;font-weight:800;line-height:1;display:grid;position:absolute;top:4px;right:6px}.memory-portrait img,.memory-portrait-placeholder{object-fit:cover;color:#ffebb29e;letter-spacing:.06em;text-transform:uppercase;filter:sepia(.22)saturate(.86);background:radial-gradient(circle at 50% 30%,#ffe9aa29,#22160c66 70%),linear-gradient(140deg,#603e1cb8,#1c120adb);border:1px solid #ffebb252;border-radius:999px;place-items:center;width:66px;height:66px;margin:0 auto;font-size:.92rem;display:grid}.memory-portrait-name{color:#fff5cc;font-size:.82rem;line-height:1.12}.memory-portrait-years{color:#ffebb29e;font-size:.66rem}.memory-portrait:hover,.memory-portrait.is-highlighted{border-color:#ffe2a38c;transform:translateY(-2px);box-shadow:0 14px 28px #00000080,0 0 22px #dba34a2e}.memory-bloom-video-slot{color:#ffebb29e;letter-spacing:.14em;text-transform:uppercase;background:repeating-linear-gradient(90deg,#ffffff0a 0 7px,#0000 7px 18px),#00000052;border:1px dashed #ffebb252;border-radius:6px;place-items:center;min-height:180px;margin-bottom:14px;font-size:.78rem;display:grid}.memory-bloom-video-slot.has-still{background:#0009;border-style:solid;padding:0;position:relative}.memory-bloom-video-slot.has-still img{object-fit:cover;filter:sepia(.2)saturate(.84);border-radius:6px;width:100%;height:240px}.memory-bloom-video-slot.has-still figcaption{color:#ffebb2d1;letter-spacing:.04em;text-transform:none;background:linear-gradient(#0000,#000000c7);padding:8px 12px;font-size:.78rem;position:absolute;inset:auto 0 0}.memory-bloom-prompts{gap:10px;display:grid}.memory-bloom-prompts strong{color:#ffebb2db;letter-spacing:.12em;text-transform:uppercase;font-size:.74rem;display:block}.memory-bloom-prompts p{color:#ffebb2c7;margin:4px 0 0;font-size:.92rem;line-height:1.4}.memory-bloom-empty{color:#ffebb299;margin:0;font-size:.92rem;line-height:1.4}.memory-bloom-gallery{background:linear-gradient(#1c120a9e,#0c0805b8);border:1px solid #ffebb22e;border-radius:8px;flex-direction:column;min-height:0;padding:16px 18px;display:flex}.memory-bloom-gallery h3{color:var(--ink-warm-strong);font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;flex-shrink:0;margin:0 0 12px;font-size:.84rem}.memory-bloom-gallery-hint{color:#ffebb299;margin:0 0 14px;font-size:.86rem;line-height:1.4}.memory-bloom-gallery-grid{scrollbar-color:#ffe2a36b #0000003d;scrollbar-width:thin;flex:1;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;min-height:0;padding-right:6px;display:grid;overflow-y:auto}.memory-bloom-gallery-grid::-webkit-scrollbar{width:8px}.memory-bloom-gallery-grid::-webkit-scrollbar-track{background:#00000047;border-radius:4px}.memory-bloom-gallery-grid::-webkit-scrollbar-thumb{background:#ffe2a35c;border-radius:4px}.memory-bloom-gallery-grid::-webkit-scrollbar-thumb:hover{background:#ffe2a399}.memory-bloom-thumb{cursor:zoom-in;background:#140d0780;border:1px solid #ffebb22e;border-radius:6px;margin:0;padding:6px;transition:transform .2s,border-color .2s,box-shadow .2s}.memory-bloom-thumb:hover{border-color:#ffe2a380;transform:translateY(-2px);box-shadow:0 14px 26px #00000075}.memory-bloom-thumb img{object-fit:cover;filter:sepia(.16)saturate(.88);border-radius:4px;width:100%;height:66px;display:block}.memory-bloom-thumb figcaption{font-family:var(--font-italic);color:#e8dab2bd;text-align:center;margin-top:6px;font-size:.78rem;font-style:italic;line-height:1.3}.memory-bloom-thumb{position:relative}.memory-bloom-thumb.is-pinned{border-color:#ffe2a380}.memory-bloom-thumb-dot{pointer-events:none;z-index:2;background:radial-gradient(circle,#ffe7a9 0%,#d8a857 70%,#784c1800 100%);border-radius:999px;width:10px;height:10px;position:absolute;top:12px;right:12px;box-shadow:0 0 8px #ffe2a3cc}button.memory-bloom-thumb{font:inherit;color:inherit;cursor:zoom-in;text-align:center}.memory-bloom-thumb-caption{font-family:var(--font-italic);color:#e8dab2bd;margin-top:6px;font-size:.78rem;font-style:italic;line-height:1.3;display:block}.intro-sequence{z-index:80;background:#080604;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.intro-video{object-fit:fill;display:block}.intro-vignette{pointer-events:none;background:radial-gradient(circle at 50% 48%,#0000 58%,#0000008c 100%);position:absolute;inset:0}.intro-skip{z-index:2;color:var(--ink-warm);font-family:var(--font-italic);letter-spacing:.04em;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:.7;background:#0c080580;border:1px solid #ffebb24d;border-radius:999px;padding:8px 16px;font-size:.92rem;font-style:italic;transition:background .2s,transform .2s,opacity .2s;position:absolute;bottom:20px;left:22px}.intro-skip:hover{opacity:1;background:#322010b3;transform:translate(2px)}.intro-gate{z-index:3;cursor:pointer;background:#06040347;border:none;place-content:center;justify-items:center;gap:4px;display:grid;position:absolute;inset:0}.intro-gate-ring{background:radial-gradient(circle,#ffe2a32e,#0000 70%);border:1px solid #ffe2a38c;border-radius:999px;width:104px;height:104px;animation:2.6s ease-in-out infinite gatePulse;position:relative;box-shadow:0 0 60px #dba34a66}.intro-gate-ring:after{content:"";border-top:17px solid #0000;border-bottom:17px solid #0000;border-left:28px solid #fff0c8f2;width:0;height:0;position:absolute;top:50%;left:54%;transform:translate(-50%,-50%)}@keyframes gatePulse{0%,to{transform:scale(1);box-shadow:0 0 50px #dba34a4d}50%{transform:scale(1.04);box-shadow:0 0 80px #dba34a80}}.intro-gate-label{font-family:var(--font-display);letter-spacing:.24em;text-transform:uppercase;color:var(--ink-warm-strong);text-shadow:0 2px 16px #000000d9;margin-top:24px;font-size:1.15rem}.intro-gate-sub{font-family:var(--font-italic);letter-spacing:.06em;color:#e8dab2a8;text-shadow:0 2px 12px #000000d9;font-size:.92rem;font-style:italic}.audio-control{z-index:90;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;bottom:22px;right:22px}.audio-toggle{width:46px;height:46px;color:var(--ink-warm);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e0a0799;border:1px solid #ffebb24d;border-radius:999px;place-items:center;transition:background .18s,transform .18s,color .18s;display:grid}.audio-toggle:hover{color:var(--ink-warm-strong);background:#362212d1;transform:scale(1.06)}.audio-slider-pop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transform-origin:bottom;pointer-events:none;background:#0e0a07b8;border:1px solid #ffebb242;border-radius:999px;justify-content:center;align-items:center;padding:14px 6px;transition:opacity .2s,transform .2s;display:flex;transform:translateY(8px)scale(.96);box-shadow:0 12px 30px #00000073}.audio-control:hover .audio-slider-pop,.audio-control:focus-within .audio-slider-pop{opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.audio-slider{-webkit-appearance:slider-vertical;writing-mode:vertical-lr;accent-color:#dba34a;cursor:pointer;direction:rtl;background:0 0;width:6px;height:110px}.audio-slider::-webkit-slider-runnable-track{background:linear-gradient(#ffebb240,#dba34ad9);border-radius:999px;width:6px}.audio-slider::-webkit-slider-thumb{-webkit-appearance:none;background:#ffeebe;border:1px solid #3c240eb3;border-radius:999px;width:16px;height:16px;margin-left:-5px;box-shadow:0 2px 6px #00000080}.audio-slider::-moz-range-track{background:#ffebb240;border-radius:999px;width:6px}.audio-slider::-moz-range-thumb{background:#ffeebe;border:1px solid #3c240eb3;border-radius:999px;width:16px;height:16px}.canvas-hud{bottom:78px}.lightbox-backdrop{z-index:60;-webkit-backdrop-filter:blur(14px)saturate(.7);backdrop-filter:blur(14px)saturate(.7);-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 50% 45%,#1e120a66,#000000eb 75%),#000000eb;grid-template-rows:1fr auto;display:grid;position:fixed;inset:0}.lightbox-stage{place-items:center;min-height:0;padding:56px 80px 12px;display:grid;position:relative}.lightbox-figure{justify-items:center;gap:14px;max-width:100%;max-height:100%;margin:0;display:grid}.lightbox-figure img{object-fit:contain;filter:sepia(.06)saturate(.96);border-radius:6px;max-width:min(94vw,1500px);max-height:calc(100svh - 220px);display:block;box-shadow:0 24px 80px #000000b3,0 0 0 1px #ffe2a329}.lightbox-figure figcaption{text-align:center;max-width:min(80vw,720px);color:var(--ink-warm);font-family:var(--font-italic);gap:4px;display:grid}.lightbox-caption{letter-spacing:.02em;color:var(--ink-warm-strong);font-size:1.1rem;font-style:italic}.lightbox-subcaption{color:#e8dab29e;letter-spacing:.14em;text-transform:uppercase;font-size:.84rem}.lightbox-close{width:44px;height:44px;color:var(--ink-warm-strong);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3;background:#0e0a079e;border:1px solid #ffebb252;border-radius:999px;font-size:1.1rem;transition:background .16s,transform .16s;position:absolute;top:18px;right:22px}.lightbox-close:hover{background:#3c2816db;transform:scale(1.05)}.lightbox-nav{width:56px;height:56px;color:var(--ink-warm-strong);font-family:var(--font-display);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:3;background:#0e0a0780;border:1px solid #ffebb247;border-radius:999px;font-size:2rem;line-height:1;transition:background .16s,transform .16s;position:absolute;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#3c2816d6;transform:translateY(-50%)scale(1.07)}.lightbox-nav-prev{left:18px}.lightbox-nav-next{right:18px}.lightbox-footer{justify-items:center;gap:8px;padding:10px 18px 18px;display:grid}.lightbox-counter{font-family:var(--font-italic);color:#e8dab2a8;letter-spacing:.16em;font-size:.84rem}.lightbox-strip{scrollbar-color:#ffe2a36b #0000003d;scrollbar-width:thin;gap:6px;max-width:min(94vw,1100px);padding:4px 2px;display:flex;overflow-x:auto}.lightbox-strip-thumb{cursor:pointer;opacity:.55;background:#0006;border:2px solid #0000;border-radius:4px;flex:none;width:64px;height:64px;padding:0;transition:border-color .16s,transform .16s,opacity .16s;overflow:hidden}.lightbox-strip-thumb:hover{opacity:.9;transform:translateY(-2px)}.lightbox-strip-thumb.is-active{opacity:1;border-color:#ffe2a3d9}.lightbox-strip-thumb img{object-fit:cover;width:100%;height:100%;display:block}@media (width<=640px){.lightbox-stage{padding:56px 18px 8px}.lightbox-figure img{max-height:calc(100svh - 260px)}.lightbox-nav{width:44px;height:44px;font-size:1.5rem}}.memory-bloom-empty code{color:#ffe7a9;background:#00000052;border-radius:3px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82em}@media (width<=920px){.memory-bloom{-webkit-overflow-scrolling:touch;border-radius:0;padding:16px clamp(12px,4vw,22px) 28px;inset:0;overflow-y:auto}.memory-bloom-close{position:fixed;top:12px;right:12px}.memory-bloom-header{max-width:none}.memory-bloom-header h2{margin:2px 0 4px;font-size:1.5rem}.memory-bloom-story{margin:4px 0 0;font-size:.95rem}.memory-bloom-content,.memory-bloom-stage{flex-direction:column;flex:none;gap:14px;min-height:0;display:flex;overflow:visible}.memory-bloom-left,.memory-bloom-right{display:contents}.memory-bloom-mini{order:1;align-self:stretch}.memory-bloom-videoblock{order:2;display:block}.memory-bloom-gallery{text-align:center;order:3;display:block}.memory-bloom-wreath{order:4;display:block}.memory-bloom-mini .mini-rig-wrap{flex:none;display:block}.memory-bloom-mini .mini-rig{height:auto;max-height:38vh}.memory-bloom-hint,.memory-bloom-gallery h3,.memory-bloom-gallery-grid{display:none}.memory-bloom-gallery-open{border-radius:999px;align-items:center;gap:6px;width:auto;padding:9px 18px;font-size:.86rem;display:inline-flex}.memory-bloom-portraits{scroll-snap-type:x proximity;scrollbar-width:thin;flex-flow:row;gap:8px;min-height:0;max-height:none;padding-bottom:8px;display:flex;overflow:auto hidden}.memory-bloom-portraits .memory-portrait{scroll-snap-align:start;flex:none;width:78px}body:has(.memory-bloom) .search-rail{display:none}}@media (width>=921px) and (height<=940px){.memory-bloom{overflow-y:auto}.memory-bloom-content,.memory-bloom-stage{overflow:visible}.memory-bloom-stage{grid-template-rows:auto minmax(200px,1fr)}.memory-bloom-videoblock .branch-video{max-width:min(100%,56vh);margin:0 auto}.memory-bloom-close{position:fixed;top:14px;right:14px}}.tree-breath{mix-blend-mode:screen;filter:blur(10px);pointer-events:none;background:radial-gradient(circle,#f5c6681a,#0000 58%),radial-gradient(circle,#00000038,#0000 68%);border-radius:50%;width:min(54vw,760px);height:min(54vw,760px);position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.tree-root-label{z-index:5;color:#fff1bd;letter-spacing:.02em;opacity:0;background:linear-gradient(#4a3018bd,#140c07b8),#120d08b8;border:1px solid #ffe2a35c;border-radius:999px;align-items:center;gap:10px;padding:13px 22px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-weight:800;animation:.72s .32s forwards labelReveal;display:flex;position:absolute;bottom:10%;left:51%;transform:translate(-50%);box-shadow:0 0 46px #dbb1573d,inset 0 0 24px #00000057}.branch-map{z-index:6;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.branch-group{opacity:1;transition:opacity .24s}.branch-group.is-muted{opacity:.24}.branch-living-path,.branch-hit-path,.branch-reference-path{fill:none;stroke-linecap:round;stroke-linejoin:round}.branch-reference-path{pointer-events:none;stroke:#0000}.branch-living-path{pointer-events:none;stroke:#ffde9347;stroke-width:9px;filter:url(#branchGlow);mix-blend-mode:screen}.branch-hit-path{cursor:pointer;pointer-events:stroke;stroke:#0000;stroke-width:86px;outline:none}.branch-group:hover .branch-living-path,.branch-group:focus-within .branch-living-path,.branch-group.is-selected .branch-living-path{stroke:#ffe6a694;stroke-width:15px}.branch-script{cursor:pointer;pointer-events:auto;fill:#fff0b8;stroke:#231409e6;stroke-width:2.8px;paint-order:stroke;letter-spacing:.02em;text-anchor:middle;dominant-baseline:middle;opacity:0;filter:drop-shadow(0 8px 16px #000000ad);outline:none;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:27px;font-weight:800;animation:.62s .48s forwards labelReveal}.branch-group:hover .branch-script,.branch-group:focus-within .branch-script,.branch-group.is-selected .branch-script{fill:#fff8cf}.branch-button{z-index:6;left:var(--x);top:var(--y);min-width:124px;min-height:48px;transform:translate(-50%, -50%) rotate(var(--tilt));color:#fff5c8;cursor:pointer;text-shadow:0 2px 8px #000000ad;opacity:0;animation:labelReveal .62s ease forwards var(--delay);background:radial-gradient(circle at 50% 30%,#ffefbc38,#0000 38%),linear-gradient(#583a1de0,#170e07d6);border:1px solid #ffe2a370;border-radius:999px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-weight:800;transition:opacity .22s,background .22s,box-shadow .22s,transform .22s;position:absolute;box-shadow:0 18px 44px #0000006b,0 0 36px #deb35b1f,inset 0 0 22px #ffe2a314}.branch-button:before{content:"";border-radius:inherit;opacity:0;border:1px solid #ffe2a314;transition:opacity .22s;position:absolute;inset:-10px}.branch-button span{z-index:1;position:relative}.branch-button.is-selected,.branch-button:hover{transform:translate(-50%, -56%) rotate(var(--tilt)) scale(1.08);background:radial-gradient(circle at 50% 30%,#ffefbc47,#0000 42%),linear-gradient(#603e1ceb,#201209e0);box-shadow:0 22px 54px #00000075,0 0 70px #dbb15757,inset 0 0 30px #ffe2a31f}.branch-button.is-selected:before,.branch-button:hover:before{opacity:1}.branch-button.is-muted{opacity:.42!important}@keyframes stageAwaken{0%{filter:saturate(.72)brightness(.54);transform:scale(1.04)}to{filter:saturate(.98)brightness(.9);transform:scale(1)}}@keyframes labelReveal{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur()}}@keyframes lightDrift{0%{opacity:.58;transform:translate(-2%,-1%)}to{opacity:.82;transform:translate(2%,1%)}}@keyframes memoryBloom{0%{opacity:0;clip-path:inset(42% 44% round 8px);filter:blur(10px);transform:translate(-50%,-46%)scale(.72)}to{opacity:1;clip-path:inset(0 round 8px);filter:blur();transform:translate(-50%,-50%)scale(1)}}@media (width<=900px){.branch-button{min-width:92px;min-height:42px;font-size:.82rem}}@media (prefers-reduced-motion:reduce){.intro-experience,.memory-haze,.tree-root-label,.branch-button,.branch-script,.story-panel{opacity:1;animation:none}}.memory-backdrop{z-index:18;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:radial-gradient(circle at 50% 48%,#ffde9329,#0000 22%),#05040347;position:fixed;inset:0}.story-panel{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:radial-gradient(circle at 50% 0,#ffe9aa21,#0000 36%),linear-gradient(135deg,#442d18e6,#130c07f0 46%,#2a1b0feb),#0e0a07e6;border:1px solid #ffebb23d;border-radius:8px;width:min(1340px,100vw - 36px);max-height:calc(100svh - 36px);padding:32px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;animation:.52s cubic-bezier(.2,.72,.24,1) both memoryBloom;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 34px 120px #0000009e,inset 0 0 90px #ffe2a30a}.story-panel:before,.story-panel:after{content:"";pointer-events:none;filter:blur(.4px);background:#ffe2a32e;position:absolute}.story-panel:before{height:1px;top:22px;left:4%;right:4%}.story-panel:after{transform-origin:top;width:2px;height:88px;bottom:-42px;left:50%;transform:rotate(8deg)}.memory-close{color:#fff1bd;cursor:pointer;background:#120c079e;border:1px solid #ffebb242;border-radius:999px;padding:8px 12px;position:absolute;top:16px;right:16px}.story-panel h2{color:#fff1bd;margin:0 0 8px;font-size:3rem}.story-intro{margin:0 0 22px}.memory-bloom-header{max-width:620px;padding-right:92px}.memory-bloom-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:24px;display:grid}.story-people{gap:16px;margin-bottom:0;display:grid}.story-person,.memory-card{border-top:1px solid #ffffff1f;padding-top:14px}.story-person strong,.memory-card strong{color:#fff1bd;display:block}.story-person span{color:#ffffff9e}.story-person em,.lineage-node em{color:#ffebb2ad;font-style:normal;line-height:1.35;display:block}.story-person-root{border-top-color:#ffebb23d;max-width:520px}.lineage-map-frame{scrollbar-color:#ffe2a36b #0000003d;background:linear-gradient(90deg,#ffe19a0f,#0000 18% 82%,#ffe19a0d),radial-gradient(at 50% 20%,#ffe19a14,#0000 48%),linear-gradient(#150d072e,#00000029);border-top:1px solid #ffebb229;border-bottom:1px solid #ffebb21a;min-height:420px;max-height:min(66svh,860px);position:relative;overflow:auto;box-shadow:inset 0 18px 50px #00000038}.lineage-map-frame:before,.lineage-map-frame:after{content:"";z-index:2;pointer-events:none;position:absolute;left:0;right:0}.lineage-map-frame:before{background:linear-gradient(90deg,#0000,#ffebb257,#0000);height:1px;top:0}.lineage-map-frame:after{background:linear-gradient(#0000,#0d0805a3);height:70px;bottom:0}.lineage-visual-map{width:100%;min-width:1060px;height:auto;padding:18px 0;display:block;overflow:visible}.lineage-visual-link-shadow,.lineage-visual-link{fill:none;stroke-linecap:round;filter:url(#lineageInkGlow)}.lineage-visual-link-shadow{stroke:#140b05bd;stroke-width:15px}.lineage-visual-link{stroke:#deaf58d6;stroke-width:7px}.lineage-visual-links g:nth-child(2n) .lineage-visual-link{stroke:#ffd57ebd}.lineage-node-card{color:#fff4c8;text-align:center;white-space:normal;background:linear-gradient(140deg,#734821e6,#23150ae0),#160d07d1;border:1px solid #ffe9aa4d;border-radius:6px;align-content:center;min-height:52px;padding:8px 10px;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;display:grid;box-shadow:0 14px 26px #00000057,inset 0 0 18px #ffe6a00d}.lineage-node-card.is-root{background:radial-gradient(circle at 50% 0,#ffebb22e,#0000 54%),linear-gradient(140deg,#7c4f26f2,#201208f0);border-color:#ffeeb57a;min-height:56px}.lineage-node-card strong{color:#fff1bd;font-size:.84rem;line-height:1.12;display:block}.lineage-node-card span,.lineage-node-card em{color:#ffebb2b8;margin-top:2px;font-size:.68rem;font-style:normal;line-height:1.15;display:block}.memory-card{grid-template-columns:minmax(170px,230px) minmax(0,1fr);align-items:start;gap:18px;margin-top:0;display:grid}.memory-card img{object-fit:cover;filter:sepia(.18)saturate(.82);border:1px solid #ffebb238;width:100%;height:180px}.video-slot{color:#fff1bdc7;letter-spacing:.08em;text-transform:uppercase;background:linear-gradient(135deg,#fff1bd1a,#0000 42%),repeating-linear-gradient(90deg,#ffffff0f 0 7px,#0000 7px 18px),#00000042;border:1px solid #ffebb238;place-items:center;min-height:140px;font-weight:800;display:grid}.memory-card h3{color:#fff1bd;margin-top:0}.memory-media{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;display:grid}.search-rail{z-index:30;opacity:.56;align-items:center;gap:12px;transition:opacity .2s;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%)}.search-rail:focus-within,.search-rail:hover{opacity:1}.search-rail button,.search-rail input{color:#fff1bd;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0e0a0794;border:1px solid #ffebb23d;border-radius:999px;padding:10px 14px}.search-rail button{cursor:pointer}.search-rail label{gap:6px;display:grid}.search-rail label span{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.search-results{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0e0a07f2;border:1px solid #ffebb22e;border-radius:8px;min-width:270px;max-height:60vh;padding:6px;position:absolute;top:52px;left:126px;overflow-y:auto;box-shadow:0 20px 60px #00000073}.search-result{text-align:left;width:100%;color:var(--ink-warm);font-family:var(--font-italic);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;gap:1px;padding:8px 12px;transition:background .14s,color .14s;display:flex}.search-result:hover,.search-result:focus-visible{color:var(--ink-warm-strong);background:#ffe2a31f;outline:none}.search-result-name{font-size:.98rem;font-style:italic}.search-result-years{color:#e8dab294;font-size:.76rem}@media (width>=1400px){h1{font-size:8.8rem}}@media (width<=1100px){h1{font-size:5.8rem}}@media (width<=640px){.search-rail{gap:6px;max-width:calc(100vw - 20px);top:10px;left:50%;right:auto;transform:translate(-50%)}.search-rail button,.search-rail input{padding:7px 11px;font-size:.82rem}.search-rail input{width:38vw;min-width:104px}.search-results{min-width:0;top:48px;left:0;right:0}.intro-copy{bottom:28px;left:20px;right:20px}h1{font-size:3.7rem}.story-panel{width:calc(100vw - 24px);max-height:calc(100svh - 92px);padding:18px;top:54%}.story-panel h2{font-size:1.9rem}.memory-bloom-body{grid-template-columns:1fr;gap:18px}.lineage-map-frame{min-height:360px;max-height:52svh}.lineage-visual-map{min-width:920px}.memory-card{grid-template-columns:1fr}.tree-root-label{padding:10px 13px;font-size:.86rem}}
