.auth-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem 1.5rem}.auth-card{width:100%;max-width:22rem;text-align:center;display:flex;flex-direction:column;gap:1rem}.auth-card--wide{max-width:32rem;text-align:left}.auth-screen--pairing{align-items:flex-start;padding-top:max(1.5rem,env(safe-area-inset-top,0px));padding-bottom:max(1.5rem,env(safe-area-inset-bottom,0px))}.pair-card{max-width:39rem}.auth-card .brand{margin:0;font-family:var(--font-display);font-size:2.9rem;font-weight:600;font-style:italic;letter-spacing:0;background:linear-gradient(120deg,var(--accent-a),var(--accent-b));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-btn{margin-top:0;min-height:52px;padding:0 1.25rem;border:none;border-radius:var(--r-pill);font-size:var(--text-lg);font-weight:700;color:var(--on-accent);background:var(--grad);box-shadow:var(--glow);cursor:pointer}.auth-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-btn:active{transform:scale(.98)}.auth-link{min-height:36px;padding:0 10px;background:transparent;border:none;box-shadow:none;color:var(--muted);text-decoration:none;cursor:pointer;font-size:var(--text-base)}.auth-link:hover{background:var(--grad-soft);color:var(--fg)}.pair-status-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.pair-status-strip span{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:0;min-height:2.35rem;padding:0 .65rem;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 84%,var(--surface-2));color:var(--muted);font-size:var(--text-sm);font-weight:750}.pair-status-strip span svg{flex:none;color:var(--ink)}.pair-status-strip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pair-step{display:grid;grid-template-columns:1.7rem minmax(0,1fr);gap:.8rem;padding:.9rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.pair-step.disabled{opacity:.76}.pair-step-mark{display:inline-flex;align-items:center;justify-content:center;width:1.45rem;height:1.45rem;margin-top:.1rem;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);color:var(--muted)}.pair-step-mark>span{width:.4rem;height:.4rem;border-radius:50%;background:currentColor;opacity:.5}.pair-step-mark.done{border-color:color-mix(in srgb,var(--ok) 28%,var(--border));background:color-mix(in srgb,var(--ok) 10%,var(--surface));color:var(--ok)}.pair-step-body{min-width:0}.pair-step h3{margin:0;color:var(--fg);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:0;line-height:1.15}.pair-step .muted{margin:.35rem 0 0;font-size:var(--text-base);line-height:1.4}.pair-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;margin-top:.7rem}.pair-row input{min-width:0;height:2.75rem;padding:0 .85rem;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg);font:inherit;font-size:16px}.pair-row input:focus{outline:2px solid color-mix(in srgb,var(--accent-a) 45%,transparent);outline-offset:2px}.pair-row button,.pair-request-list button,.pair-secondary{min-height:2.75rem;padding:0 .95rem;border:1px solid transparent;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);box-shadow:var(--glow);font-size:var(--text-base);font-weight:800}.pair-row button:disabled,.pair-request-list button:disabled,.pair-secondary:disabled{opacity:.5;cursor:default}.pair-secondary{background:var(--surface);border-color:var(--border);color:var(--muted);box-shadow:none}.pair-secondary:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-a) 28%,var(--border-strong));background:var(--surface-2);color:var(--fg)}.pair-share-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem;margin-top:.2rem}.pair-hint,.pair-message{margin:.55rem 0 0;color:var(--muted);font-size:var(--text-sm);font-weight:700;line-height:1.35}.pair-hint.ok,.pair-message{color:var(--ok)}.pair-hint.bad,.pair-message.bad{color:var(--danger)}.pair-request-list{display:grid;gap:.55rem;margin:.85rem 0 0;padding:0;list-style:none}.pair-request-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:3.35rem;padding:.55rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.pair-request-list span{display:grid;min-width:0;gap:.1rem}.pair-request-list strong,.pair-request-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pair-request-list strong{color:var(--fg);font-size:var(--text-base)}.pair-request-list small{color:var(--muted);font-size:var(--text-sm);font-weight:650}.pair-empty{padding-top:.25rem}.pair-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem}.pair-actions .auth-link{padding-inline:.85rem}.pair-message{margin:-.15rem 0 0;text-align:center}.auth-note{font-size:var(--text-sm);line-height:1.4}.auth-ready{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin:-.25rem 0 0;color:var(--fg);font-weight:650}.auth-error{margin:-.2rem 0 0;color:var(--danger);font-size:var(--text-sm);font-weight:700;line-height:1.35;text-align:center}.auth-legal{margin-top:-.25rem;font-weight:650}.auth-legal a{color:var(--ink);text-decoration-thickness:1px;text-underline-offset:3px}.auth-spinner{margin:.5rem auto 0;width:1.8rem;height:1.8rem;border-radius:50%;border:3px solid color-mix(in srgb,var(--accent-a) 22%,transparent);border-top-color:var(--accent-a);animation:auth-spin .8s linear infinite}.auth-consent-mark{align-self:center;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .7rem;border-radius:var(--r-pill);color:var(--on-accent);background:var(--grad);box-shadow:var(--glow)}.auth-consent-copy{text-align:center}.auth-kicker{margin:0 0 .2rem;color:var(--ink);font-size:var(--text-sm);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.auth-consent-copy h2{margin:0 0 .45rem;font-family:var(--font-display);color:var(--fg);font-size:var(--text-2xl);line-height:1.1}.auth-consent-copy .muted{margin:0;line-height:1.45}.auth-consent-list{display:grid;gap:.7rem}.auth-check{display:grid;grid-template-columns:1.2rem 1fr;gap:.7rem;align-items:start;padding:.85rem;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);text-align:left}.auth-check--compact{align-self:stretch}.auth-check input{width:1.1rem;height:1.1rem;margin:.15rem 0 0;accent-color:var(--accent-a)}.auth-check strong,.auth-check small{display:block}.auth-check strong{color:var(--fg);font-size:var(--text-base)}.auth-check small{margin-top:.18rem;color:var(--muted);font-size:var(--text-sm);line-height:1.35}.auth-check a{color:var(--ink);font-weight:700;text-decoration-thickness:1px;text-underline-offset:3px}@keyframes auth-spin{to{transform:rotate(360deg)}}@media(max-width:560px){.pair-status-strip,.pair-share-row,.pair-row{grid-template-columns:1fr}.pair-status-strip span,.pair-row button,.pair-secondary{width:100%}.pair-card{max-width:100%}}.spinner{display:inline-block;flex:none;border-style:solid;border-color:currentColor;border-right-color:transparent;border-radius:50%;opacity:.85;animation:spinner-spin .62s linear infinite;vertical-align:middle}@keyframes spinner-spin{to{transform:rotate(360deg)}}.loading-screen{min-height:46vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--accent-a);animation:loading-fade .4s ease both}.loading-screen__msg{margin:0}@keyframes loading-fade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:1.4s}}.presence-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;overflow:hidden}html.thumbkiss-gesture-active,html.thumbkiss-gesture-active body,html.thumbkiss-gesture-active body *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.thumbkiss-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;pointer-events:none;background:radial-gradient(circle at var(--thumbkiss-x, 50%) var(--thumbkiss-y, 50%),color-mix(in srgb,var(--accent-b) 18%,transparent) 0,color-mix(in srgb,var(--accent-a) 11%,transparent) 26%,color-mix(in srgb,var(--glass) 38%,transparent) 76%),color-mix(in srgb,var(--accent-a) 5%,transparent);opacity:0;animation:thumbkiss-veil-in var(--dur-mid) ease-out forwards}.presence-layer--thumbkiss .thumbkiss-veil{background:radial-gradient(circle at var(--thumbkiss-x, 50%) var(--thumbkiss-y, 50%),color-mix(in srgb,var(--accent-b) 25%,transparent) 0,color-mix(in srgb,var(--accent-a) 17%,transparent) 30%,color-mix(in srgb,var(--glass) 42%,transparent) 78%),color-mix(in srgb,var(--accent-a) 8%,transparent)}.presence-cursor{position:absolute;left:0;top:0;transition:transform .08s ease-out;will-change:transform;display:flex;align-items:flex-start}.presence-cursor svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.45))}.presence-label{margin:12px 0 0 -2px;font-size:11px;font-weight:600;color:#fff;padding:1px 6px;border-radius:8px;white-space:nowrap}.presence-tap{position:absolute;width:64px;height:64px;border:2px solid;border-radius:50%;animation:presence-ripple .7s ease-out forwards}@keyframes presence-ripple{0%{transform:translate(-50%,-50%) scale(.125);opacity:.9}to{transform:translate(-50%,-50%) scale(1);opacity:0}}.presence-chip{position:fixed;bottom:calc(84px + env(safe-area-inset-bottom));left:50%;transform:translate(-50%);background:color-mix(in srgb,var(--glass) 90%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--fg);min-height:44px;max-width:calc(100vw - 32px);font-size:12px;font-weight:600;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);display:flex;align-items:center;gap:6px;box-shadow:var(--shadow-2);z-index:41;pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform var(--dur-fast) var(--ease-pop),background var(--dur-fast) ease,border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,opacity var(--dur-fast) ease}.presence-chip:hover{background:color-mix(in srgb,var(--glass) 94%,var(--accent-a) 6%);border-color:var(--border-strong)}.presence-chip:active,.presence-chip--holding{transform:translate(-50%) scale(.98)}.presence-chip--holding{background:var(--grad-soft);border-color:color-mix(in srgb,var(--accent-a) 42%,var(--border));box-shadow:var(--glow)}.presence-chip:disabled{opacity:.72}.presence-chip>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body:has(.lb) .presence-chip{bottom:auto;top:calc(64px + env(safe-area-inset-top))}.presence-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.presence-thumbkiss-icon{color:var(--accent-a)}.thumbkiss-charge{position:fixed;z-index:41;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent-a) 52%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--accent-b) 20%,transparent) 0%,color-mix(in srgb,var(--accent-a) 8%,transparent) 55%,transparent 72%);opacity:0;pointer-events:none;will-change:transform,opacity;animation-name:thumbkiss-charge;animation-timing-function:cubic-bezier(.22,.7,.3,1);animation-fill-mode:both}.thumbkiss-tether{position:fixed;z-index:41;height:2px;margin-top:-1px;transform-origin:0 50%;border-radius:2px;background:linear-gradient(90deg,transparent,currentColor 78%,currentColor);pointer-events:none;will-change:transform,opacity}.thumbkiss-bloom,.thumbkiss-echo{position:fixed;z-index:45;width:140px;height:140px;margin:-70px 0 0 -70px;border-radius:50%;pointer-events:none;will-change:transform,opacity}.thumbkiss-bloom{border:2px solid color-mix(in srgb,var(--accent-a) 62%,var(--accent-b));background:radial-gradient(circle,color-mix(in srgb,var(--accent-b) 26%,transparent) 0%,transparent 68%);animation:thumbkiss-bloom .85s var(--ease-spring) both}.thumbkiss-echo{border:1px solid color-mix(in srgb,var(--accent-a) 45%,transparent);background:radial-gradient(circle,color-mix(in srgb,var(--accent-a) 14%,transparent) 0%,transparent 70%);animation:thumbkiss-echo 1.1s ease-out both}.thumbkiss-print{position:fixed;z-index:42;display:block;min-width:0;min-height:0;margin:0;padding:0;overflow:visible;transform:translate(-50%,-50%);transform-origin:center;border:1px solid color-mix(in srgb,currentColor 45%,transparent);border-radius:48% 48% 45% 45%/44% 44% 53% 53%;background:radial-gradient(ellipse at 48% 42%,color-mix(in srgb,currentColor 27%,var(--glass)),color-mix(in srgb,currentColor 13%,var(--glass)) 70%,color-mix(in srgb,currentColor 7%,transparent));box-shadow:inset 0 0 18px color-mix(in srgb,currentColor 16%,transparent),0 10px 30px color-mix(in srgb,currentColor 18%,transparent);opacity:.74;pointer-events:none;will-change:transform,opacity;animation:thumbkiss-arrive var(--dur-mid) var(--ease-spring) both}button.thumbkiss-print{font:inherit}.thumbkiss-print--mine{z-index:43;opacity:calc(.6 + var(--thumbkiss-near, 0) * .28);border-color:color-mix(in srgb,currentColor calc(45% + var(--thumbkiss-near, 0) * 25%),transparent)}.thumbkiss-print--remote{z-index:44;pointer-events:auto;touch-action:none;cursor:pointer;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.thumbkiss-print--remote:hover,.thumbkiss-print--remote:active{transform:translate(-50%,-50%) scale(1.02);border-color:color-mix(in srgb,currentColor 68%,transparent);background:radial-gradient(ellipse at 48% 42%,color-mix(in srgb,currentColor 31%,var(--glass)),color-mix(in srgb,currentColor 15%,var(--glass)) 70%,color-mix(in srgb,currentColor 8%,transparent))}.thumbkiss-print--matched{opacity:.9;background:var(--grad-soft);border-color:color-mix(in srgb,currentColor 72%,var(--accent-b));box-shadow:inset 0 0 22px color-mix(in srgb,currentColor 24%,transparent),var(--glow);animation:thumbkiss-breathe 2.6s ease-in-out infinite}.thumbkiss-print--matched:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px;border:2px solid color-mix(in srgb,var(--accent-a) 68%,var(--accent-b));border-radius:inherit;pointer-events:none;animation:thumbkiss-pulse .47s ease-out infinite}.thumbkiss-ridges{position:absolute;top:8%;right:8%;bottom:8%;left:8%;width:84%;height:84%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;opacity:.68}.presence-sr{position:fixed;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.thumbkiss-feedback{position:fixed;left:50%;bottom:calc(144px + env(safe-area-inset-bottom));z-index:45;max-width:calc(100vw - 32px);margin:0;padding:8px 13px;transform:translate(-50%);border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--glass) 92%,transparent);box-shadow:var(--shadow-2);color:var(--fg);font-size:13px;font-weight:650;line-height:1.25;text-align:center;white-space:nowrap;pointer-events:none;animation:thumbkiss-feedback-in var(--dur-fast) ease-out both}.thumbkiss-feedback--notice{white-space:normal}@keyframes thumbkiss-arrive{0%{transform:translate(-50%,-50%) scale(.72);opacity:0}to{transform:translate(-50%,-50%) scale(1)}}@keyframes thumbkiss-charge{0%{opacity:0;transform:scale(1.75)}55%{opacity:.8}to{opacity:.95;transform:scale(.9)}}@keyframes thumbkiss-bloom{0%{transform:scale(.34);opacity:.85}to{transform:scale(1.15);opacity:0}}@keyframes thumbkiss-echo{0%{transform:scale(.5);opacity:.6}to{transform:scale(1.3);opacity:0}}@keyframes thumbkiss-breathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.045)}}@keyframes thumbkiss-pulse{0%{transform:scale(.9);opacity:.78}62%,to{transform:scale(1.18);opacity:0}}@keyframes thumbkiss-fade-in{0%{opacity:0}to{opacity:.95}}@keyframes thumbkiss-fade-out{0%{opacity:.7}to{opacity:0}}@keyframes thumbkiss-veil-in{to{opacity:1}}@keyframes thumbkiss-feedback-in{0%{transform:translate(-50%) translateY(5px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.thumbkiss-print,.thumbkiss-print--matched,.thumbkiss-print--matched:before,.thumbkiss-veil,.thumbkiss-feedback{animation:none}.thumbkiss-charge{animation-name:thumbkiss-fade-in;transform:none}.thumbkiss-bloom,.thumbkiss-echo{animation-name:thumbkiss-fade-out;transform:none}.thumbkiss-print--matched:before{opacity:.72}.thumbkiss-veil,.thumbkiss-feedback{opacity:1}}.global-search-dock{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom));z-index:40;pointer-events:none}.global-search-dock--with-create{bottom:calc(154px + env(safe-area-inset-bottom))}.global-search-fab{pointer-events:auto;width:60px;height:60px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--surface) 86%,var(--surface-2));color:var(--ink);box-shadow:var(--shadow-1);cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.global-search-fab svg{transform-origin:center center;transform-box:fill-box;transition:transform .18s var(--ease-pop)}.global-search-fab:hover{border-color:color-mix(in srgb,var(--accent-a) 38%,transparent);background:var(--grad-soft);box-shadow:var(--shadow-2)}.global-search-fab:hover svg,.global-search-fab:focus-visible svg{transform:translateY(-1px) rotate(-8deg) scale(1.08)}.global-search-fab:active{transform:scale(.92)}.global-search-fab:active svg{transform:rotate(0) scale(.94)}.global-search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:flex;align-items:flex-start;justify-content:center;padding:calc(10px + env(safe-area-inset-top)) 12px calc(18px + env(safe-area-inset-bottom));background:#4a2d3438;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:global-search-fade .16s ease-out}.global-search-panel{width:min(100%,520px);height:min(78dvh,620px);max-height:calc(100dvh - 28px - env(safe-area-inset-top) - env(safe-area-inset-bottom));display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-lg);border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);box-shadow:var(--shadow-2);animation:global-search-in .2s var(--ease-pop)}.global-search-titlebar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 8px}.global-search-titlebar h2{margin:0;color:var(--fg);font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:0}.global-search-field{height:var(--tap);margin:0 14px 12px;display:flex;align-items:center;gap:8px;padding:0 8px 0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--muted);box-shadow:var(--shadow-1);transition:border-color .15s ease,box-shadow .15s ease}.global-search-field-icon{flex:none;color:var(--muted)}.global-search-field:focus-within{border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.global-search-field input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--fg);font-size:16px}.global-search-field input:focus{outline:none}.global-search-field input::placeholder{color:var(--muted)}.global-search-field input::-webkit-search-cancel-button{display:none}.global-search-sort{display:flex;gap:6px;margin:0 14px 12px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.global-search-sort::-webkit-scrollbar{display:none}.global-search-sort-btn{position:relative;flex:none;min-height:30px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);box-shadow:none;font-size:var(--text-sm);font-weight:600}.global-search-sort-btn.active{border-color:var(--accent-a);color:var(--fg);background:color-mix(in srgb,var(--accent-a) 10%,var(--surface))}.global-search-sort-btn:after{content:"";position:absolute;top:-7px;right:0;bottom:-7px;left:0}.global-search-clear,.global-search-close{flex:none;width:32px;height:32px;min-height:0;padding:0;border:0;border-radius:50%;background:var(--surface-2);color:var(--muted);box-shadow:none}.global-search-close{width:38px;height:38px;border-radius:var(--r-sm);background:transparent}.global-search-clear:hover,.global-search-close:hover{border:0;color:var(--fg);background:var(--surface-3)}.global-search-body{min-height:180px;overflow:auto;padding:0 12px max(14px,env(safe-area-inset-bottom));overscroll-behavior:contain}.global-search-idle{min-height:132px}.global-search-empty{margin:0;padding:26px 12px 32px;color:var(--muted);font-weight:700;text-align:center}.global-search-group+.global-search-group{margin-top:12px}.global-search-group h3{margin:0 2px 7px;color:var(--muted);font-family:inherit;font-size:var(--text-xs);font-weight:800;letter-spacing:0;line-height:1.2;text-transform:uppercase}.global-search-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.global-search-result{display:grid;gap:4px;padding:10px;border-radius:var(--r-md);border:1px solid var(--border);background:var(--surface-2);color:var(--fg);box-shadow:var(--shadow-1);text-decoration:none;transition:transform .08s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.global-search-result:hover{border-color:color-mix(in srgb,var(--accent-a) 28%,transparent);background:color-mix(in srgb,var(--surface-2) 72%,var(--surface));box-shadow:var(--shadow-2);transform:translateY(-1px)}.global-search-result:focus-visible{outline:2px solid var(--accent-a);outline-offset:2px}.global-search-result-head{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:12px}.global-search-title{min-width:0;overflow:hidden;color:var(--fg);font-weight:800;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.global-search-section{flex:none;color:var(--accent-a);font-size:var(--text-xs);font-weight:800}.global-search-meta,.global-search-snippet{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-sm);line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.global-search-snippet{color:color-mix(in srgb,var(--fg) 72%,var(--muted))}@keyframes global-search-fade{0%{opacity:0}to{opacity:1}}@keyframes global-search-in{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.global-search-panel{height:min(86dvh,620px)}.global-search-result{padding:10px}}@media(min-width:720px){.global-search-backdrop{padding-top:calc(18px + env(safe-area-inset-top))}}@media(prefers-reduced-motion:reduce){.global-search-backdrop,.global-search-panel{animation:none}.global-search-fab,.global-search-fab svg,.global-search-result{transition:none}.global-search-fab:hover svg,.global-search-fab:focus-visible svg,.global-search-fab:active svg{transform:none}}.layout{min-height:100%;display:flex;flex-direction:column}.layout-main{flex:1;width:100%;padding:calc(10px + env(safe-area-inset-top)) 16px calc(104px + env(safe-area-inset-bottom))}.layout-status-stack{position:fixed;top:calc(8px + env(safe-area-inset-top));left:50%;z-index:62;width:min(440px,calc(100% - 24px));transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:6px;pointer-events:none;animation:sync-pill-in .2s ease-out}.app-update-fab{position:fixed;top:calc(8px + env(safe-area-inset-top));right:calc(10px + env(safe-area-inset-right));z-index:60;display:inline-flex;align-items:center;gap:6px;min-height:0;padding:6px 11px 6px 9px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent-a) 28%,transparent);background:color-mix(in srgb,var(--surface, #fffaf6) 86%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.1);backdrop-filter:blur(10px) saturate(1.1);color:var(--accent-a);font-size:var(--text-sm);font-weight:700;line-height:1;box-shadow:0 6px 18px #c46c762e;cursor:pointer;animation:app-update-in .24s var(--ease-spring, ease-out)}.app-update-fab:hover{background:color-mix(in srgb,var(--accent-a) 12%,var(--surface, #fffaf6));border-color:color-mix(in srgb,var(--accent-a) 42%,transparent)}.app-update-fab:active{transform:scale(.96)}.app-update-fab-label{letter-spacing:.01em}@keyframes app-update-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.sync-banner{width:max-content;max-width:100%;min-height:30px;margin:0;padding:5px 10px 5px 8px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent-a) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent-a) 22%,transparent);color:var(--ink, #4a2d34);font-size:var(--text-sm);font-weight:700;line-height:1;box-shadow:0 8px 26px color-mix(in srgb,var(--accent-a) 10%,transparent);pointer-events:auto}button.sync-banner{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}button.sync-banner:hover{border-color:color-mix(in srgb,var(--accent-b) 42%,transparent);box-shadow:0 10px 30px color-mix(in srgb,var(--accent-a) 15%,transparent)}button.sync-banner:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-a) 70%,white);outline-offset:3px}.sync-banner-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:var(--accent-a)}.sync-banner-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-banner-count{min-width:17px;height:17px;padding:0 5px;border-radius:var(--r-pill);background:var(--fg);color:var(--surface);font-size:var(--text-xs);line-height:17px;text-align:center;font-variant-numeric:tabular-nums}.sync-banner--offline{background:color-mix(in srgb,var(--surface) 78%,var(--accent-b));border-color:color-mix(in srgb,var(--accent-b) 30%,transparent)}.sync-banner--space{width:100%;align-items:flex-start;padding:10px 12px;border-radius:14px;background:color-mix(in srgb,var(--warn) 9%,var(--surface));border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.sync-banner--space .sync-banner-icon{margin-top:1px;color:var(--warn)}.space-lost-copy{min-width:0;font-size:var(--text-sm);line-height:1.45;white-space:normal}.space-lost-copy a{color:inherit;font-weight:600;text-decoration:underline}.sync-banner--syncing .sync-banner-icon{color:var(--accent-b)}.sync-banner--queued{background:color-mix(in srgb,var(--accent-b) 18%,var(--surface));color:var(--fg);border-color:color-mix(in srgb,var(--accent-b) 24%,transparent)}.sync-banner--storage{background:color-mix(in srgb,var(--warn, #d98324) 16%,var(--surface));color:var(--fg);border-color:color-mix(in srgb,var(--warn, #d98324) 38%,transparent)}.sync-banner--storage .sync-banner-icon{color:var(--warn, #d98324)}.sync-banner--transfer{background:color-mix(in srgb,var(--accent-a) 14%,var(--surface));border-color:color-mix(in srgb,var(--accent-a) 26%,transparent)}.sync-banner--transfer-paused{background:color-mix(in srgb,var(--warn, #d98324) 10%,var(--surface));border-color:color-mix(in srgb,var(--warn, #d98324) 28%,transparent)}.sync-banner--transfer-paused .sync-banner-icon{color:var(--warn, #d98324)}.sync-queue-popover{pointer-events:auto;width:100%;max-height:min(420px,calc(100vh - 88px - env(safe-area-inset-top)));overflow:hidden;display:flex;flex-direction:column;border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--accent-b) 20%,var(--border));background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.25);backdrop-filter:blur(14px) saturate(1.25);box-shadow:0 18px 48px #5230392e;animation:sync-queue-in .18s ease-out}.sync-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 10px;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);color:var(--fg);font-size:var(--text-sm);font-weight:800;letter-spacing:.02em;text-transform:uppercase}.sync-queue-head strong{min-width:24px;padding:3px 7px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--accent-b) 18%,var(--surface));color:var(--fg);text-align:center;font-variant-numeric:tabular-nums}.sync-queue-resume{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-bottom:1px solid color-mix(in srgb,var(--border) 65%,transparent);background:color-mix(in srgb,var(--accent-b) 10%,transparent);color:var(--fg);font-size:var(--text-sm);font-weight:700}.sync-queue-resume span{min-width:0}.sync-queue-resume-btn{flex:none;display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:0 10px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent-a) 24%,transparent);background:var(--fg);color:var(--surface);font-size:var(--text-sm);font-weight:800;line-height:1;cursor:pointer}.sync-queue-resume-btn:hover{background:color-mix(in srgb,var(--fg) 88%,var(--accent-b))}.sync-queue-resume-btn:focus-visible{outline:2px solid color-mix(in srgb,var(--accent-a) 70%,white);outline-offset:2px}.sync-queue-list{list-style:none;margin:0;padding:6px;overflow:auto}.sync-queue-item{display:grid;grid-template-columns:82px minmax(0,1fr);gap:10px;padding:9px 8px;border-radius:var(--r-md)}.sync-queue-item+.sync-queue-item{margin-top:2px}.sync-queue-item:hover{background:color-mix(in srgb,var(--accent-b) 8%,transparent)}.sync-queue-action{align-self:start;padding-top:1px;color:var(--accent-a);font-size:var(--text-xs);font-weight:800;line-height:1.2}.sync-queue-item--delete .sync-queue-action{color:var(--danger)}.sync-queue-copy{min-width:0;display:grid;gap:2px}.sync-queue-source{color:var(--muted);font-size:var(--text-xs);font-weight:700}.sync-queue-label,.sync-queue-detail{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sync-queue-label{color:var(--fg);font-size:var(--text-base);font-weight:700}.sync-queue-detail{color:var(--muted);font-size:var(--text-xs);font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,monospace}.sync-queue-empty,.sync-queue-more{margin:0;padding:12px 14px;color:var(--muted);font-size:var(--text-sm)}.sync-queue-more{border-top:1px solid color-mix(in srgb,var(--border) 65%,transparent);font-weight:700;text-align:center}@keyframes sync-pill-in{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes sync-queue-in{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.app-update-fab,.layout-status-stack,.sync-queue-popover,.tab--selected .tab-icon{animation:none}}@media(max-width:420px){.layout-status-stack{top:calc(6px + env(safe-area-inset-top));width:calc(100% - 16px)}.sync-queue-item{grid-template-columns:74px minmax(0,1fr);gap:8px}.sync-queue-resume{align-items:flex-start;flex-direction:column}}.page-anim{animation:page-enter var(--dur-slow) var(--ease-spring) backwards}@keyframes page-enter{0%{opacity:0;transform:translate3d(0,9px,0)}to{opacity:1;transform:translateZ(0)}}.page{max-width:560px;margin:0 auto}.page h2{margin:6px 0 4px;font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;letter-spacing:-.02em}.page-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.page-head h2{flex:1;min-width:0}.page-head-action{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:0;padding:0;border-radius:50%;border:1px solid var(--border);background:var(--surface);color:var(--muted);box-shadow:none}.page-head-action:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px}.page-head-action:hover{color:var(--fg);border-color:var(--border-strong)}.page-head-action.spinning svg{animation:spin-slow .9s linear infinite}@keyframes spin-slow{to{transform:rotate(360deg)}}.sync-msg{margin:2px 0 0;font-size:var(--text-sm)}.page h3{margin:28px 0 10px;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}.muted{color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:36px 20px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:color-mix(in srgb,var(--glass) 50%,transparent);margin-top:10px;line-height:1.6}.error-screen{max-width:560px;margin:48px auto 0;padding:36px 24px;text-align:center;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:color-mix(in srgb,var(--glass) 70%,transparent)}.error-screen-emoji{font-size:var(--text-5xl);display:block;margin-bottom:6px}.error-screen h2{margin:0 0 6px}.error-screen p{color:var(--muted);margin:0 0 18px}.error-screen-actions{display:flex;gap:10px;justify-content:center}.detail-error{color:var(--danger);font-size:var(--text-base);margin:6px 0 0}.bottom-nav{position:fixed;left:50%;transform:translate(-50%);bottom:calc(10px + env(safe-area-inset-bottom));width:min(560px,calc(100% - 20px));display:flex;justify-content:space-around;gap:0;background:color-mix(in srgb,var(--glass) 86%,transparent);backdrop-filter:blur(9px) saturate(1.4);-webkit-backdrop-filter:blur(9px) saturate(1.4);border:1px solid rgba(255,255,255,.6);border-radius:var(--r-pill);padding:6px;box-shadow:var(--shadow-2);z-index:40}.nav-indicator{position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 12px) / var(--n));border-radius:var(--r-md);background:var(--grad-soft);border:1px solid color-mix(in srgb,var(--accent-a) 30%,transparent);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 14%,transparent);transform:translate3d(calc(var(--i) * 100%),0,0);transition:transform .36s cubic-bezier(.22,.61,.36,1);pointer-events:none;z-index:0}.tab{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:1;min-width:0;text-decoration:none;color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.01em;padding:7px 0 6px;border-radius:var(--r-md);min-height:var(--tap);touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:color .18s ease,transform .12s ease}.tab.active{color:var(--fg)}.tab:active{transform:scale(.92)}.tab-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;line-height:1;color:currentColor;transform-origin:center center;transform-box:border-box;transition:transform .18s cubic-bezier(.22,.61,.36,1)}.tab-icon>svg{display:block;flex:none}.tab.active .tab-icon{color:var(--accent-a);transform:translateY(-1px) scale(1.08)}.tab--selected .tab-icon{animation:tab-select-jiggle .58s var(--ease-pop)}@keyframes tab-select-jiggle{0%{transform:translateY(-1px) scale(1.08) rotate(0)}13%{transform:translateY(-4px) scale(1.2) rotate(-10deg)}27%{transform:translateY(0) scale(1.04) rotate(8deg)}41%{transform:translateY(-3px) scale(1.15) rotate(-6deg)}56%{transform:translateY(-1px) scale(1.08) rotate(4deg)}72%{transform:translateY(-2px) scale(1.12) rotate(-2deg)}86%{transform:translateY(-1px) scale(1.09) rotate(1.5deg)}to{transform:translateY(-1px) scale(1.08) rotate(0)}}.tab-label{position:relative;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:360px){.bottom-nav{bottom:calc(8px + env(safe-area-inset-bottom));width:calc(100% - 12px);padding:5px}.nav-indicator{top:5px;bottom:5px;left:5px;width:calc((100% - 10px) / var(--n));border-radius:12px}.tab{gap:0;padding:9px 0}.tab-icon{width:21px;height:21px}.tab-label{display:none}}.tab-badge{position:absolute;top:-5px;right:-9px;min-width:15px;height:15px;padding:0 4px;border-radius:var(--r-pill);background:var(--grad, #dd5f93);color:var(--on-accent, #fff);font-size:var(--text-xs);font-weight:700;line-height:15px;text-align:center;box-shadow:0 1px 4px color-mix(in srgb,var(--accent-a) 40%,transparent)}.undo-toast{position:fixed;left:50%;bottom:calc(72px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:60;display:flex;align-items:center;gap:14px;max-width:min(92vw,420px);padding:10px 16px;border-radius:var(--r-pill, 999px);background:var(--fg);color:var(--bg, #fff);box-shadow:0 6px 24px #00000040;font-size:var(--text-base);animation:undo-toast-in .2s ease-out}.undo-toast-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.undo-toast-btn{flex:none;border:none;background:none;color:var(--accent-b, #f08a5d);font-weight:700;font-size:var(--text-base);padding:4px 6px}@keyframes undo-toast-in{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.search-target{scroll-margin-block:calc(var(--tap) + 24px)}.search-target:target,.search-target.search-target--hit{outline:2px solid color-mix(in srgb,var(--accent-a) 50%,transparent);outline-offset:3px;box-shadow:var(--shadow-2),0 0 0 5px color-mix(in srgb,var(--accent-a) 12%,transparent);animation:search-target-warm-flash 1.2s var(--ease-pop)}@keyframes search-target-warm-flash{0%{background-color:color-mix(in srgb,var(--accent-a) 14%,var(--surface))}to{background-color:transparent}}.edit-sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;grid-template-columns:minmax(0,1fr);place-items:end center;background:#4a2d3442;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:edit-backdrop-in var(--dur-fast) ease both}.edit-sheet{display:flex;flex-direction:column;width:100%;max-width:min(560px,100%);max-height:calc(100dvh - 40px);min-height:0;border:1px solid var(--border-strong);border-bottom:none;border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);color:var(--fg);box-shadow:var(--shadow-2);animation:edit-sheet-up var(--dur-mid) var(--ease-pop) both}.edit-sheet-form{display:flex;flex-direction:column;min-height:0}.edit-sheet-head{position:relative;display:flex;align-items:center;gap:12px;padding:22px 18px 8px}.edit-sheet-grabber{position:absolute;top:8px;left:50%;transform:translate(-50%);width:42px;height:5px;border-radius:var(--r-pill);background:var(--surface-3)}.edit-sheet-heading{flex:1;min-width:0;display:grid;gap:2px}.edit-sheet-heading h2{margin:0;font-family:var(--font-display);font-size:var(--text-xl);font-weight:600;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-sheet-subtitle{color:var(--muted);font-size:var(--text-sm);font-weight:600}.edit-sheet-close{width:38px;min-height:38px;padding:0;border-radius:50%;box-shadow:none;color:var(--muted);background:var(--surface-2);border-color:transparent}.edit-sheet-body{display:grid;gap:14px;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:10px 18px 18px}.edit-sheet-field{display:grid;gap:6px;min-width:0}.edit-sheet-field-label{color:var(--muted);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em}.edit-sheet-body input:not([type=checkbox]),.edit-sheet-body select,.edit-sheet-body textarea{width:100%;min-width:0;min-height:var(--tap);padding:10px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--fg);font-size:16px;transition:border-color .15s ease,box-shadow .15s ease}.edit-sheet-body input:focus,.edit-sheet-body select:focus,.edit-sheet-body textarea:focus{outline:none;border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.edit-sheet-body input::placeholder,.edit-sheet-body textarea::placeholder{color:var(--muted)}.edit-sheet-body textarea{min-height:72px;resize:vertical;line-height:1.45}.edit-sheet-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}.edit-sheet-section{display:grid;gap:10px;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.edit-sheet-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.edit-sheet-section-head>span:first-child{font-size:var(--text-base);font-weight:700}.edit-sheet-section-hint{color:var(--muted);font-size:var(--text-sm);font-weight:600}.edit-sheet-note{color:var(--warn);font-size:var(--text-base);font-weight:600}.edit-sheet-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface)}.edit-sheet-foot>*{min-width:0}.edit-sheet-foot-spacer{flex:1}.edit-sheet-cancel{box-shadow:none}.edit-sheet-save{min-width:104px;border:none;background:var(--grad);color:var(--on-accent)}.edit-sheet-foot .danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 42%,var(--border));box-shadow:none}@media(min-width:720px){.edit-sheet-backdrop{place-items:center;padding:24px}.edit-sheet{max-height:calc(100dvh - 96px);border-bottom:1px solid var(--border-strong);border-radius:var(--r-lg);animation:edit-sheet-pop var(--dur-mid) var(--ease-pop) both}.edit-sheet-grabber{display:none}.edit-sheet-head{padding-top:16px}}@keyframes edit-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes edit-sheet-up{0%{opacity:0;transform:translateY(48px)}to{opacity:1;transform:translateY(0)}}@keyframes edit-sheet-pop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(prefers-reduced-motion:reduce){.edit-sheet-backdrop,.edit-sheet{animation:none}}.search{display:flex;align-items:center;gap:8px;height:var(--tap);margin:4px 0 14px;padding:0 8px 0 14px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1);transition:border-color .15s ease,box-shadow .15s ease}.search:focus-within{border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.search-icon{flex:none;color:var(--muted)}.search-input{flex:1;min-width:0;height:100%;border:none;background:transparent;color:var(--fg);font-size:16px}.search-input:focus{outline:none}.search-input::placeholder{color:var(--muted)}.search-input::-webkit-search-cancel-button{display:none}.search-clear{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:0;padding:0;border:none;border-radius:50%;background:var(--surface-2);color:var(--muted);box-shadow:none}.search-clear:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.search-clear:hover{border:none;color:var(--fg)}.photos{position:relative}.media-tabs{display:flex;gap:3px;padding:3px;margin:8px 0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 68%,var(--surface-2));box-shadow:inset 0 1px #ffffff80}.media-tab{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 10px;border-radius:var(--r-md);color:var(--muted);font-size:var(--text-sm);font-weight:800;text-decoration:none}.media-tab:hover{color:var(--fg);background:color-mix(in srgb,var(--surface) 62%,transparent)}.media-tab.active,.media-tab[aria-current=page]{background:var(--grad-soft);color:var(--fg);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 12%,transparent)}.media-add-actions{gap:7px;padding-right:7px}.media-add-choice{flex:none;display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;min-height:0;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface-2);color:var(--fg);box-shadow:none;animation:fab-fade .3s ease both}.media-add-choice:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-a) 45%,transparent);background:var(--grad-soft);color:var(--ink)}.media-add-choice--device{border-color:transparent;background:var(--grad);color:var(--on-accent);box-shadow:var(--glow)}.media-add-choice--device:hover:not(:disabled){border-color:transparent;background:var(--grad);color:var(--on-accent);box-shadow:0 10px 28px color-mix(in srgb,var(--accent-a) 42%,transparent)}.media-add-choice--google{background:var(--surface)}.media-add-choice:active:not(:disabled){transform:scale(.94)}.media-add-choice:disabled{opacity:.62;cursor:wait}.media-add-input{display:none}.google-photos-mark{display:block;flex:none;width:23px;height:23px}.media-add-source__icon .google-photos-mark{width:21px;height:21px}.google-photos-mark__petal--red{fill:#ea4335}.google-photos-mark__petal--blue{fill:#4285f4}.google-photos-mark__petal--green{fill:#34a853}.google-photos-mark__petal--yellow{fill:#fbbc04}.google-photos-mark__center{fill:var(--surface)}.media-add-sheet{gap:8px;max-height:min(78vh,620px);overflow-y:auto;padding:8px 12px max(14px,env(safe-area-inset-bottom))}.media-add-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 2px 2px}.media-add-head .sheet-title{margin:0;padding:0}.media-add-close{flex:none;width:38px;min-width:38px;min-height:38px;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--muted);box-shadow:none}.media-add-close:hover{border-color:var(--border);background:var(--surface-2);color:var(--fg)}.media-add-source{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:62px;padding:10px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2);color:var(--fg);box-shadow:var(--shadow-1);text-align:left}.media-add-source__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:var(--grad-soft);color:var(--ink)}.media-add-source__copy{display:grid;min-width:0;gap:2px}.media-add-source__copy strong{color:var(--fg);font-size:var(--text-md);font-weight:800;line-height:1.18}.media-add-source__copy small{color:var(--muted);font-size:var(--text-sm);font-weight:650;line-height:1.24}.media-add-source__action,.google-photos-import__actions button,.google-photos-import__bar button,.google-photos-import__message button,.google-photos-import__message a{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font-size:var(--text-sm);font-weight:750;box-shadow:none;text-decoration:none}.google-photos-import__status{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:34px;padding:0 10px;color:var(--muted);font-size:var(--text-sm);font-weight:800}.media-add-source:hover{border-color:color-mix(in srgb,var(--accent-a) 28%,transparent);background:color-mix(in srgb,var(--surface-2) 72%,var(--surface))}.google-photos-import__actions,.google-photos-import__bar,.google-photos-import__message{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.google-photos-import__actions{justify-content:flex-end}.google-photos-import__message,.google-photos-import__bar,.google-photos-import__grid{grid-column:1 / -1}.google-photos-import__message{align-items:flex-start;margin:0;padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:650;line-height:1.3}.google-photos-import__message span{flex:1 1 190px;min-width:0}.google-photos-import__bar{justify-content:space-between;padding-top:2px}.google-photos-import__bar span{color:var(--muted);font-size:var(--text-sm);font-weight:800}.google-photos-import__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:7px}.google-photos-pick{position:relative;min-height:0;aspect-ratio:1;padding:0;overflow:hidden;border:2px solid transparent;border-radius:var(--r-sm);background:var(--surface-2);box-shadow:none}.google-photos-pick img{width:100%;height:100%;display:block;object-fit:cover}.google-photos-pick.selected{border-color:var(--accent-a);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-a) 16%,transparent)}.google-photos-pick.disabled{opacity:.58}.google-photos-pick__check{position:absolute;right:5px;top:5px;display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;padding:0 6px;border-radius:var(--r-pill);background:#1c0c128f;color:var(--surface);font-size:var(--text-xs);font-weight:800;line-height:1}@media(max-width:430px){.media-add-source{grid-template-columns:34px minmax(0,1fr)}.media-add-source__action,.google-photos-import__actions{grid-column:2;justify-self:start}}.album-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;margin:10px -16px 18px;padding:4px 16px 8px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.album-row::-webkit-scrollbar{display:none}.album-card{flex:none;width:124px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:2px;padding:0;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);overflow:hidden;text-align:left;min-height:0;transition:transform .1s ease,border-color .15s ease,box-shadow .15s ease}.album-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2)}.album-card:active{transform:scale(.97)}.album-card--over{border-color:color-mix(in srgb,var(--accent-a) 60%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-a) 28%,transparent);transform:translateY(-2px) scale(1.02)}.album-card__cover{flex:0 0 92px;display:flex;align-items:center;justify-content:center;width:100%;height:92px;min-height:0;aspect-ratio:4 / 3;overflow:hidden;background:var(--grad-soft);color:var(--accent-a)}.album-card__cover--starred{background:var(--grad);color:#fff6f1}.album-card__cover img{width:100%;height:100%;object-fit:cover;display:block}.album-card__name{padding:8px 10px 0;font-weight:700;font-size:var(--text-base);color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-card__meta{padding:0 10px 9px;font-size:var(--text-xs);color:var(--muted)}.album-new{flex:none;width:124px;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:0 8px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);background:transparent;color:var(--muted);box-shadow:none;font-size:var(--text-sm);font-weight:600}.album-new:hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent-a) 50%,transparent);background:var(--grad-soft)}.album-new--editing{align-items:stretch;justify-content:center;gap:6px;border-style:solid;background:var(--surface)}.album-new--editing input{width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--bg);font-size:16px}.album-new--editing button{height:32px;min-height:0;border:none;border-radius:var(--r-sm);background:var(--grad);color:var(--on-accent);font-weight:700;box-shadow:var(--glow)}.dropout{display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;margin:-6px 0 14px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);color:var(--muted);font-size:var(--text-base);font-weight:600;background:color-mix(in srgb,var(--glass) 60%,transparent)}.dropout--over{border-color:color-mix(in srgb,var(--accent-a) 60%,transparent);color:var(--ink);background:var(--grad-soft)}.photo-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin:4px 0 8px}.photo-sort-cluster{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px;min-width:0}.photo-sort{display:inline-flex;align-items:center;gap:8px;font-size:var(--text-sm)}.photo-sort select{min-height:var(--tap);padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--fg);font-size:var(--text-base)}.photo-group-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;min-width:178px;padding:3px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 68%,var(--surface-2));box-shadow:inset 0 1px #ffffff80}.photo-group-tab{position:relative;min-height:30px;padding:0 9px;border:0;border-radius:var(--r-md);background:transparent;color:var(--muted);box-shadow:none;font-size:var(--text-sm);font-weight:750}.photo-group-tab:hover{color:var(--fg);background:color-mix(in srgb,var(--surface) 62%,transparent)}.photo-group-tab.active{background:var(--grad-soft);color:var(--fg);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 12%,transparent)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.photo-month{margin:14px 2px 6px;font-size:var(--text-sm);font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.thumb{position:relative;width:100%;padding:0;border:1px solid var(--border);background:var(--surface);border-radius:var(--r-md);overflow:hidden;aspect-ratio:1;cursor:pointer;box-shadow:var(--shadow-1);touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.thumb:active{transform:scale(.97)}.thumb.thumb--dragging{opacity:.3;transform:scale(1.05);box-shadow:var(--shadow-2);transition:transform .12s ease-out,box-shadow .12s ease-out}.thumb.thumb--over{outline:3px solid color-mix(in srgb,var(--accent-a) 80%,transparent);outline-offset:-3px;transform:scale(.94);transition:transform .12s ease-out}.thumb.thumb--spotlight{z-index:1;outline:3px solid color-mix(in srgb,var(--accent-a) 90%,transparent);outline-offset:-3px;box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-b) 24%,transparent),0 10px 24px #c46c763d;animation:thumb-spotlight 1.1s ease-in-out infinite}.thumb img{width:100%;height:100%;object-fit:cover;display:block;-webkit-user-drag:none;pointer-events:none}.thumb-ph{display:block;width:100%;height:100%;background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.45) 50%,transparent 80%),var(--grad-soft);background-size:220% 100%,100% 100%;background-repeat:no-repeat;animation:thumb-shimmer 1.25s ease-in-out infinite}@keyframes thumb-shimmer{0%{background-position:170% 0,0 0}to{background-position:-70% 0,0 0}}@keyframes thumb-spotlight{50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent-b) 16%,transparent),0 12px 28px #c46c764d}}@media(prefers-reduced-motion:reduce){.thumb.thumb--spotlight{animation:none}}.thumb-locked,.thumb-missing,.thumb-loading{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:var(--grad-soft);color:var(--accent-a)}.thumb-loading{color:var(--muted)}.thumb-missing{background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--glass) 88%,transparent) 0 20%,transparent 21%),var(--grad-soft);color:var(--muted)}.thumb-star{position:absolute;top:6px;right:6px;display:inline-flex;padding:3px;border-radius:50%;background:#1c0c1273;color:var(--star);pointer-events:none}.thumb-kind,.thumb-offline{position:absolute;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#1c0c1285;color:#fff6f1;pointer-events:none;line-height:1}.thumb-kind{left:6px;bottom:6px;width:26px;height:26px;font-size:var(--text-xs)}.thumb-offline{right:6px;bottom:6px;width:22px;height:22px;color:var(--star);font-size:var(--text-xs)}.thumb-ghost{position:fixed;z-index:90;pointer-events:none;border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-2);transform:scale(1.06) rotate(-2deg);opacity:.96}.thumb-ghost img{width:100%;height:100%;object-fit:cover;display:block}.sheet-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:110;display:flex;align-items:flex-end;justify-content:center;background:#2d162180;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sheet-fade .16s ease}.sheet{width:100%;max-width:560px;max-height:70vh;display:flex;flex-direction:column;padding:8px 8px max(14px,env(safe-area-inset-bottom));background:var(--surface);border-radius:var(--r-lg) var(--r-lg) 0 0;box-shadow:var(--shadow-2);animation:sheet-up var(--dur-mid) var(--ease-pop)}.sheet-grip{width:40px;height:4px;margin:4px auto 8px;border-radius:var(--r-pill);background:var(--surface-3)}.sheet-title{margin:0 0 6px;padding:0 12px;font-family:var(--font-display);font-size:var(--text-xl)}.sheet-list{list-style:none;margin:0;padding:0;overflow-y:auto}.sheet-row{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:0 16px;border:none;border-radius:var(--r-md);background:transparent;box-shadow:none;color:var(--fg);font-weight:600;text-align:left}.sheet-row:hover:not(:disabled){background:var(--surface-2);border:none}.sheet-row:disabled{opacity:1;color:var(--muted)}.sheet-row-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-row-here{flex:none;font-size:var(--text-xs);font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.memory-sheet{gap:8px}.memory-sheet-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:0 12px}.memory-sheet-head .sheet-title{margin:0;padding:0}.memory-sheet-head>span{flex:none;max-width:46%;overflow:hidden;color:var(--muted);font-size:var(--text-sm);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.memory-date-field{display:flex;align-items:center;gap:10px;margin:2px 12px 4px}.memory-date-field span{color:var(--muted);font-size:var(--text-sm);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.memory-date-field input{flex:1;min-width:0;height:var(--tap);padding:0 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font-size:16px}.memory-date-field input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.memory-sheet-list{padding-bottom:4px}.memory-sheet-section-title{padding:8px 16px 3px;color:var(--muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;line-height:1;text-transform:uppercase}.memory-sheet-row svg{flex:none;color:var(--accent-a)}.memory-sheet-row small{display:block;margin-top:2px;color:var(--muted);font-size:var(--text-xs);font-weight:600}.memory-sheet-row--create{background:var(--grad-soft)}.memory-sheet-cancel{align-self:flex-start;min-height:38px;margin:0 12px 2px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-weight:700;box-shadow:none}.memories-view{display:flex;flex-direction:column;gap:18px}.memories-on-this-day{display:flex;flex-direction:column;gap:8px}.memory-subhead{margin:-2px 2px 2px;color:var(--fg);font-size:var(--text-md);line-height:1.25}.memories-saved{display:grid;gap:10px}.memory-lens-tabs,.memory-status-tabs{display:flex;gap:3px;padding:3px;margin:0 0 2px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 68%,var(--surface-2));box-shadow:inset 0 1px #ffffff80}.memory-lens-tab,.memory-status-tab{flex:1;min-width:0;min-height:34px;padding:0 8px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;box-shadow:none;color:var(--muted);font-size:var(--text-sm);font-weight:800;line-height:1}.memory-status-tab>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-lens-tab:hover,.memory-status-tab:hover{border-color:transparent;background:color-mix(in srgb,var(--surface) 62%,transparent);color:var(--fg)}.memory-lens-tab.active,.memory-status-tab.active{background:var(--grad-soft);color:var(--fg);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 12%,transparent)}.memory-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.memory-card{position:relative;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.memory-card--tile{isolation:isolate;min-height:180px;aspect-ratio:4 / 5;overflow:hidden;padding:0;background:var(--surface-2);transition:transform .1s ease,border-color .15s ease,box-shadow .15s ease}.memory-card--tile:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.memory-card--tile:active{transform:scale(.985)}.memory-tile-open{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;border-radius:inherit;text-decoration:none}.memory-tile-art,.memory-tile-scrim{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.memory-tile-art{z-index:0;display:grid;place-items:center;background:var(--grad-soft);color:var(--ink)}.memory-card--letter .memory-tile-art{background:radial-gradient(circle at 18% 16%,color-mix(in srgb,var(--accent-a) 18%,transparent),transparent 34%),linear-gradient(135deg,var(--surface),var(--surface-2))}.memory-tile-art img{width:100%;height:100%;display:block;object-fit:cover}.memory-tile-placeholder{display:grid;place-items:center;width:54px;height:54px;border:1px solid color-mix(in srgb,var(--accent-a) 24%,transparent);border-radius:50%;background:color-mix(in srgb,var(--glass) 72%,transparent);color:var(--accent-a)}.memory-tile-placeholder--letter{width:62px;height:62px;background:var(--grad-soft)}.memory-tile-scrim{z-index:1;background:linear-gradient(180deg,#1c0c121a,#1c0c1214 38%,#1c0c12c7),linear-gradient(0deg,#1c0c122e,#1c0c122e)}.memory-card--letter .memory-tile-scrim{background:linear-gradient(180deg,color-mix(in srgb,var(--glass) 0%,transparent) 22%,color-mix(in srgb,var(--glass) 90%,transparent))}.memory-card-copy{min-width:0}.memory-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px}.memory-date-chip,.memory-source-chip{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:2px 8px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);font-weight:800;line-height:1}.memory-date-chip{color:var(--fg)}.memory-date-chip svg{color:var(--accent-a)}.memory-source-chip{background:transparent}.memory-card-edit{position:relative;flex:none;width:32px;min-width:32px;min-height:32px;margin-left:auto;padding:0;border:1px solid transparent;border-radius:var(--r-sm);background:transparent;box-shadow:none;color:var(--muted)}.memory-card--tile .memory-card-edit{position:absolute;top:7px;right:7px;z-index:5;width:36px;min-width:36px;min-height:36px;border-color:color-mix(in srgb,var(--glass) 22%,transparent);background:#1c0c1261;color:var(--surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.memory-card--tile .memory-card-edit:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.memory-card-edit:hover{border-color:var(--border);background:var(--surface-2);color:var(--fg)}.memory-card--tile .memory-card-edit:hover{border-color:color-mix(in srgb,var(--glass) 60%,transparent);background:color-mix(in srgb,var(--glass) 90%,transparent);color:var(--fg)}.memory-card--letter .memory-card-edit{border-color:var(--border);background:color-mix(in srgb,var(--glass) 82%,transparent);color:var(--muted)}.memory-card h4{margin:0;color:var(--fg);font-size:var(--text-lg);line-height:1.28;overflow-wrap:anywhere}.memory-tile-source{position:absolute;top:8px;left:8px;z-index:4;max-width:calc(100% - 56px);overflow:hidden;border-color:color-mix(in srgb,var(--glass) 24%,transparent);background:#1c0c1261;color:var(--surface);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.memory-card--letter .memory-tile-source{border-color:var(--border);background:color-mix(in srgb,var(--glass) 84%,transparent);color:var(--fg)}.memory-tile-copy{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;color:var(--surface);text-shadow:0 1px 10px rgba(28,12,18,.52);pointer-events:none}.memory-card--letter .memory-tile-copy{color:var(--fg);text-shadow:none}.memory-tile-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:3px;color:#fffaf6db;font-size:var(--text-xs);font-weight:800;line-height:1.15}.memory-card--letter .memory-tile-meta{color:var(--muted)}.memory-card--tile h4{display:-webkit-box;overflow:hidden;color:inherit;font-size:var(--text-lg);line-height:1.16;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-card p{margin:6px 0 0;color:var(--muted);font-size:var(--text-base);font-weight:500;line-height:1.42;overflow-wrap:anywhere}.memory-card--tile p{display:-webkit-box;overflow:hidden;margin-top:4px;color:#fffaf6d6;font-size:var(--text-sm);line-height:1.24;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-card--letter p{color:var(--muted)}.memory-tile-copy a{color:inherit;pointer-events:auto;text-decoration-color:currentColor}.memory-tile-play{position:absolute;display:grid;place-items:center;left:50%;top:50%;z-index:2;width:30px;height:30px;border-radius:var(--r-pill);background:#1c0c128f;color:var(--surface);transform:translate(-50%,-50%)}.memory-edit-media-picker{display:flex;width:100%;max-width:100%;min-width:0;gap:8px;overflow-x:auto;padding:2px 0 6px;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.memory-media-pick{flex:none;width:88px;min-height:0;display:grid;gap:5px;padding:5px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--muted);box-shadow:var(--shadow-1);text-align:left;scroll-snap-align:start}.memory-media-pick.active{border-color:var(--accent-a);color:var(--fg);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-a) 18%,transparent)}.memory-media-pick-cover{position:relative;display:grid;place-items:center;aspect-ratio:1;overflow:hidden;border-radius:var(--r-sm);background:var(--grad-soft);color:var(--ink)}.memory-media-pick-cover img{width:100%;height:100%;object-fit:cover}.memory-media-pick>span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs);font-weight:700}.memory-filter-empty{margin:4px 0 0}.memory-places{display:grid;gap:10px}.memory-map{position:relative;min-height:238px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:linear-gradient(rgba(150,84,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(150,84,74,.07) 1px,transparent 1px),linear-gradient(140deg,var(--surface),var(--surface-2));background-size:34px 34px,34px 34px,auto;box-shadow:var(--shadow-1)}.memory-map:before{content:"";position:absolute;top:28px;right:34px;bottom:28px;left:34px;border:1px dashed color-mix(in srgb,var(--accent-a) 22%,transparent);border-radius:46% 54% 48% 52%}.memory-map-route{position:absolute;left:12%;right:12%;top:50%;height:1px;border-top:2px dashed color-mix(in srgb,var(--accent-b) 36%,transparent);transform:rotate(-8deg)}.memory-map-pin{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:5px;max-width:156px;min-height:30px;padding:4px 8px 4px 6px;border:1px solid color-mix(in srgb,var(--accent-a) 28%,transparent);border-radius:var(--r-pill);background:color-mix(in srgb,var(--glass) 90%,transparent);color:var(--fg);font-size:var(--text-xs);font-weight:800;line-height:1;text-decoration:none;box-shadow:var(--shadow-1);transform:translate(-50%,-50%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.memory-map-pin svg{flex:none;color:var(--accent-a)}.memory-map-pin span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-map-pin em{flex:none;min-width:18px;height:18px;border-radius:var(--r-pill);background:var(--grad-soft);color:var(--ink);font-size:var(--text-xs);font-style:normal;line-height:18px;text-align:center}.memory-map-pin:hover{border-color:color-mix(in srgb,var(--accent-a) 48%,transparent);background:var(--surface);color:var(--fg)}.memory-map-note{margin:0;padding:18px;border:1px dashed var(--border-strong);border-radius:var(--r-lg);background:var(--surface-2);color:var(--muted);font-size:var(--text-sm);text-align:center}.memory-geo-map{position:relative;min-height:340px;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface-2);box-shadow:var(--shadow-1);cursor:grab;touch-action:none;isolation:isolate}.memory-geo-map:active{cursor:grabbing}.memory-geo-tiles,.memory-geo-pins{position:absolute;top:0;right:0;bottom:0;left:0}.memory-geo-tiles{z-index:0;background:var(--surface-2)}.memory-geo-pins{z-index:1}.memory-geo-tiles:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,var(--surface) 18%,transparent);pointer-events:none}.memory-geo-tiles img{position:absolute;width:256px;height:256px;max-width:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.memory-geo-pin,.memory-geo-cluster{position:absolute;z-index:2;transform:translate(-50%,-100%)}.memory-geo-pin{display:inline-flex;align-items:center;gap:5px;max-width:176px;min-height:32px;padding:5px 9px 5px 7px;border:1px solid color-mix(in srgb,var(--accent-a) 34%,var(--border));border-radius:var(--r-pill);background:color-mix(in srgb,var(--glass) 92%,transparent);color:var(--fg);font-size:var(--text-xs);font-weight:820;line-height:1;text-decoration:none;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.memory-geo-pin:after{content:"";position:absolute;left:50%;bottom:-6px;width:10px;height:10px;border-right:1px solid color-mix(in srgb,var(--accent-a) 34%,var(--border));border-bottom:1px solid color-mix(in srgb,var(--accent-a) 34%,var(--border));background:color-mix(in srgb,var(--glass) 94%,transparent);transform:translate(-50%) rotate(45deg)}.memory-geo-pin[data-kind=media]{border-color:color-mix(in srgb,var(--accent-b) 42%,var(--border))}.memory-geo-pin svg{flex:none;color:var(--accent-a)}.memory-geo-pin[data-kind=media] svg{color:var(--accent-b)}.memory-geo-pin span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-geo-pin em{min-width:18px;height:18px;border-radius:var(--r-pill);background:var(--grad-soft);color:var(--ink);font-size:var(--text-xs);font-style:normal;line-height:18px;text-align:center}.memory-geo-cluster{display:grid;place-items:center;width:42px;height:42px;padding:0;border:3px solid color-mix(in srgb,var(--surface) 82%,transparent);border-radius:50%;background:var(--grad);color:var(--on-accent);box-shadow:var(--shadow-2);font-size:var(--text-sm);font-weight:900}.memory-geo-controls{position:absolute;top:10px;right:10px;z-index:4;display:grid;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--glass) 92%,transparent);box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.memory-geo-controls button{min-width:38px;min-height:36px;padding:0 9px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;color:var(--fg);box-shadow:none;font-size:var(--text-xl);font-weight:800}.memory-geo-controls button:last-child{border-bottom:0}.memory-geo-controls .memory-geo-fit{font-size:var(--text-xs)}.memory-geo-attribution{position:absolute;right:5px;bottom:4px;z-index:4;padding:2px 4px;border-radius:var(--r-xs);background:color-mix(in srgb,var(--surface) 82%,transparent);color:var(--muted);font-size:var(--text-xs);text-decoration:none}.memory-location-editor{overflow:hidden;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.memory-location-editor summary{padding:11px 13px;color:var(--fg);cursor:pointer;color:inherit;font:inherit;font-size:var(--text-sm);font-weight:820}.memory-location-editor form{display:flex;flex-wrap:wrap;gap:7px;padding:0 11px 11px}.memory-location-editor select,.memory-location-editor input{min-width:0;min-height:40px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);color:var(--fg)}.memory-location-editor select{flex:1 1 160px;padding:0 9px}.memory-location-editor input{flex:2 1 220px;padding:0 10px}.memory-location-editor button{min-height:40px;padding:0 12px;border-radius:var(--r-pill);font-size:var(--text-xs);font-weight:820}.memory-location-editor button.secondary{border:1px solid var(--border);background:transparent;color:var(--muted);box-shadow:none}.memory-location-editor p{margin:-3px 11px 11px;color:var(--danger);font-size:var(--text-xs)}.memory-place-stack{display:grid;gap:8px}.memory-place-card{display:grid;gap:8px;padding:12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.memory-place-head h3 a{display:inline-flex;align-items:center;gap:5px;color:inherit;text-decoration:none}.memory-place-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.memory-place-head h3{display:inline-flex;align-items:center;min-width:0;gap:6px;margin:0;color:var(--fg);font-family:inherit;font-size:var(--text-md);line-height:1.25}.memory-place-head h3 svg{flex:none;color:var(--accent-a)}.memory-place-head>span{flex:none;color:var(--muted);font-size:var(--text-xs);font-weight:800}.memory-place-list{display:grid;gap:6px}.memory-place-memory{display:grid;grid-template-columns:minmax(72px,.32fr) minmax(0,1fr) auto;align-items:center;gap:8px;min-height:40px;padding:7px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);box-shadow:none;text-decoration:none;text-align:left}.memory-place-memory:hover{border-color:var(--border-strong);background:var(--surface)}.memory-place-date{color:var(--muted);font-size:var(--text-xs);font-weight:800;font-variant-numeric:tabular-nums}.memory-place-memory strong{min-width:0;overflow:hidden;color:var(--fg);font-size:var(--text-base);text-overflow:ellipsis;white-space:nowrap}.memory-place-kind{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--r-pill);background:var(--grad-soft);color:var(--ink);font-size:var(--text-xs);font-weight:800}.page--memory-detail{max-width:760px}.memory-detail{display:grid;gap:14px}.memory-detail-hero{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:14px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-1)}.memory-detail-cover{position:relative;display:grid;place-items:center;width:100%;min-width:0;min-height:0;aspect-ratio:4 / 3;overflow:hidden;border-radius:var(--r-md);background:var(--grad-soft);color:var(--ink)}.memory-detail-cover--empty{background:radial-gradient(circle at 18% 16%,color-mix(in srgb,var(--accent-a) 18%,transparent),transparent 34%),linear-gradient(135deg,var(--surface),var(--surface-2))}.memory-detail-cover img{width:100%;height:100%;display:block;object-fit:cover}.memory-detail-cover-placeholder{display:grid;place-items:center;width:70px;height:70px;border:1px solid color-mix(in srgb,var(--accent-a) 24%,transparent);border-radius:50%;background:color-mix(in srgb,var(--glass) 72%,transparent);color:var(--accent-a)}.memory-detail-play{position:absolute;left:50%;top:50%;display:grid;place-items:center;width:34px;height:34px;border-radius:var(--r-pill);background:#1c0c1294;color:var(--surface);transform:translate(-50%,-50%)}.memory-detail-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px;padding:4px 2px}.memory-detail-meta{display:flex;flex-wrap:wrap;gap:6px}.memory-detail-meta span,.memory-detail-meta a{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:26px;padding:3px 9px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);font-weight:800;line-height:1;text-decoration:none}.memory-detail-meta svg{flex:none;color:var(--accent-a)}.memory-detail-meta a{color:var(--ink)}.memory-detail-copy h3{margin:2px 0 0;color:var(--fg);font-family:var(--font-display);font-size:var(--text-4xl);font-weight:600;line-height:1.08;overflow-wrap:anywhere}.memory-detail-body{margin:0;max-width:62ch;color:var(--fg);font-size:var(--text-lg);line-height:1.55;overflow-wrap:anywhere}.memory-detail-body--empty{color:var(--muted)}.memory-detail-media{display:grid;gap:8px}.memory-detail-media-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:2px 2px 0}.memory-detail-media-head h3{margin:0;color:var(--fg);font-family:inherit;font-size:var(--text-lg);line-height:1.25}.memory-detail-media-head span{flex:none;color:var(--muted);font-size:var(--text-sm);font-weight:800}.memory-detail-grid{align-items:start}.memory-detail-empty{margin:0}@media(max-width:680px){.page--memory-detail{max-width:560px}.memory-detail-hero{grid-template-columns:1fr;padding:10px;align-items:stretch}.memory-detail-cover{aspect-ratio:4 / 3}.memory-detail-copy h3{font-size:var(--text-3xl)}.memory-detail-media-head{align-items:flex-start;flex-direction:column;gap:3px}}@media(max-width:520px){.memory-map{min-height:210px}.memory-geo-map{min-height:300px}.memory-map-pin{max-width:120px}.memory-place-memory{grid-template-columns:minmax(0,1fr) auto}.memory-place-date{grid-column:1 / -1}}@media(min-width:520px){.memory-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media(min-width:760px){.grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:520px){.photo-toolbar{align-items:stretch}.photo-sort-cluster,.photo-sort{width:100%}.photo-sort{justify-content:space-between}.photo-sort select{flex:1;min-width:0}.photo-group-tabs{width:100%}}.photo-select-toggle{position:relative;margin-left:auto;min-height:30px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:600}.photo-select-toggle.active{border-color:var(--accent-a);color:var(--fg)}.thumb-check{position:absolute;top:6px;left:6px;z-index:2;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:2px solid #fff;background:#00000059;color:transparent;font-size:var(--text-sm);font-weight:700}.thumb-check--on{background:var(--accent-a);color:#fff}.thumb--selected img{outline:3px solid var(--accent-a);outline-offset:-3px}.photo-bulkbar{position:sticky;top:calc(8px + env(safe-area-inset-top));z-index:20;display:grid;grid-template-columns:minmax(0,1fr) repeat(4,40px);align-items:center;gap:6px;width:100%;max-width:100%;min-width:0;margin:0 0 10px;padding:6px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--glass) 90%,transparent);-webkit-backdrop-filter:blur(10px) saturate(1.15);backdrop-filter:blur(10px) saturate(1.15);box-shadow:var(--shadow-1)}.photo-bulkbar-count{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-sm);font-weight:750;font-variant-numeric:tabular-nums;line-height:1;padding:0 6px 0 8px;text-overflow:ellipsis;white-space:nowrap}.photo-bulkbar button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:0;padding:0;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);box-shadow:none}.photo-bulkbar-danger{color:var(--danger-muted)}.photo-bulkbar button:hover{border-color:color-mix(in srgb,var(--accent-a) 34%,transparent);background:var(--surface-2)}.photo-bulkbar-danger:hover{border-color:color-mix(in srgb,var(--danger) 42%,var(--border));background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger)}.photo-select-toggle:after,.photo-group-tab:after,.photo-bulkbar button:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px}.attach-group{display:grid;gap:8px;min-width:0}.attach-group-head{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:6px;min-width:0}.attach-tile{position:relative;display:block;width:100%;aspect-ratio:1;min-height:0;padding:0;overflow:hidden;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface-2);box-shadow:none}.attach-tile img{width:100%;height:100%;object-fit:cover}.attach-tile-ph{display:block;width:100%;height:100%;background:var(--grad-soft)}.attach-tile--on{border-color:var(--accent-a);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-a) 30%,transparent)}.attach-tile--on img{opacity:.72}.attach-tile-play{position:absolute;left:4px;bottom:4px;display:grid;place-items:center;width:20px;height:20px;border-radius:var(--r-pill);background:#1c0c128f;color:var(--surface)}.attach-tile-check{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:var(--surface);color:var(--muted);opacity:0;transform:scale(.7);transition:opacity .12s ease,transform .12s ease}.attach-tile--on .attach-tile-check{background:var(--grad);color:var(--on-accent);opacity:1;transform:scale(1)}.attach-empty{margin:4px 0}.attach-more{margin:0;color:var(--muted);font-size:var(--text-sm)}.attach-device{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-width:0;padding:9px 10px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:var(--surface-2);color:var(--fg);box-shadow:none;text-align:left}.attach-device:hover:not(:disabled){border-color:color-mix(in srgb,var(--accent-a) 45%,transparent);background:var(--grad-soft)}.attach-device:disabled{opacity:.62;cursor:wait}.attach-device-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:var(--grad-soft);color:var(--ink)}.attach-device-copy{display:grid;gap:1px;min-width:0}.attach-device-copy strong{font-size:var(--text-base);font-weight:800}.attach-device-copy small{color:var(--muted);font-size:var(--text-sm);font-weight:650}.attach-device-input{display:none}.cmt-thread{display:flex;flex-direction:column;min-height:0}.cmt-list{flex:1;overflow-y:auto;margin:0;padding:0;list-style:none}.cmt-empty{padding:8px 0 10px;color:var(--muted);font-size:var(--text-sm);text-align:center}.cmt{padding:6px 0 8px}.cmt+.cmt{border-top:1px solid var(--border)}.cmt-head{display:flex;align-items:baseline;gap:8px}.cmt-author{font-size:var(--text-sm);font-weight:700}.cmt-when{flex:1;font-size:var(--text-xs);color:var(--muted)}.cmt-del{border:none;background:none;color:var(--muted);font-size:var(--text-sm);padding:0 2px}.cmt-text{margin:2px 0 4px;font-size:var(--text-base);line-height:1.4;overflow-wrap:anywhere}.cmt-reactions{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.cmt-react{display:inline-flex;align-items:center;gap:4px;padding:1px 9px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 60%,transparent);color:var(--fg);font-size:var(--text-sm)}.cmt-react--mine{border-color:color-mix(in srgb,var(--fg) 45%,transparent);background:color-mix(in srgb,var(--surface-2) 95%,transparent)}.cmt-react--add{color:var(--muted)}.cmt-react-palette{display:inline-flex;gap:2px;padding:2px 6px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 80%,transparent)}.cmt-react-palette button{border:none;background:none;font-size:var(--text-lg);padding:2px 4px}.cmt-add{display:flex;gap:6px;padding:8px 0 2px}.cmt-add input{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font-size:16px}.cmt-add button{flex:none;display:inline-flex;align-items:center;gap:5px;padding:0 14px;border:none;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);font-weight:700}.cmt-add button:disabled{opacity:.5}.lb{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:lb-in var(--dur-fast) var(--ease-pop)}@keyframes lb-in{0%{opacity:0}to{opacity:1}}.lb-top{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));background:linear-gradient(to bottom,#14080e80,#14080e00);pointer-events:none}.lb-top>*{pointer-events:auto}.lb-top-actions{display:flex;align-items:center;gap:8px}.lb-count{color:#fff5f0eb;font-size:var(--text-base);font-weight:600;letter-spacing:.02em;text-shadow:0 1px 2px rgba(0,0,0,.4)}.lb-stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none}.lb-stage--video{touch-action:auto}.lb-img{max-width:100vw;max-height:100%;object-fit:contain;transform-origin:center center;-webkit-user-drag:none}.lb-img--rez{width:100%;height:100%}.lb-rez{position:absolute;top:calc(max(10px,env(safe-area-inset-top)) + 54px);left:50%;transform:translate(-50%);z-index:2;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;border-radius:var(--r-pill);background:#14080e8c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff5f0e0;font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;white-space:nowrap;pointer-events:none;animation:lb-in var(--dur-fast) var(--ease-pop)}.lb-video{width:min(100vw,100%);max-height:100%;background:#14080e75}.lb-state{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:#ffffff1f;color:#fff5f0db;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.lb-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:0;padding:0;border-radius:50%;border:none;background:#ffffff24;color:#fff6f1;box-shadow:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:background .15s ease,transform .08s ease}.lb-icon:hover{background:#ffffff3d;border:none}.lb-icon:active{transform:scale(.92)}.lb-icon--danger:hover{background:#d9314ae6}.lb-icon--on{background:#ffffff52}.lb-icon--starred{color:var(--star)}.lb-meta{z-index:2;margin:0 auto;width:min(420px,calc(100% - 32px));padding:12px 16px;border-radius:var(--r-md);background:#14080e9e;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff5f0f0;font-size:var(--text-base);animation:lb-in var(--dur-fast) var(--ease-pop)}.lb-meta-row{display:flex;justify-content:space-between;gap:16px;padding:3px 0}.lb-meta-row dt{color:#fff5f099;font-weight:600}.lb-meta-row dd{margin:0;text-align:right;overflow-wrap:anywhere}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:64px;padding:0;border:none;border-radius:var(--r-md);background:#14080e47;color:#fff5f0e6;box-shadow:none}.lb-nav--prev{left:max(6px,env(safe-area-inset-left))}.lb-nav--next{right:max(6px,env(safe-area-inset-right))}.lb-nav:disabled{opacity:0;pointer-events:none}.lb-bar{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:22px;padding:14px 16px max(16px,env(safe-area-inset-bottom));background:linear-gradient(to top,#14080e80,#14080e00)}.lb-confirm{display:flex;align-items:center;gap:10px;color:#fff6f1;font-weight:600;font-size:var(--text-md)}.lb-confirm-yes,.lb-confirm-no{min-height:40px;padding:0 16px;border-radius:var(--r-pill);border:1px solid rgba(255,255,255,.28);background:transparent;color:#fff6f1;box-shadow:none}.lb-confirm-yes{background:var(--danger);border-color:transparent}@media(min-width:760px){.lb-nav{width:52px;height:88px}}.lb-caption{position:absolute;left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom));display:flex;justify-content:center;pointer-events:none}.lb-caption>*{pointer-events:auto}.lb-caption-text{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:min(520px,90vw);padding:6px 14px;border:none;border-radius:var(--r-pill);background:#1c0c128c;color:#fff;font-size:var(--text-base);line-height:1.4;text-align:center}.lb-caption-text--empty{color:#ffffff8c;font-size:var(--text-sm)}.lb-caption-edit{display:flex;gap:6px;width:min(520px,90vw)}.lb-caption-edit input{flex:1;min-width:0;height:38px;padding:0 12px;border:1px solid rgba(255,255,255,.25);border-radius:var(--r-pill);background:#1c0c12b3;color:#fff;font-size:16px}.lb-caption-edit button{flex:none;padding:0 14px;border:none;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);font-weight:700}.lb-comments{position:absolute;left:12px;right:12px;bottom:calc(64px + env(safe-area-inset-bottom));margin:0 auto;width:min(520px,calc(100vw - 24px));max-height:min(46vh,380px);display:flex;flex-direction:column;border-radius:16px;background:#1c0c12d1;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff}.lb-comments-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px 6px;font-size:var(--text-sm);font-weight:700;color:#ffffffd9}.lb-comments-close{display:flex;border:none;background:none;color:#ffffffb3;padding:2px}.lb-comments .cmt-thread{flex:1;min-height:0}.lb-comments .cmt-list{padding:0 14px}.lb-comments .cmt-empty{padding:10px 0 14px;color:#ffffff8c}.lb-comments .cmt+.cmt{border-top-color:#ffffff14}.lb-comments .cmt-when{color:#ffffff80}.lb-comments .cmt-del{color:#ffffff73}.lb-comments .cmt-react{border-color:#ffffff38;background:#ffffff14;color:#fff}.lb-comments .cmt-react--mine{border-color:#ffffffbf;background:#ffffff38}.lb-comments .cmt-react--add{color:#ffffffa6}.lb-comments .cmt-react-palette{background:#ffffff1a}.lb-comments .cmt-add{padding:8px 12px 12px}.lb-comments .cmt-add input{border-color:#ffffff40;background:#1c0c12b3;color:#fff}.lb-icon-badge{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);font-size:var(--text-xs);font-weight:700;line-height:16px;text-align:center}.lb-comments .cmt-text .link-chip{border-color:#ffffff4d;background:#ffffff1f;color:#fff}.auto-memory{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"thumbs copy" "actions actions" "link link";align-items:center;gap:9px 11px;margin-top:10px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent-a) 22%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 84%,var(--surface-2));box-shadow:var(--shadow-1)}.auto-memory-icon{grid-area:thumbs;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--grad-soft);color:var(--fg)}.auto-memory-copy{grid-area:copy;display:grid;gap:1px;min-width:0}.auto-memory-kicker{color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.auto-memory-title,.auto-memory-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auto-memory-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:650}.auto-memory-sub{color:var(--muted);font-size:var(--text-xs)}.auto-memory-actions{grid-area:actions;display:flex;gap:7px}.auto-memory-keep{flex:1 1 auto;min-height:38px;padding:0 15px;border:0;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);font-size:var(--text-sm);font-weight:700;box-shadow:var(--glow)}.auto-memory-skip{flex:0 0 auto;min-height:38px;padding:0 13px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.auto-memory-skip:hover{border-color:var(--border-strong);color:var(--fg)}.auto-memory-more-link{grid-area:link;justify-self:start;color:var(--muted);font-size:var(--text-xs);font-weight:600;text-decoration:none}.auto-memory-more-link:hover{color:var(--fg)}.auto-memory-thumbs{grid-area:thumbs;display:flex;align-items:center;gap:5px;min-width:0}.auto-memory-thumb{position:relative;flex:0 0 auto;width:40px;height:40px;padding:0;overflow:hidden;border:0;border-radius:9px;background:var(--surface-2)}.auto-memory-thumb--open{cursor:pointer;transition:transform .12s ease}.auto-memory-thumb--open:hover,.auto-memory-thumb--open:focus-visible{transform:scale(1.06)}.auto-memory-more--open{min-height:var(--tap);min-width:var(--tap);padding:0 9px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);cursor:pointer}.auto-memory-more--open:hover{border-color:var(--border-strong);color:var(--fg)}.auto-memory-thumb img{width:100%;height:100%;object-fit:cover}.auto-memory-thumb-kind{position:absolute;right:3px;bottom:3px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:color-mix(in srgb,#000 55%,transparent);color:#fff}.auto-memory-more{color:var(--muted);font-size:var(--text-sm);font-weight:600}.rediscover{margin:10px 0 4px}.rediscover-toggle{display:flex;align-items:center;gap:10px;width:100%;padding:11px 13px;border:1px solid color-mix(in srgb,var(--accent-a) 22%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 84%,var(--surface-2));text-align:left}.rediscover-toggle-copy{display:grid;gap:1px;min-width:0}.rediscover-toggle-copy strong{font-family:var(--font-display);font-size:var(--text-md);font-weight:650}.rediscover-toggle-copy small{color:var(--muted);font-size:var(--text-xs)}.rediscover-count{margin-left:auto;padding:3px 10px;border-radius:var(--r-pill);background:var(--grad-soft);font-size:var(--text-sm);font-weight:700}.rediscover-list{display:grid;gap:9px;margin:9px 0 0;padding:0;list-style:none}.rediscover-row{display:grid;gap:8px;padding:11px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface)}.rediscover-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 9px}.rediscover-when{font-size:var(--text-sm);font-weight:650}.rediscover-sub{color:var(--muted);font-size:var(--text-xs)}.rediscover-title-field input{width:100%;min-height:38px;padding:0 11px;border:1px solid var(--border);border-radius:var(--r-sm, 10px);background:var(--surface-2);color:var(--fg);font-size:var(--text-base)}.rediscover-actions{display:flex;gap:7px}.rediscover-keep{flex:1 1 auto;min-height:38px;padding:0 15px;border:0;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);font-size:var(--text-sm);font-weight:700;box-shadow:var(--glow)}.rediscover-skip{flex:0 0 auto;min-height:38px;padding:0 13px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.rediscover-more{min-height:38px;width:100%;margin-top:9px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font-size:var(--text-sm);font-weight:600}.app{min-height:calc(100vh - 140px);min-height:calc(100dvh - 140px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem 1.5rem;text-align:center}.app h1{margin:0;font-family:var(--font-display);font-size:clamp(2.6rem,13vw,3.8rem);font-weight:600;font-style:italic;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{margin:0;color:var(--muted);font-size:var(--text-lg)}.tagline:first-of-type{font-size:var(--text-xl)}.footer{margin:2rem 0 0;font-size:var(--text-xs);color:var(--muted)}.mark{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.mark .dot{width:16px;height:16px;border-radius:50%;box-shadow:0 0 16px currentColor}.mark .dot-a{background:var(--accent-a);color:var(--accent-a);animation:mark-pulse 2.6s ease-in-out infinite}.mark .dot-b{background:var(--accent-b);color:var(--accent-b);animation:mark-pulse 2.6s ease-in-out infinite 1.3s}.mark .link{width:34px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--accent-a),var(--accent-b))}@keyframes mark-pulse{0%,to{transform:scale(1);opacity:.9}50%{transform:scale(1.18);opacity:1}}.home-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.15rem;padding:4px 0 0}.home-hero .mark{margin-bottom:.25rem;transform:scale(.8)}.home-hero--compact{flex-direction:row;align-items:center;justify-content:center;gap:var(--space-2);padding:0}.home-hero--compact .mark{margin-bottom:0}.home-hero--compact h1{font-size:var(--text-2xl)}.home-hero-partner{color:var(--muted);font-size:var(--text-sm);font-weight:650;white-space:nowrap}.home-hero h1{margin:0;font-family:var(--font-display);font-size:clamp(1.6rem,7vw,2rem);font-weight:600;font-style:italic;letter-spacing:-.02em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.home-hero .tagline{font-size:var(--text-sm)}.together-now{margin-top:14px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent-a) 24%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 84%,var(--surface-2));box-shadow:var(--shadow-1)}.together-now-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px 9px}.together-now-head h2,.together-now-head p{margin:0}.together-now-head h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:650}.together-now-head p{margin-top:2px;color:var(--muted);font-size:var(--text-xs)}.together-now-count{display:grid;flex:none;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--grad-soft);color:var(--fg);font-size:var(--text-xs);font-weight:850}.together-now-list{margin:0;padding:0 8px 8px;list-style:none}.together-now-list li{display:flex;align-items:stretch;min-width:0;border-top:1px solid var(--border)}.together-now-link{display:flex;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 6px;color:var(--fg);text-decoration:none}.together-now-link>svg{flex:none;color:var(--muted)}.together-now-emoji{display:grid;flex:none;place-items:center;width:30px;height:30px;border-radius:10px;background:color-mix(in srgb,var(--surface-2) 72%,transparent)}.together-now-copy{display:grid;flex:1;gap:1px;min-width:0}.together-now-copy strong,.together-now-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.together-now-copy strong{font-size:var(--text-base)}.together-now-copy small{color:var(--muted);font-size:var(--text-xs)}.together-now-snooze{align-self:center;flex:none;width:34px;height:34px;padding:0;border:0;background:transparent;box-shadow:none;color:var(--muted)}.together-now-snooze:hover{background:color-mix(in srgb,var(--surface-2) 66%,transparent);color:var(--fg)}.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(172px,100%),1fr));grid-auto-flow:dense;gap:10px;margin-top:14px;align-items:start}.hcard--celebrate .hcard-big{animation:hcard-celebrate 1.5s ease-in-out 2}@keyframes hcard-celebrate{0%,to{transform:scale(1)}50%{transform:scale(1.07)}}@media(prefers-reduced-motion:reduce){.hcard--celebrate .hcard-big{animation:none}}.hcard-slot{min-width:0;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.hcard-slot--dragging{opacity:.35}.hcard-slot:focus-visible{outline:3px solid color-mix(in srgb,var(--accent-a) 42%,transparent);outline-offset:4px;border-radius:var(--r-md)}.hcard-ghost{position:fixed;z-index:95;pointer-events:none;transform:scale(1.04) rotate(-1.2deg);filter:drop-shadow(0 16px 28px rgba(196,108,118,.35))}.hcard-slot:has(.hcard--wide){grid-column:1 / -1}.hcard-slot:has(.hcard--memory){grid-column:1 / -1}.hcard-slot:has(.hcard--share){grid-column:1 / -1}.hcard-slot:has(.hcard--daily){grid-column:1 / -1}.home-key{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin-top:14px}@media(min-width:700px){.home-key{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:dense;align-items:start}.home-key>.hcard--memory:not(.hcard--memory-combined),.home-key>.hcard--wide{grid-column:1 / -1}}.home-key>.hcard--counter{padding:20px 16px 18px}.home-key .hcard-big{font-size:clamp(2.1rem,10vw,2.7rem);line-height:1.08}.home-key .hcard-sub{font-size:var(--text-base)}.home-key>.hcard--memory{aspect-ratio:16 / 10;min-height:150px}.home-key>.hcard--memory-combined{aspect-ratio:5 / 4;min-height:240px;max-height:58svh}@media(min-width:481px)and (max-width:699px){.home-key>.hcard--memory-combined{aspect-ratio:4 / 3}}@media(min-width:700px){.home-key>.hcard--memory-combined{aspect-ratio:1;min-height:0;max-height:none}}.hcard--upcoming{padding:var(--space-1) var(--space-3) var(--space-2)}.hcard--upcoming .hcard-head{align-items:center;gap:var(--space-2)}.hcard--upcoming .hcard-title{margin:0;line-height:1.1}.hcard--upcoming .hcard-head-link{padding:var(--space-1) 0 var(--space-1) var(--space-2);line-height:1.2}.hcard--upcoming .hcard-row{padding:0}.hcard--upcoming .hcard-row-main{min-height:36px;gap:var(--space-2);padding:0;align-items:center;line-height:1.25}.hcard--upcoming .hcard-row--stack{gap:0;padding-bottom:var(--space-1)}.hcard--upcoming .hcard-row--stack .hcard-row-main{padding:0}.hcard--upcoming .hcard-row-title{font-size:var(--text-base)}.hcard--upcoming .hcard-count{font-size:var(--text-xs)}.home-links{margin:8px 0 0;display:flex;justify-content:center;gap:16px}.home-links a{font-size:var(--text-xs);color:var(--muted);text-decoration:none;padding:6px 4px}.home-links a:hover{color:var(--ink);text-decoration:underline}.home-hint{margin:10px 0 0;text-align:center;font-size:var(--text-xs);color:var(--muted)}.hcard{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);padding:12px 14px;min-width:0}.hcard .row{display:flex;gap:8px;margin-top:8px}.hcard input[type=date]{flex:1;min-width:0;min-height:var(--tap);padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--r-sm);background:var(--surface)}.hcard-title{margin:0 0 6px;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-family:inherit}.hcard--counter{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(140deg,color-mix(in srgb,var(--accent-a) 10%,transparent),color-mix(in srgb,var(--accent-b) 10%,transparent)),var(--surface)}.hcard-counter-mode{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;width:min(100%,224px);margin:0 0 8px;padding:3px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 72%,transparent)}.hcard-counter-mode-btn{min-height:28px;padding:0 6px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--muted);box-shadow:none;font-size:var(--text-xs);font-weight:700}.hcard-counter-mode-btn.active{background:var(--grad-soft);color:var(--fg)}.together-editor-group{min-width:0;margin:0;padding:0;border:0}.together-editor-group legend{margin:0 0 var(--space-2);padding:0;color:var(--muted);font-size:var(--text-sm);font-weight:700;letter-spacing:.02em}.together-editor-modes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-2)}.together-editor-mode{min-width:0;padding:0 var(--space-2);border:0;border-radius:var(--r-sm);background:transparent;box-shadow:none;color:var(--muted);font-size:var(--text-sm)}.together-editor-mode:hover{border-color:transparent;background:color-mix(in srgb,var(--accent-a) 9%,transparent)}.together-editor-mode.active{background:var(--grad-soft);color:var(--fg);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent-a) 20%,transparent)}.hcard-big{display:block;font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;letter-spacing:-.02em;background:var(--grad-ink);-webkit-background-clip:text;background-clip:text;color:transparent}.hcard-sub{display:block;color:var(--muted);font-size:var(--text-sm)}.hcard-sub--faint{color:var(--muted);font-size:var(--text-xs)}.hcard--scratchpad{padding:12px;user-select:none;-webkit-user-select:none}.scratchpad-head{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}.scratchpad-head .hcard-title{margin-bottom:0}.scratchpad-state,.scratchpad-peer{flex:none;color:var(--muted);font-size:var(--text-xs);font-weight:700}.scratchpad-peer{max-width:58%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.scratchpad-tools{position:relative;display:flex;align-items:center;flex-wrap:nowrap;gap:5px;min-width:0;margin-top:10px;padding:5px;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface-2) 42%,transparent);isolation:isolate}.scratchpad-tool-picker{display:flex;flex:none;gap:4px;min-width:0;justify-content:flex-start}.scratchpad-tool{flex:0 0 34px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);box-shadow:none}.scratchpad-tool:hover{background:color-mix(in srgb,var(--surface) 70%,transparent);color:var(--fg)}.scratchpad-tool.active{border-color:color-mix(in srgb,var(--accent-a) 40%,transparent);background:var(--surface);color:var(--ink)}.scratchpad-tool-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.scratchpad-toolbar-btn,.scratchpad-swatch,.scratchpad-icon-btn{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;min-height:34px;padding:0;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);box-shadow:none}.scratchpad-toolbar-btn:hover,.scratchpad-toolbar-btn.active{border-color:color-mix(in srgb,var(--accent-a) 38%,transparent);background:var(--surface);color:var(--fg)}.scratchpad-toolbar-btn:disabled .scratchpad-current-swatch{opacity:.56}.scratchpad-current-swatch{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px #460f261f,0 1px 4px #96544a29}.scratchpad-stroke-preview{display:block;min-width:6px;min-height:6px;border-radius:50%;background:var(--fg);box-shadow:0 1px 4px #96544a2e}.scratchpad-toolbar-panel{position:absolute;z-index:5;top:calc(100% + 6px);left:5px;right:5px;display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:6px;border:1px solid var(--border-strong);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 94%,var(--surface-2));box-shadow:var(--shadow-2);overflow-x:auto;scrollbar-width:none}.scratchpad-toolbar-panel::-webkit-scrollbar{display:none}.scratchpad-swatch span{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px #460f261f,0 1px 4px #96544a29}.scratchpad-swatch:disabled{opacity:.34}.scratchpad-swatch.active,.scratchpad-icon-btn:hover{border-color:color-mix(in srgb,var(--accent-a) 38%,transparent);background:var(--surface);color:var(--fg)}.scratchpad-icon-btn:disabled{opacity:.38}.scratchpad-icon-btn.danger:hover{color:var(--danger);border-color:#d9314a52}.scratchpad-size-panel{justify-content:stretch;gap:8px;display:flex;color:var(--muted);font-size:var(--text-sm);font-weight:700}.scratchpad-size-panel input{flex:1;min-width:0;accent-color:var(--accent-a)}.scratchpad-size-panel output{flex:0 0 40px;color:var(--fg);text-align:right;font-variant-numeric:tabular-nums}.scratchpad-actions{display:flex;gap:2px;flex:none;margin-left:auto}.scratchpad-canvas-wrap{margin-top:8px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 1px #ffffff8c;overflow:hidden}.scratchpad-canvas{display:block;width:100%;aspect-ratio:1000 / 620;min-height:190px;max-height:360px;touch-action:none;cursor:crosshair}.scratchpad-loading{display:flex;align-items:center;justify-content:center;min-height:180px;color:var(--accent-a)}.scratchpad-empty{margin:10px 0 0;padding:18px;border:1px dashed var(--border-strong);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface-2) 52%,transparent);color:var(--muted);text-align:center;line-height:1.5}.scratchpad-skeleton{min-height:180px;margin-top:8px;border:1px solid var(--border);border-radius:var(--r-md);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--glass) 70%,transparent),transparent) 0 0 / 180px 100% no-repeat,linear-gradient(var(--surface-2),var(--surface-2)) 14px 20px / 46% 10px no-repeat,linear-gradient(var(--surface-2),var(--surface-2)) 14px 46px / 72% 10px no-repeat,linear-gradient(var(--surface-2),var(--surface-2)) 14px 72px / 58% 10px no-repeat,var(--surface);animation:scratchpad-shimmer 1.4s ease-in-out infinite}@keyframes scratchpad-shimmer{to{background-position:100% 0,14px 20px,14px 46px,14px 72px,0 0}}@media(prefers-reduced-motion:reduce){.scratchpad-skeleton{animation:none}}@media(max-width:420px){.scratchpad-tools{gap:4px}}.hcard-edit{min-height:0;margin-left:2px;padding:0 6px;font-size:var(--text-xs);border:none;background:transparent;box-shadow:none;color:var(--muted)}.hcard-list{list-style:none;margin:0;padding:0;min-width:0}.hcard-row,.hcard-row-main{display:flex;align-items:baseline;justify-content:space-between;gap:12px;width:100%;min-width:0;padding:4px 0}.hcard-row+.hcard-row{border-top:1px solid var(--border)}.hcard-row--stack{display:grid;gap:4px}.hcard-row--stack .hcard-row-main{padding:0;border-top:0}.hcard-row-title{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-md)}.hcard-count{flex:none;font-weight:700;color:var(--ink);font-size:var(--text-sm)}a.hcard-row-main{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}a.hcard-row-main:hover .hcard-row-title{color:var(--ink)}.hcard-row-chevron{flex:none;color:var(--faint);font-weight:700;line-height:1}.hcard-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.hcard-head-link{flex:none;padding:2px 0 2px 8px;color:var(--muted);font-size:var(--text-xs);font-weight:700;text-decoration:none}.hcard-head-link:hover{color:var(--ink);text-decoration:underline}.hcard-row-chips{display:flex;flex-wrap:wrap;gap:4px;max-width:100%;min-width:0}.hcard-row-chips span{min-width:0;max-width:100%;padding:1px 7px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--muted);font-size:var(--text-xs);font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcard--share{display:grid;gap:12px}.hcard-now-section{min-width:0;padding-top:12px;border-top:1px solid var(--border)}.hcard-title+.hcard-now-section{padding-top:0;border-top:0}.hcard--daily{display:grid;gap:10px;background:linear-gradient(140deg,color-mix(in srgb,var(--accent-a) 8%,transparent),color-mix(in srgb,var(--accent-b) 7%,transparent)),var(--surface)}.daily-head,.daily-foot,.daily-answer-head,.daily-reactions{display:flex;align-items:center;gap:8px}.daily-head,.daily-foot{justify-content:space-between}.daily-set-aside{min-height:38px;padding:0 7px;border:0;background:transparent;color:var(--muted);box-shadow:none;font-size:var(--text-xs);font-weight:700}.daily-set-aside:hover{color:var(--fg);background:color-mix(in srgb,var(--surface-2) 58%,transparent)}.daily-foot-actions,.daily-skip-request-actions{display:flex;align-items:center;gap:6px;flex:none}.daily-skip-request{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid color-mix(in srgb,var(--accent-a) 22%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--surface-2) 56%,var(--surface))}.daily-skip-request-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--grad-soft);color:var(--muted)}.daily-skip-request-copy{display:grid;gap:2px;min-width:0;font-size:var(--text-sm);line-height:1.35}.daily-skip-request-copy strong{color:var(--fg)}.daily-skip-request-copy span{color:var(--muted)}.daily-skip-keep,.daily-skip-agree,.daily-skip-pending button{min-height:34px;padding:0 10px;border-radius:var(--r-pill);box-shadow:none;font-size:var(--text-xs);font-weight:750}.daily-skip-keep,.daily-skip-pending button{border-color:transparent;background:transparent;color:var(--muted)}.daily-skip-agree{border-color:color-mix(in srgb,var(--accent-a) 32%,var(--border));background:var(--grad-soft);color:var(--fg)}.daily-skip-pending{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:var(--r-md);background:color-mix(in srgb,var(--surface-2) 48%,transparent);color:var(--muted);font-size:var(--text-sm)}.daily-skip-complete{margin:0;color:var(--muted);font-size:var(--text-sm);font-style:italic}@media(max-width:560px){.daily-skip-request{grid-template-columns:auto minmax(0,1fr)}.daily-skip-request-actions{grid-column:2;justify-self:start}.daily-foot{align-items:flex-end}.daily-lock{max-width:46%}}.daily-head .hcard-title{margin-bottom:0}.daily-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px;min-width:142px;padding:3px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 68%,var(--surface-2));box-shadow:inset 0 1px #ffffff80}.daily-switch button{min-height:32px;padding:0 8px;border:0;border-radius:var(--r-md);background:transparent;color:var(--muted);box-shadow:none;font-size:var(--text-xs);font-weight:700}.daily-switch button:hover{color:var(--fg);background:color-mix(in srgb,var(--surface) 62%,transparent)}.daily-switch button.active{background:var(--grad-soft);color:var(--fg);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 12%,transparent)}.daily-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.daily-chip{flex:none;padding:3px 8px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.daily-note{margin:0 0 -4px;color:var(--muted);font-size:var(--text-sm);font-style:italic;line-height:1.35}.daily-question{margin:0;color:var(--fg);font-family:var(--font-display);font-size:clamp(1.02rem,4.2vw,1.28rem);font-weight:600;line-height:1.28;text-align:left}.daily-question-skeleton{height:118px;margin-top:12px;border-radius:var(--r-sm);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--surface) 58%,transparent),transparent),color-mix(in srgb,var(--surface-2) 72%,transparent);background-size:180% 100%,100% 100%;animation:daily-skeleton-sheen 1.35s ease-in-out infinite}@keyframes daily-skeleton-sheen{to{background-position:-180% 0,0 0}}@media(prefers-reduced-motion:reduce){.daily-question-skeleton{animation:none}}.daily-example-wrap{display:grid;justify-items:start;gap:7px}.daily-example-toggle{min-height:30px;padding:0 10px;border-color:var(--border);background:color-mix(in srgb,var(--surface) 74%,transparent);box-shadow:none;color:var(--muted);font-size:var(--text-xs);font-weight:800}.daily-example-toggle:hover,.daily-example-toggle[aria-expanded=true]{border-color:color-mix(in srgb,var(--accent-a) 38%,var(--border-strong));background:color-mix(in srgb,var(--surface-2) 62%,var(--surface));color:var(--fg)}.daily-examples{display:grid;gap:5px;max-width:100%;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--accent-a) 35%,var(--border-strong))}.daily-examples-label{color:var(--muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.06em;text-transform:uppercase}.daily-examples ul{display:grid;gap:5px;margin:0;padding:0;list-style:none}.daily-examples li{color:var(--muted);font-size:var(--text-sm);line-height:1.42}.daily-field{width:100%;min-height:96px;padding:10px 12px;resize:vertical;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 92%,var(--surface-2));color:var(--fg);font:inherit;font-size:16px;line-height:1.45;box-shadow:inset 0 1px 2px #96544a0f;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.daily-field::placeholder{color:var(--muted)}.daily-field:focus{outline:none;border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.daily-lock,.daily-wait{color:var(--muted);font-size:var(--text-sm);line-height:1.35}.daily-foot button{flex:none}.daily-answers{display:grid;gap:8px}.daily-answer{padding:9px 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:color-mix(in srgb,var(--surface) 78%,transparent)}.daily-answer--mine{background:color-mix(in srgb,var(--surface-2) 58%,var(--surface))}.daily-answer-head{justify-content:space-between;color:var(--muted);font-size:var(--text-xs)}.daily-answer p{margin:5px 0 8px;color:var(--fg);line-height:1.45;white-space:pre-wrap}.daily-reactions{flex-wrap:wrap}.daily-reaction{min-height:28px;padding:0 8px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);box-shadow:none;font-size:var(--text-xs);font-weight:700;gap:4px}.daily-reaction.active{border-color:color-mix(in srgb,var(--accent-a) 48%,var(--border));background:color-mix(in srgb,var(--accent-a) 12%,var(--surface));color:var(--fg)}.daily-wait{margin:0}.daily-empty{margin:0;padding:14px;border:1px dashed var(--border-strong);border-radius:var(--r-sm);background:color-mix(in srgb,var(--surface-2) 52%,transparent);color:var(--muted);font-size:var(--text-sm);text-align:center}.daily-history{display:grid;gap:8px}.hcard--daily .daily-history{max-height:min(56vh,560px);overflow-y:auto;padding-right:2px;overscroll-behavior:contain}.daily-hrow{border:1px solid var(--border);border-radius:var(--r-sm);background:color-mix(in srgb,var(--surface) 72%,transparent)}.daily-hrow--open{border-color:color-mix(in srgb,var(--accent-a) 32%,var(--border-strong));background:color-mix(in srgb,var(--surface-2) 46%,var(--surface))}.daily-hrow-head{display:grid;gap:5px;width:100%;padding:9px 10px;border:0;border-radius:var(--r-sm);background:transparent;box-shadow:none;text-align:left;cursor:pointer}.daily-hrow-top{display:flex;align-items:center;gap:8px}.daily-hrow-top time{color:var(--muted);font-size:var(--text-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.daily-hrow-caret{margin-left:auto;color:var(--muted);transition:transform .18s ease}.daily-hrow--open .daily-hrow-caret{transform:rotate(180deg)}.daily-hrow-q{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;overflow:hidden;color:var(--fg);font-weight:700;line-height:1.35}.daily-hrow--open .daily-hrow-q{-webkit-line-clamp:unset;line-clamp:unset}.daily-hrow-body{display:grid;gap:8px;padding:0 10px 10px}.daily-seeall{display:inline-flex;align-items:center;gap:4px;margin-top:10px;color:var(--accent-a);font-size:var(--text-sm);font-weight:800;text-decoration:none}.daily-seeall:hover{text-decoration:underline}.daily-page{display:grid;gap:12px}.daily-page-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}.daily-page-head h2{margin:0;flex:1 1 auto;min-width:0}.daily-filter{display:flex;flex-wrap:wrap;gap:5px;padding:3px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 68%,var(--surface-2));box-shadow:inset 0 1px #ffffff80}.daily-filter-chip{min-height:32px;padding:0 11px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--muted);box-shadow:none;font-size:var(--text-xs);font-weight:700}.daily-filter-chip:hover{border-color:transparent;background:color-mix(in srgb,var(--surface) 62%,transparent);color:var(--fg)}.daily-filter-chip.active{border-color:transparent;background:var(--grad-soft);color:var(--fg);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 12%,transparent)}.daily-page-count{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:700}.daily-more{justify-self:center;min-height:34px;padding:0 16px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 74%,transparent);color:var(--fg);box-shadow:none;font-size:var(--text-sm);font-weight:800}.forest{--forest: #3c9a5f;display:grid;gap:12px;padding:14px;border:1px solid var(--border);border-radius:var(--r-md);background:color-mix(in srgb,var(--forest) 6%,var(--surface))}.forest-head{display:grid;gap:3px}.forest-head h3{margin:0;font-family:var(--font-display);font-size:var(--text-xl)}.forest-sub{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.4}.forest-stats{display:flex;flex-wrap:wrap;gap:8px}.forest-stat{display:grid;flex:1 1 0;min-width:84px;gap:1px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--forest) 18%,var(--border));border-radius:var(--r-sm);background:color-mix(in srgb,var(--surface) 80%,transparent);text-align:center}.forest-stat strong{color:var(--fg);font-size:var(--text-xl);font-weight:800}.forest-stat span{color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.forest-scene-wrap{overflow-x:auto;overscroll-behavior-x:contain;border-radius:var(--r-sm);background:linear-gradient(to bottom,color-mix(in srgb,var(--accent-a) 5%,var(--surface)),color-mix(in srgb,var(--forest) 7%,var(--surface)))}.forest-scene{display:block}.forest-ground{fill:color-mix(in srgb,var(--forest) 16%,#efe7d4)}.forest-groundline{stroke:color-mix(in srgb,var(--forest) 38%,var(--border-strong));stroke-width:1.5}.forest-tick{stroke:color-mix(in srgb,var(--forest) 22%,var(--border));stroke-width:1;stroke-dasharray:2 3}.forest-tick-label{fill:color-mix(in srgb,var(--forest) 55%,var(--muted));font-size:7px;font-weight:700}.forest-legend{display:flex;align-items:flex-end;gap:6px;color:var(--muted);font-size:var(--text-xs);font-weight:700}.forest-legend-plant{display:block}@media(max-width:420px){.daily-head{align-items:stretch;flex-direction:column}.daily-switch{width:100%}}.hcard-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:6px}.hcard-section-title{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:inherit}.hcard-moods{display:grid;grid-template-columns:repeat(auto-fill,31px);justify-content:start;gap:7px}.hcard-moods-toggle{position:relative;display:flex;align-items:center;justify-content:center;width:32px;min-width:32px;height:24px;min-height:24px;margin:7px auto 0;padding:0;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 62%,transparent);color:var(--muted);box-shadow:none}.hcard-moods-toggle:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--fg)}.hcard-mood{position:relative;display:inline-flex;align-items:center;justify-content:center;width:31px;height:31px;min-height:31px;min-width:0;padding:0;font-size:var(--text-md);line-height:1;border-radius:50%;border:1px solid var(--border);background:var(--surface);box-shadow:none;-webkit-tap-highlight-color:transparent;transition:transform .12s ease,background .18s ease,border-color .18s ease,box-shadow .18s ease}.hcard-mood:active{transform:scale(.9)}.hcard-mood--on{background:var(--grad-soft);border-color:color-mix(in srgb,var(--accent-a) 75%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-a) 35%,transparent),0 1px 6px color-mix(in srgb,var(--accent-a) 24%,transparent);transform:scale(1.04)}.hcard--memory{display:block;position:relative;padding:0;overflow:hidden;aspect-ratio:16 / 9;min-height:96px}.hcard-memory-open{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:block;overflow:hidden;color:inherit;text-decoration:none}.hcard--memory:has(.hcard-memory-open:focus-visible){outline:3px solid color-mix(in srgb,var(--accent-a) 42%,transparent);outline-offset:4px}.hcard-memory-open:focus-visible{outline:none}.hcard--memory img,.hcard-memory-ph{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;object-fit:cover;background:var(--grad-soft)}.hcard-memory-img--in{animation:memory-fade .9s ease both}.hcard--memory-text{background:linear-gradient(140deg,color-mix(in srgb,var(--accent-a) 12%,transparent),color-mix(in srgb,var(--accent-b) 9%,transparent)),var(--surface)}.hcard-memory-letter{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(160deg,color-mix(in srgb,var(--glass) 72%,transparent),color-mix(in srgb,var(--surface-2) 28%,transparent)),linear-gradient(90deg,color-mix(in srgb,var(--accent-a) 10%,transparent),transparent 42%,color-mix(in srgb,var(--accent-b) 8%,transparent))}.hcard-memory-copy{z-index:2;position:absolute;left:12px;right:12px;bottom:42px;display:grid;gap:4px;color:var(--fg)}.hcard-memory-copy strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-family:var(--font-display);font-size:clamp(1rem,4vw,1.18rem);font-weight:600;line-height:1.18}.hcard-memory-copy span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;color:var(--muted);font-size:var(--text-sm);line-height:1.35}@keyframes memory-fade{0%{opacity:0}to{opacity:1}}.hcard-memory-tag{z-index:2;position:absolute;left:8px;bottom:8px;padding:3px 8px;border-radius:var(--r-pill);background:#1c0c129e;color:#fff6f1;font-size:var(--text-xs);font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hcard--memory-combined{box-shadow:var(--shadow-2)}.hcard--memory-combined .hcard-memory-open{z-index:1}.hcard-memory-scrim{display:none}.hcard-memory-plate{position:absolute;z-index:3;bottom:10px;left:50%;display:grid;gap:1px;width:min(140px,calc(100% - 28px));min-width:0;padding:2px 4px 3px;border:1px solid rgba(255,246,241,.16);border-radius:var(--r-md);background:#2d16210f;box-shadow:0 3px 10px #14080d0d;-webkit-backdrop-filter:blur(3px) brightness(.9) saturate(.98);backdrop-filter:blur(3px) brightness(.9) saturate(.98);transform:translate(-50%);pointer-events:none}.hcard--memory-has-copy .hcard-memory-plate{width:min(300px,calc(100% - 28px))}.hcard-memory-seam{display:block;justify-self:center;width:32px;height:2px;margin-bottom:0;border-radius:var(--r-pill);background:var(--grad);transform-origin:center}.hcard--memory-combined:not(.hcard--memory-has-copy) .hcard-memory-seam{position:absolute;top:4px;left:50%;margin:0;transform:translate(-50%)}.hcard--memory-combined .hcard-memory-tag{position:absolute;top:10px;right:auto;bottom:auto;left:10px;z-index:3;width:fit-content;max-width:calc(100% - 20px);overflow:hidden;padding:3px 7px;border-radius:var(--r-pill);background:#1c0c129e;color:#fff6f1;font-size:var(--text-xs);font-weight:700;letter-spacing:.035em;line-height:1.25;text-align:left;text-overflow:ellipsis;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none}.story-dateline{position:relative;justify-self:center;width:100%;min-height:var(--tap);padding:0 16px 0 10px;justify-content:center;gap:0;border:0;border-radius:var(--r-sm);background:transparent;box-shadow:none;color:#fff6f1;text-align:left;text-shadow:0 1px 2px rgba(20,8,13,.95),0 0 8px rgba(20,8,13,.8);pointer-events:auto}.story-dateline:hover{border-color:transparent;background:#fff6f114}.story-dateline:active{transform:scale(.99)}.story-dateline:focus-visible{outline-color:#fff6f1;outline-offset:4px}.story-dateline-copy{display:grid;justify-items:center;gap:1px;min-width:0}.story-dateline-main{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:1px 4px;line-height:1.06}.story-dateline-main strong{font-family:var(--font-display);font-size:clamp(1rem,4vw,1.125rem);font-weight:600;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.story-dateline-main span{font-size:.6875rem;font-weight:650}.story-dateline-date{display:none}.story-dateline>svg{position:absolute;top:50%;right:2px;transform:translateY(-50%);opacity:.86}.hcard--memory-combined .hcard-memory-copy{position:static;display:grid;gap:2px;color:#fff6f1;text-shadow:0 1px 8px rgba(20,8,13,.34)}.hcard--memory-combined .hcard-memory-copy strong{font-size:var(--text-lg);line-height:1.15}.hcard--memory-combined .hcard-memory-copy span{color:#fff6f1;font-size:var(--text-xs);line-height:1.3}.hcard--memory-text .hcard-memory-plate,.hcard--memory-text .story-dateline,.hcard--memory-text .hcard-memory-copy,.hcard--memory-text .hcard-memory-copy span{color:var(--fg);text-shadow:none}.hcard--memory-text .hcard-memory-plate{border-color:transparent;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hcard--memory-text .hcard-memory-tag{color:var(--muted);border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 80%,transparent);-webkit-backdrop-filter:none;backdrop-filter:none}.hcard--memory-text .story-dateline:hover{background:color-mix(in srgb,var(--accent-a) 8%,transparent)}.hcard--memory-text .story-dateline:focus-visible{outline-color:var(--accent-a)}.hcard--memory-combined:has(.story-dateline--celebrate) .hcard-memory-seam{animation:story-seam-celebrate 1.5s ease-in-out 2}@keyframes story-seam-celebrate{0%,to{opacity:.88;transform:scaleX(.72)}50%{opacity:1;transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.hcard--memory-combined:has(.story-dateline--celebrate) .hcard-memory-seam{animation:none}}.photo-nudge{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"icon copy go skip";align-items:center;gap:8px 11px;margin-top:14px;padding:12px 12px 12px 13px;border:1px solid color-mix(in srgb,var(--accent-a) 26%,var(--border));border-radius:var(--r-md);background:color-mix(in srgb,var(--surface) 84%,var(--surface-2));box-shadow:var(--shadow-1)}.photo-nudge-icon{grid-area:icon;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--grad-soft);color:var(--fg)}.photo-nudge-copy{grid-area:copy;display:grid;gap:1px;min-width:0}.photo-nudge-kicker{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-xs);font-weight:600;letter-spacing:.02em;text-transform:uppercase}.photo-nudge-title,.photo-nudge-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-nudge-title{font-family:var(--font-display);font-size:var(--text-md);font-weight:650}.photo-nudge-sub{color:var(--muted);font-size:var(--text-xs)}.photo-nudge-go{grid-area:go;position:relative;display:inline-flex;justify-content:center;align-items:center;min-width:96px;min-height:38px;padding:0 15px;border:none;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);font-size:var(--text-sm);font-weight:700;white-space:nowrap;text-decoration:none;box-shadow:var(--glow)}.photo-nudge-go:hover{border:none}.photo-nudge-go:disabled{opacity:.6}.photo-nudge-skip{grid-area:skip;position:relative;min-height:38px;padding:0 13px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);box-shadow:none;color:var(--muted);font-size:var(--text-sm);font-weight:600;white-space:nowrap}.photo-nudge-skip:hover{border-color:var(--border-strong);color:var(--fg)}@media(max-width:430px){.photo-nudge{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon copy copy" "go go skip"}}.hcard-statuses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:4px}.hcard-now-section--where.compact{padding-top:0;border-top:0}.hcard-now-section--where.compact .hcard-section-head{margin-bottom:5px}.hcard-status{min-height:34px;padding:4px 3px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);gap:2px;font-size:var(--text-xs);font-weight:600;line-height:1.05;text-align:center;white-space:normal}.hcard-status:hover{border-color:var(--border-strong)}.hcard-status--on{border-color:var(--accent-a);background:color-mix(in srgb,var(--accent-a) 14%,var(--surface))}.hcard-share-log-list{list-style:none;margin:0;padding:0 3px 0 0;display:grid;align-content:start;gap:3px;height:178px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.hcard-share-log-list--menu-open{padding-bottom:50px}.hcard-share-log-item{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr) auto minmax(0,auto) 28px;align-items:center;gap:6px;min-height:30px;padding:3px 2px;border:1px solid transparent;border-radius:12px;box-sizing:border-box;font-size:var(--text-sm);touch-action:pan-y}.hcard-share-log-item--open{z-index:2;background:color-mix(in srgb,var(--accent-a) 8%,transparent)}.hcard-share-log-item--current{border-color:color-mix(in srgb,var(--accent-a) 12%,var(--border));background:color-mix(in srgb,var(--accent-a) 3%,var(--surface))}.hcard-share-log-icon{grid-column:1;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--surface-2)}.hcard-share-log-copy{grid-column:2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hcard-share-log-age{grid-column:3;color:var(--muted);font-size:var(--text-xs);white-space:nowrap;font-variant-numeric:tabular-nums}.hcard-share-log-options{grid-column:5;width:26px;min-width:26px;height:26px;min-height:26px;padding:0;border-color:transparent;background:transparent;box-shadow:none;color:var(--muted)}.hcard-share-log-options:hover,.hcard-share-log-item--open .hcard-share-log-options{border-color:var(--border);background:var(--surface-2);color:var(--fg)}.hcard-share-log-reactions{grid-column:4;grid-row:1;display:flex;justify-self:end;flex-wrap:nowrap;gap:4px;min-width:0;max-width:min(88px,34vw);overflow:hidden}.hcard-share-log-reaction-pill{display:inline-flex;align-items:center;flex:0 1 auto;gap:3px;max-width:100%;min-height:20px;padding:0 6px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 55%,transparent);color:var(--muted);font-size:var(--text-xs);font-weight:700;font-variant-numeric:tabular-nums}.hcard-share-log-menu{position:relative;z-index:3;grid-column:1 / -1;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;width:100%;min-width:0;max-width:100%;margin-top:2px;padding:6px;border:1px solid color-mix(in srgb,var(--accent-a) 18%,var(--border));border-radius:var(--r-lg);box-sizing:border-box;background:color-mix(in srgb,var(--surface) 84%,var(--surface-2));box-shadow:0 12px 30px #5230391f}.hcard-share-log-reaction,.hcard-share-log-remove{min-width:0;min-height:32px;padding:0 4px;border:1px solid var(--border);background:var(--surface);box-shadow:none;gap:2px;font-size:var(--text-xs)}.hcard-share-log-reaction:hover,.hcard-share-log-remove:hover{border-color:color-mix(in srgb,var(--accent-a) 24%,var(--border));background:color-mix(in srgb,var(--accent-b) 10%,var(--surface))}.hcard-share-log-reaction.active{border-color:color-mix(in srgb,var(--accent-a) 46%,var(--border));background:var(--grad-soft);color:var(--fg)}.hcard-share-log-reaction-count{font-size:var(--text-xs);font-variant-numeric:tabular-nums}.hcard-share-log-remove{grid-column:1 / -1;justify-self:end;padding:0 9px;color:var(--danger-muted)}.hcard-share-log-remove:hover{border-color:transparent;background:color-mix(in srgb,var(--danger) 9%,var(--surface));color:var(--danger)}.hcard-share-log-empty{margin:0;font-size:var(--text-sm)}.hcard-link{font-size:var(--text-base);font-weight:600}.hcard-mood:after,.hcard-moods-toggle:after,.photo-nudge-go:after,.photo-nudge-skip:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px}.recap-period{margin:0 0 8px;font-size:var(--text-sm)}.recap-stats{display:flex;flex-wrap:wrap;gap:6px}.recap-stat{padding:4px 10px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 55%,transparent);font-size:var(--text-sm)}.recap-stat strong{font-size:var(--text-md)}.daily-dive-link{text-decoration:none;border-color:color-mix(in srgb,var(--accent-a) 38%,transparent);color:var(--fg)}.dive-intro{margin:0;line-height:1.45}.dive-decks{display:grid;gap:8px}.dive-deck{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;text-align:left;border:1px solid var(--border);border-radius:14px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.dive-deck:disabled{opacity:.6}.dive-deck-emoji{font-size:var(--text-2xl);flex:none}.dive-deck-body{display:flex;flex-direction:column;gap:2px;min-width:0}.dive-deck-body strong{font-family:var(--font-display)}.dive-deck-body small{color:var(--muted);line-height:1.3}.dive-deck-caret{margin-left:auto;flex:none;color:var(--muted)}.dive-past-title{margin:14px 0 0;font-size:var(--text-base);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.dive-past{display:grid;gap:6px}.dive-session-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 72%,transparent);text-decoration:none;color:var(--fg)}.dive-session-name{display:flex;flex-direction:column;min-width:0}.dive-session-name small{color:var(--muted)}.dive-session-row .daily-chip{margin-left:auto}.dive-chip-done{border-color:color-mix(in srgb,var(--accent-a) 40%,transparent)}.dive-dots{display:flex;flex-wrap:wrap;gap:6px}.dive-dot{width:30px;height:30px;padding:0;display:grid;place-items:center;font-size:var(--text-sm);border:1px solid var(--border);border-radius:50%;background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--muted)}.dive-dot--done{border-color:color-mix(in srgb,var(--accent-a) 45%,transparent);color:var(--fg)}.dive-dot--passed{opacity:.55;text-decoration:line-through}.dive-dot--current{outline:2px solid color-mix(in srgb,var(--accent-a) 55%,transparent);outline-offset:1px;color:var(--fg)}.dive-question{display:grid;gap:10px;padding:14px;border:1px solid var(--border);border-radius:16px;background:color-mix(in srgb,var(--surface) 82%,transparent)}.dive-recap{display:grid;gap:10px}.dive-actions{display:flex;gap:8px;align-items:center}.dive-pass{background:transparent;border:1px solid var(--border);color:var(--muted)}.dive-complete{margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent-a) 40%,transparent);border-radius:12px;background:color-mix(in srgb,var(--accent-a) 8%,transparent);line-height:1.4}.daily-nudge{margin:0;color:var(--muted);font-size:var(--text-xs);font-style:italic;line-height:1.35}.daily-discussion{overflow:hidden;border:1px solid var(--border);border-radius:var(--r-sm);background:color-mix(in srgb,var(--surface-2) 46%,transparent)}.daily-discussion-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:7px 10px;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--fg);text-align:left}.daily-discussion-toggle>span{display:grid;gap:1px}.daily-discussion-toggle strong{font-size:var(--text-sm)}.daily-discussion-toggle small{color:var(--muted);font-size:var(--text-xs)}.daily-discussion-toggle>svg{flex:none;color:var(--muted);transition:transform .18s ease}.daily-discussion--open .daily-discussion-toggle>svg{transform:rotate(180deg)}.daily-discussion .cmt-thread{max-height:330px;padding:0 10px 8px;border-top:1px solid var(--border)}.daily-discussion .cmt-list{max-height:220px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.daily-head-actions{display:flex;align-items:center;gap:6px}.daily-play-btn{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent-a) 38%,transparent);border-radius:var(--r-pill);background:var(--grad-soft);color:var(--fg);font-size:var(--text-xs);font-weight:700;text-decoration:none}.daily-head-links{display:inline-flex;flex-wrap:wrap;gap:6px;margin-left:auto}.play-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.play-counter{color:var(--muted);font-size:var(--text-sm);letter-spacing:.08em}.play-dots{display:flex;align-items:center;gap:5px}.play-dot{width:7px;height:7px;min-height:0;padding:0;border:0;border-radius:var(--r-pill);background:color-mix(in srgb,var(--fg) 14%,transparent);box-shadow:none;transition:width .25s ease,background .25s ease}.play-dot--current{width:20px}.play-turn{display:flex;align-items:center;gap:8px;align-self:center;padding:5px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 72%,transparent);color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.18em}.play-turn-dot{width:8px;height:8px;border-radius:50%}.play-zone{position:relative;display:grid;place-items:center;padding:10px 0 4px}.play-zone:before{content:"";position:absolute;top:-8%;right:-12%;bottom:-8%;left:-12%;background:radial-gradient(70% 60% at 50% 55%,color-mix(in srgb,var(--play-glow, #ffa8c0) 26%,transparent) 0%,transparent 70%);pointer-events:none}.play-card{position:relative;width:min(100%,340px);min-height:min(58vh,440px);perspective:1200px;cursor:pointer}.play-card--flipped{cursor:default}.play-card-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;padding:22px;border-radius:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-shadow:0 30px 80px -20px #00000073,0 10px 30px -10px #0000004d,inset 0 1px #ffffff40;transition:transform .65s cubic-bezier(.2,.8,.2,1);transform-style:preserve-3d}.play-card-back{align-items:center;justify-content:center;text-align:center;transform:rotateY(0)}.play-card--flipped .play-card-back{transform:rotateY(180deg)}.play-card-front{transform:rotateY(-180deg)}.play-card--flipped .play-card-front{transform:rotateY(0)}.play-card-ring{position:absolute;top:32px;right:32px;bottom:32px;left:32px;border:1px solid currentColor;border-radius:50%;opacity:.25;animation:play-breathe 4s ease-in-out infinite;pointer-events:none}.play-card-ring--inner{top:64px;right:64px;bottom:64px;left:64px;animation-delay:2s}@keyframes play-breathe{0%,to{transform:scale(1);opacity:.2}50%{transform:scale(1.05);opacity:.45}}.play-card-eyebrow{margin:0;font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.35em;opacity:.65}.play-card-tier{margin:6px 0 0;font-family:var(--font-display);font-size:var(--text-5xl);font-style:italic;font-weight:600}.play-card-hint{margin:26px 0 0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.3em;opacity:.6}.play-card-middle{display:flex;flex:1;align-items:center;min-height:0;padding:10px 0}.play-card-question{margin:0;font-family:var(--font-display);font-size:clamp(1.3rem,6vw,1.75rem);font-style:italic;font-weight:600;line-height:1.18;text-align:left}.play-card-footnote{margin:0;font-size:var(--text-xs);line-height:1.4;opacity:.75}.play-reveal{width:min(100%,340px);align-self:center;min-height:52px;border:0;border-radius:var(--r-pill);font-size:var(--text-lg);font-weight:700;box-shadow:var(--shadow-1)}.play-status{text-align:center}.play-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.play-btn{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;border-radius:var(--r-pill);font-weight:700}.play-btn--ghost{background:transparent;border:1px solid var(--border-strong);color:var(--muted);box-shadow:none}.play-btn--solid{border:0;background:var(--grad);color:var(--on-accent)}.play-write{display:grid;gap:8px}.play-write-foot{display:flex;justify-content:flex-end;gap:8px}.play-bank-link{margin-top:4px}.play-footer{display:grid;justify-items:center;gap:4px;margin-top:4px;padding-top:12px;border-top:1px solid var(--border)}.play-footer small{color:var(--muted);font-size:var(--text-sm);text-align:center}.bank-group{display:grid;gap:6px}.bank-list{margin:0;padding:0;list-style:none;display:grid;gap:4px}.bank-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--surface) 72%,transparent)}.bank-question{flex:1 1 auto;min-width:0;font-size:var(--text-base);line-height:1.35}.bank-mix-filter{width:fit-content;max-width:100%}.bank-row-actions{display:flex;flex:none;align-items:center;gap:9px}.bank-mix-action{min-height:32px;padding:0 9px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface-2) 72%,transparent);color:var(--muted);box-shadow:none;font-size:var(--text-xs);font-weight:750}.bank-mix-action:hover{border-color:var(--border-strong);color:var(--fg)}@media(max-width:560px){.bank-row{align-items:flex-start;flex-direction:column}.bank-row-actions{width:100%;justify-content:space-between}}.bank-dots{display:inline-flex;gap:3px;flex:none}.bank-dot{width:6px;height:6px;border-radius:50%;background:color-mix(in srgb,var(--fg) 14%,transparent)}.bank-dot--on{background:color-mix(in srgb,var(--accent-a) 70%,transparent)}.bank-stage{opacity:.7;font-size:.8em}.home-page .home-key>.hcard:not(.hcard--counter,.hcard--memory,.hcard--upcoming),.home-page .home-cards .hcard{padding-top:var(--space-2)}.home-page .home-key>.hcard:not(.hcard--upcoming)>.hcard-title,.home-page .home-cards .hcard>.hcard-title{margin:0 0 var(--space-1);line-height:1.2}.home-page .home-cards .daily-head>.hcard-title,.home-page .home-cards .scratchpad-head>.hcard-title{margin:0;line-height:1.2}.home-page .home-cards .daily-head-actions{gap:var(--space-1)}.home-page .home-cards .daily-play-btn,.home-page .home-cards .daily-head-actions button{min-height:36px}.home-page .home-cards .daily-switch{gap:3px;padding:3px}.home-page .home-cards .scratchpad-tools{margin-top:var(--space-2)}.home-page .home-cards .hcard--share{gap:var(--space-3)}.daily-play-btn,.daily-example-toggle,.hcard-status,.daily-set-aside,.hcard-row-main,.daily-head-actions button{min-height:var(--tap)}.hcard-head-link,.hcard-moods-toggle,.hcard-mood,.home-links a{position:relative}.hcard-head-link:after,.hcard-moods-toggle:after,.hcard-mood:after,.home-links a:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,var(--tap));height:max(100%,var(--tap));transform:translate(-50%,-50%)}.fab-dock{--fab-viewport-height: 100dvh;position:fixed;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));bottom:calc(86px + env(safe-area-inset-bottom));z-index:41;display:flex;justify-content:flex-end;pointer-events:none}.fab-dock>*{pointer-events:auto}.fab{flex:none;display:inline-flex;align-items:center;justify-content:center;width:60px;height:60px;min-height:0;padding:0;border:none;border-radius:50%;background:var(--grad);color:var(--on-accent);box-shadow:var(--glow);cursor:pointer;transition:transform .12s ease,box-shadow .15s ease}.fab:hover{border:none;box-shadow:0 10px 28px color-mix(in srgb,var(--accent-a) 42%,transparent)}.fab:active{transform:scale(.92)}.fab[data-busy]{pointer-events:none}.fab input{display:none}.fab-form{display:flex;align-items:center;gap:4px;width:min(100%,460px);height:60px;padding:0 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid color-mix(in srgb,var(--accent-a) 18%,var(--border-strong));box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(12px) saturate(1.16);backdrop-filter:blur(12px) saturate(1.16);overflow:hidden;transform-origin:right center;animation:fab-open var(--dur-mid) var(--ease-pop)}@keyframes fab-open{0%{transform:scaleX(.13)}to{transform:scaleX(1)}}.fab-fields{display:flex;flex:1;min-width:0;align-items:center;gap:4px;animation:fab-fade .3s ease both}@keyframes fab-fade{0%{opacity:0}to{opacity:1}}.fab-field{flex:1;min-width:0;height:46px;padding:0 12px;border:none;background:transparent;color:var(--fg);font-size:16px}.fab-field:focus{outline:none}.fab-field::placeholder{color:var(--muted)}.fab-field--aux{flex:none;width:auto;max-width:44%;padding:0 8px;color:var(--muted);border-left:1px solid var(--border);border-radius:0}.fab-form--stack{align-items:flex-start;width:min(100%,460px);height:auto;min-height:60px;max-height:min(64dvh,520px,calc(var(--fab-viewport-height) - 40px));margin-bottom:8px;padding:10px;border-radius:var(--r-lg);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;animation:fab-sheet-in var(--dur-mid) var(--ease-pop)}@keyframes fab-sheet-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.fab-form--stack .fab-fields{flex-wrap:wrap;align-items:stretch;gap:6px}.fab-form--stack .fab-field{border:1px solid var(--border);border-radius:var(--r-md);background-color:color-mix(in srgb,var(--surface) 82%,transparent)}.fab-form--stack .fab-field:not(.fab-field--aux){flex-basis:100%}.fab-form--stack .fab-field--aux{flex:1 1 auto;max-width:none;height:38px;border-left:1px solid var(--border);border-top:1px solid var(--border)}.fab-form--stack .fab-field--aux+.fab-field--aux{border-left:1px solid var(--border)}textarea.fab-field{height:auto;min-height:76px;padding-top:12px;padding-bottom:12px;resize:vertical}select.fab-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%237e6067' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;padding-right:24px}.fab-choices{width:auto;gap:8px;padding:0 8px 0 4px}.fab-choice{flex:none;display:inline-flex;align-items:center;gap:8px;height:44px;min-height:0;padding:0 16px 0 6px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg);font-size:var(--text-md);font-weight:700;animation:fab-fade .3s ease both}.fab-choice:hover{border-color:color-mix(in srgb,var(--accent-a) 45%,transparent);background:var(--grad-soft)}.fab-choice:active{transform:scale(.96)}.fab-choice-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--grad-soft);font-size:16px}.fab-go{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;min-height:0;padding:0;border:none;border-radius:50%;background:var(--grad);color:var(--on-accent);box-shadow:var(--glow)}.fab-go:hover{border:none}.fab-go:disabled{opacity:.45;box-shadow:none}.fab-x{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:48px;min-height:0;padding:0;border:none;background:transparent;color:var(--muted);box-shadow:none}.fab-x:hover{border:none;color:var(--fg)}.row{display:flex;gap:8px;margin:14px 0 18px}.row input{flex:1;min-width:0;height:var(--tap);padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:16px;transition:border-color .15s ease,background .15s ease}.row input::placeholder{color:var(--muted)}.hint{margin:-10px 0 14px 16px;font-size:var(--text-sm);font-weight:600;color:var(--muted);animation:hint-in .18s ease both}.hint.ok{color:var(--ok)}.hint.bad{color:var(--danger)}@keyframes hint-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.row input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);background:var(--surface);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.row button{flex:none;padding:0 20px;border-radius:var(--r-pill);border:none;background:var(--grad);color:var(--on-accent);font-weight:700;box-shadow:var(--glow)}.row button:hover{border:none}.row button.ghost{background:var(--surface);color:var(--fg);border:1px solid var(--border);box-shadow:var(--shadow-1);font-weight:600;padding:0 14px}.row button.ghost:hover{border:1px solid var(--border-strong)}.list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.list>li>a{display:flex;align-items:center;min-height:54px;padding:0 14px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);color:var(--fg);text-decoration:none;font-weight:600;box-shadow:var(--shadow-1);transition:background .15s ease,transform .08s ease,box-shadow .15s ease,border-color .15s ease}.list>li>a:after{content:"›";margin-left:auto;padding-left:12px;color:var(--faint);font-size:var(--text-2xl);line-height:1}.list>li>a:hover{border-color:var(--border-strong);box-shadow:var(--shadow-2);transform:translateY(-1px)}.list>li>a:active{transform:scale(.99);background:var(--surface-2)}.item{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:7px 8px 7px 12px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-1)}.item-check{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.item-check input{cursor:pointer}.item-text{min-width:0;overflow-wrap:anywhere}.item-check button.item-text--open{flex:0 1 auto;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;line-height:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer}.item-check button.item-text--open:hover{border:0;color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.item-check button.item-text--open:focus-visible{outline:2px solid var(--border-strong);outline-offset:3px;border-radius:6px}.item .done{color:var(--muted);font-weight:500;opacity:.78}.item button{flex:none;min-height:38px;padding:0 12px;background:transparent;border:1px solid transparent;border-radius:var(--r-sm);box-shadow:none;color:var(--muted);font-size:15px}.item button:hover{border-color:var(--border)}.item button:active{color:var(--fg)}.item--stack{flex-direction:column;align-items:stretch;gap:0}.item--stack .item-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:2px 8px;min-height:32px}.item--stack .item-row .item-check{flex:1 1 auto;min-width:0}.item-actions{position:relative;display:flex;flex:none;align-items:center;gap:2px;margin-left:auto}.item button.item-more{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:0;padding:0;border-radius:50%;color:var(--muted);opacity:.78}.item button.item-more:hover,.item button.item-more[aria-expanded=true]{border-color:var(--border);background:var(--surface-2);color:var(--fg);opacity:1}.item-action-menu{position:fixed;z-index:80;box-sizing:border-box;width:min(248px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:6px;overflow-y:auto;overscroll-behavior:contain;border:1px solid color-mix(in srgb,var(--accent-a) 18%,var(--border));border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 18px 48px #5230392e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:menu-pop-in .15s ease-out}.item-action-menu button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:38px;padding:0 10px;border:1px solid transparent;border-radius:var(--r-md);background:transparent;color:var(--fg);font-size:var(--text-base);font-weight:700;text-align:left}.item-action-row>svg{flex:none;color:var(--muted)}.item-action-row>span{min-width:0}.item-action-menu button:hover{border-color:transparent;background:color-mix(in srgb,var(--accent-b) 10%,var(--surface))}.item-action-menu button[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent-a) 26%,transparent);background:var(--grad-soft);color:var(--fg)}.item-action-menu .item-rating-choice[aria-pressed=true]{border-color:color-mix(in srgb,var(--gold) 36%,var(--border));background:color-mix(in srgb,var(--gold) 14%,var(--surface))}.item-action-menu .item-action-danger{color:var(--danger)}.item-action-menu .item-action-danger:hover{background:color-mix(in srgb,var(--danger) 9%,var(--surface))}.item-action-menu .item-action-danger>svg{color:var(--danger)}@keyframes menu-pop-in{0%{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.item-action-divider{height:1px;margin:5px 4px;background:var(--border)}.item-rating-group{display:flex;flex-direction:column;gap:6px;padding:2px 2px 0}.item-rating-label{display:flex;align-items:center;gap:5px;padding:0 7px;color:var(--muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.07em;text-transform:uppercase}.item-rating-label-icon{color:var(--gold);font-size:var(--text-sm);line-height:1}.item-rating-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.item-action-menu .item-rating-choice{justify-content:center;gap:0;min-height:30px;padding:0 4px;color:var(--gold);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.item-action-menu .item-rating-clear{min-height:30px;color:var(--muted);font-size:var(--text-sm)}.rating-stars{display:inline-flex;align-items:center;gap:1px;color:var(--gold);line-height:1}.rating-star{position:relative;display:inline-block;width:1em;height:1em;line-height:1}.rating-star-empty,.rating-star-fill{display:block;font-size:1em;line-height:1}.rating-star-empty{color:color-mix(in srgb,var(--gold) 34%,var(--surface-3))}.rating-star-fill{position:absolute;inset:0 auto 0 0;width:100%;overflow:hidden;color:var(--gold);white-space:nowrap}.rating-star--half .rating-star-fill{width:50%}.item--stack .sched-row{margin:8px 0 2px;flex-wrap:wrap}.ingr-summary{flex:1 1 100%;min-width:0;font-size:var(--text-base);font-weight:600;overflow-wrap:anywhere}.ingr-row select{flex:1 1 150px;min-width:0;height:40px;border-radius:var(--r-sm)}.item--stack .sched-row>input[type=date]{flex:1 1 150px;height:40px;padding:0 12px;border-radius:var(--r-sm)}.sched-time{flex:0 1 160px;min-width:min(100%,150px);height:40px;display:inline-flex;align-items:center;gap:6px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);color:var(--muted)}.sched-time:focus-within{border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.item--stack .sched-row .sched-time input[type=time]{flex:1;min-width:0;height:100%;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;color:var(--fg);font-size:16px}.item--stack .sched-row .sched-time input[type=time]:focus{outline:none}.page>a.muted{display:inline-block;margin-bottom:4px;text-decoration:none;font-size:var(--text-base)}.detail-head{display:flex;align-items:flex-start;gap:8px}.detail-title{flex:1;min-width:0;margin:6px 0 4px;word-break:break-word;overflow-wrap:anywhere}.detail-head .emoji-pick{margin-top:7px}.detail-actions{flex:none;display:flex;align-items:center;gap:4px;margin-top:10px}.detail-actions .detail-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--muted);box-shadow:none}.detail-actions .detail-icon:hover{background:var(--surface-2);border-color:var(--border);color:var(--fg)}.detail-actions .detail-icon.danger:hover{background:#d9314a1a;border-color:transparent;color:var(--danger)}.detail-actions .detail-icon.ghost{width:auto;padding:0 12px;border-radius:var(--r-sm);font-size:var(--text-base);font-weight:600}.detail-actions .detail-confirm{min-height:40px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--danger);background:transparent;color:var(--danger);font-size:var(--text-base);font-weight:700}.detail-actions .detail-confirm:hover{background:var(--danger);color:#fff;border-color:transparent}.detail-rename button.ghost{background:var(--surface);color:var(--muted);border:1px solid var(--border);box-shadow:none}.folder-id{display:block;padding:10px 12px;margin:8px 0;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);word-break:break-all;font-size:var(--text-sm);font-family:ui-monospace,SF Mono,Menlo,monospace}code{font-family:ui-monospace,SF Mono,Menlo,monospace;background:var(--surface-2);padding:1px 6px;border-radius:6px;font-size:.85em}.item-extras{display:flex;align-items:flex-start;gap:8px;padding:2px 2px 3px 34px}.item-chips{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0}.item-chip{display:inline-flex;align-items:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:2px 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--fg);font-size:var(--text-sm);font-weight:600;text-decoration:none}a.item-chip:hover{border-color:var(--border-strong)}.item-chip--price{color:var(--muted)}.item-chip--map{border-color:#6b8cae52;background:#6b8cae1f;color:var(--map-link)}.item-chip--sched{color:var(--ink)}.item-chip--rating{border-color:color-mix(in srgb,var(--gold) 30%,var(--border));background:color-mix(in srgb,var(--gold) 12%,var(--surface));color:var(--gold);font-variant-numeric:tabular-nums}.item-chip--rating .rating-stars{font-size:var(--text-md)}.item-chip--tag{gap:5px;border-color:color-mix(in srgb,var(--accent-b) 28%,var(--border));background:color-mix(in srgb,var(--accent-b) 12%,var(--surface));color:var(--fg)}.item-chip--tag svg{flex:none;color:var(--muted)}.item-chip--tag span{min-width:0;overflow:hidden;text-overflow:ellipsis}.item button.item-chip--document{flex:0 1 auto;min-height:0;gap:5px;padding:2px 10px;border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--accent-a) 24%,var(--border));background:color-mix(in srgb,var(--accent-a) 10%,var(--surface));box-shadow:none;color:var(--ink);font-size:var(--text-sm);font-weight:700}.item button.item-chip--document span{min-width:0;overflow:hidden;text-overflow:ellipsis}.item button.item-chip--document:hover{border-color:color-mix(in srgb,var(--accent-a) 44%,var(--border-strong));background:var(--grad-soft);color:var(--fg)}.item-chip--tried{margin-left:8px;color:var(--ok);border-color:transparent;background:transparent;padding:0}.item-note{font-size:var(--text-sm);align-self:center}.item-photo{flex:none;width:44px;height:44px;object-fit:cover;object-position:center center;border-radius:var(--r-sm);border:1px solid var(--border);cursor:zoom-in;transition:width .15s ease,height .15s ease}.item-photo.zoomed{width:min(280px,70vw);height:auto;cursor:zoom-out}.item-file-button{display:inline-flex;align-items:center;gap:6px}.item-details-error{align-self:center;color:var(--danger);font-size:var(--text-base);font-weight:600}.list-doc-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:flex;align-items:center;justify-content:center;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#2d1621b8;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);animation:list-doc-in var(--dur-fast) ease}@keyframes list-doc-in{0%{opacity:0}to{opacity:1}}.list-doc-dialog{width:min(960px,100%);height:min(860px,100%);max-height:calc(100dvh - 24px);display:flex;flex-direction:column;overflow:hidden;border:1px solid color-mix(in srgb,var(--glass) 42%,transparent);border-radius:var(--r-lg);background:var(--surface);color:var(--fg);box-shadow:0 24px 70px #2d16214d}.list-doc-head{flex:none;display:flex;align-items:center;gap:12px;min-width:0;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--surface)}.list-doc-mark{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--accent-a);background:var(--grad-soft)}.list-doc-title-wrap{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.list-doc-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-doc-meta,.list-doc-status{color:var(--muted);font-size:var(--text-base)}.list-doc-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-height:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--muted);box-shadow:none}.list-doc-close:hover{border-color:var(--border);background:var(--surface-2);color:var(--fg)}.list-doc-body{flex:1;min-height:0;display:flex;background:var(--surface-2)}.list-doc-pdf{width:100%;height:100%}.list-doc-placeholder{flex:1;min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:28px;color:var(--muted);text-align:center}.list-doc-placeholder strong{color:var(--fg)}.list-doc-actions{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface)}.list-doc-action-buttons{flex:none;display:flex;align-items:center;gap:8px}.list-doc-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--fg);font-size:var(--text-base);font-weight:800;text-decoration:none;box-shadow:none}.list-doc-action:hover{border-color:color-mix(in srgb,var(--accent-a) 42%,var(--border-strong));background:var(--grad-soft)}.list-doc-action:disabled{color:var(--faint);cursor:not-allowed;background:var(--surface)}@media(max-width:640px){.list-doc-backdrop{align-items:stretch;padding:0}.list-doc-dialog{width:100%;height:100dvh;max-height:none;border-radius:0;border:0}.list-doc-actions{align-items:stretch;flex-direction:column}.list-doc-action-buttons{width:100%}.list-doc-action{flex:1}}.proj-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.proj-stat{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:0;padding:10px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);text-align:left}button.proj-stat{min-height:0;font:inherit;color:inherit;cursor:pointer;transition:border-color .15s ease}button.proj-stat:hover{border-color:var(--border-strong)}.proj-stat-label{font-size:var(--text-xs);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}.proj-stat-label-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.proj-stat-edit-hint{letter-spacing:0;opacity:.8}.proj-stat-chevron{flex:none;transition:transform .15s ease}.proj-stat-chevron.open{transform:rotate(180deg)}.proj-stat-value{font-size:var(--text-md);font-weight:700;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-stat-value.muted{color:var(--muted);font-weight:600}.proj-stat-sub{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-stat-sub.over{color:var(--danger-muted, var(--danger));font-weight:700}.proj-progress-fill.over{background:var(--danger)}.proj-spend-panel{margin:-2px 0 12px;padding:10px 12px 12px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.proj-spend-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.proj-spend-head>div{display:flex;flex-direction:column;gap:2px;min-width:0}.proj-spend-head strong,.proj-spend-amount{font-variant-numeric:tabular-nums}.proj-spend-edit{flex:none;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;min-height:0;padding:0;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--muted);box-shadow:none}.proj-spend-edit:hover{border-color:var(--border-strong);color:var(--fg)}.proj-budget-panel{margin:10px 0}.proj-spend-empty{margin:10px 0 0;font-size:var(--text-base)}.proj-spend-list{list-style:none;display:flex;flex-direction:column;gap:0;margin:10px 0 0;padding:0}.proj-spend-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;padding:9px 0;border-top:1px solid var(--border)}.proj-spend-line:first-child{border-top:none}.proj-spend-main{min-width:0;display:flex;flex-direction:column;gap:2px}.proj-spend-title{color:var(--fg);font-size:var(--text-base);font-weight:700;overflow-wrap:anywhere}.proj-spend-meta{font-size:var(--text-sm);overflow-wrap:anywhere}.proj-spend-amount{color:var(--fg);font-size:var(--text-base);font-weight:800}.proj-spend-note{grid-column:1 / -1;font-size:var(--text-sm);overflow-wrap:anywhere}.proj-tabs{display:flex;gap:3px;margin:0 0 12px;padding:3px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 68%,var(--surface-2));box-shadow:inset 0 1px #ffffff80}.proj-tab{position:relative;flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:36px;padding:0 8px;border:none;border-radius:var(--r-md);background:transparent;color:var(--muted);font-size:var(--text-base);font-weight:600;box-shadow:none;white-space:nowrap}.proj-tab:hover{color:var(--fg);background:color-mix(in srgb,var(--surface) 62%,transparent)}.proj-tab.active{color:var(--fg);background:var(--grad-soft);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 12%,transparent)}.proj-tab-count{min-width:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);font-size:var(--text-xs);font-weight:700;line-height:16px;color:var(--muted)}.proj-tab.active .proj-tab-count{background:color-mix(in srgb,var(--surface) 76%,var(--accent-b));border-color:transparent;color:var(--fg)}@media(max-width:420px){.proj-tabs{gap:1px;padding:2px}.proj-tab{gap:4px;min-height:34px;padding:0 4px;font-size:var(--text-sm)}.proj-tab-count{min-width:16px;padding:0 4px;font-size:var(--text-xs);line-height:15px}}.proj-templates{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px}.proj-template{min-height:36px;padding:0 14px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--fg);font-size:var(--text-base);font-weight:600;box-shadow:var(--shadow-1)}.proj-template:hover{border-color:var(--border-strong)}.proj-template:disabled{opacity:.6}.list>li>a.proj-row-link{flex-direction:column;align-items:stretch;justify-content:center;gap:4px;position:relative;padding:10px 36px 10px 14px}.list>li>a.proj-row-link:after{position:absolute;top:50%;right:14px;transform:translateY(-50%);margin:0;padding:0}.proj-row-name{font-weight:600}.proj-row-emoji{margin-right:7px;font-size:1.05em}.proj-row-meta{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--text-sm)}.proj-overdue{color:var(--danger-muted);font-weight:600}.proj-progress{display:block;height:4px;border-radius:2px;background:var(--border);overflow:hidden}.proj-progress-fill{display:block;height:100%;border-radius:2px;background:linear-gradient(90deg,var(--accent-a),var(--accent-b))}.proj-budget{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.proj-budget input{width:100%;min-width:0;height:var(--tap);padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--fg);font-size:16px}.proj-budget input:focus{outline:none;border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.proj-budget button[type=submit]{padding:0 18px;border:none;border-radius:var(--r-pill);background:var(--grad);color:var(--on-accent);font-weight:700;box-shadow:var(--glow)}.proj-budget button.ghost{border-radius:var(--r-pill);color:var(--muted)}.item-grip{flex:none;color:var(--muted);opacity:.45;font-size:var(--text-sm);cursor:grab;touch-action:none;padding:4px 2px;-webkit-user-select:none;user-select:none}.item--dragging{opacity:.6;outline:2px dashed var(--border-strong);outline-offset:2px}.list-clear-ticked{margin:0 0 10px;min-height:32px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:600}.list-detail--embedded{display:flex;flex-direction:column;min-width:0}.list-detail-tabs{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;max-width:100%;margin:0 -2px 10px;padding:2px 2px 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.list-detail-tabs::-webkit-scrollbar{display:none}.list-tabs{display:flex;flex:0 0 auto;gap:3px;min-width:0;padding:3px;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb,var(--surface) 68%,var(--surface-2));box-shadow:inset 0 1px #ffffff80}.list-tabs--status,.list-tabs--view{flex:0 0 auto}.list-tabs--columns{flex:0 0 auto;align-items:center;padding-left:10px}.list-column-label{color:var(--muted);font-size:var(--text-xs);font-weight:800;line-height:1;white-space:nowrap}.list-tab-label--short,.list-column-label-short{display:none}.list-tab{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:var(--tap);min-height:var(--tap);padding:0 9px;border:none;border-radius:var(--r-md);background:transparent;color:var(--muted);font-size:var(--text-sm);font-weight:700;box-shadow:none;white-space:nowrap}.list-tab:hover{color:var(--fg);background:color-mix(in srgb,var(--surface) 62%,transparent)}.list-tabs--view .list-tab,.list-tabs--columns .list-tab{width:var(--tap);min-width:var(--tap);padding:0}.list-tab.active{color:var(--fg);background:var(--grad-soft);box-shadow:0 1px 8px color-mix(in srgb,var(--accent-a) 12%,transparent)}.list-tab-count{min-width:18px;padding:0 5px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--border);color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:16px}.list-tab.active .list-tab-count{background:color-mix(in srgb,var(--surface) 76%,var(--accent-b));border-color:transparent;color:var(--fg)}.list-tag-panel{display:flex;align-items:center;gap:8px;max-width:100%;margin:-2px 0 10px}.list-tag-filters{flex:1 1 auto;display:flex;gap:5px;min-width:0;padding:2px 0 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none}.list-tag-filters::-webkit-scrollbar{display:none}.list-tag-pill{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:5px;max-width:min(220px,55vw);min-height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:800;box-shadow:var(--shadow-1);white-space:nowrap}.list-tag-pill>span:not(.list-tag-count){min-width:0;overflow:hidden;text-overflow:ellipsis}.list-tag-pill svg{flex:none}.list-tag-pill:hover{border-color:var(--border-strong);color:var(--fg)}.list-tag-pill.active{border-color:color-mix(in srgb,var(--accent-b) 42%,var(--border-strong));background:color-mix(in srgb,var(--accent-b) 13%,var(--surface));color:var(--fg)}.list-tag-count{flex:none;min-width:17px;padding:0 5px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums;line-height:15px}.list-tag-add{flex:0 0 min(230px,38vw);display:flex;align-items:center;gap:5px;height:var(--tap);min-width:150px;padding:0 4px 0 10px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-1)}.list-tag-add>svg{flex:none;color:var(--muted)}.list-tag-add input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--fg);font-size:16px}.list-tag-add input::placeholder{color:var(--muted)}.list-tag-add input:focus{outline:none}.list-tag-add:focus-within{border-color:color-mix(in srgb,var(--accent-a) 55%,transparent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-a) 12%,transparent)}.list-tag-add button:after{content:"";position:absolute;left:50%;top:50%;width:var(--tap);height:var(--tap);transform:translate(-50%,-50%)}.list-tag-add button{position:relative;flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:0;padding:0;border:none;border-radius:50%;background:var(--grad);color:var(--on-accent);box-shadow:none}.list-tag-add button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){.list-detail-tabs{gap:4px}.list-tabs{gap:1px;padding:2px}.list-tabs--columns{padding-left:6px}.list-column-label{font-size:var(--text-xs)}.list-tab-label--full,.list-column-label-full{display:none}.list-tab-label--short,.list-column-label-short{display:inline}.list-tab{gap:4px;padding:0 6px;font-size:var(--text-xs)}.list-tabs--view .list-tab svg{width:16px;height:16px}.list-tab-count{min-width:16px;padding:0 4px;font-size:var(--text-xs);line-height:14px}.list-tag-panel{flex-wrap:wrap;gap:5px}.list-tag-filters{order:2;flex-basis:100%}.list-tag-add{order:1;flex:1 1 100%;max-width:none}}@media(max-width:340px){.list-tab{gap:3px;padding:0 5px;font-size:var(--text-xs)}.list-tabs--view .list-tab svg{width:15px;height:15px}.list-tabs--columns{padding-left:2px}.list-column-label{display:none}.list-tabs--columns .list-tab{width:22px;min-width:22px}.list-tab-count{min-width:15px;padding:0 3px;font-size:var(--text-xs);line-height:13px}}.list-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px}.list-gallery--cols-1{grid-template-columns:minmax(0,1fr)}.list-gallery--cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.list-gallery--cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.list-gallery-card{display:flex;flex-direction:column;min-width:0;overflow:visible;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1)}.list-gallery-card.is-completed{background:color-mix(in srgb,var(--surface) 82%,var(--surface-2))}.list-gallery-img,.list-gallery-map,.list-gallery-placeholder{width:100%;aspect-ratio:4 / 3;border-bottom:1px solid var(--border);border-radius:calc(var(--r-md) - 1px) calc(var(--r-md) - 1px) 0 0}.list-gallery-img{display:block;object-fit:cover;object-position:center center;background:var(--surface-2)}.list-gallery-map{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:12px;text-decoration:none;color:var(--fg);background:linear-gradient(135deg,#6b8cae2e,color-mix(in srgb,var(--glass) 62%,transparent)),repeating-linear-gradient(45deg,rgba(107,140,174,.16) 0,rgba(107,140,174,.16) 1px,transparent 1px,transparent 14px)}.list-gallery-map strong,.list-gallery-map small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-gallery-map small{color:var(--muted);font-size:var(--text-xs);font-weight:700}.list-gallery-placeholder{display:grid;place-items:center;background:var(--surface-2);color:var(--muted)}.list-gallery-placeholder span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--surface);border:1px solid var(--border);font-family:var(--font-display);font-size:var(--text-2xl)}.list-gallery-body{display:flex;flex-direction:column;gap:7px;padding:9px}.list-gallery-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}.list-gallery-card .item-check{display:flex;align-items:flex-start;gap:8px;flex:1 1 100%;min-width:0}.list-gallery-card .item-text{min-width:0;overflow-wrap:anywhere;font-size:var(--text-base);font-weight:700;line-height:1.3}.list-gallery-card .done{color:var(--muted);font-weight:600;opacity:.78}.list-gallery-card .item-actions{gap:2px;margin-left:auto}.list-gallery-card .item-actions>.item-more{width:32px;height:32px;min-height:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;box-shadow:none;color:var(--muted);font-size:var(--text-sm)}.list-gallery-card .item-actions>.item-more:hover{border-color:var(--border);background:var(--surface-2);color:var(--fg)}.list-gallery-note{margin:0;font-size:var(--text-sm);line-height:1.35;overflow-wrap:anywhere}.list-gallery-chips .item-chips{gap:5px}.list-gallery-card .item-chip{max-width:100%}.lists-sort{display:inline-flex;gap:6px;margin:0 0 10px}.lists-sort-btn{position:relative;min-height:30px;padding:0 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);color:var(--muted);font-size:var(--text-sm);font-weight:600}.lists-sort-btn.active{border-color:var(--accent-a);color:var(--fg);background:color-mix(in srgb,var(--accent-a) 10%,var(--surface))}.vault-session-toggle{display:flex;gap:8px;align-items:flex-start;margin-top:10px;font-size:var(--text-base);color:var(--muted)}.vault-session-toggle input{margin-top:2px}.lists-sort-btn:after{content:"";position:absolute;top:-7px;right:0;bottom:-7px;left:0}.list>li{position:relative}.list>li>.row-star{position:absolute;top:50%;right:34px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-height:0;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;box-shadow:none;color:var(--muted)}.list>li>.row-star:hover{color:var(--fg);background:var(--surface-2);border-color:var(--border)}.list>li>.row-star.on{color:var(--star)}.list>li>a.starrable{padding-right:78px}.list>li>a.starrable:after{position:absolute;top:50%;right:14px;transform:translateY(-50%);margin:0;padding:0}:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Helvetica Neue,sans-serif;--font-display: "Fraunces", "Iowan Old Style", Georgia, "Times New Roman", serif;--bg: #fdf4ee;--surface: #fffaf6;--surface-2: #fbeee5;--surface-3: #f6e1d6;--border: rgba(150, 84, 74, .12);--border-strong: rgba(150, 84, 74, .22);--fg: #4a2d34;--muted: #7e6067;--faint: #aa858c;--accent-a: #dd5f93;--accent-b: #f08a5d;--ink: #b83b6c;--grad: linear-gradient(120deg, #dd5f93, #f08a5d);--grad-soft: linear-gradient(120deg, rgba(221, 95, 147, .16), rgba(240, 138, 93, .16));--grad-ink: linear-gradient(120deg, var(--ink), color-mix(in srgb, var(--accent-b) 55%, var(--fg)));--on-accent: #460f26;--danger: #d9314a;--danger-muted: #b3413f;--ok: #1f7a52;--warn: #9a6700;--info: #6b8cae;--map-link: #426b92;--gold: #d4a017;--star: #ffb3cf;--wash-a: #ffe2d2;--wash-b: rgba(221, 95, 147, .12);--glass: #fffaf6;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.375rem;--text-3xl: 1.5rem;--text-4xl: 1.75rem;--text-5xl: 2rem;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--r-sm: 10px;--r-md: 14px;--r-lg: 20px;--r-pill: 999px;--ease-spring: cubic-bezier(.22, .61, .36, 1);--ease-pop: cubic-bezier(.2, .8, .2, 1);--dur-fast: .18s;--dur-mid: .26s;--dur-slow: .34s;--shadow-1: 0 1px 2px rgba(150, 70, 80, .08), 0 2px 8px rgba(150, 70, 80, .05);--shadow-2: 0 16px 40px rgba(196, 108, 118, .2);--glow: 0 8px 22px rgba(221, 95, 147, .32);--tap: 44px}*{box-sizing:border-box}html,body,#root{height:100%}html{overflow-y:scroll}body{margin:0;background:var(--bg);color:var(--fg);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(120% 75% at 50% -12%,var(--wash-a) 0%,color-mix(in srgb,var(--wash-a) 0%,transparent) 55%),radial-gradient(95% 60% at 100% 108%,var(--wash-b) 0%,color-mix(in srgb,var(--wash-b) 0%,transparent) 55%)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em}a{color:var(--ink)}input,textarea,select{font:inherit;color:var(--fg)}input[type=checkbox]{width:26px;height:26px;accent-color:var(--accent-a);cursor:pointer;flex:none}button{display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-weight:600;color:var(--fg);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-pill);min-height:var(--tap);padding:0 18px;cursor:pointer;box-shadow:var(--shadow-1);transition:transform .08s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,opacity .15s ease}button:hover{border-color:#96544a61;background:var(--surface-2)}button:active{transform:scale(.97)}button:disabled{opacity:.5;cursor:default;transform:none}button>svg,button>.spinner{flex:none}button.cal-agenda-tab,button.cal-view-tab,button.photo-group-tab,button.photo-select-toggle,button.proj-tab,button.proj-template,button.list-tab,button.list-tag-pill,button.setup-toggle,button.hcard-counter-mode-btn,button.auto-memory-keep,button.auto-memory-skip,button.auto-memory-more,button.photo-nudge-skip,a.media-tab,a.back-link{min-height:var(--tap)}.hcard-edit,.item-more,.row-star,.detail-icon,.emoji-pick-btn,.kanban-meta-btn,.auto-memory-thumb{position:relative}.hcard-edit:after,.item-more:after,.row-star:after,.detail-icon:after,.emoji-pick-btn:after,.kanban-meta-btn:after,.auto-memory-thumb:after{content:"";position:absolute;left:50%;top:50%;width:max(100%,var(--tap));height:max(100%,var(--tap));transform:translate(-50%,-50%)}:focus-visible{outline:2px solid var(--accent-a);outline-offset:2px}::selection{background:color-mix(in srgb,var(--accent-a) 22%,transparent)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-pill)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.link-chip{display:inline-flex;align-items:center;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:text-bottom;padding:0 10px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-2);color:var(--fg);font-size:var(--text-sm);font-weight:600;text-decoration:none}.link-chip:hover{border-color:var(--border-strong)}.link-chip--map{border-color:color-mix(in srgb,var(--info) 32%,transparent);background:color-mix(in srgb,var(--info) 12%,transparent);color:var(--map-link)}.has-item-badge{position:relative}.item-badge{position:absolute;top:-5px;right:-5px;z-index:1;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:var(--grad, #dd5f93);color:var(--on-accent, #fff);font-size:var(--text-xs);font-weight:700;line-height:16px;text-align:center;box-shadow:0 1px 4px color-mix(in srgb,var(--accent-a) 40%,transparent);pointer-events:none}
