:root{color-scheme:light;--bg: #faf6ed;--surface: #fffdf7;--surface-soft: #f6f1e7;--surface-sunken: #f0e6d6;--ink: #403a2e;--muted: #706b5e;--subtle: #706b5e;--primary: #a84e37;--primary-deep: #883c28;--primary-wash: #f7e9e1;--sage: #e5e8dc;--sage-ink: #586448;--line: #ded8c9;--sand: #f0e6d6;--gold: #d8aa63;--gallery-bg: #302c24;--gallery-ink: #f4efe4;--gallery-control: rgba(255, 253, 247, .14);--gallery-highlight: #e3c18d;--on-primary: #fffdf7;--shadow: rgba(64, 58, 46, .055);--scrim: rgba(48, 44, 36, .58);--motion-press: .12s;--motion-short: .2s;--ease-enter: cubic-bezier(.215, .61, .355, 1);--ease-move: cubic-bezier(.645, .045, .355, 1);--font-sans: "Instrument Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Fraunces", Georgia, "Times New Roman", serif}*{box-sizing:border-box}html{min-height:100%}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--ink);font-family:var(--font-sans);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}img{display:block}.app-shell{margin:0 auto;max-width:800px;min-height:100vh;padding:max(8px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(36px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));min-width:0}.topbar{align-items:center;display:grid;gap:10px;grid-template-columns:44px minmax(0,1fr) 44px;min-height:56px;left:0;margin:0 auto;max-width:764px;min-width:0;padding:0;position:sticky;right:0;top:env(safe-area-inset-top,0px);z-index:10}.topbar:before{background:var(--bg);border-bottom:1px solid color-mix(in srgb,var(--line) 58%,transparent);content:"";top:0;right:0;bottom:0;left:0;position:absolute;z-index:-1}.topbar-overlay{color:var(--gallery-ink);position:fixed;top:env(safe-area-inset-top,0px);grid-template-columns:44px minmax(0,1fr) 44px;padding:0 max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.topbar-overlay:before{background:linear-gradient(180deg,color-mix(in srgb,var(--gallery-bg) 82%,transparent),transparent)}.topbar-spacer{height:44px;width:44px}.brand{color:var(--primary);font-family:var(--font-display);font-size:28px;font-weight:500;justify-self:center;line-height:1;text-decoration:none;display:inline-flex;align-items:center;gap:8px;min-height:44px}.brand-icon{flex:0 0 32px;height:32px;width:32px;object-fit:contain}.topbar-overlay .brand{color:var(--gallery-ink)}.icon-button,.text-button,.primary-button,.media-tile,.detail-hero,.media-more,.gallery-nav,.reaction-button,.comment-delete{border:0;cursor:pointer}.icon-button{align-items:center;background:var(--sage);border-radius:14px;color:var(--sage-ink);display:inline-flex;height:44px;justify-content:center;line-height:1;padding:0;width:44px}.icon-button svg{display:block;height:22px;width:22px}.topbar-overlay .icon-button{background:var(--gallery-control);color:var(--gallery-ink)}.text-button{background:transparent;color:var(--primary);font-size:14px;font-weight:600;justify-self:end;min-height:44px;padding:0}.hidden{visibility:hidden}.content{min-width:0;padding-top:18px}.stack{display:grid;gap:16px;min-width:0}.feed{display:grid;gap:18px;padding-bottom:32px;min-width:0}.hero-copy{padding:16px 2px 7px;gap:10px}.hero-copy h1{font-size:clamp(30px,8vw,42px);line-height:1.08;max-width:14ch}h1,h2,p{margin:0}h1,h2{font-family:var(--font-display);font-weight:500;letter-spacing:0;overflow-wrap:anywhere}h1{font-size:clamp(34px,9vw,54px);line-height:1.02}h2{font-size:24px;line-height:1.08}.muted{color:var(--muted);font-size:16px;line-height:1.52;overflow-wrap:anywhere}.caption{color:var(--subtle);font-size:13px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}.eyebrow,.type-label{color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.1em;line-height:1.35;text-transform:uppercase}.kicker{align-items:baseline;display:flex;gap:12px;justify-content:space-between;min-width:0}.kicker time{color:var(--muted);font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;white-space:nowrap}.visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.panel,.feed-card,.entry-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 3px 12px var(--shadow)}.panel{gap:18px;margin-top:12px;padding:clamp(24px,7vw,44px)}.panel h1{font-size:clamp(30px,8vw,40px);line-height:1.12;overflow-wrap:anywhere}.primary-button{align-items:center;background:var(--primary);border-radius:999px;color:var(--on-primary);display:inline-flex;font-size:15px;font-weight:700;justify-content:center;min-height:48px;padding:0 22px;text-align:center}.primary-button:disabled{cursor:default;background:var(--surface-sunken);color:var(--muted)}.primary-button:hover:not(:disabled){background:var(--primary-deep)}.primary-button.secondary{background:var(--primary-wash);color:var(--primary-deep);width:100%}.feed-card{overflow:hidden;text-align:left;min-width:0}.feed-card:hover{border-color:#cec5b4}.card-body{display:grid;gap:8px;min-width:0;padding:18px 20px 20px}.entry-link{color:inherit;text-decoration:none;overflow-wrap:anywhere}.card-body .summary{color:var(--muted);display:-webkit-box;font-size:16px;line-height:1.52;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card-body .summary.untitled{color:var(--ink);-webkit-line-clamp:4}.attachment-count{align-items:center;color:var(--primary-deep);display:inline-flex;font-size:13px;font-weight:700;gap:6px;margin-top:2px}.attachment-count svg{flex:none}.card-body h2{font-size:clamp(22px,6vw,28px);line-height:1.16;overflow-wrap:anywhere}.entry-link:focus-visible{border-radius:2px;outline:2px solid var(--primary);outline-offset:3px}.media-grid{display:grid;gap:4px;overflow:hidden;aspect-ratio:4 / 3;grid-template-rows:minmax(0,1fr)}.media-grid.single{grid-template-columns:1fr}.media-grid.collage{grid-template-columns:1.32fr .82fr;grid-template-rows:repeat(2,minmax(0,1fr))}.media-grid.pair{grid-template-columns:repeat(2,minmax(0,1fr))}.media-preview-tile{position:relative;min-width:0;min-height:0;overflow:hidden}.media-grid.collage .media-preview-tile.large{grid-row:span 2}.media-tile{background:var(--surface-sunken);min-height:0;overflow:hidden;padding:0;position:relative;width:100%;height:100%}.media-tile img{height:100%;object-fit:cover;width:100%}.media-placeholder,.gallery-placeholder{align-items:center;background:linear-gradient(145deg,var(--sage),var(--sand));color:var(--sage-ink);display:flex;font-weight:600;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.play-badge{background:var(--scrim);border-radius:999px;color:var(--on-primary);display:grid;height:56px;left:50%;place-items:center;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:56px}.play-badge svg{height:24px;margin-left:3px;width:24px}.play-badge.small{height:40px;width:40px}.play-badge.small svg{height:17px;margin-left:2px;width:17px}.media-more{align-items:center;background:var(--scrim);color:var(--on-primary);display:flex;font-size:16px;font-weight:600;justify-content:center;min-height:44px;min-width:44px;padding:0 10px;border-radius:999px;position:absolute;right:8px;bottom:8px}.entry-detail{min-width:0;padding-bottom:max(34px,env(safe-area-inset-bottom))}.entry-card{overflow:hidden}.detail-hero{aspect-ratio:4 / 3;background:var(--surface-sunken);display:block;overflow:hidden;padding:0;position:relative;width:100%}.detail-hero img{height:100%;object-fit:cover;width:100%}.detail-photo-count{align-items:center;background:#302c24ad;border-radius:999px;bottom:14px;color:var(--on-primary);display:inline-flex;font-size:12px;font-weight:600;min-height:32px;padding:0 11px;position:absolute;right:14px}.detail-card-body{gap:24px;min-width:0;padding:22px 20px}.story-head{gap:10px}.story-head .story{color:var(--muted);font-size:16px;line-height:1.52;overflow-wrap:anywhere;white-space:pre-line}.story-head .story.untitled{color:var(--ink)}.story-head .byline{color:var(--muted)}.entry-card h1{font-size:clamp(28px,7vw,38px);line-height:1.12;overflow-wrap:anywhere}.audio-stack{display:grid;gap:8px;min-width:0}.detail-thumbs{display:grid;gap:6px;grid-template-columns:repeat(3,minmax(0,1fr));min-width:0}.detail-thumbs .media-tile{aspect-ratio:1;border-radius:10px}.interactions-panel{gap:16px}.reaction-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;min-width:0}.reaction-button{align-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;color:var(--ink);display:inline-flex;font-size:19px;font-weight:600;gap:2px;min-height:44px;min-width:0;justify-content:center;padding:0 2px}.reaction-button.active{background:var(--primary-wash);border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);color:var(--primary-deep)}.reaction-button:disabled{cursor:progress}.reaction-button.pending{border-color:var(--primary);background:var(--sand)}.reaction-count{color:var(--muted);font-size:12px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.reaction-count:empty{display:none}.reaction-button.active .reaction-count{color:var(--primary-deep)}.interaction-error{border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));background:var(--primary-wash);border-radius:16px;color:var(--primary-deep);font-size:14px;font-weight:600;line-height:1.4;padding:12px 14px;overflow-wrap:anywhere}.comment-list{display:grid;gap:12px}.comment-item{align-items:start;display:grid;gap:10px;grid-template-columns:40px minmax(0,1fr);min-width:0}.comment-item.mine .comment-bubble{border-color:color-mix(in srgb,var(--primary) 20%,var(--line));background:var(--primary-wash);border-radius:14px 14px 5px}.comment-avatar{align-items:center;background:var(--sage);border-radius:999px;color:var(--sage-ink);display:flex;font-size:14px;font-weight:600;height:40px;justify-content:center;overflow:hidden;width:40px}.comment-avatar img{height:100%;object-fit:cover;width:100%}.comment-bubble{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px 14px 14px 5px;display:grid;gap:5px;min-width:0;padding:13px 14px;overflow-wrap:anywhere}.comment-meta{align-items:start;color:var(--subtle);display:grid;font-size:12px;gap:8px;grid-template-columns:minmax(0,1fr) auto;line-height:1.3}.comment-meta strong{color:var(--ink);font-size:13px;min-width:0;overflow-wrap:anywhere}.comment-meta span{font-size:11px;line-height:1.2;padding-top:1px;text-align:right;min-width:max-content;white-space:normal;overflow-wrap:anywhere}.comment-bubble p{color:var(--ink);font-size:16px;line-height:1.45}.comment-delete{background:transparent;color:var(--primary-deep);font-size:13px;font-weight:600;justify-self:start;padding:0;min-height:44px;min-width:44px}.comment-delete:hover{text-decoration:underline}.comment-delete:disabled{cursor:progress;opacity:.6}.comment-composer{display:grid;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:14px;min-width:0;padding:14px;scroll-margin-block:80px 24px}.composer-label{color:var(--ink);font-size:14px;font-weight:600}.composer-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.comment-composer:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 13%,transparent)}.comment-composer textarea{background:transparent;border:0;border-radius:4px;color:var(--ink);font:inherit;line-height:1.45;max-height:220px;min-height:52px;font-size:16px;overflow-wrap:anywhere;overflow-y:auto;padding:4px 0;resize:none;width:100%}.comment-composer textarea::placeholder{color:var(--muted);opacity:.82}.comment-composer textarea:focus{outline:none}.comment-composer textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.composer-send{justify-self:end;min-height:44px}.device-footer{display:grid;justify-items:center;padding:14px 0 4px;text-align:center}.device-footer .muted{font-size:14px}.link-button{background:transparent;border:0;color:var(--primary-deep);cursor:pointer;font-size:15px;font-weight:600;min-height:44px;padding:0 8px;text-decoration:underline;text-underline-offset:3px}.forget-confirm{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 3px 12px var(--shadow);display:grid;gap:12px;padding:20px}.forget-confirm h2{font-size:24px;line-height:1.15}.forget-actions{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:4px}.forget-actions .primary-button{padding:0 12px;width:100%}.gallery{background:var(--gallery-bg);color:var(--gallery-ink);display:flex;flex-direction:column;align-items:stretch;top:0;right:0;bottom:0;left:0;min-height:100dvh;overflow-y:auto;padding:0;position:fixed;z-index:6}.gallery-stage{align-items:center;display:grid;flex:1 0 auto;height:auto;justify-items:center;min-height:0;padding:calc(64px + env(safe-area-inset-top,0px)) 0 8px;position:relative;touch-action:pan-y pinch-zoom}.gallery-stage.zoomed{touch-action:auto}.gallery-stage img{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.swipe-hint{align-items:center;animation:hint-fade 2.6s var(--ease-enter) forwards;background:color-mix(in srgb,var(--gallery-bg) 88%,transparent);border-radius:999px;bottom:18px;color:var(--gallery-ink);display:inline-flex;font-size:13px;font-weight:600;gap:6px;left:50%;margin:0;padding:7px 12px;pointer-events:none;position:absolute;transform:translate(-50%);white-space:nowrap}@keyframes hint-fade{0%{opacity:0}10%,80%{opacity:1}to{opacity:0}}.gallery-image{max-height:60dvh;max-width:100%;object-fit:contain}.gallery-photo{position:relative;width:100%;height:60dvh}.gallery-photo .gallery-image,.gallery-image-previous{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain}.gallery-photo .gallery-image{animation:reveal-photo var(--motion-short) var(--ease-enter)}.gallery-image-previous{animation:hide-photo var(--motion-short) var(--ease-enter) forwards}.gallery-photo-status{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:8px 12px;border-radius:999px;background:var(--gallery-bg);color:var(--gallery-ink);font-size:14px;white-space:nowrap}.gallery-photo-error{display:grid;place-content:center;justify-items:center;gap:16px;height:100%}@keyframes reveal-photo{0%{opacity:0}to{opacity:1}}@keyframes hide-photo{0%{opacity:1}to{opacity:0}}.gallery-placeholder{border-radius:18px;height:62vh;position:static;width:86%}.gallery-nav{align-items:center;background:var(--gallery-control);border:1px solid color-mix(in srgb,var(--gallery-ink) 20%,transparent);border-radius:999px;color:var(--gallery-ink);display:flex;padding:0;line-height:1;height:48px;justify-content:center;position:static;transform:none;width:48px}.gallery-nav svg{display:block;flex-shrink:0}.gallery-nav:disabled{opacity:.2}.gallery-caption{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--gallery-bg) 94%,transparent) 28%);display:grid;flex-shrink:0;gap:16px;padding:34px max(18px,env(safe-area-inset-right)) max(28px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left));position:static}.scrubber{display:grid;gap:6px;grid-auto-columns:1fr;grid-auto-flow:column}.scrub{background:color-mix(in srgb,var(--gallery-ink) 24%,transparent);border-radius:999px;height:4px}.scrub.active{background:var(--gallery-highlight)}.gallery-copy{display:grid;gap:7px}.gallery-copy h1{font-size:clamp(24px,7vw,36px)}.gallery-summary{color:var(--gallery-ink);font-size:16px;line-height:1.55;overflow-wrap:anywhere}.gallery-copy h1{overflow-wrap:anywhere}.skeleton{pointer-events:none}.skeleton .media-grid,.line{animation:pulse 1.35s ease-in-out infinite;background:linear-gradient(90deg,var(--surface-sunken),var(--primary-wash),var(--surface-sunken));background-size:220% 100%}.line{border-radius:999px;height:14px}.line.short{width:34%}.line.medium{width:72%}@keyframes pulse{0%{background-position:120% 0}to{background-position:-120% 0}}@media(min-width:760px){body{background:linear-gradient(180deg,var(--surface) 0,var(--bg) 460px)}.app-shell{padding-top:24px}.topbar{border-radius:0 0 16px 16px}.topbar:before{border:1px solid var(--line);border-top:0;border-radius:0 0 16px 16px}.content{padding-top:30px}.feed{gap:22px}.feed-card{transition:transform .16s ease,box-shadow .16s ease}.feed-card:hover{box-shadow:0 12px 32px #403a2e1a;transform:translateY(-2px)}.gallery{padding:24px}.gallery-stage,.gallery-caption{margin:0 auto;max-width:980px;width:100%}}@media(max-width:480px){.gallery{padding-top:env(safe-area-inset-top)}.gallery-image{max-height:56dvh}}@media(max-width:359px){.reaction-row{grid-template-columns:repeat(3,minmax(0,1fr))}.forget-actions{grid-template-columns:1fr}}@media(max-width:371px){.app-shell{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}.topbar{gap:6px}.card-body,.detail-card-body{padding-left:16px;padding-right:16px}}.attachment-list{display:grid;gap:10px;min-width:0;padding:0}.detail-card-body .attachment-list{padding:0}.inline-attachment{display:grid;gap:12px;min-width:0;width:100%;padding:0;border-radius:0;color:var(--ink)}.inline-attachment audio,.inline-attachment video{display:block;width:100%;min-width:0}.inline-attachment video{max-height:60dvh;border-radius:0;background:var(--ink)}.media-unavailable{display:grid;gap:8px;font-size:14px;line-height:1.5}.media-notice{background:var(--surface);border:1px solid var(--line);border-radius:12px;font-size:14px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.media-notice p{margin:0}.media-notice input{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);font:inherit;margin-top:8px;min-height:44px;padding:0 12px;width:100%}.media-notice input:focus{outline:2px solid var(--primary);outline-offset:2px}.gallery .media-notice{color:var(--ink);margin:calc(64px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}.gallery .media-notice :focus-visible{outline-color:var(--primary)}.gallery>.media-notice+.gallery-stage{padding-top:12px}.document-link{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);color:var(--primary-deep);font-weight:600;min-width:0;overflow-wrap:anywhere}button:focus-visible,a:focus-visible,audio:focus-visible,video:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.gallery-stage .inline-attachment,.gallery-stage .document-link{max-width:640px}.gallery-stage .audio-player{gap:14px;grid-template-columns:60px minmax(0,1fr);margin:0 20px;padding:16px;width:calc(100% - 40px)}.gallery-stage .audio-toggle{height:60px;width:60px}.gallery-stage .audio-toggle svg{height:28px;width:28px}.gallery-navigation{display:flex;justify-content:space-between;flex-shrink:0;width:100%;max-width:980px;margin:0 auto;padding:0 16px}.topbar-overlay :focus-visible,.gallery :focus-visible{outline-color:var(--gallery-ink)}.audio-player.inline-attachment{border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px;padding:10px 12px}.audio-player audio{display:none}.audio-toggle{display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;background:var(--primary);color:var(--on-primary);cursor:pointer}.audio-toggle:disabled{background:var(--surface-sunken);color:var(--subtle)}.audio-track{min-width:0}.audio-meta,.audio-times{display:flex;justify-content:space-between;gap:8px}.audio-label{font-size:15px;font-weight:600}.audio-status,.audio-times{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.audio-waveform{position:relative;height:44px}.waveform-bars{display:flex;align-items:center;justify-content:space-between;height:100%;padding:6px 0}.waveform-bar{width:2px;border-radius:2px;background:var(--primary);opacity:.28;animation:waveform-playback .8s ease-in-out infinite alternate;animation-play-state:paused}.waveform-bar.played{opacity:1}.audio-waveform.playing .waveform-bar{animation-play-state:running}.audio-waveform input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.audio-waveform input:disabled{cursor:default}.audio-waveform:focus-within{outline:2px solid var(--primary);outline-offset:2px}.audio-player .media-unavailable{grid-column:1 / -1}.gallery .audio-player{background:color-mix(in srgb,var(--gallery-bg) 86%,var(--surface));border-color:color-mix(in srgb,var(--gallery-ink) 25%,transparent);color:var(--gallery-ink)}.gallery .audio-status,.gallery .audio-times{color:var(--gallery-ink)}.gallery .waveform-bar{background:var(--gallery-ink)}@keyframes waveform-playback{0%{transform:scaleY(.55)}to{transform:scaleY(1)}}.icon-button,.text-button,.primary-button,.media-tile,.media-more,.detail-hero,.gallery-nav,.reaction-button,.audio-toggle{transition:transform var(--motion-short) var(--ease-move),background-color var(--motion-short) var(--ease-enter),color var(--motion-short) var(--ease-enter),border-color var(--motion-short) var(--ease-enter)}.icon-button:active,.text-button:active,.primary-button:not(:disabled):active,.media-tile:active,.media-more:active,.detail-hero:active,.gallery-nav:not(:disabled):active,.reaction-button:not(:disabled):active,.audio-toggle:not(:disabled):active{transform:scale(.98);transition-duration:var(--motion-press)}.comment-item.is-new{animation:reveal-photo var(--motion-short) var(--ease-enter)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active,.feed-card:hover{transform:none!important}.gallery-image-previous{opacity:0}}
