:root{color-scheme:light;--bg:#f4efe6;--surface:rgba(255,252,247,0.86);--surface-strong:#fffaf2;--border:rgba(104,78,56,0.15);--text:#2c241d;--muted:#6d6257;--accent:#c46e3b;--shadow:0 22px 60px rgba(78,56,37,0.12)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:Avenir Next,Segoe UI,sans-serif;background:radial-gradient(circle at top left,rgba(230,186,140,.45),transparent 32%),linear-gradient(180deg,#fbf6ef 0,var(--bg) 100%);color:var(--text)}body{min-height:100vh}button,input{font:inherit}h1,h2,p{margin:0}.auth-page-shell{display:grid;min-height:100vh;place-items:center;padding:32px}.auth-login-panel{display:grid;width:min(100%,420px);grid-gap:24px;gap:24px;border:1px solid var(--border);border-radius:20px;background:rgba(255,252,247,.92);box-shadow:var(--shadow);padding:32px}.auth-login-copy{display:grid;grid-gap:10px;gap:10px}.auth-kicker{color:var(--accent);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.auth-login-copy h1,.auth-login-panel h1{font-size:1.55rem;line-height:1.22}.auth-login-copy p:not(.auth-kicker){color:var(--muted);line-height:1.65}.auth-login-form{display:grid;grid-gap:12px;gap:12px}.auth-login-form label{color:var(--muted);font-size:.82rem;font-weight:800}.auth-login-form input{width:100%;border:1px solid rgba(117,95,73,.22);border-radius:12px;background:rgba(255,253,247,.96);color:var(--text);padding:12px 14px}.auth-login-form input:focus{border-color:rgba(196,110,59,.56);outline:3px solid rgba(196,110,59,.14)}.auth-login-form button,.auth-secondary-button,.auth-session-bar button{border:0;border-radius:12px;background:var(--accent);color:white;cursor:pointer;font-weight:800}.auth-login-form button{padding:12px 14px}.auth-login-form button:disabled,.auth-secondary-button:disabled,.auth-session-bar button:disabled{cursor:wait;opacity:.7}.auth-secondary-button{padding:10px 14px}.auth-error-message,.auth-status-message{border-radius:12px;padding:12px 14px;line-height:1.5}.auth-status-message{background:rgba(77,135,113,.12);color:#2f6d59}.auth-error-message{background:rgba(168,68,54,.12);color:#8c382e}.auth-session-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:12px 32px 0}.auth-session-bar span{color:var(--muted);font-size:.86rem;font-weight:700}.auth-session-bar button{padding:8px 12px}.page-shell{min-height:100vh;padding:32px}.board-frame{display:grid;grid-template-rows:auto 1fr auto;grid-gap:20px;gap:20px;min-height:calc(100vh - 64px);min-width:0}.detail-panel,.graph-panel,.timeline-panel,.toolbar-panel{border:1px solid var(--border);border-radius:24px;background:var(--surface);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.toolbar-panel{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:24px 28px}.toolbar-copy{display:grid;grid-gap:8px;gap:8px;justify-items:end}.family-space-controls{display:flex;align-items:flex-end;gap:10px}.board-view-controls{display:grid;grid-gap:6px;gap:6px;min-width:170px}.board-view-controls>span{color:var(--muted);font-size:.72rem;font-weight:700}.board-view-segmented{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:4px;gap:4px;padding:4px;border:1px solid rgba(104,78,56,.14);border-radius:14px;background:rgba(255,252,247,.76)}.board-view-segmented button{min-width:0;border:0;border-radius:10px;padding:8px 10px;background:transparent;color:var(--muted);font:inherit;font-size:.84rem;font-weight:800;cursor:pointer}.board-view-segmented button.is-active,.board-view-segmented button:focus-visible,.board-view-segmented button:hover{background:rgba(196,110,59,.12);color:var(--text);outline:none}.family-space-selector{display:grid;grid-gap:6px;gap:6px;min-width:180px}.family-space-selector span{color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.family-space-selector select{width:100%;border:1px solid rgba(117,95,73,.22);border-radius:12px;background:rgba(255,253,247,.96);color:var(--text);font:inherit;font-weight:700;padding:8px 10px}.board-content{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:20px;gap:20px;min-width:0}.detail-panel,.graph-panel,.timeline-panel{padding:28px;min-width:0}.graph-panel{min-height:560px;background:linear-gradient(rgba(196,110,59,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(196,110,59,.08) 1px,transparent 1px),var(--surface-strong);background-size:32px 32px}.detail-panel{min-height:560px;overflow-x:hidden}.timeline-panel{display:grid;grid-gap:18px;gap:18px;max-width:100%;overflow:hidden}.timeline-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-width:0}.timeline-panel-heading>div{display:grid;grid-gap:8px;gap:8px;min-width:0}.panel-heading{display:grid;grid-gap:10px;gap:10px}.detail-list{margin-top:28px;min-width:0}.graph-canvas{position:relative;min-height:420px;margin-top:28px;padding:20px;border:1px dashed rgba(196,110,59,.22);border-radius:22px;overflow:auto;background:radial-gradient(circle at center,rgba(255,244,228,.95) 0,rgba(255,250,242,.7) 48%,transparent 100%)}.graph-empty-state{padding:20px}.graph-stage{position:relative;margin:0 auto}.graph-edges{position:absolute;inset:0;z-index:1;overflow:visible;pointer-events:none}.graph-edge-line{stroke:rgba(104,78,56,.25);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.graph-edge-parent{stroke:rgba(104,78,56,.26);stroke-width:2.1}.graph-edge-spouse{stroke:rgba(77,135,113,.54);stroke-width:2.6}.graph-node-shell{position:absolute;z-index:2;transform:translate(-50%,-50%)}.graph-node-shell:focus-within,.graph-node-shell:hover{z-index:5}.graph-node-shell.has-pinned-card:focus-within,.graph-node-shell.has-pinned-card:hover{z-index:3}.graph-node-shell.is-person-card-pinned,.graph-node-shell.is-person-card-pinned:focus-within,.graph-node-shell.is-person-card-pinned:hover{z-index:10}.person-node{display:grid;grid-gap:6px;gap:6px;width:152px;min-height:68px;padding:12px 14px;border:1px solid rgba(104,78,56,.18);border-radius:16px;background:rgba(255,252,247,.96);color:var(--text);box-shadow:0 10px 22px rgba(78,56,37,.1);cursor:pointer;transition:border-color .12s ease,box-shadow .12s ease,background-color .12s ease}.person-node:hover{border-color:rgba(196,110,59,.45)}.person-node.is-selected{border-color:var(--accent);background:#fff3e6;box-shadow:0 12px 24px rgba(196,110,59,.16)}.person-node-badge{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.person-node-parent .person-node-badge{color:#9a6240}.person-node-ancestor .person-node-badge{color:#8a6f54}.person-node-spouse .person-node-badge{color:#3f8068}.person-node-child .person-node-badge{color:#596f9a}.person-node-sibling-left .person-node-badge,.person-node-sibling-right .person-node-badge{color:#6f7391}.person-node-name{font-size:1.15rem;font-weight:700;line-height:1.2;overflow-wrap:anywhere}.person-hover-card{position:absolute;top:calc(100% + 12px);left:50%;z-index:6;display:grid;grid-gap:13px;gap:13px;width:310px;min-width:0;padding:15px;border:1px solid rgba(104,78,56,.12);border-radius:16px;background:rgba(255,252,247,.98);box-shadow:0 18px 45px rgba(44,36,29,.16);opacity:0;pointer-events:none;transform:translate(-50%,6px);transition:opacity .14s ease,transform .14s ease}.person-hover-card:before{position:absolute;right:0;bottom:100%;left:0;height:14px;content:""}.graph-node-shell.is-person-card-hovered .person-hover-card,.graph-node-shell.is-person-card-pinned .person-hover-card{opacity:1;pointer-events:auto;transform:translate(-50%)}.person-hover-card-header{display:grid;grid-template-columns:58px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center;min-width:0}.person-hover-portrait{width:58px;height:58px;border-radius:14px;object-fit:cover;border:1px solid rgba(104,78,56,.1);background:rgba(248,242,233,.95)}.person-hover-portrait-fallback{display:grid;place-items:center;color:var(--accent);font-weight:800}.person-hover-identity{display:grid;grid-gap:4px;gap:4px;min-width:0}.person-hover-identity strong{font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}.person-hover-life-span{color:var(--muted);font-size:.82rem;font-weight:600;line-height:1.35}.person-hover-role{color:#4d8771;font-size:.72rem;font-weight:700;text-transform:uppercase}.person-hover-presence{color:var(--text);font-size:.9rem;line-height:1.62;overflow-wrap:anywhere;word-break:break-word}.person-hover-content-summary,.person-hover-memory-preview{display:grid;grid-gap:6px;gap:6px;width:100%;padding-top:10px;border:0;border-top:1px solid rgba(104,78,56,.1);background:transparent;color:var(--muted);font:inherit;font-size:.82rem;line-height:1.5;text-align:left}.person-hover-memory-preview{border-radius:10px;cursor:pointer;transition:background-color .12s ease,box-shadow .12s ease,transform .12s ease}.person-hover-memory-preview:focus-visible,.person-hover-memory-preview:hover{background:rgba(255,247,237,.72);box-shadow:0 8px 18px rgba(78,56,37,.08);outline:none;transform:translateY(-1px)}.person-hover-content-summary span,.person-hover-memory-preview p,.person-hover-memory-preview span{overflow-wrap:anywhere}.person-hover-memory-preview span{color:var(--text);font-weight:800}.person-hover-memory-preview em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:700}.person-hover-memory-preview p{margin:0;display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.84rem;line-height:1.58;-webkit-box-orient:vertical;-webkit-line-clamp:3}.person-hover-photo-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;min-width:0}.person-hover-photo-action{position:relative;display:grid;place-items:stretch;min-width:0;aspect-ratio:1/1;border:0;padding:0;background:transparent;cursor:pointer;isolation:isolate}.person-hover-photo-action img{display:block;width:100%;height:100%;aspect-ratio:1/1;border:1px solid rgba(104,78,56,.1);border-radius:10px;object-fit:cover;background:rgba(248,242,233,.95);pointer-events:none;transition:border-color .12s ease,box-shadow .12s ease,opacity .12s ease,transform .12s ease}.person-hover-photo-action:focus-visible img,.person-hover-photo-action:hover img{border-color:rgba(196,110,59,.3);box-shadow:0 8px 18px rgba(78,56,37,.1);opacity:.92;transform:translateY(-1px)}.person-hover-photo-action:focus-visible{outline:none}.person-hover-photo-source{position:absolute;right:5px;bottom:5px;max-width:calc(100% - 10px);overflow:hidden;padding:2px 5px;border-radius:999px;background:rgba(35,27,20,.52);color:rgba(255,252,247,.94);font-size:.58rem;font-weight:800;line-height:1.35;text-overflow:ellipsis;white-space:nowrap;pointer-events:none}.person-hover-timeline-action{justify-self:start;border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-size:.86rem;font-weight:800;cursor:pointer}.person-hover-timeline-action:focus-visible,.person-hover-timeline-action:hover{color:var(--text);outline:none}.detail-list{display:grid;grid-gap:14px;gap:14px}.detail-actions{display:grid;grid-gap:10px;gap:10px}.action-panel-section{gap:12px}.action-panel-heading{display:grid;grid-gap:6px;gap:6px;min-width:0}.action-panel-context{display:flex;flex-wrap:wrap;gap:6px 10px;min-width:0;color:var(--muted);font-size:.86rem;line-height:1.5}.action-panel-context span{min-width:0;overflow-wrap:anywhere}.action-panel-primary{justify-self:stretch}.action-panel-danger{background:rgba(255,248,246,.72)}.danger-actions{display:grid;grid-gap:8px;gap:8px;margin-top:4px}.detail-action-context{color:var(--muted);font-size:.86rem;line-height:1.5}.detail-action-context strong{color:var(--text)}.detail-item{display:grid;grid-gap:6px;gap:6px;min-width:0;padding:16px 18px;border:1px solid var(--border);border-radius:18px;background:rgba(255,250,242,.82)}.detail-section{gap:14px}.detail-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.detail-section-heading>div{min-width:0}.section-hint{margin-top:4px;color:var(--muted);font-size:.82rem;line-height:1.45;overflow-wrap:break-word;word-break:break-word}.detail-form{display:grid;grid-gap:12px;gap:12px;margin-top:4px;min-width:0}.detail-subsection{display:grid;grid-gap:10px;gap:10px;margin-top:18px;padding-top:18px;border-top:1px solid rgba(104,78,56,.1);min-width:0}.detail-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.detail-subsection-heading>div{min-width:0}.timeline-flow,.timeline-groups{position:relative;display:grid;grid-gap:18px;gap:18px;min-width:0}.timeline-flow:before{content:"";position:absolute;top:8px;bottom:8px;left:9px;width:2px;border-radius:999px;background:linear-gradient(180deg,rgba(196,110,59,.12),rgba(196,110,59,.42) 18%,rgba(77,135,113,.34) 82%,rgba(77,135,113,.1))}.timeline-scroll{max-width:100%;min-width:0;overflow-x:auto;overflow-y:hidden;padding:8px 8px 18px;overscroll-behavior-x:contain;scroll-behavior:smooth}.bottom-timeline .timeline-flow{display:flex;align-items:flex-start;gap:14px;width:max-content;min-width:100%;padding:0 18px 4px 4px}.bottom-timeline .timeline-flow:before{top:15px;right:4px;bottom:auto;left:4px;width:auto;height:2px;background:linear-gradient(90deg,rgba(196,110,59,.12),rgba(196,110,59,.44) 18%,rgba(77,135,113,.34) 82%,rgba(77,135,113,.1))}.timeline-group{position:relative;display:grid;grid-gap:10px;gap:10px;min-width:0}.bottom-timeline .timeline-group{flex:0 0 276px;align-content:start;min-width:0}.bottom-timeline .timeline-pause-opening{margin-left:6px}.bottom-timeline .timeline-pause-same-year{margin-left:0}.bottom-timeline .timeline-pause-unknown{margin-left:14px}.bottom-timeline .timeline-pause-short{margin-left:24px}.bottom-timeline .timeline-pause-medium{margin-left:46px}.bottom-timeline .timeline-pause-long{margin-left:72px}.timeline-year-node{position:relative;z-index:1;display:grid;grid-template-columns:20px auto minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;min-width:0}.timeline-year-node:after{content:"";grid-column:3;height:1px;min-width:0;background:linear-gradient(90deg,rgba(196,110,59,.42),transparent)}.bottom-timeline .timeline-year-node{display:flex;align-items:center;gap:10px}.bottom-timeline .timeline-year-node:after{display:none}.timeline-year-dot{width:20px;height:20px;border:2px solid rgba(196,110,59,.34);border-radius:999px;background:var(--surface-strong);box-shadow:0 0 0 4px rgba(255,250,242,.86)}.bottom-timeline .timeline-year-dot{flex:0 0 auto}.timeline-group-year{grid-column:2;grid-row:1;color:var(--accent);font-size:.95rem;font-weight:700;letter-spacing:.04em}.bottom-timeline .timeline-group-year{grid-column:auto;grid-row:auto;padding:3px 8px;border-radius:999px;background:rgba(255,250,242,.9)}.timeline-list{display:grid;grid-gap:12px;gap:12px;min-width:0}.bottom-timeline .timeline-list{gap:10px}.timeline-node{position:relative;z-index:1;display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;min-width:0}.timeline-node-dot{width:10px;height:10px;margin:18px auto 0;border:2px solid rgba(255,252,247,.96);border-radius:999px;background:var(--accent);box-shadow:0 0 0 2px rgba(196,110,59,.22)}.bottom-timeline .timeline-node{grid-template-columns:minmax(0,1fr);gap:8px}.bottom-timeline .timeline-node-dot{width:9px;height:9px;margin:0 0 0 6px}.timeline-card{display:grid;grid-gap:10px;gap:10px;width:100%;max-width:100%;min-width:0;padding:14px;border:1px solid rgba(104,78,56,.13);border-radius:12px;background:rgba(255,252,247,.82);cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}.bottom-timeline .timeline-card{inline-size:100%;min-block-size:148px}.timeline-media-card{border-color:rgba(89,111,154,.18)}.timeline-media-card .timeline-node-dot,.timeline-node:has(.timeline-media-card) .timeline-node-dot{background:#596f9a;box-shadow:0 0 0 2px rgba(89,111,154,.2)}.timeline-historical-card{border-color:rgba(77,135,113,.2);background:rgba(247,252,248,.8)}.timeline-historical-card .timeline-type-label{border-color:rgba(77,135,113,.25);background:rgba(238,248,243,.72)}.timeline-node:has(.timeline-historical-card) .timeline-node-dot{background:#4d8771;box-shadow:0 0 0 2px rgba(77,135,113,.2)}.timeline-card:focus-visible,.timeline-card:hover{border-color:rgba(196,110,59,.3);background:rgba(255,250,242,.96);box-shadow:0 10px 26px rgba(78,56,37,.08);transform:translateY(-1px);outline:none}.timeline-card.is-selected{border-color:rgba(196,110,59,.5);box-shadow:0 8px 18px rgba(78,56,37,.08)}.timeline-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.timeline-card-year{min-width:0;color:var(--accent);font-size:.82rem;font-weight:700;overflow-wrap:break-word;word-break:break-word}.timeline-type-label{flex-shrink:0;padding:3px 7px;border:1px solid rgba(77,135,113,.2);border-radius:999px;color:#3f8068;font-size:.7rem;font-weight:700;text-transform:uppercase}.timeline-card-body{display:grid;grid-gap:10px;gap:10px;min-width:0}.timeline-card-body-with-media{grid-template-columns:56px minmax(0,1fr);align-items:start}.timeline-card-text{display:grid;grid-gap:4px;gap:4px;min-width:0}.museum-timeline{display:grid;grid-gap:10px;gap:10px;min-width:0}.museum-filmstrip{position:relative;display:flex;gap:8px;min-width:0;overflow-x:auto;padding:18px 2px 8px;scroll-snap-type:x proximity}.museum-filmstrip:before{position:absolute;top:28px;right:0;left:0;height:1px;background:linear-gradient(90deg,rgba(196,110,59,0),rgba(196,110,59,.24) 8%,rgba(196,110,59,.24) 92%,rgba(196,110,59,0));content:""}.museum-filmstrip-item{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto 1fr;grid-gap:6px 8px;gap:6px 8px;flex:0 0 168px;min-width:0;padding:13px 9px 9px;border:1px solid rgba(104,78,56,.12);border-radius:12px;background:rgba(255,252,247,.7);color:var(--text);cursor:pointer;text-align:left;scroll-snap-align:start;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.museum-filmstrip-item:before{position:absolute;top:-5px;left:18px;width:9px;height:9px;border:2px solid rgba(255,252,247,.96);border-radius:999px;background:rgba(196,110,59,.72);box-shadow:0 0 0 2px rgba(196,110,59,.14);content:""}.museum-filmstrip-item.is-active,.museum-filmstrip-item:focus-visible,.museum-filmstrip-item:hover{border-color:rgba(196,110,59,.36);background:rgba(255,250,242,.94);outline:none}.museum-filmstrip-item.is-active{box-shadow:0 8px 18px rgba(78,56,37,.08)}.museum-filmstrip-item.is-active:before{background:var(--accent);box-shadow:0 0 0 3px rgba(196,110,59,.22)}.museum-historical-filmstrip-item{border-color:rgba(77,135,113,.14);background:rgba(248,252,249,.58)}.museum-historical-filmstrip-item:before{background:rgba(77,135,113,.72);box-shadow:0 0 0 2px rgba(77,135,113,.14)}.museum-filmstrip-year{grid-column:1/-1;color:var(--accent);font-size:.72rem;font-weight:800}.museum-filmstrip-thumb{display:grid;place-items:center;min-width:0;overflow:hidden;aspect-ratio:1/1;border:1px solid rgba(104,78,56,.1);border-radius:10px;background:rgba(248,242,233,.82);color:rgba(91,75,61,.55);font-size:.58rem;font-weight:800}.museum-filmstrip-thumb img{display:block;width:100%;height:100%;object-fit:cover}.museum-filmstrip-copy{display:grid;align-content:start;grid-gap:4px;gap:4px;min-width:0}.museum-filmstrip-copy em{color:var(--muted);font-size:.62rem;font-style:normal;font-weight:800}.museum-filmstrip-copy strong{display:-webkit-box;min-width:0;overflow:hidden;color:var(--text);font-size:.78rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.museum-filmstrip-index{display:none}.timeline-item{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;grid-gap:10px;gap:10px;color:var(--text)}.timeline-item.is-muted{color:var(--muted)}.timeline-dot{width:10px;height:10px;margin-top:6px;border-radius:999px;background:var(--accent)}.timeline-item.is-muted .timeline-dot{background:rgba(109,98,87,.35)}.timeline-marker{line-height:1.4}.timeline-media-item{grid-template-columns:20px 56px minmax(0,1fr)}.timeline-media-thumb{display:block;width:56px;height:56px;min-width:0;border-radius:12px;object-fit:cover;background:rgba(248,242,233,.95);border:1px solid rgba(104,78,56,.1)}.timeline-memory-thumb{background:rgba(255,250,242,.95)}.timeline-media-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.8rem}.timeline-year{font-size:.86rem;font-weight:700;line-height:1.5}.timeline-title{line-height:1.5;overflow-wrap:break-word;word-break:break-word}.timeline-text{display:grid;grid-gap:3px;gap:3px;min-width:0}.timeline-summary{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:.86rem;line-height:1.45;overflow-wrap:anywhere;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.timeline-reading-overlay{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:34px;animation:reading-overlay-in .18s ease both}.timeline-reading-backdrop{position:absolute;inset:0;border:0;background:linear-gradient(180deg,rgba(44,36,29,.34),rgba(44,36,29,.52)),rgba(244,239,230,.38);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default}.timeline-reading-layer{position:relative;z-index:1;display:grid;grid-gap:28px;gap:28px;width:min(940px,100%);max-height:calc(100vh - 68px);min-width:0;overflow-y:auto;padding:34px;border:1px solid rgba(104,78,56,.14);border-radius:24px;background:linear-gradient(180deg,rgba(255,252,247,.98),rgba(250,244,235,.98)),var(--surface-strong);box-shadow:0 34px 90px rgba(35,27,20,.24);animation:reading-layer-in .22s ease both}.timeline-reading-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}.timeline-reading-person{display:block;color:var(--text);font-size:1rem;font-weight:700;line-height:1.4}.timeline-reading-kicker{margin-top:4px;color:#4d8771;font-size:.78rem;font-weight:700;text-transform:uppercase}.sibling-order-overlay{position:fixed;inset:0;z-index:22;display:grid;place-items:center;padding:24px;animation:reading-overlay-in .16s ease both}.sibling-order-backdrop{position:absolute;inset:0;border:0;background:linear-gradient(180deg,rgba(44,36,29,.28),rgba(44,36,29,.46)),rgba(244,239,230,.32);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:default}.sibling-order-modal{position:relative;z-index:1;display:grid;grid-gap:20px;gap:20px;width:min(620px,100%);max-height:calc(100vh - 48px);min-width:0;overflow-y:auto;padding:28px;border:1px solid rgba(104,78,56,.14);border-radius:22px;background:linear-gradient(180deg,rgba(255,252,247,.99),rgba(250,244,235,.99)),var(--surface-strong);box-shadow:0 32px 80px rgba(35,27,20,.24);animation:reading-layer-in .18s ease both}.sibling-order-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}.sibling-order-header h2{margin-top:4px;font-size:1.55rem;line-height:1.2}.sibling-order-header p:not(.data-label){margin-top:8px;color:var(--muted);font-size:.95rem;line-height:1.65}.sibling-order-list{display:grid;grid-gap:9px;gap:9px;min-width:0}.sibling-order-status{display:grid;grid-gap:5px;gap:5px;min-width:0;padding:14px 16px;border:1px solid rgba(196,110,59,.26);border-radius:14px;background:rgba(196,110,59,.09)}.sibling-order-status.is-confirmed{border-color:rgba(93,127,105,.2);background:rgba(93,127,105,.08)}.sibling-order-status strong{color:var(--text);font-size:.96rem;line-height:1.35}.sibling-order-status p{margin:0;color:var(--muted);font-size:.86rem;line-height:1.55}.sibling-order-row{display:grid;grid-template-columns:26px 34px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;min-width:0;padding:12px;border:1px solid rgba(104,78,56,.12);border-radius:14px;background:rgba(255,250,242,.78);transition:border-color .12s ease,box-shadow .12s ease,opacity .12s ease}.sibling-order-row.is-suggested{border-color:rgba(196,110,59,.18);background:rgba(255,247,238,.9)}.sibling-order-row.is-dragging{opacity:.62;border-color:rgba(196,110,59,.38);box-shadow:0 12px 26px rgba(78,56,37,.12)}.sibling-order-drag-handle{color:var(--muted);font-weight:800;cursor:-webkit-grab;cursor:grab}.sibling-order-rank{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:rgba(196,110,59,.1);color:var(--accent);font-size:.78rem;font-weight:800}.sibling-order-row.is-suggested .sibling-order-rank{border:1px dashed rgba(196,110,59,.34);background:rgba(196,110,59,.08)}.sibling-order-person{display:grid;grid-gap:3px;gap:3px;min-width:0}.sibling-order-person strong{font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.sibling-order-note,.sibling-order-person span{color:var(--muted);font-size:.84rem;line-height:1.5}.sibling-order-controls{display:flex;gap:6px}.sibling-order-move{border:1px solid rgba(104,78,56,.16);border-radius:999px;padding:7px 10px;background:rgba(255,252,247,.82);color:var(--text);font:inherit;font-size:.78rem;cursor:pointer}.sibling-order-move:disabled{cursor:not-allowed;opacity:.42}.sibling-order-footer{display:flex;justify-content:flex-end;gap:10px}.person-workspace-overlay{position:fixed;inset:0;z-index:23;display:grid;place-items:center;padding:28px;animation:reading-overlay-in .18s ease both}.person-workspace-backdrop{position:absolute;inset:0;border:0;background:linear-gradient(180deg,rgba(44,36,29,.24),rgba(44,36,29,.44)),rgba(244,239,230,.3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:default}.person-workspace{position:relative;z-index:1;display:grid;grid-gap:24px;gap:24px;width:min(1180px,100%);max-height:calc(100vh - 56px);min-width:0;overflow-y:auto;padding:30px;border:1px solid rgba(104,78,56,.14);border-radius:24px;background:linear-gradient(180deg,rgba(255,252,247,.99),rgba(250,244,235,.99)),var(--surface-strong);box-shadow:0 34px 90px rgba(35,27,20,.24);animation:reading-layer-in .22s ease both}.person-workspace-hero,.person-workspace-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;min-width:0}.person-workspace-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:24px;gap:24px;align-items:start;min-width:0;padding-bottom:26px;border-bottom:1px solid rgba(104,78,56,.1)}.person-workspace-hero-presence{display:grid;grid-template-columns:168px minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start;min-width:0}.person-workspace-portrait{display:block;width:168px;height:168px;border-radius:20px;object-fit:cover;border:1px solid rgba(104,78,56,.12);background:rgba(248,242,233,.96)}.person-workspace-portrait-fallback{display:grid;place-items:center;color:var(--accent);font-size:2.5rem;font-weight:800}.person-workspace-hero-copy{display:grid;grid-gap:10px;gap:10px;min-width:0;padding-top:3px}.person-workspace-hero-copy h2{margin:0;color:var(--text);font-size:2.5rem;line-height:1.12;overflow-wrap:anywhere;word-break:break-word}.person-workspace-meta{display:flex;flex-wrap:wrap;gap:6px 12px;min-width:0;color:var(--accent);font-size:.92rem;font-weight:800}.person-workspace-meta span+span:before{content:"·";margin-right:12px;color:rgba(109,98,87,.64)}.person-workspace-hero-copy p:not(.data-label){max-width:68ch;color:var(--muted);font-size:1rem;line-height:1.78;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.person-workspace-identity-panel{display:grid;grid-template-columns:minmax(0,.92fr) minmax(320px,1.08fr);grid-gap:18px;gap:18px;min-width:0;padding:16px;border:1px solid rgba(104,78,56,.1);border-radius:16px;background:rgba(255,252,247,.58)}.person-workspace-identity-copy{display:grid;align-content:start;grid-gap:6px;gap:6px;min-width:0}.person-workspace-identity-copy h3{margin:0;color:var(--text);font-size:1.02rem;line-height:1.35}.person-workspace-identity-copy p{color:var(--muted);font-size:.88rem;line-height:1.62}.person-workspace-identity-controls{display:grid;grid-gap:10px;gap:10px;min-width:0}.identity-email-field{min-width:0}.person-workspace-tabs{display:flex;flex-wrap:wrap;gap:20px;min-width:0;padding-bottom:2px;border-bottom:1px solid rgba(104,78,56,.1)}.person-workspace-tab{position:relative;border:0;padding:0 0 10px;background:transparent;color:var(--muted);font:inherit;font-size:.95rem;font-weight:700;cursor:pointer}.person-workspace-tab:after{position:absolute;right:0;bottom:-2px;left:0;height:2px;border-radius:999px;background:transparent;content:""}.person-workspace-tab.is-active,.person-workspace-tab:focus-visible,.person-workspace-tab:hover{color:var(--text);outline:none}.person-workspace-tab.is-active:after{background:rgba(196,110,59,.7)}.person-workspace-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:18px;gap:18px;min-width:0}.person-workspace-section{display:grid;align-content:start;grid-gap:16px;gap:16px;min-width:0;padding:20px;border:1px solid rgba(104,78,56,.11);border-radius:18px;background:rgba(255,252,247,.62)}.person-workspace-profile{grid-column:auto;padding:16px;background:rgba(255,250,242,.42)}.person-workspace-media,.person-workspace-memories,.person-workspace-timeline{grid-column:span 2}.person-workspace-section-heading>div{display:grid;grid-gap:5px;gap:5px;min-width:0}.person-workspace-section-heading h3{margin:0;color:var(--text);font-size:1.15rem;line-height:1.3}.workspace-mode-note{flex:0 0 auto;color:var(--muted);font-size:.82rem;line-height:1.45}.person-workspace-form,.person-workspace-memory-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;min-width:0}.identity-link-awareness{display:grid;grid-gap:5px;gap:5px;min-width:0;padding:12px;border:1px solid rgba(104,78,56,.12);border-radius:12px;background:rgba(255,252,247,.58)}.identity-link-awareness strong{color:var(--text);font-size:.88rem;line-height:1.4}.identity-link-awareness p{color:var(--muted);font-size:.82rem;line-height:1.55}.identity-link-candidate-list{display:grid;grid-gap:8px;gap:8px;min-width:0}.identity-link-candidate-row{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;padding-top:8px;border-top:1px solid rgba(104,78,56,.1)}.identity-link-candidate-row>span{min-width:0;color:var(--text);font-size:.86rem;line-height:1.4}.identity-link-candidate-row>strong{flex:0 0 auto;color:var(--muted);font-size:.8rem;line-height:1.4}.identity-link-unlink-control{display:grid;justify-items:end;grid-gap:2px;gap:2px;min-width:0}.identity-link-unlink-control em{max-width:220px;color:var(--muted);font-size:.72rem;font-style:normal;line-height:1.4;text-align:right}.workspace-photo-source{color:var(--muted);font-size:.78rem;font-weight:700;line-height:1.4}.memory-conversation-drawer{position:fixed;top:56px;right:max(28px,calc((100vw - 1180px) / 2 + 28px));bottom:56px;z-index:3;display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:0;gap:0;width:min(380px,calc(100vw - 56px));min-width:0;overflow:hidden;padding:18px;border:1px solid rgba(104,78,56,.14);border-radius:18px;background:linear-gradient(180deg,rgba(255,252,247,.96),rgba(250,244,235,.97)),var(--surface-strong);box-shadow:0 22px 54px rgba(35,27,20,.18);animation:memory-conversation-drawer-in .18s ease both}@keyframes memory-conversation-drawer-in{0%{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}.memory-conversation-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0;padding-bottom:12px}.memory-conversation-header div{display:grid;grid-gap:3px;gap:3px;min-width:0}.memory-conversation-header span,.memory-conversation-notice{color:var(--accent);font-size:.76rem;font-weight:800;text-transform:uppercase}.memory-conversation-header strong{color:var(--text);font-size:.98rem;line-height:1.4}.memory-conversation-source{color:var(--muted);font-size:.7rem;font-style:normal;font-weight:700;letter-spacing:0}.memory-conversation-messages{display:flex;flex-direction:column;gap:10px;min-height:260px;min-width:0;overflow-y:auto;padding:12px 0}.memory-conversation-bubble{display:grid;max-width:92%;min-width:0;padding:10px 12px;border-radius:15px;overflow-wrap:anywhere;word-break:break-word}.memory-conversation-bubble p{margin:0;font-size:.92rem;line-height:1.58}.memory-conversation-bubble-assistant{align-self:flex-start;border:1px solid rgba(104,78,56,.1);border-bottom-left-radius:6px;background:rgba(255,250,242,.78);color:var(--text)}.memory-conversation-bubble-user{align-self:flex-end;border-bottom-right-radius:6px;background:rgba(93,127,105,.12);color:var(--text)}.memory-conversation-bubble-pending{color:var(--muted);min-width:56px}.memory-conversation-bubble-pending p{font-size:.88rem;white-space:nowrap}.memory-conversation-bubble-pending p:after{content:"。。。";display:inline-block;width:2.4em;animation:memory-conversation-thinking 1.2s steps(4) infinite}@keyframes memory-conversation-thinking{0%{content:""}25%{content:"。"}50%{content:"。。"}75%,to{content:"。。。"}}.memory-conversation-composer{display:grid;grid-gap:9px;gap:9px;padding-top:12px;border-top:1px solid rgba(104,78,56,.1)}.memory-conversation-composer textarea{min-height:78px;resize:vertical}.memory-conversation-actions,.memory-conversation-draft-row{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0}.memory-conversation-notice{margin-right:auto;line-height:1.45;text-transform:none}.memory-conversation-draft-row{margin-top:4px;padding-top:12px;border-top:1px solid rgba(104,78,56,.08)}.memory-conversation-closure-action{border-color:rgba(104,78,56,.2);border-radius:16px;background:rgba(255,252,247,.9);color:var(--text);font-size:.9rem;font-weight:700}.memory-conversation-closure-action:hover:enabled{border-color:rgba(104,78,56,.36);background:rgba(255,248,239,.96)}.person-workspace-wide-field{grid-column:1/-1}.person-workspace-memory-list{display:grid;grid-gap:14px;gap:14px;min-width:0}.workspace-memory-item{gap:14px;padding:18px;border-radius:18px}.workspace-memory-reading{display:grid;grid-gap:9px;gap:9px;min-width:0}.workspace-memory-kicker{display:flex;flex-wrap:wrap;gap:8px;color:var(--accent);font-size:.78rem;font-weight:800;text-transform:uppercase}.workspace-memory-reading h4,.workspace-photo-reading strong{margin:0;color:var(--text);font-size:1.12rem;line-height:1.35;overflow-wrap:anywhere;word-break:break-word}.workspace-memory-reading p,.workspace-photo-reading p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.72;overflow-wrap:anywhere;word-break:break-word}.workspace-card-actions{display:flex;justify-content:flex-end;gap:12px;min-width:0}.workspace-edit-panel{display:grid;grid-gap:12px;gap:12px;min-width:0;padding:14px;border:1px solid rgba(104,78,56,.1);border-radius:14px;background:rgba(255,250,242,.66)}.workspace-media-edit-panel{gap:14px}.workspace-edit-intro{display:grid;grid-gap:4px;gap:4px;min-width:0}.field-help,.workspace-edit-intro span{color:var(--muted);font-size:.82rem;line-height:1.55}.workspace-edit-label{color:var(--muted);font-size:.84rem;font-weight:700;line-height:1.45}.workspace-edit-actions{display:flex;justify-content:flex-end;gap:10px;min-width:0}.workspace-text-action{border:0;padding:8px 4px;background:transparent;color:var(--muted);font:inherit;font-size:.9rem;font-weight:700;cursor:pointer}.workspace-text-action:focus-visible,.workspace-text-action:hover:enabled{color:var(--text);outline:none}.workspace-text-action:disabled{cursor:not-allowed;opacity:.5}.person-workspace-memory-image{display:block;width:100%;max-height:220px;border-radius:14px;object-fit:cover;border:1px solid rgba(104,78,56,.1);background:rgba(248,242,233,.95)}.person-workspace-photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:14px;gap:14px;min-width:0}.workspace-photo-card{align-content:start;gap:12px;padding:12px;border:1px solid rgba(104,78,56,.11);border-radius:16px;background:rgba(255,250,242,.56)}.workspace-photo-thumb-frame{min-width:0}.workspace-photo-card .photo-thumb{aspect-ratio:4/3;border-radius:12px}.workspace-photo-reading{display:grid;grid-gap:6px;gap:6px;min-width:0;padding:2px 2px 4px}.workspace-photo-reading span{color:var(--accent);font-size:.78rem;font-weight:800}.workspace-photo-reading p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.workspace-photo-muted{color:rgba(91,75,61,.58)}.workspace-media-draft-layout{display:grid;grid-template-columns:minmax(150px,.34fr) minmax(0,1fr);grid-gap:14px;gap:14px;align-items:start;min-width:0}.workspace-media-preview{display:grid;place-items:center;min-width:0;overflow:hidden;aspect-ratio:4/3;border:1px solid rgba(104,78,56,.11);border-radius:14px;background:rgba(248,242,233,.72)}.workspace-media-preview img{display:block;width:100%;height:100%;object-fit:cover}.workspace-media-placeholder{display:grid;place-items:center;width:100%;height:100%;padding:12px;color:var(--muted);font-size:.88rem;text-align:center}.person-workspace-timeline-list{display:grid;grid-gap:9px;gap:9px;min-width:0}.person-workspace-timeline-tabs{display:inline-flex;align-items:center;justify-self:start;gap:4px;min-width:0;padding:4px;border:1px solid rgba(104,78,56,.1);border-radius:999px;background:rgba(255,250,242,.56)}.person-workspace-timeline-tab{border:0;border-radius:999px;padding:8px 13px;background:transparent;color:var(--muted);cursor:pointer;font:inherit;font-size:.88rem;font-weight:700;line-height:1.2}.person-workspace-timeline-tab.is-active,.person-workspace-timeline-tab:focus-visible,.person-workspace-timeline-tab:hover{color:var(--text);outline:none}.person-workspace-timeline-tab.is-active{background:rgba(255,252,247,.92);box-shadow:0 1px 8px rgba(78,56,37,.06)}.person-workspace-timeline-group-heading{display:grid;grid-gap:4px;gap:4px;min-width:0;margin-top:8px}.person-workspace-timeline-group-heading h4{margin:0;color:var(--text);font-size:.96rem;line-height:1.35}.person-workspace-timeline-group-heading p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.55}.person-workspace-timeline-item{display:grid;grid-template-columns:72px 76px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;width:100%;min-width:0;padding:12px 14px;border:1px solid rgba(104,78,56,.11);border-radius:14px;background:rgba(255,250,242,.58);color:var(--text);text-align:left}.person-workspace-world-context-list{margin-top:2px}.person-workspace-world-context-item{border-color:rgba(77,135,113,.13);background:rgba(247,252,248,.44)}.person-workspace-timeline-item:hover{border-color:rgba(196,110,59,.34)}.person-workspace-world-context-item:hover{border-color:rgba(77,135,113,.28)}.person-workspace-timeline-item>span{color:var(--accent);font-size:.9rem;font-weight:800}.person-workspace-timeline-thumb{display:block;width:76px;aspect-ratio:1/1;border:1px solid rgba(104,78,56,.1);border-radius:12px;object-fit:cover;background:rgba(248,242,233,.95)}.person-workspace-timeline-thumb-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.82rem;font-weight:800}.person-workspace-timeline-copy{display:grid;grid-gap:5px;gap:5px;min-width:0}.person-workspace-timeline-copy strong{min-width:0;font-size:.98rem;line-height:1.4;overflow-wrap:anywhere;word-break:break-word}.person-workspace-timeline-copy p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.55;overflow-wrap:anywhere;word-break:break-word}.person-workspace-timeline-copy em{color:var(--muted);font-size:.78rem;font-style:normal;font-weight:700}.timeline-visibility-toggle{display:inline-flex;align-items:center;gap:7px;border:0;padding:0;background:transparent;color:var(--text);cursor:pointer;font:inherit;font-size:.86rem;font-weight:700;line-height:1.4;white-space:nowrap}.timeline-visibility-check{display:inline-block;width:16px;height:16px;border:1px solid rgba(104,78,56,.28);border-radius:4px;background:rgba(255,252,247,.92);box-shadow:inset 0 0 0 2px rgba(255,252,247,.92)}.timeline-visibility-toggle[aria-checked=true] .timeline-visibility-check{border-color:rgba(196,110,59,.72);background:var(--accent)}.timeline-visibility-toggle:focus-visible{outline:2px solid rgba(196,110,59,.34);outline-offset:3px}.timeline-visibility-toggle:disabled{cursor:not-allowed;opacity:.58}.person-workspace-empty-state{display:grid;grid-gap:6px;gap:6px;min-width:0;padding:18px;border:1px dashed rgba(104,78,56,.16);border-radius:16px;background:rgba(255,250,242,.48)}.person-workspace-empty-state p{color:var(--text);font-weight:700}.person-workspace-empty-state span{color:var(--muted);font-size:.94rem;line-height:1.7}.timeline-reading-close{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border:1px solid rgba(104,78,56,.14);border-radius:999px;background:rgba(255,252,247,.7);color:var(--muted);font:inherit;font-size:1.35rem;line-height:1;cursor:pointer}.timeline-reading-close:focus-visible,.timeline-reading-close:hover{border-color:rgba(196,110,59,.34);color:var(--text);outline:none}.timeline-reading-hero{display:grid;grid-template-columns:minmax(110px,.28fr) minmax(0,1fr);grid-gap:30px;gap:30px;align-items:end;min-width:0;padding-bottom:18px;border-bottom:1px solid rgba(104,78,56,.12)}.timeline-reading-year{color:var(--accent);font-size:3.8rem;font-weight:800;line-height:.95;overflow-wrap:anywhere;word-break:break-word}.timeline-reading-heading{display:grid;grid-gap:10px;gap:10px;min-width:0}.timeline-reading-heading h2{margin:0;max-width:14ch;color:var(--text);font-size:2.25rem;line-height:1.14;overflow-wrap:anywhere;word-break:break-word}.timeline-reading-heading p{color:var(--muted);font-size:.98rem;line-height:1.7}.timeline-reading-author{color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.5}.timeline-reading-figure{margin:4px 0 2px;width:min(420px,100%)}.timeline-reading-image{display:block;width:100%;max-height:280px;border-radius:10px;object-fit:cover;border:1px solid rgba(104,78,56,.1);background:rgba(248,242,233,.72)}.timeline-reading-body{display:grid;grid-gap:16px;gap:16px;width:min(680px,100%);min-width:0;color:var(--text);font-size:1.05rem;line-height:1.92;overflow-wrap:anywhere;word-break:break-word}.timeline-reading-body p{margin:0}.timeline-reading-navigation{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:16px;gap:16px;width:100%;padding-top:6px;color:var(--muted);font-size:.92rem}.timeline-reading-navigation span{min-width:0}.timeline-reading-nav-button{border:0;padding:0;background:transparent;color:var(--accent);font:inherit;font-weight:700;cursor:pointer}.timeline-reading-nav-button:first-child{justify-self:start}.timeline-reading-nav-button:last-child{justify-self:end}.timeline-reading-nav-button:disabled{color:rgba(109,98,87,.42);cursor:default}@keyframes reading-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes reading-layer-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.timeline-scroll{scroll-behavior:auto}.timeline-card,.timeline-reading-layer,.timeline-reading-overlay{animation:none;transition:none}}.memory-list{display:grid;grid-gap:12px;gap:12px;min-width:0}.memory-editor-section{margin-top:4px}.memory-item{display:grid;grid-gap:10px;gap:10px;min-width:0;padding:14px;border:1px solid rgba(104,78,56,.12);border-radius:14px;background:rgba(255,252,247,.72)}.memory-item-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.memory-item-heading .field-label{min-width:0}.memory-content-input{min-height:140px;overflow-wrap:anywhere;word-break:break-word}.memory-inline-photo{display:grid;grid-gap:10px;gap:10px;min-width:0;padding:12px;border:1px solid rgba(104,78,56,.1);border-radius:14px;background:rgba(255,250,242,.52)}.memory-inline-photo-placeholder,.memory-inline-photo-preview{width:100%;min-width:0;aspect-ratio:4/3;border-radius:12px;border:1px solid rgba(104,78,56,.1);background:rgba(248,242,233,.95)}.memory-inline-photo-preview{display:block;object-fit:cover}.memory-inline-photo-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.9rem}.portrait-editor{display:grid;grid-template-columns:88px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;min-width:0;padding:12px;border:1px solid rgba(104,78,56,.1);border-radius:14px;background:rgba(255,250,242,.52)}.portrait-editor-preview{display:block;width:88px;height:88px;border-radius:16px;object-fit:cover;border:1px solid rgba(104,78,56,.1);background:rgba(248,242,233,.95)}.portrait-editor-fallback{display:grid;place-items:center;color:var(--accent);font-size:1.35rem;font-weight:800}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:12px;gap:12px}.photo-card,.photo-grid{display:grid;min-width:0}.photo-card{grid-gap:8px;gap:8px}.photo-thumb{display:block;width:100%;aspect-ratio:1/1;border-radius:14px;object-fit:cover;background:rgba(248,242,233,.95);border:1px solid rgba(104,78,56,.1)}.photo-placeholder{display:grid;place-items:center;color:var(--muted);font-size:.9rem}.photo-year{color:var(--muted);font-size:.84rem;font-weight:600}.photo-delete-button{justify-self:end;border:0;padding:0;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.photo-delete-button:hover{color:var(--accent)}.detail-field{display:grid;grid-gap:6px;gap:6px;min-width:0}.field-label{color:var(--muted);font-size:.84rem;font-weight:600;overflow-wrap:break-word;word-break:break-word}.detail-input{width:100%;min-width:0;max-width:100%;padding:11px 12px;border:1px solid rgba(104,78,56,.18);border-radius:12px;background:rgba(255,252,247,.98);color:var(--text);font:inherit;overflow-wrap:anywhere;word-break:break-word}.detail-input:focus{outline:2px solid rgba(196,110,59,.18);border-color:rgba(196,110,59,.42)}.detail-input[readonly]{color:var(--muted);background:rgba(248,242,233,.95)}.detail-textarea{display:block;min-height:96px;overflow-x:hidden;resize:vertical;white-space:pre-wrap}.primary-action{flex-shrink:0;padding:12px 14px;border:1px solid rgba(196,110,59,.42);border-radius:14px;background:rgba(196,110,59,.12);color:var(--text);font:inherit;font-weight:700;cursor:pointer}.primary-action:hover:enabled{border-color:rgba(196,110,59,.66);background:rgba(196,110,59,.18)}.primary-action:disabled{opacity:.55;cursor:not-allowed}.secondary-action{flex-shrink:0;padding:12px 14px;border:1px solid rgba(196,110,59,.28);border-radius:14px;background:rgba(255,247,237,.96);color:var(--text);font:inherit;font-weight:600;cursor:pointer}.secondary-action:hover:enabled{border-color:var(--accent);background:#fff1e3}.secondary-action:disabled{opacity:.55;cursor:not-allowed}.danger-action{justify-self:start;border:1px solid rgba(156,58,44,.28);border-radius:14px;padding:10px 13px;background:rgba(255,246,244,.86);color:#9c3a2c;font:inherit;font-weight:700;cursor:pointer}.danger-action:hover:enabled{border-color:rgba(156,58,44,.48);background:rgba(255,237,233,.96)}.danger-action:disabled{opacity:.55;cursor:not-allowed}.compact-action{padding:8px 12px;border-radius:12px;font-size:.88rem}.workspace-entry-action{justify-self:start;margin-top:4px}.memory-delete-button{border:0;padding:0;background:transparent;color:var(--muted);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer}.memory-delete-button:hover{color:var(--accent)}.toolbar-action{justify-self:end}.eyebrow{margin-bottom:10px;color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.panel-copy{max-width:42rem;color:var(--muted);line-height:1.6;overflow-wrap:anywhere;word-break:break-word}.data-label,.status-copy{color:var(--muted);font-size:.9rem}.data-value{font-size:1.2rem;font-weight:700;overflow-wrap:anywhere;word-break:break-word}@media (max-width:960px){.page-shell{padding:20px}.board-content{grid-template-columns:1fr}.toolbar-panel{flex-direction:column}.toolbar-copy{justify-items:start}.family-space-controls{align-items:stretch;flex-wrap:wrap}.board-view-controls{width:min(360px,100%)}.toolbar-action{justify-self:start}.detail-panel,.graph-panel{min-height:320px}.graph-canvas{min-height:280px}.graph-stage{margin:0}.person-hover-card{width:min(280px,calc(100vw - 34px))}.portrait-editor{grid-template-columns:1fr}.bottom-timeline .timeline-group{flex-basis:236px}.bottom-timeline .timeline-pause-short{margin-left:18px}.bottom-timeline .timeline-pause-medium{margin-left:34px}.bottom-timeline .timeline-pause-long{margin-left:58px}.museum-filmstrip-item{flex-basis:164px}.person-workspace-overlay,.timeline-reading-overlay{padding:14px}.person-workspace{max-height:calc(100vh - 28px);padding:22px;border-radius:18px}.person-workspace-hero,.person-workspace-section-heading{align-items:stretch;flex-direction:column}.person-workspace-hero{align-items:start}.person-workspace-hero,.person-workspace-hero-presence{grid-template-columns:1fr}.person-workspace-portrait{width:min(180px,100%);height:auto;aspect-ratio:1/1}.person-workspace-hero-copy h2{font-size:2rem}.person-workspace-identity-panel{grid-template-columns:1fr}.identity-link-candidate-row{align-items:flex-start;flex-direction:column}.person-workspace-form,.person-workspace-grid,.person-workspace-memory-editor,.workspace-media-draft-layout{grid-template-columns:1fr}.memory-conversation-drawer{top:auto;right:14px;bottom:14px;width:calc(100vw - 28px);max-height:min(78vh,620px);padding:16px;border-radius:16px}.person-workspace-media,.person-workspace-memories,.person-workspace-timeline,.person-workspace-wide-field{grid-column:auto}.person-workspace-timeline-item{grid-template-columns:1fr;gap:4px}.person-workspace-tabs{gap:14px}.timeline-reading-layer{max-height:calc(100vh - 28px);padding:24px;border-radius:18px}.timeline-reading-hero{grid-template-columns:1fr;gap:16px;align-items:start}.timeline-reading-year{font-size:2.8rem}.timeline-reading-heading h2{max-width:100%;font-size:1.72rem}.timeline-reading-figure{width:min(340px,100%)}.timeline-reading-image{max-height:220px}.timeline-reading-navigation{grid-template-columns:1fr;justify-items:center}.timeline-reading-nav-button:first-child,.timeline-reading-nav-button:last-child{justify-self:center}}