:root{--accent:#ffda00;--red:#ef141d;--ink:#080808;--muted:#71778d;--line:#e4e8f0;--cream:#fff9d7}body{background:#fff;color:var(--ink);line-height:1.5}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button:disabled{opacity:.55;cursor:wait}.topbar{height:112px;max-width:1240px;margin:auto;padding:16px 32px;border:0;background:white;box-shadow:none;gap:40px}.wordmark{width:240px;height:84px;overflow:visible}.wordmark img{object-fit:contain}.tabs{border:0;padding:0;gap:24px;flex:1;justify-content:center}.tabs button{padding:12px 2px;font-size:16px;color:#111;font-weight:500;white-space:nowrap}.tabs button.selected{color:#080808;font-weight:700}.tabs button.selected:after{left:0;right:0;bottom:5px;height:3px;border-radius:3px;background:var(--accent)}.header-actions{display:flex;gap:24px;align-items:center}.icon-button{position:relative;border:0;background:transparent;width:44px;height:44px;padding:8px;color:#080808}.icon-button svg{width:30px;height:30px}.mini-avatar{width:48px;height:48px;border:0;background:#fff0aa;color:#453b14;border-radius:50%;font-size:16px}.layout{max-width:1240px;display:block;margin:auto}main{padding:14px 32px 60px}.welcome-hero{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;min-height:320px;gap:16px}.member-label{font-size:14px;font-weight:600;letter-spacing:1.5px;color:var(--muted);margin:8px 0}.welcome-copy h1{font:900 clamp(42px,5.2vw,66px)/.99 Outfit,sans-serif;letter-spacing:-2px;margin:12px 0}.welcome-copy h1 span{color:#ffda00;-webkit-text-stroke:1.5px #0a0a0a;paint-order:stroke fill;text-shadow:1.5px 2px 0 #111}.welcome-store{margin:9px 0 0;color:var(--muted);font-size:18px;font-weight:600}.welcome-tagline{font-size:20px;font-weight:600;margin:12px 0 18px;letter-spacing:-.4px}.hero-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.primary{color:#090909;background:var(--accent);border:0;border-radius:28px;font-weight:700;font-size:16px;padding:12px 23px;min-height:44px}.primary:hover{background:#f0cb00}.hero-actions .primary{display:flex;align-items:center;gap:10px}.hero-actions .primary span{font-size:25px}.plain-button{border:0;background:transparent;color:#111;font-size:16px;font-weight:600;min-height:44px;padding:8px 2px}.hero-actions .plain-button span{font-size:28px;vertical-align:middle}.mascot-space{height:320px}.mascot-space img{width:100%;height:100%;object-fit:contain}.category-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:8px 0 24px;border-bottom:1px solid var(--line);padding-bottom:22px}.category-nav button{display:flex;flex-direction:column;align-items:center;background:transparent;border:0;border-radius:16px;font-weight:700;font-size:16px;padding:6px}.category-nav button>span{font:72px/1.25 'Apple Color Emoji',sans-serif;margin-bottom:8px;transition:transform .18s}.category-nav button:hover>span{transform:translateY(-4px)}.category-nav button[aria-pressed=true]{background:#fff9d5}.content-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px;margin:0;align-items:start}.feed,.alternate{grid-column:1;grid-row:1}.details{grid-column:2;grid-row:1;border-left:1px solid var(--line);padding-left:28px;display:block}.side-feature{margin-bottom:38px}.side-feature h2,.feed-heading h2{font:800 40px/1.05 Outfit,sans-serif;letter-spacing:-1.3px;margin:0 0 8px}.side-feature h2{font-size:34px}.side-feature h3{font:700 24px/1.15 Outfit,sans-serif;letter-spacing:-.7px;margin:16px 0 5px}.side-feature p{font-size:17px;color:var(--muted);line-height:1.5;margin:0 0 8px}.feature-art{font:100px/1.3 'Apple Color Emoji',sans-serif;text-align:center;margin:18px 0}.red-link{color:var(--red);border:0;background:none;padding:0;font-size:17px;font-weight:700;min-height:36px}.feed-heading{margin:0 0 20px;align-items:flex-start;gap:14px}.feed-heading p{color:var(--muted);font-size:16px;margin:3px 0 0}.sort-label select{border:0;background:#fff;color:var(--muted);font-size:14px;min-height:36px;max-width:155px}.composer{padding:0 0 20px;border:0;background:white;box-shadow:none}.compose-row{gap:12px}.compose-row button{background:white;border:1px solid #dde2ed;border-radius:28px;font-size:16px;color:#848b9f;padding:13px 18px}.compose-bottom{border:0;margin:5px 0 0 60px;padding:0;gap:20px;justify-content:flex-start;display:flex}.compose-bottom>.primary{margin-left:auto;min-width:96px;padding:10px 20px}.compose-bottom>.plain-button{font-weight:500;font-size:15px}.card{border:0;box-shadow:none;border-radius:0}.post{padding:4px 0 16px;border-bottom:1px solid var(--line);margin-bottom:18px}.post-meta,.post-meta:has(.personal-avatar){display:flex;padding:0;gap:12px}.post-avatar,.post-avatar.personal-avatar{width:48px;height:48px;flex-shrink:0;border-radius:50%;background:#fff0a0;font:700 16px/1 Outfit,sans-serif;color:#111;overflow:hidden}.post-avatar img{width:100%;height:100%;object-fit:contain}.post-author{font-size:16px}.post-date{font-size:13px;color:var(--muted)}.post-body{font-size:16px;line-height:1.6;margin:14px 0;white-space:pre-wrap;overflow-wrap:anywhere}.post-photo{width:100%;height:auto;max-height:520px;object-fit:cover;border-radius:12px}.post-actions{padding:5px 0;margin:0;border-top:0;justify-content:flex-start;gap:25px}.post-actions button{flex:0 0 auto;color:#111;padding:7px 0;font-size:15px;min-height:42px}.post-actions button.liked{color:var(--red)}.reaction-summary{padding:6px 0;font-size:13px;color:var(--muted)}.reaction-summary b{color:var(--red)}.comments{padding:0}.comment{border-radius:18px;background:#f4f5f8;font-size:14px;margin:10px 0;padding:12px 16px;overflow-wrap:anywhere}.comment-form{margin-top:12px}.comment-form input{border-radius:22px;font-size:15px;padding:12px 15px}.comment-form button{border-radius:20px;background:var(--accent);color:#111;font-size:15px;padding:8px 17px}.certification-banner{display:none}.connection-actions{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.connection-actions .text-btn{text-align:left;color:var(--muted)}.celebrations{background:white;border:1px solid var(--line);border-radius:18px;padding:25px;margin-top:35px}.celebrations h2{font:800 30px/1.15 Outfit;letter-spacing:-.5px}.celebrations-heading .eyebrow{display:none}.birthday-card,.anniversary-card,.contributor-card{background:#fffdf2;border:1px solid #ede6c1;border-radius:12px;color:#111}.anniversary-card .year-mark{display:none}.contributor-card .milestone-heading p,.contributor-card .milestone-empty,.leaderboard li div>span,.leaderboard small,.rank,.rank.first,.leaderboard b,.level-guide summary,.level-guide p{color:#555}.family-agent{border-color:var(--line);border-radius:16px}.agent-banner{background:#fffbea;color:#111}.agent-banner p{color:#6b6655}.agent-icon{color:#887100;border-color:#d7c366}.agent-status{background:#ffda00;color:#111}.agent-disclosure{padding:18px 24px;cursor:pointer;font-weight:700}.agent-disclosure span{color:var(--muted);font-size:14px;font-weight:400;margin-left:12px}.sample-note{font-size:14px;color:var(--muted)}.alternate{padding:0}.alternate h2{font-size:32px}.outline{font-size:14px;background:#fafafa;border-color:var(--line);border-radius:9px;min-height:42px}.text-btn{font-size:14px;color:#5c6276}.empty-feed{padding:26px;background:#fafbfc;border-radius:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid var(--line);box-shadow:0 24px 100px #0002;border-radius:22px;width:min(570px,94vw);padding:28px}dialog::backdrop{background:#10172855}.dialog-title h2{font:800 26px/1.1 Outfit,sans-serif;letter-spacing:-.5px}textarea{font-size:18px;min-height:180px;line-height:1.5;border-radius:12px;border-color:#dce2ef}#post-form>.primary{display:block;margin-left:auto;min-width:130px}#toast{max-width:90vw;z-index:100}.filter-status{padding:8px 12px;margin-bottom:15px;background:#fff8cc;border-radius:10px;font-size:14px}.filter-status button{border:0;background:transparent;float:right;font-weight:700}#notification-dot{position:absolute;right:5px;top:5px;width:10px;height:10px;background:#ef141d;border:2px solid white;border-radius:50%}
@media(min-width:1500px){main{padding-right:32px}}@media(max-width:1000px){.topbar{gap:18px;padding:14px 24px}.wordmark{width:200px}.tabs{gap:17px}.header-actions{gap:12px}main{padding:12px 24px 40px}.welcome-copy h1{font-size:54px}.content-grid{grid-template-columns:minmax(0,1fr) 250px;gap:26px}.details{padding-left:22px}.welcome-tagline{font-size:18px}.mascot-space{height:290px}.side-feature h2{font-size:30px}.side-feature h3{font-size:22px}.feed-heading h2{font-size:36px}}
@media(max-width:720px){.topbar{height:auto;min-height:130px;flex-wrap:wrap;gap:5px;padding:8px 20px 0}.wordmark{width:180px;height:73px}.header-actions{margin-left:auto}.tabs{order:3;flex-basis:100%;justify-content:space-between;padding:0;gap:10px}.tabs button{font-size:15px;padding:12px 5px}.tabs button.selected:after{bottom:1px}.layout main{padding:18px 20px 40px}.welcome-hero{grid-template-columns:1.2fr 1fr;gap:0;min-height:220px}.welcome-copy h1{font-size:38px;letter-spacing:-1.2px;line-height:1.02}.member-label{font-size:11px;letter-spacing:.9px}.welcome-tagline{font-size:15px;line-height:1.4}.welcome-store{font-size:15px}.mascot-space{height:220px;align-self:start}.hero-actions{gap:8px;width:170%;position:relative;z-index:1}.hero-actions .primary{font-size:14px;padding:10px 14px}.hero-actions .primary span{font-size:19px}.hero-actions .plain-button{font-size:14px}.hero-actions .plain-button span{font-size:22px}.category-nav{gap:4px;margin:15px 0 24px;padding-bottom:16px}.category-nav button{font-size:12px;padding:6px 1px}.category-nav button>span{font-size:48px;margin-bottom:5px}.content-grid{display:block}.details{display:none}.feed-heading h2{font-size:33px}.feed-heading p{font-size:14px}.feed-heading{gap:8px}.sort-label select{font-size:12px;max-width:114px}.compose-row .mini-avatar{width:42px;height:42px}.compose-row button{font-size:14px;padding:12px;min-width:0}.compose-bottom{margin-left:0;gap:12px}.compose-bottom>.plain-button{font-size:13px}.compose-bottom>.primary{min-width:75px;font-size:14px;padding:9px 14px}.celebrations{padding:18px}.celebrations h2{font-size:27px}.celebration-grid{grid-template-columns:1fr}.post-author{font-size:15px}.post-body{font-size:16px}.agent-disclosure span{display:block;margin:3px 0}.category-nav button[aria-pressed=true]{border-radius:10px}dialog{padding:22px}.header-actions .mini-avatar{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Account and conversation screens from the approved reference. */
.connecting .topbar,.connecting #family-app{visibility:hidden}.loading-family{display:none;position:fixed;inset:0;align-items:center;justify-content:center;font-weight:600;color:var(--muted)}.connecting .loading-family{display:flex}.auth-screen{max-width:1100px;min-height:100vh;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:50px 40px;gap:25px}.auth-logo{width:275px;height:auto;margin-bottom:32px}.auth-copy h1{font:900 60px/1.05 Outfit,sans-serif;letter-spacing:-1.6px;margin:15px 0}.auth-copy h1 span{color:var(--accent);-webkit-text-stroke:1.5px black;paint-order:stroke fill;text-shadow:1px 2px 0 black}.auth-copy>p{color:var(--muted);font-size:17px;margin:18px 0}.auth-sign-in{display:block;text-align:center;max-width:370px;border-radius:14px;margin:30px 0 14px;padding:16px}.auth-copy #auth-help,.auth-copy .auth-manager{font-size:14px}.auth-mascot{max-height:690px;width:100%;object-fit:contain}.post-tools{display:flex;gap:26px;padding-top:10px;flex-wrap:wrap}.post-tools .plain-button{font-size:15px;font-weight:500}.post-visibility{font-size:14px;color:#696f83;margin:16px 0 26px}.photo-draft{margin-top:16px;position:relative;border-radius:14px;background:#f5f6f8;overflow:hidden}.photo-draft img{max-height:300px;width:100%;object-fit:contain;display:block}.photo-draft button{position:absolute;right:8px;top:8px;border:0;background:white;border-radius:50%;width:34px;height:34px;font-size:22px}.cancel-post{float:left;margin-top:10px}.post-celebration{display:inline-block;background:#fff6c0;color:#655300;border-radius:7px;padding:3px 8px;font-size:12px;margin-top:10px}.post-avatar.brand-post-avatar{background:#151515;color:var(--accent);font-size:25px}.heart-icon{font-size:25px;color:var(--red);vertical-align:middle;line-height:1}.share-post{margin-left:auto}.comment-row{display:grid;grid-template-columns:34px 1fr;gap:10px;margin-top:12px}.comment-avatar{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffed99;font-size:12px;font-weight:600;margin-top:3px}.comment-row .comment{display:inline-block;margin:0;min-width:130px;max-width:100%;border-radius:17px;padding:10px 15px}.comment p{margin:3px 0 0;white-space:pre-wrap}.comment strong{font-size:13px}.comment-reply{display:block;border:0;background:transparent;font-size:13px;color:var(--muted);padding:3px 10px;min-height:32px}.reply-context{display:block;font-size:12px;color:var(--muted)}.notification-row{display:flex;align-items:center;gap:16px;padding:20px 10px;width:100%;border:0;border-bottom:1px solid var(--line);background:#fff;text-align:left;border-radius:8px}.notification-row>span:first-child{font-size:30px}.notification-row>span:last-child{font-size:25px;color:var(--muted);margin-left:auto}.notification-row strong{font-size:15px;font-weight:500}.notification-row small{display:block;font-size:12px;color:var(--muted);margin-top:5px}.notification-row.unread{background:#fffbed}.notification-empty{text-align:center;padding:30px 20px}.notification-empty>span{font-size:52px}.notification-empty h3{font:700 24px Outfit}.notification-empty p{font-size:15px;color:var(--muted)}.mark-read{display:block;margin-left:auto;margin-top:-10px}.notification-settings{border-top:1px solid var(--line);padding:18px 0 0;margin-top:20px}.notification-settings summary{cursor:pointer;color:#545d7b;font-size:15px}.notification-settings p{font-size:14px;color:var(--muted)}#notification-form label{display:flex;gap:10px;align-items:center;margin:18px 0;font-size:15px}input[type=checkbox]{accent-color:#c4a200;width:18px;height:18px}#profile-form label{display:grid;gap:8px;font-size:15px}#profile-form input,.search-input,#tag-picker{font:inherit;padding:12px 15px;border:1px solid var(--line);border-radius:10px;width:100%;background:white;color:#111}#profile-form .primary{display:block;margin:20px 0 20px auto}.account-identity{display:flex;gap:14px;align-items:center;margin-bottom:28px}.account-identity p{font-size:14px;color:var(--muted);margin:4px 0 0;overflow-wrap:anywhere}.sign-out-link{display:block;padding:15px 0;border-top:1px solid var(--line);color:var(--red);font-weight:600}.directory{margin:22px 0}.directory-person{display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding:18px 0}.directory-person h3{font-size:18px;margin:0}.directory-person p{font-size:14px;line-height:1.4;margin:4px 0;color:var(--muted)}.section-title h2{font:800 38px/1.1 Outfit;margin:0}.section-title p{color:var(--muted);font-size:16px;margin:8px 0 22px;line-height:1.5}.shared-gallery{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}.shared-gallery img{width:100%;height:200px;object-fit:cover;border-radius:12px}.shared-gallery a span{font-size:14px;color:var(--muted);display:block;margin-top:8px}.resource-card{display:flex;align-items:center;gap:18px;width:100%;border:1px solid var(--line);background:white;border-radius:14px;padding:23px;margin:14px 0;text-align:left;color:#111}.resource-card>span{font-size:30px}.resource-card>span:last-child{margin-left:auto;font-size:22px}.resource-card h3{font:700 20px Outfit;margin:0}.resource-card p{font-size:14px;color:var(--muted);margin:5px 0 0;line-height:1.5}.highlight-post{background:#fffbea;border-radius:12px}.post{scroll-margin-top:24px}.welcome-hero,.celebrations{scroll-margin-top:24px}.agent-form label{font-size:14px}.agent-disclosure{font-size:15px}.celebrations-heading p{font-size:14px}#certificate-example-dialog .certificate-example-note{color:#695800;background:#fff3b0}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #a18400;outline-offset:3px}
@media(max-width:720px){.auth-screen{padding:30px 24px;gap:0;grid-template-columns:1fr;min-height:100svh}.auth-copy{position:relative;z-index:1}.auth-logo{width:220px;margin-bottom:18px}.auth-copy h1{font-size:46px}.auth-copy>p{font-size:16px}.auth-mascot{height:300px;grid-row:2;margin-top:0;object-position:center top}.auth-sign-in{max-width:100%;margin-top:22px}.post-tools{gap:16px}.post-tools .plain-button{font-size:14px}.post-visibility{font-size:13px}.notification-row{gap:12px}.shared-gallery img{height:150px}.section-title h2{font-size:32px}.resource-card{padding:18px;gap:14px}.resource-card h3{font-size:18px}.post-actions{gap:18px}.post-actions button{font-size:14px}.comment-form input{font-size:14px}.account-identity p{max-width:220px}.category-nav button{font-size:13px}.member-label{font-size:12px}.sort-label select{font-size:13px}}
@media(max-width:380px){.layout main{padding:16px}.welcome-copy h1{font-size:34px}.hero-actions{width:190%;gap:7px}.hero-actions .primary{font-size:13px}.hero-actions .plain-button{font-size:13px}.compose-bottom{gap:7px}.category-nav button{font-size:12px}}
/* Display the supplied reference artwork at its original proportions. */
.reference-art{--art-scale:.76;--art-x:84;--art-y:428;--art-w:170;--art-h:116;display:block;width:calc(var(--art-w)*1px*var(--art-scale));height:calc(var(--art-h)*1px*var(--art-scale));background-image:url('family-icons-source.png');background-repeat:no-repeat;background-size:calc(1122px*var(--art-scale)) calc(1402px*var(--art-scale));background-position:calc(var(--art-x)*-1px*var(--art-scale)) calc(var(--art-y)*-1px*var(--art-scale));flex-shrink:0}
.reference-art.art-certificate{--art-x:347;--art-y:429;--art-h:113}.reference-art.art-cupcake{--art-scale:.51;--art-x:830;--art-y:655;--art-w:180;--art-h:175}.reference-art.art-chat{--art-x:848;--art-y:431;--art-h:111}.feature-art.reference-art{margin:20px auto}.reference-art.art-birthday{--art-scale:1;--art-x:830;--art-y:655;--art-w:180;--art-h:175}.reference-art.art-pin{--art-scale:.83;--art-x:830;--art-y:950;--art-w:200;--art-h:225}
@media(max-width:720px){.category-nav .reference-art{--art-scale:.43}.category-nav .art-cupcake{--art-scale:.28}}

.post-avatar:has(.family-mascot-avatar),.comment-avatar:has(.family-mascot-avatar){overflow:hidden;background:#fff}.family-mascot-avatar{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 15%;border-radius:50%}

.post-avatar:has(.university-mascot-avatar){background:#fff;overflow:hidden}.university-mascot-avatar{display:block;width:100%;height:100%;object-fit:contain;border-radius:50%}
.onboarding{max-width:1180px;margin:auto;padding:28px 32px 50px}.onboarding-logo img{width:230px;max-width:65vw;height:auto}.onboarding-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:48px;align-items:center;min-height:75vh}.onboarding-copy h1{font:800 clamp(34px,4.5vw,58px)/1.1 Outfit,sans-serif;letter-spacing:-1.2px;margin:20px 0}.onboarding-copy h1 span{color:#171717}.onboarding-copy>div>p:not(.member-label){font-size:18px;color:#666e80;line-height:1.65}.onboarding-copy .primary{padding:16px 28px;margin-top:20px;font-size:17px;border-radius:14px}.onboarding-art img{display:block;max-height:640px;width:100%;object-fit:contain}.onboarding-details .onboarding-art{align-self:start;position:sticky;top:30px}.onboarding-details .onboarding-art img{max-height:520px}.onboarding form>label,.onboarding-fields>label{display:grid;gap:8px;font-size:16px;margin:16px 0}.onboarding label span,.onboarding legend span,.onboarding-hint{color:#71778d;font-size:14px}.onboarding input:not([type=checkbox]),.onboarding select{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d9dde5;border-radius:10px;padding:12px;font:inherit;background:#fff;color:#111}.onboarding-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.onboarding fieldset{border:0;margin:24px 0 0;padding:0;min-width:0}.onboarding fieldset label{margin-top:10px}.onboarding .onboarding-check{display:flex;align-items:center;gap:12px;line-height:1.5}.onboarding-check input{flex-shrink:0}.onboarding-hint{line-height:1.5;margin:6px 0 14px}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}.onboarding-actions .primary{margin:0}.onboarding-success-mark{font-size:44px!important;margin-bottom:0}#onboarding-error{color:#bb1020;font-size:16px}#onboarding-photo-row{display:flex;align-items:center;gap:16px}#onboarding-photo-preview{width:76px;height:76px;object-fit:cover;border-radius:50%}.person-avatar{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}.mini-avatar:has(.person-avatar),.post-avatar:has(.person-avatar),.comment-avatar:has(.person-avatar){padding:0;overflow:hidden}.onboarding [hidden]{display:none!important}
@media(max-width:720px){.onboarding{padding:22px 22px 36px}.onboarding-layout{grid-template-columns:1fr;gap:10px;min-height:auto}.onboarding-art{grid-row:1}.onboarding-art img{height:220px;object-fit:contain;margin:12px auto}.onboarding-copy h1{font-size:36px;letter-spacing:-.8px}.onboarding .member-label{font-size:13px}.onboarding-copy .primary{width:100%}.onboarding-details .onboarding-art{display:none}.onboarding-fields{grid-template-columns:1fr;gap:0}.onboarding fieldset .onboarding-fields{grid-template-columns:1fr 1fr;gap:14px}.onboarding-actions .primary{width:auto}.onboarding-copy>div>p:not(.member-label){font-size:16px}.onboarding-details .onboarding-copy h1{font-size:32px}}

.onboarding h1:focus{outline:none}
/* Keep the selected section comfortably visible after using the navigation. */
#feed,#alternate{scroll-margin-top:24px}

/* Full-photo controls keep portraits and wide images uncropped in the viewer. */
.post-photo-button,.gallery-photo{display:block;border:0;padding:0;background:transparent;cursor:zoom-in;text-align:left;color:inherit;width:100%;min-width:0}
.post-photo-button{position:relative;border-radius:12px;overflow:hidden}
.photo-open-label{position:absolute;right:12px;bottom:12px;border-radius:8px;padding:6px 10px;background:#111e;color:white;font-size:14px;font-weight:600}
.shared-gallery .gallery-photo span{font-size:14px;color:var(--muted);display:block;margin-top:8px}
.post-photo-button:focus-visible,.gallery-photo:focus-visible,#photo-viewer-close:focus-visible{outline:3px solid #ffda00;outline-offset:4px}
#photo-viewer{width:calc(100% - 32px);max-width:1200px;height:calc(100dvh - 32px);max-height:calc(100dvh - 32px);padding:0;border:1px solid #555;border-radius:16px;background:#101114;color:white;overflow:hidden}
#photo-viewer::backdrop{background:#000c}
.photo-viewer-content{height:100%;display:flex;flex-direction:column;padding:16px;box-sizing:border-box}
.photo-viewer-content header{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-shrink:0;margin-bottom:12px}
#photo-viewer-title{margin:0;font:600 18px/1.4 Outfit,sans-serif;overflow-wrap:anywhere}
#photo-viewer-close{display:flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #666;border-radius:50%;background:#292a2e;color:white;font-size:32px;cursor:pointer}
.photo-viewer-stage{display:flex;align-items:center;justify-content:center;flex:1;min-height:0;min-width:0}
#full-photo{width:100%;height:100%;object-fit:contain;object-position:center;border-radius:0}
#full-photo[hidden],#photo-viewer-status[hidden]{display:none}
#photo-viewer-status{font-size:16px;text-align:center;padding:20px}
@media(max-width:600px){#photo-viewer{width:100%;max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.photo-viewer-content{padding:12px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(12px,env(safe-area-inset-bottom))}.photo-open-label{right:8px;bottom:8px}}

html:has(#photo-viewer[open]){overflow:hidden}

.own-post-controls{display:flex;gap:8px;margin-left:auto;align-self:start;flex-shrink:0}
.own-post-controls button{font-size:14px;min-height:44px;padding:8px;border:0;background:transparent;color:#525865;cursor:pointer}
.own-post-controls button:hover,.own-post-controls button:focus-visible{color:#080808;background:#f1f3f6;border-radius:8px}
#edit-post-dialog,#delete-post-dialog{max-height:90dvh;overflow:auto}
#edit-post-dialog textarea{width:100%;box-sizing:border-box;font:inherit;margin-top:8px;resize:vertical;min-height:130px}
#edit-post-dialog [data-post-close][aria-label]{width:44px;height:44px;font-size:28px;border:0;background:transparent;cursor:pointer}
.post-editor-note{font-size:14px;color:var(--muted)}
.post-edit-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:20px}
#edit-post-error,#delete-post-error{color:#b91c1c;font-size:16px}
.danger-button{background:#b91c1c;border:0;border-radius:12px;color:white;padding:12px 18px;font-weight:700;cursor:pointer}
@media(max-width:600px){.post-meta{flex-wrap:wrap}.own-post-controls{margin-left:0;flex-basis:100%;justify-content:flex-end}.own-post-controls button{padding:4px 12px}}
