.memory-view-toolbar { display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-4px 0 24px;flex-wrap:wrap; }
.memory-view-switch { display:flex;gap:4px;padding:4px;border:1px solid #e4e7df;background:#edf0e8a6;border-radius:13px; }
.memory-view-switch button { display:flex;gap:7px;align-items:center;min-height:40px;padding:9px 15px;border:0;border-radius:9px;background:transparent;color:#75806b;font-size:12px;cursor:pointer; }
.memory-view-switch button[aria-pressed=true] { color:var(--scene-ink);background:#fff;box-shadow:0 2px 7px #35432a09; }
.memory-view-switch svg { width:17px;height:17px; }
.memory-date-filters { display:flex;align-items:center;gap:9px; }
.memory-date-filters>label { color:#8b9483;font-size:11px; }
.memory-date-filters select { border:1px solid #e1e5da;background:#ffffffd9;border-radius:10px;min-height:41px;padding:8px 29px 8px 11px;font-family:inherit;color:#617156;font-size:11px;max-width:130px; }
.memory-date-filters .sr-only { position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap; }
.mobius-panel { border:1px solid var(--scene-line);border-radius:26px;background:radial-gradient(ellipse at 48% 44%,#f6f0e59c,transparent 62%),linear-gradient(145deg,#fffefa,#fff 70%);box-shadow:0 12px 40px #38462b04; }
.mobius-panel [hidden] { display:none!important; }
.mobius-panel-heading { display:flex;justify-content:space-between;align-items:center;gap:24px;padding:30px 34px 0; }
.mobius-panel-heading .eyebrow { color:#9c9b88;font-size:9px;letter-spacing:2.5px; }
.mobius-panel-heading h2 { color:var(--scene-ink);font-size:23px;font-weight:500;letter-spacing:-.5px;margin:12px 0 0;line-height:1.6; }
.mobius-board { position:relative;padding:0 12px 23px; }
.mobius-orbit { position:relative;width:100%;height:clamp(430px,50vw,610px);isolation:isolate;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none; }
.mobius-orbit.is-dragging { cursor:grabbing; }
.mobius-orbit.is-dragging .mobius-node { pointer-events:none; }
.mobius-orbit:focus-visible { outline:1px solid #b8a477;outline-offset:-8px;border-radius:18px; }
.mobius-canvas { position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none; }
.mobius-ground-shadow { position:absolute;top:80%;left:18%;width:66%;height:7%;background:radial-gradient(ellipse,#7c644a3b,transparent 67%);filter:blur(13px);transform:rotate(-7deg);pointer-events:none; }
.mobius-dates { position:absolute;inset:0;pointer-events:none; }
/* Node positions already follow the animation clock. A button transform
   transition would keep chasing each frame and cause lag against the ribbon. */
.mobius-node { position:absolute;left:0;top:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:76px;height:60px;padding:0;background:transparent;border:none;cursor:pointer;-webkit-tap-highlight-color:transparent;font-family:inherit;pointer-events:auto;will-change:transform;transform-origin:50% 100%;backface-visibility:hidden;transition:none; }
.mobius-date-chip { display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 11px;border:1px solid #e4dfd0;border-radius:10px;background:#fffef9f5;color:#776c58;box-shadow:0 4px 15px #5c482112;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;transition:box-shadow .2s,border-color .2s,background-color .2s; }
.mobius-date-chip small { display:inline-grid;place-items:center;width:15px;height:15px;background:#eee8dc;color:#9d845b;font-size:8px;border-radius:50%; }
.mobius-node-stem { width:1px;height:15px;background:linear-gradient(#bdac89,#c9b89488); }
.mobius-node-dot { width:8px;height:8px;border:2px solid #fff9e8;background:#b69351;box-shadow:0 0 0 1px #b8a47755;border-radius:50%;transform:translateY(4px); }
.mobius-node:hover .mobius-date-chip,.mobius-node:focus-visible .mobius-date-chip { border-color:#b7a47c;box-shadow:0 6px 24px #88714b28; }
.mobius-node.is-selected .mobius-date-chip { background:#67513e;border-color:#67513e;color:#fffdf4; }
.mobius-node.is-selected .mobius-node-dot { background:#c4a45f;box-shadow:0 0 0 6px #e9d9b95e; }
.mobius-node:focus-visible { outline:2px solid var(--scene-accent);outline-offset:3px;border-radius:12px; }
.mobius-connector { position:absolute;left:12px;top:0;width:calc(100% - 24px);overflow:visible;pointer-events:none;z-index:30; }
.mobius-connector path { fill:none;stroke:#bfa36b;stroke-width:1.15;stroke-dasharray:1000;stroke-dashoffset:0;animation:mobius-thread .34s ease-out; }
@keyframes mobius-thread { from{stroke-dashoffset:1000;opacity:0}to{stroke-dashoffset:0;opacity:1} }
.mobius-day { position:absolute;z-index:40;min-width:0;border:1px solid #e7ddca;border-radius:21px;background:#fffdf7f7;box-shadow:0 22px 65px #5b432829,0 4px 15px #78613c0c;backdrop-filter:blur(16px);display:flex;flex-direction:column;overflow:hidden; }
.mobius-day-header { display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:22px 24px 18px;border-bottom:1px solid #eae2d3;flex-shrink:0; }
.mobius-day-header .icon-btn { min-width:32px;min-height:32px;width:32px;height:32px;color:#a19074; }
.mobius-day-header .icon-btn svg { width:14px;height:14px; }
.mobius-day-header h3 { font-size:19px;font-weight:500;color:#63543e;margin:0 0 7px; }
.mobius-day-header p { color:#a39880;font-size:10px;margin:0; }
.mobius-day-stories { overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;flex:1;padding:16px 18px 19px; }
.mobius-day .timeline-card { padding:19px;margin:0 0 12px;border-radius:13px;background:#ffffffc9;border:1px solid #ebe5d9;box-shadow:none; }
.mobius-day .timeline-card:last-child { margin-bottom:0; }
.mobius-day .timeline-card:before,.mobius-day .timeline-date { display:none; }
.mobius-day .timeline-card .card-top { gap:6px;flex-wrap:wrap; }
.mobius-day .timeline-card .author-inline { font-size:10px; }
.mobius-day .timeline-card .avatar { width:25px;height:25px;font-size:10px; }
.mobius-day .timeline-card .tag { font-size:9px; }
.mobius-day .timeline-card>h3 { font-size:16px;font-family:inherit;margin:14px 0 10px;line-height:1.7;color:#665942; }
.mobius-day .memory-body { font-size:12px;color:#817762;line-height:1.95;overflow-wrap:anywhere; }
.mobius-day .memory-photos { gap:5px; }
.mobius-day .memory-photos img { height:84px; }
.mobius-day .memory-photos.single img { height:auto;max-height:240px; }
.mobius-day .notes { padding:11px;margin-top:13px;background:#f7f5ed;border-color:#e9e4d5; }
.mobius-day .note-entry p { font-size:11px; }
.mobius-day .memory-bottom { flex-wrap:wrap;gap:10px;padding-top:12px;margin-top:16px; }
.mobius-day .memory-bottom>.small { font-size:9px; }
.mobius-day .memory-actions { margin-left:auto;gap:11px; }
.mobius-day .memory-actions .link-btn { font-size:10px; }
.mobius-day .memory-actions svg { width:14px;height:14px; }
.mobius-empty { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;z-index:3; }
.mobius-empty .eyebrow { font-size:9px;color:#aaa18b; }
.mobius-empty h3 { font-size:23px;font-weight:500;color:#807157;margin:17px 0 14px; }
.mobius-empty p { font-size:12px;color:#a59b83; }
.mobius-empty .btn { margin-top:15px;font-size:12px; }
.is-empty .mobius-canvas,.is-empty .mobius-ground-shadow { opacity:.2; }
.mobius-pagination { border-top:1px solid #ece6d8;margin:0 34px;padding:20px 0 23px;display:flex;align-items:center;justify-content:space-between;gap:18px; }
.mobius-pagination>div:first-child { display:flex;flex-direction:column;gap:7px; }
.mobius-pagination strong { font-size:11px;color:#8d826b;font-weight:500;font-variant-numeric:tabular-nums; }
.mobius-pagination span { font-size:10px;color:#aaa18c; }
.mobius-page-buttons { display:flex;gap:18px; }
.mobius-page-buttons .link-btn { gap:5px;font-size:11px;white-space:nowrap;color:#9d8e73; }
.mobius-page-buttons .link-btn:disabled { opacity:.32;cursor:default; }
.mobius-page-buttons svg { width:14px;height:14px; }
.memory-list-empty { padding:60px 30px;text-align:center; }
.memory-list-empty h2 { color:#67785c;font-size:20px; }
.memory-list-empty p { font-size:12px;color:#96a18b;margin:15px 0 24px; }
@media(max-width:950px) { .mobius-panel-heading{padding:26px 26px 0}.mobius-panel-heading h2{font-size:20px} }
@media(max-width:760px) {
 .memory-view-toolbar{gap:14px;margin-bottom:20px}.memory-date-filters{margin-left:auto}.memory-date-filters select{min-height:40px;font-size:12px}
 .mobius-panel-heading{flex-wrap:wrap;gap:12px}.mobius-panel-heading>div:first-child{width:100%}
 .mobius-orbit{height:390px}.mobius-board{padding-left:0;padding-right:0}
 .mobius-day{position:relative!important;left:auto!important;top:auto!important;width:calc(100% - 34px)!important;height:auto!important;margin:0 17px 24px;transform-origin:50% 0!important;box-shadow:0 12px 40px #68523515}
 .mobius-day-stories{overflow:visible;padding:15px}.mobius-connector{display:none}.mobius-pagination{margin:0 24px}
}
@media(max-width:540px) {
 .memory-view-toolbar{gap:15px}.memory-view-switch{width:100%}.memory-view-switch button{flex:1;justify-content:center}
 .memory-date-filters{width:100%;justify-content:flex-end}.memory-date-filters label{margin-right:auto}.memory-date-filters select{flex:1;max-width:145px;font-size:16px}
 .mobius-panel{border-radius:21px}.mobius-panel-heading{padding:24px 20px 0;gap:10px}.mobius-panel-heading .eyebrow{font-size:7px;letter-spacing:1.8px}.mobius-panel-heading h2{font-size:17px;margin-top:10px}
 .mobius-orbit{height:310px}.mobius-node{width:68px;height:56px}.mobius-date-chip{font-size:10px;padding:6px 8px;border-radius:8px}.mobius-date-chip small{width:13px;height:13px;font-size:8px}.mobius-node-stem{height:13px}
 .mobius-day-header{padding:20px 19px 17px}.mobius-day-header h3{font-size:18px}.mobius-day-stories{padding:12px}.mobius-day .timeline-card{padding:16px}
 .mobius-pagination{margin:0 20px;gap:10px;padding:18px 0;align-items:flex-start}.mobius-pagination strong,.mobius-pagination span{font-size:9px}.mobius-page-buttons{gap:9px}.mobius-page-buttons .link-btn{font-size:10px}
 .mobius-empty h3{font-size:18px}.mobius-empty p{font-size:10px;max-width:230px}
}
@media(prefers-reduced-motion:reduce) { .mobius-connector path{animation:none}.mobius-date-chip{transition:none} }
:root[data-scene-motion=off] .mobius-connector path { animation:none; }
:root[data-scene-motion=off] .mobius-date-chip { transition:none; }
