*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-touch-callout:none}button{background:none;border:none;cursor:pointer;color:inherit;font:inherit;outline:none}button:focus,button:focus-visible{outline:none;box-shadow:none}img{display:block}:root{--bg-app: #0d0c0b;--bg-surface: #161411;--bg-raised: #1e1c18;--bg-bezel: #252219;--text-primary: #e8e0d0;--text-secondary:#9a9082;--text-hint: #5c564e;--amber-bright: #e8943a;--amber-glow: #f0a84e;--amber-dim: #8c5a22;--amber-deep: #3d2a12;--metal-light: #7a6f60;--metal-mid: #4a4540;--metal-dark: #2a2720;--metal-deep: #1a1815;--border-subtle: rgba(200, 185, 160, .08);--border-mid: rgba(200, 185, 160, .16);--border-strong: rgba(200, 185, 160, .28);--dial-size-full: 260px;--dial-size-compact: 150px;--dial-transition: cubic-bezier(.32, 0, .12, 1);--sp-xs: 4px;--sp-sm: 8px;--sp-md: 16px;--sp-lg: 24px;--sp-xl: 40px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", "Fira Code", "Fira Mono", monospace;--dock-full-height: 380px;--dock-compact-height: 220px}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.imprnt-shell{display:flex;flex-direction:column;height:100svh;width:100%;max-width:480px;margin:0 auto;position:relative;overflow:hidden}.status-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-md) var(--sp-lg);border-bottom:1px solid var(--border-subtle);flex-shrink:0;position:relative;z-index:10}.app-wordmark{font-size:13px;font-weight:600;letter-spacing:.35em;color:var(--text-secondary);text-transform:uppercase}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:50%;transition:color .2s,background .2s}.icon-btn:hover{color:var(--text-primary);background:var(--border-subtle)}.year-header{flex-shrink:0;display:flex;align-items:baseline;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg) var(--sp-sm);transition:filter .3s ease}.year-header--hidden{height:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0;transition:height .3s ease,opacity .3s ease,padding .3s ease}.year-header__year{font-size:39px;font-weight:200;letter-spacing:-.03em;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.year-header__count{font-size:12px;color:var(--text-hint);letter-spacing:.08em;text-transform:uppercase;padding-bottom:4px}.entry-grid{display:flex;flex-direction:column;gap:var(--sp-md)}.entry-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;transition:border-color .2s,transform .2s}.entry-card:hover{border-color:var(--border-mid);transform:translateY(-1px)}.entry-card__photo{height:160px;background-size:cover;background-position:center;background-color:var(--bg-raised)}.entry-card__body{padding:var(--sp-md)}.entry-card__date{font-size:11px;color:var(--text-hint);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:var(--sp-xs)}.entry-card__title{font-size:17px;font-weight:500;color:var(--text-primary);margin-bottom:var(--sp-sm);line-height:1.3}.entry-card__excerpt{font-size:14px;color:var(--text-secondary);line-height:1.6;margin-bottom:var(--sp-sm);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.entry-card__tags{display:flex;flex-wrap:wrap;gap:var(--sp-xs)}.entry-tag{font-size:11px;color:var(--amber-dim);background:var(--amber-deep);border-radius:20px;padding:2px 10px;letter-spacing:.04em}.empty-year{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--sp-xl) var(--sp-lg);gap:var(--sp-md)}.empty-year__glyph{font-size:40px;color:var(--text-hint);line-height:1}.empty-year__headline{font-size:18px;font-weight:400;color:var(--text-secondary)}.empty-year__sub{font-size:14px;color:var(--text-hint);max-width:260px;line-height:1.6}.dial-dock{flex:1;min-height:0;background:var(--bg-app);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;align-items:center;justify-content:center;padding-bottom:0;gap:var(--sp-md);position:relative;box-shadow:0 -40px 80px -20px #c878280a}.year-readout{position:absolute;top:var(--sp-lg);left:50%;transform:translate(-50%) translateY(8px);opacity:0;transition:opacity .2s ease,transform .2s ease;pointer-events:none}.year-readout--visible{opacity:1;transform:translate(-50%) translateY(0)}.year-readout__number{font-size:48px;font-weight:200;letter-spacing:-.04em;color:var(--amber-glow);font-variant-numeric:tabular-nums;text-shadow:0 0 40px rgba(232,148,58,.5)}.dial-svg-wrap{position:relative;width:100%;max-width:400px;aspect-ratio:400 / 340;flex-shrink:0}.dial-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;overflow:visible;transition:opacity .3s ease}.dial-svg:active{cursor:grabbing}.dial-svg-wrap--mini{transform:scale(.4);transform-origin:center bottom;transition:transform .45s cubic-bezier(.32,0,.12,1)}.dial-svg-wrap--mini .dial-svg{opacity:0;pointer-events:none}.dial-dock--detail{justify-content:flex-end;padding-bottom:36px}.person-detail{position:absolute;top:0;left:0;right:0;bottom:169px;display:flex;flex-direction:column;overflow:hidden;animation:detail-slide-in .38s cubic-bezier(.32,0,.12,1) both}.dial-knob-wrap{position:absolute;left:50%;top:79.4%;transform:translate(-50%,-50%);width:65%;aspect-ratio:1}.tile-fan,.tile,.tile__photo,.tile__name,.tile__spark,.arc-fan,.arc-card,.avatar-strip,.avatar-card,.avatar-row-outer,.avatar-scroll,.avatar-gap,.card-fan,.fan-card,.add-person-btn,.avatar-row,.avatar-track,.avatar-btn,.avatar-circle,.avatar-label,.avatar-add-btn{display:none!important}.dial-stage{display:flex;align-items:center;justify-content:center;padding-bottom:var(--sp-sm)}.dial-outer-wrap{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:var(--dial-size-full);height:var(--dial-size-full);transition:width .45s var(--dial-transition),height .45s var(--dial-transition)}.dial-outer-wrap--compact{width:var(--dial-size-compact);height:var(--dial-size-compact)}.dial-bezel{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--bg-bezel);border:2px solid var(--metal-mid);box-shadow:inset 0 2px 4px #0009,inset 0 -1px 2px #9682641a,0 4px 24px #00000080;pointer-events:none;z-index:1}.dial-knob{position:absolute;top:12px;right:12px;bottom:12px;left:12px;border-radius:50%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;will-change:transform;outline:none;z-index:2}.dial-knob:active{cursor:grabbing}.dial-knob:focus-visible{box-shadow:0 0 0 3px #e8943a66}.dial-knob-svg{width:100%;height:100%;border-radius:50%;overflow:hidden;display:block;box-shadow:0 2px 8px #000000b3,inset 0 1px 1px #9682640f}.dial-marker-pip-wrap{position:absolute;top:3px;left:50%;transform:translate(-50%);width:10px;height:10px;display:flex;align-items:flex-start;justify-content:center;pointer-events:none;z-index:4}.dial-marker-pip{width:5px;height:5px;border-radius:50%;background:var(--amber-bright);box-shadow:0 0 6px 2px #e8943aa6,0 0 2px 1px #ffc864e6}.dial-notch-fixed{position:absolute;top:4px;left:50%;transform:translate(-50%);width:1.5px;height:8px;border-radius:1px;background:#c8b9a073;pointer-events:none;z-index:6}.dial-center-btn{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;width:48px;height:48px;border-radius:50%;background:none;border:none;outline:none;box-shadow:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#c8b9a061;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s}.dial-center-btn:focus,.dial-center-btn:focus-visible{outline:none;box-shadow:none;border:none}.dial-center-btn:hover{color:#c8b9a0b8}.dial-center-btn--pressed{transform:translate(-50%,-50%) scale(.86);color:var(--amber-glow)}.dial-glow{position:absolute;top:-4px;left:50%;transform:translate(-50%);width:90px;height:52px;border-radius:50%;background:radial-gradient(ellipse at 50% 0%,rgba(240,168,78,.22) 0%,rgba(232,148,58,.08) 45%,transparent 100%);opacity:0;transition:opacity 1s ease;pointer-events:none;z-index:0}.dial-glow--active{opacity:1;animation:glow-breathe 3.5s ease-in-out infinite}@keyframes glow-breathe{0%,to{opacity:.65}50%{opacity:1}}.content-area::-webkit-scrollbar{width:3px}.content-area::-webkit-scrollbar-track{background:transparent}.content-area::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:2px}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-app);display:flex;align-items:center;justify-content:center;padding:var(--sp-lg);z-index:100;transition:opacity .5s ease,transform .5s ease}.onboarding-overlay--exit{opacity:0;transform:scale(.97);pointer-events:none}.onboarding-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:var(--sp-md);text-align:center}.onboarding-wordmark{font-size:12px;font-weight:600;letter-spacing:.4em;color:var(--text-hint);text-transform:uppercase;margin-bottom:var(--sp-sm)}.onboarding-glyph{font-size:52px;color:var(--amber-dim);line-height:1;text-shadow:0 0 30px rgba(232,148,58,.3)}.onboarding-headline{font-size:26px;font-weight:300;color:var(--text-primary);letter-spacing:-.02em}.onboarding-body{font-size:15px;color:var(--text-secondary);line-height:1.65;max-width:300px}.onboarding-fields{display:flex;gap:var(--sp-sm);width:100%;margin-top:var(--sp-sm)}.ofield{flex:1;display:flex;flex-direction:column;gap:6px}.ofield--narrow{flex:0 0 80px}.ofield__label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-hint);text-align:left}.ofield__select{width:100%;background:var(--bg-surface);border:1px solid var(--border-mid);border-radius:8px;color:var(--text-primary);font-size:15px;padding:10px 8px;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;text-align:center;transition:border-color .2s}.ofield__select:focus{outline:none;border-color:var(--amber-dim)}.ofield__select option{background:var(--bg-surface);color:var(--text-primary)}.onboarding-error{font-size:13px;color:#c06040;background:#c060401f;border-radius:6px;padding:8px 14px;width:100%}.onboarding-confirm{width:100%;padding:14px;border-radius:10px;background:var(--amber-deep);border:1px solid var(--amber-dim);color:var(--amber-bright);font-size:15px;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:background .2s,box-shadow .2s,transform .15s,opacity .2s;margin-top:var(--sp-sm)}.onboarding-confirm:hover:not(:disabled){background:color-mix(in srgb,var(--amber-deep) 55%,var(--amber-dim));box-shadow:0 0 24px #e8943a33}.onboarding-confirm:active:not(:disabled){transform:scale(.98)}.onboarding-confirm:disabled{opacity:.35;cursor:not-allowed}.onboarding-footnote{font-size:12px;color:var(--text-hint)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#080706b8;z-index:50;display:flex;align-items:flex-end;opacity:0;transition:opacity .3s ease}.sheet-backdrop--visible{opacity:1}.entry-sheet{width:100%;max-width:480px;margin:0 auto;max-height:92svh;background:var(--bg-raised);border-radius:20px 20px 0 0;border-top:1px solid var(--border-mid);display:flex;flex-direction:column;transform:translateY(100%);transition:transform .4s cubic-bezier(.22,1,.36,1);pointer-events:all}.entry-sheet--visible{transform:translateY(0)}.sheet-handle-wrap{display:flex;justify-content:center;padding:12px 0 8px;flex-shrink:0}.sheet-handle-pill{width:36px;height:4px;border-radius:2px;background:var(--border-mid)}.sheet-header{display:flex;align-items:center;justify-content:space-between;padding:4px var(--sp-lg) 12px;flex-shrink:0;border-bottom:1px solid var(--border-subtle)}.sheet-date-anchor{font-size:12px;color:var(--amber-bright);letter-spacing:.04em;font-style:normal;text-shadow:0 0 16px rgba(232,148,58,.4)}.sheet-close-btn{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-hint);transition:color .2s,background .2s}.sheet-close-btn:hover{color:var(--text-secondary);background:var(--border-subtle)}.sheet-scroll-body{flex:1;overflow-y:auto;padding:var(--sp-lg);scrollbar-width:none;-ms-overflow-style:none}.sheet-scroll-body::-webkit-scrollbar{display:none}.sheet-field{margin-bottom:var(--sp-md)}.sheet-field--title{margin-bottom:var(--sp-sm)}.sheet-title-input{width:100%;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:26px;font-weight:300;letter-spacing:-.02em;line-height:1.25;caret-color:var(--amber-bright)}.sheet-title-input::placeholder{color:var(--text-hint)}.sheet-body-input{width:100%;background:transparent;border:none;outline:none;color:var(--text-secondary);font-size:16px;font-weight:400;line-height:1.65;resize:none;caret-color:var(--amber-bright);font-family:var(--font-sans)}.sheet-body-input::placeholder{color:var(--text-hint)}.sheet-section-divider{height:1px;background:var(--border-subtle);margin:var(--sp-md) 0}.sheet-section{margin-bottom:var(--sp-lg)}.sheet-section-label{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-hint);margin-bottom:var(--sp-sm)}.sheet-section-label--opt{font-weight:400;opacity:.6;text-transform:none;letter-spacing:0;font-size:10px}.mood-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-sm)}.mood-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);text-align:left;transition:background .18s,border-color .18s,color .18s,transform .12s}.mood-chip:hover{border-color:var(--border-mid);color:var(--text-primary)}.mood-chip:active{transform:scale(.95)}.mood-chip--selected{background:var(--amber-deep);border-color:var(--amber-dim);color:var(--amber-glow)}.mood-chip--selected .mood-chip__glyph{color:var(--amber-bright);text-shadow:0 0 12px rgba(232,148,58,.5)}.mood-chip__glyph{font-size:18px;line-height:1;flex-shrink:0;color:var(--text-hint);transition:color .18s,text-shadow .18s}.mood-chip__label{font-size:14px;font-weight:400}.attr-row{display:flex;gap:8px;overflow-x:auto;overflow-y:visible;padding:4px 0 8px;scrollbar-width:none;-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%)}.attr-row::-webkit-scrollbar{display:none}.attr-chip{display:flex;flex-direction:column;align-items:center;gap:6px;flex-shrink:0;width:68px;padding:10px 0 9px;border-radius:12px;background:var(--bg-surface);border:1.5px solid var(--border-subtle);color:var(--text-hint);cursor:pointer;transition:border-color .18s,background .18s,transform .12s}.attr-chip:hover{border-color:var(--border-mid);color:var(--text-secondary)}.attr-chip:active{transform:scale(.94)}.attr-chip--selected{background:var(--amber-deep);border-color:var(--amber-dim)}.attr-chip__icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.attr-chip__label{font-size:10px;letter-spacing:.04em;color:var(--text-hint);transition:color .18s}.attr-chip--selected .attr-chip__label{color:var(--amber-glow)}.tags-input-wrap{display:flex;flex-wrap:wrap;gap:var(--sp-xs);padding:10px 12px;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;min-height:44px;cursor:text;align-items:center;transition:border-color .2s}.tags-input-wrap:focus-within{border-color:var(--border-mid)}.tag-chip{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--amber-dim);background:var(--amber-deep);border-radius:20px;padding:3px 8px 3px 10px;letter-spacing:.03em}.tag-chip__remove{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;color:var(--amber-dim);opacity:.7;transition:opacity .15s;padding-bottom:1px}.tag-chip__remove:hover{opacity:1}.tags-text-input{flex:1;min-width:80px;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:14px;caret-color:var(--amber-bright);font-family:var(--font-sans)}.tags-text-input::placeholder{color:var(--text-hint)}.media-row{display:flex;gap:var(--sp-sm);margin-bottom:var(--sp-md)}.media-file-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.media-pill{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:13px;transition:border-color .2s,color .2s,background .2s}.media-pill:hover:not(:disabled){border-color:var(--border-mid);color:var(--text-primary)}.media-pill--future{opacity:.45;cursor:not-allowed}.media-pill__badge{font-size:9px;letter-spacing:.06em;text-transform:uppercase;background:var(--metal-dark);border-radius:4px;padding:2px 5px;color:var(--text-hint)}.media-thumb-wrap{position:relative;width:56px;height:56px;flex-shrink:0}.media-thumb{width:56px;height:56px;border-radius:8px;object-fit:cover;border:1px solid var(--border-mid)}.media-thumb__remove{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;background:var(--bg-raised);border:1px solid var(--border-mid);color:var(--text-secondary);font-size:13px;display:flex;align-items:center;justify-content:center;line-height:1}.sheet-footer{flex-shrink:0;padding:var(--sp-sm) var(--sp-lg) max(var(--sp-lg),env(safe-area-inset-bottom));border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:var(--sp-xs);background:var(--bg-raised);box-shadow:0 -8px 24px #0000004d}.sheet-footer__validation{min-height:18px}.validation-hint{font-size:11px;color:var(--text-hint);letter-spacing:.04em}.sheet-save-btn{width:100%;padding:15px;border-radius:12px;background:var(--metal-dark);border:1px solid var(--border-subtle);color:var(--text-hint);font-size:16px;font-weight:500;letter-spacing:.02em;cursor:not-allowed;transition:background .25s,border-color .25s,color .25s,box-shadow .25s,transform .12s}.sheet-save-btn--ready{background:var(--amber-deep);border-color:var(--amber-dim);color:var(--amber-glow);cursor:pointer;box-shadow:0 0 28px #e8943a1f}.sheet-save-btn--ready:hover{background:color-mix(in srgb,var(--amber-deep) 55%,var(--amber-dim));box-shadow:0 0 36px #e8943a38}.sheet-save-btn--ready:active{transform:scale(.98)}.sheet-save-btn--saving{cursor:wait;opacity:.7}.content-area--blurred{filter:blur(2px);pointer-events:none;transition:filter .3s ease}.dial-dock--sheet{height:var(--dock-compact-height)}.sheet-header__left{display:flex;flex-direction:column;gap:2px}.sheet-eyebrow{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-hint)}.sheet-field-label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-hint);margin-bottom:8px}.sheet-field--hero{margin-bottom:var(--sp-lg)}.sheet-name-input{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-mid);outline:none;color:var(--text-primary);font-size:30px;font-weight:300;letter-spacing:-.02em;line-height:1.2;padding-bottom:10px;caret-color:var(--amber-bright);transition:border-color .2s}.sheet-name-input:focus{border-bottom-color:var(--amber-dim)}.sheet-name-input::placeholder{color:var(--text-hint)}.sheet-impact-input{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:10px;outline:none;color:var(--text-secondary);font-size:15px;font-weight:400;line-height:1.7;padding:12px 14px;resize:none;caret-color:var(--amber-bright);font-family:var(--font-sans);transition:border-color .2s,color .2s}.sheet-impact-input:focus{border-color:var(--border-mid);color:var(--text-primary)}.sheet-impact-input::placeholder{color:var(--text-hint);font-size:14px;line-height:1.6}.sheet-field--inline{display:flex;gap:var(--sp-md)}.sheet-inline-half{flex:1}.sheet-inline-input{width:100%;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:8px;outline:none;color:var(--text-primary);font-size:14px;padding:10px 12px;caret-color:var(--amber-bright);font-family:var(--font-sans);transition:border-color .2s}.sheet-inline-input:focus{border-color:var(--border-mid)}.sheet-inline-input::placeholder{color:var(--text-hint)}.rel-scroll-wrap{-webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);mask-image:linear-gradient(to right,black 85%,transparent 100%);overflow:hidden}.rel-row{display:flex;gap:7px;overflow-x:auto;padding-bottom:4px;padding-right:32px;scrollbar-width:none}.rel-row::-webkit-scrollbar{display:none}.rel-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:20px;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);font-size:13px;white-space:nowrap;flex-shrink:0;cursor:pointer;transition:background .18s,border-color .18s,color .18s,transform .12s}.rel-chip:hover{border-color:var(--border-mid);color:var(--text-primary)}.rel-chip:active{transform:scale(.94)}.rel-chip--selected{background:var(--amber-deep);border-color:var(--amber-dim);color:var(--amber-glow)}.rel-chip--selected .rel-chip__glyph{color:var(--amber-bright)}.rel-chip__glyph{font-size:13px;line-height:1;color:var(--text-hint);transition:color .18s;flex-shrink:0}.rel-chip__label{font-weight:400}.entry-card__person-row{display:flex;align-items:center;gap:6px;margin-bottom:3px}.entry-card__relationship{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber-dim);background:var(--amber-deep);border-radius:4px;padding:2px 7px}.entry-card__where{font-size:11px;color:var(--text-hint);letter-spacing:.02em}.entry-card__title{font-size:18px;font-weight:500;color:var(--text-primary);margin-bottom:3px;line-height:1.25}.entry-card__date{font-size:10px;color:var(--text-hint);letter-spacing:.06em;display:block;margin-bottom:8px}@keyframes detail-slide-in{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.person-detail__close{position:absolute;top:var(--sp-md);right:var(--sp-md);width:32px;height:32px;border-radius:50%;background:var(--bg-raised);border:1px solid var(--border-mid);color:var(--text-hint);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;transition:color .18s,border-color .18s;flex-shrink:0}.person-detail__close:hover{color:var(--text-secondary);border-color:var(--border-strong)}.person-detail__scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--sp-lg) var(--sp-lg) var(--sp-lg);scrollbar-width:none;display:flex;flex-direction:column;align-items:center;text-align:center}.person-detail__scroll::-webkit-scrollbar{display:none}.person-detail__glyph{margin-top:var(--sp-xl);margin-bottom:var(--sp-md);display:flex;align-items:center;justify-content:center}.person-detail__attr-label{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber-bright);margin-bottom:var(--sp-sm)}.person-detail__attr-desc{color:var(--amber-dim);text-transform:none;letter-spacing:.02em}.person-detail__name{font-size:32px;font-weight:200;letter-spacing:-.02em;color:var(--text-primary);line-height:1.15;margin-bottom:var(--sp-sm)}.person-detail__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;font-size:12px;color:var(--text-hint);margin-bottom:var(--sp-md)}.person-detail__dot{color:var(--border-mid)}.person-detail__divider{width:32px;height:1px;background:var(--border-subtle);margin:var(--sp-md) auto;flex-shrink:0}.person-detail__excerpt{font-size:15px;line-height:1.75;color:var(--text-secondary);max-width:340px;text-align:center;font-style:italic}.person-detail__tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:var(--sp-lg)}.person-detail__tag{font-size:11px;color:var(--text-hint);background:var(--bg-raised);border:1px solid var(--border-subtle);border-radius:12px;padding:3px 10px;letter-spacing:.04em}.dial-ripple-wrap{position:absolute;left:50%;top:79.41%;transform:translate(-50%,-50%);width:0;height:0;pointer-events:none;z-index:3}.dial-ripple-wave{position:absolute;width:290px;height:290px;top:-145px;left:-145px;pointer-events:none;transform:scale(0);opacity:0}.dial-ripple-layer{position:absolute;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.dial-ripple-trough{width:250px;height:250px;border:8px solid rgba(10,8,5,.5);filter:blur(3px)}.dial-ripple-preshadow{width:264px;height:264px;border:3px solid rgba(20,12,5,.55);filter:blur(1.5px)}.dial-ripple-highlight{width:276px;height:276px;border:1.5px solid rgba(255,200,100,.95);box-shadow:0 0 4px 1px #f0a83c8c}.dial-ripple-crest{width:283px;height:283px;border:3px solid rgba(232,148,40,.7);filter:blur(.5px)}.dial-ripple-shimmer{width:293px;height:293px;border:5px solid rgba(180,100,20,.22);filter:blur(2.5px)}.dial-ripple-ambient{width:310px;height:310px;border:16px solid rgba(220,130,30,.09);filter:blur(8px)}@keyframes dial-wave-expand{0%{transform:scale(.04);opacity:0}6%{opacity:1}88%{opacity:.08}to{transform:scale(1.06);opacity:0}}.dial-ripple-wave{animation:dial-wave-expand 2.2s cubic-bezier(.12,0,.28,1) both}.dial-ripple-wave--0{animation-delay:0s}.dial-ripple-wave--1{animation-delay:.45s}.dial-ripple-wave--2{animation-delay:.88s}.dial-ripple-wave--3{animation-delay:1.28s}.dial-ripple-wave--1 .dial-ripple-highlight{border-color:#f5b950b3}.dial-ripple-wave--1 .dial-ripple-crest{border-color:#dc8a2380}.dial-ripple-wave--1 .dial-ripple-shimmer{border-color:#aa5a0f29}.dial-ripple-wave--1 .dial-ripple-ambient{border-color:#c873190f}.dial-ripple-wave--2 .dial-ripple-highlight{border-color:#ebaa417a;border-width:1.2px}.dial-ripple-wave--2 .dial-ripple-crest{border-color:#cd7d1e57}.dial-ripple-wave--2 .dial-ripple-shimmer{border-color:#9b520c1c}.dial-ripple-wave--2 .dial-ripple-ambient{border-color:#b464120a}.dial-ripple-wave--3 .dial-ripple-highlight{border-color:#dc9b324d;border-width:1px}.dial-ripple-wave--3 .dial-ripple-crest{border-color:#be6e1933}.dial-ripple-wave--3 .dial-ripple-shimmer{border-color:#8c480812}.dial-ripple-wave--3 .dial-ripple-ambient{border-color:#a0580e08}.entry-sheet-wrap{display:flex;flex-direction:column;height:100%;overflow:hidden}.entry-sheet--v3{display:flex;flex-direction:column;height:100%;background:var(--bg-raised);border-radius:20px 20px 0 0;overflow:hidden}.sheet-header--compact{padding:var(--sp-sm) var(--sp-md) var(--sp-sm)}.sheet-section--compact{padding:var(--sp-sm) 0}.sheet-impact-input--compact{min-height:72px;resize:vertical}.sheet-media-row{display:flex;gap:10px;padding:var(--sp-sm) 0 var(--sp-md)}.sheet-voice-btn,.sheet-photo-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:10px 12px;border-radius:10px;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-hint);font-size:13px;cursor:pointer;transition:border-color .2s,color .2s,background .2s}.sheet-voice-btn:hover,.sheet-photo-btn:hover{border-color:var(--border-mid);color:var(--text-secondary)}.sheet-voice-btn--recording{border-color:var(--amber-dim);background:var(--amber-deep);color:var(--amber-bright);animation:voice-pulse 1.2s ease-in-out infinite}@keyframes voice-pulse{0%,to{border-color:var(--amber-dim)}50%{border-color:var(--amber-bright);box-shadow:0 0 0 3px #e8943a26}}.sheet-voice-btn--has-note{border-color:var(--amber-dim);color:var(--amber-glow)}.sheet-voice-dot{width:7px;height:7px;border-radius:50%;background:var(--amber-bright);animation:dot-blink .7s ease-in-out infinite}@keyframes dot-blink{0%,to{opacity:1}50%{opacity:.3}}.sheet-photo-btn--has-photo{padding:4px;border-color:var(--border-mid)}.sheet-photo-thumb{width:100%;height:48px;object-fit:cover;border-radius:8px;display:block}.sheet-transcribed-badge{color:var(--amber-dim);font-style:italic}.year-header--hidden{height:0;padding-top:0;padding-bottom:0;overflow:hidden;opacity:0;transition:height .3s ease,opacity .2s ease,padding .3s ease}
