:root{--ink:#000;--muted:#737373;--green:#0095f6;--paper:#fff;--line:#dbdbdb;--sidebar:244px;--blue:#0095f6}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #0095f6;outline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;vertical-align:middle}svg{pointer-events:none}.skip-link{position:fixed;left:12px;top:-60px;z-index:100;background:#fff;border:1px solid #000;padding:10px}.skip-link:focus{top:12px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:33px 12px 20px;border-right:1px solid var(--line);background:#fff;z-index:20;display:flex;flex-direction:column}.brand,.mobile-brand{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:800;font-size:31px;letter-spacing:-1.7px;line-height:1.2}.brand{padding:3px 12px 45px}.compact-brand{display:none}.sidebar nav{display:grid;gap:7px}.sidebar nav>a,.sidebar-more{height:49px;display:flex;align-items:center;gap:16px;padding:12px;border-radius:8px;font-size:16px;white-space:nowrap}.sidebar nav>a:hover,.sidebar-more:hover{background:#f2f2f2}.sidebar a.active{font-weight:700}.sidebar a.active .icon{stroke-width:2.5}.sidebar a.active[href="/"] .icon{fill:currentColor;stroke:#000}.sidebar-more{margin-top:auto}.workspace{margin-left:var(--sidebar);min-height:100vh}.topbar{display:none}.content-layout{display:grid;grid-template-columns:minmax(0,630px) 287px;gap:64px;max-width:1029px;padding:24px;margin:0 auto;align-items:start}main{width:100%;min-width:0;padding-bottom:50px}.rightbar{padding-top:15px;position:sticky;top:24px;min-width:0}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#f2f2f2;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-weight:600;color:#262626;border:1px solid #efefef}.side-user{display:flex;align-items:center;gap:12px;min-width:0}.side-user>.avatar{width:44px;height:44px}.side-user>span:nth-child(2){min-width:0;flex:1}.side-user strong,.side-user small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.side-user strong{font-size:13px;font-weight:600}.side-user small{font-size:12px;color:var(--muted)}.blue-link{color:var(--blue);font-size:12px;font-weight:600}.suggestion-heading{display:flex;justify-content:space-between;margin:23px 0 13px;align-items:center;font-size:12px}.suggestion-heading strong{font-size:13px;color:var(--muted)}.suggestion-heading a{font-weight:600}.suggestion{display:flex;align-items:center;gap:11px;padding:7px 0}.suggestion .avatar{width:34px;height:34px}.suggestion-info{flex:1;min-width:0}.suggestion-info a{font-size:13px;font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-info small{font-size:11px;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion button{border:0;background:none;font-size:12px;font-weight:600;color:var(--blue);padding:6px 0 6px 8px}.suggestion button.following{color:#262626}.side-muted{font-size:12px;color:#8e8e8e;line-height:1.8}.side-footer{font-size:11px;color:#c7c7c7;margin-top:28px}.side-footer>span{margin:0 4px}.side-footer p{margin-top:17px}.page-eyebrow{display:none}.page-heading{font-size:23px;line-height:1.4;margin:10px 0 8px;letter-spacing:-.5px}.subtitle{font-size:14px;color:var(--muted);margin:0 0 25px}.feed-tabs{display:flex;gap:22px;border-bottom:1px solid #efefef;margin:0 0 20px;height:45px;align-items:flex-start}.feed-tabs button{padding:2px 0 15px;border:0;background:none;color:#737373;font-size:16px;font-weight:600;position:relative}.feed-tabs button.active{color:#000}.feed-tabs button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:#000}.people-rail{display:flex;gap:17px;overflow:auto;padding:0 8px 24px;scrollbar-width:none;margin-bottom:4px}.people-rail::-webkit-scrollbar{display:none}.people-link{width:66px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px}.people-link>span:last-child{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.people-ring{width:64px;height:64px;border-radius:50%;background:linear-gradient(30deg,#ffd776,#fa7144,#d52c83,#7e36b3);padding:2px;position:relative}.people-ring .avatar{width:60px;height:60px;border:3px solid #fff;font-size:21px}.people-ring.own{background:#dbdbdb}.people-ring .add-photo{position:absolute;right:0;bottom:0;width:20px;height:20px;border:2px solid white;border-radius:50%;color:white;background:var(--blue);display:grid;place-items:center}.add-photo .icon{width:13px;height:13px;stroke-width:2.5}.home-page #feed,.detail-page #feed{max-width:470px;margin:0 auto}.post{background:#fff;border-bottom:1px solid var(--line);padding-bottom:15px;margin:0 0 20px;min-width:0}.post-head{display:flex;align-items:center;gap:10px;padding:0 0 12px;min-height:48px}.post-head>div{min-width:0;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.author{font-size:13px;font-weight:600}.post-time{color:var(--muted);font-size:12px}.post-time:before{content:'·';margin-right:6px}.post-head .more{margin-left:auto;display:grid;place-items:center;width:32px;height:32px;border:0;background:none;padding:4px}.post-head .more .icon{width:21px}.post-image{display:block;width:100%;height:auto;border:1px solid #efefef;border-radius:3px;background:#f6f6f6}.post-actions{display:flex;gap:13px;align-items:center;padding:11px 0 7px}.post-actions button{padding:0;border:0;background:none;display:grid;place-items:center;width:27px;height:30px}.post-actions button:hover{color:#737373}.post-actions button.on[data-action="likes"]{color:#ff3040}.post-actions button.on[data-action="likes"] .icon,.post-actions button.on[data-action="saves"] .icon{fill:currentColor}.post-actions .save{margin-left:auto}.post-copy{font-size:13px;overflow-wrap:anywhere;line-height:1.6}.post-copy p{margin:4px 0;white-space:pre-wrap}.likes{font-weight:600}.caption-author{font-weight:600;margin-right:6px}.post-copy .text-link{color:#00376b;font-weight:400}.comment-link{border:0;background:none;color:var(--muted);padding:3px 0;font-size:13px;display:block}.comment-prompt{margin-top:3px;color:#a3a3a3}.bottom-nav{display:none}#nav-avatar,#mobile-avatar{display:flex;align-items:center}#nav-avatar .avatar,#mobile-avatar .avatar{width:25px;height:25px;font-size:11px}.empty,.loading,.error{padding:58px 22px;text-align:center;color:var(--muted);background:#fff}.empty .empty-icon{border:2px solid #000;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;margin:0 auto 20px;color:#000;font-size:0}.empty-icon .icon{width:34px;height:34px;stroke-width:1.4}.empty h2{font-size:23px;font-weight:500;color:#000;letter-spacing:-.5px;margin:10px 0}.empty p{font-size:14px;line-height:1.7;margin:12px auto 20px;max-width:300px}.primary{background:var(--blue);border:0;border-radius:8px;color:#fff;padding:9px 17px;font-weight:600;font-size:13px;display:inline-block;text-align:center}.primary:hover{background:#1877f2}.secondary{background:#efefef;border:0;border-radius:8px;padding:9px 16px;color:#000;font-weight:600;font-size:13px}.secondary:hover{background:#dbdbdb}.text-link{color:#0095f6;font-size:13px;font-weight:600}form{display:grid;gap:15px}.form-card{background:#fff;border:1px solid var(--line);border-radius:3px;padding:30px;margin-top:24px}label{display:grid;gap:7px;font-size:13px;font-weight:500}input,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:3px;background:#fafafa;color:#262626;font-size:14px;min-width:0}input:focus,textarea:focus{outline:none;border-color:#a8a8a8}textarea{min-height:110px;resize:vertical}input[type=file]{font-size:12px;background:white}.upload-zone{padding:35px 20px;border:1px dashed #dbdbdb;border-radius:5px;text-align:center;justify-items:center;font-size:17px}.upload-zone input{font-size:12px}.preview{max-width:100%;max-height:400px;margin:auto}.form-hint{color:var(--muted);font-size:12px;font-weight:400}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row>input{flex:1;min-width:130px}.person,.notification,.comment{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #efefef}.person>div,.notification>div,.comment>div{flex:1;min-width:0}.person p,.comment p{margin:3px 0;font-size:13px;overflow-wrap:anywhere}.profile-header{display:grid;grid-template-columns:130px minmax(0,1fr);column-gap:26px;align-items:start;padding:20px 0 32px}.profile-avatar{grid-row:1/6;justify-self:center;padding-top:5px}.profile-avatar .avatar{width:110px;height:110px;font-size:36px}.profile-info h1{font-size:21px;font-weight:400;margin:0 0 12px;overflow-wrap:anywhere}.profile-count{margin:10px 0 15px;font-size:14px}.bio{white-space:pre-wrap;font-size:14px;overflow-wrap:anywhere}.profile-buttons{display:flex;gap:9px;margin-top:15px}.profile-tabs{display:flex;justify-content:center;gap:48px;border-top:1px solid var(--line);height:52px;align-items:center;margin-top:5px;font-size:12px;color:var(--muted)}.profile-tabs .icon{width:13px;height:13px;margin-right:6px}.profile-tabs .active{color:#000;font-weight:600;position:relative}.profile-tabs .active:before{content:'';position:absolute;height:1px;background:#000;left:0;right:0;top:-17px}.grid-page #feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.grid-page #feed>.empty{grid-column:1/-1}.profile-tile{position:relative;aspect-ratio:1;overflow:hidden;background:#f5f5f5;display:block}.profile-tile img{width:100%;height:100%;object-fit:cover;display:block}.tile-stats{position:absolute;inset:0;background:#0005;color:white;display:flex;align-items:center;justify-content:center;gap:16px;font-weight:600;opacity:0}.tile-stats>span{display:flex;gap:5px;align-items:center}.tile-stats .icon{width:20px;height:20px}.profile-tile:hover .tile-stats,.profile-tile:focus-visible .tile-stats{opacity:1}.grid-page .profile-count{color:#262626}.search-form{margin:22px 0}.load-more{width:100%;margin:18px 0}.danger{color:#ed4956}.admin-item{padding:16px 0;border-bottom:1px solid var(--line)}dialog{border:0;border-radius:12px;width:min(480px,94vw);max-height:85dvh;padding:28px;color:#000;box-shadow:0 0 0 1px #0001}dialog::backdrop{background:#0009}.close{position:absolute;right:12px;top:7px;border:0;background:none;font-size:28px;font-weight:300}dialog h2{font-size:19px;font-weight:600;margin:0 0 20px}.comment small{font-size:11px;color:var(--muted)}.comment button{border:0;background:none;font-size:12px}.token{word-break:break-all;padding:14px;background:#f5f5f5;user-select:all;font-family:monospace}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#262626;color:#fff;padding:12px 20px;border-radius:4px;font-size:13px;display:none;z-index:50;max-width:calc(100vw - 24px)}.status-message{color:#ed4956;font-size:13px}.button-stack{display:grid;gap:0;margin:0 -28px -28px}.button-stack button{background:none;text-align:center;border:0;border-top:1px solid var(--line);padding:15px;border-radius:0;font-weight:400}.settings{margin:8px 0 24px}summary{cursor:pointer;font-size:14px;font-weight:600;margin:18px 0}.notification.unread{background:#fafafa}pre{white-space:pre-wrap}[hidden]{display:none!important}
@media(min-width:1500px){.content-layout{gap:80px;max-width:1060px;padding-top:30px}}
@media(max-width:1260px) and (min-width:768px){:root{--sidebar:73px}.sidebar{padding:30px 12px 20px}.brand{display:none}.compact-brand{display:grid;place-items:center;height:35px;margin:0 0 35px}.compact-brand .icon{width:29px;height:29px}.nav-label{display:none}.sidebar nav>a,.sidebar-more{justify-content:center;padding:12px}.content-layout{gap:38px;padding-left:32px;padding-right:32px;max-width:985px}}
@media(max-width:1099px) and (min-width:768px){.rightbar{display:none}.content-layout{display:block;max-width:678px;padding:24px}}
@media(max-width:767px){:root{--sidebar:0px}.sidebar,.rightbar{display:none}.workspace{margin:0}.topbar{display:flex;position:sticky;top:0;z-index:15;height:60px;padding:0 16px;border-bottom:1px solid #efefef;background:#fffffff5;align-items:center;justify-content:space-between}.mobile-brand{font-size:28px}.mobile-actions{display:flex;gap:18px;align-items:center}.mobile-actions>a{min-width:26px;min-height:38px;display:flex;align-items:center}.account-link{font-size:12px;font-weight:600;color:var(--blue);max-width:85px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-layout{display:block;padding:0;max-width:630px}main{padding:20px 16px calc(76px + env(safe-area-inset-bottom))}.home-page{padding:0 0 calc(65px + env(safe-area-inset-bottom))}.home-page .feed-tabs{margin:0 16px 15px;height:52px;align-items:center}.home-page .feed-tabs button{font-size:15px;padding:12px 0}.people-rail{padding-left:16px;padding-right:16px;padding-bottom:18px;gap:14px}.people-ring{width:66px;height:66px}.people-ring .avatar{width:62px;height:62px}.home-page #feed,.detail-page #feed{max-width:none}.post{margin-bottom:18px;padding-bottom:15px;border-bottom-color:#efefef}.post-head{padding:0 12px 10px;min-height:46px}.post-image{border-radius:0;border-left:0;border-right:0}.post-actions{padding:9px 12px 6px;gap:13px}.post-actions button{width:30px;height:33px}.post-copy{padding:0 12px;font-size:13px}.detail-page{padding-left:0;padding-right:0}.detail-page>.page-heading{padding:0 16px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:flex-start;height:calc(52px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #dbdbdb;z-index:20}.bottom-nav>a{width:20%;height:51px;display:flex;align-items:center;justify-content:center}.bottom-nav>a.active .icon{stroke-width:2.6}.bottom-nav>a.active[href="/"] .icon{fill:#000}.page-heading{font-size:21px;margin-top:3px}.subtitle{font-size:13px}.form-card{padding:22px 18px;border-radius:4px}.empty,.loading,.error{padding:48px 18px}.empty h2{font-size:22px}.empty p{font-size:13px}.profile-header{grid-template-columns:90px minmax(0,1fr);gap:17px;padding:8px 0 25px}.profile-avatar .avatar{width:82px;height:82px;font-size:27px}.profile-info h1{font-size:20px}.profile-count{font-size:13px}.profile-buttons{flex-wrap:wrap}.profile-buttons button{font-size:12px;padding:8px 12px}.grid-page{padding-left:0;padding-right:0}.grid-page>.page-heading,.grid-page>.subtitle,.grid-page>.profile-header,.grid-page>#settings{margin-left:16px;margin-right:16px}.grid-page #feed{gap:2px}.grid-page .load-more{width:calc(100% - 32px);margin-left:16px}.profile-tabs{height:48px;gap:65px}.profile-tabs .active:before{top:-15px}.tile-stats{gap:7px;font-size:11px}.tile-stats .icon{width:15px;height:15px}.tile-stats>span{gap:3px}#toast{bottom:calc(70px + env(safe-area-inset-bottom))}.search-page #feed{max-width:470px;margin:0 auto}.search-page .post-head{padding-left:0;padding-right:0}.search-page .post-actions,.search-page .post-copy{padding-left:0;padding-right:0}}
@media(prefers-reduced-motion:no-preference){a,button{transition:background .15s,color .15s}.tile-stats{transition:opacity .15s}}

.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}

/* iOS에서 작은 입력 글꼴에 포커스할 때 발생하는 자동 확대를 방지합니다. */
@media (max-width:1024px), (pointer:coarse){
  input, textarea, select, input[type=file], .upload-zone input{font-size:16px}
}

/* 여러 사진 게시물과 작성 화면 */
.post-media{position:relative}.carousel-track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;border:1px solid #efefef;border-radius:3px;background:#fafafa}.carousel-track::-webkit-scrollbar{display:none}.carousel-track.ratio-portrait{aspect-ratio:4/5}.carousel-track.ratio-square{aspect-ratio:1}.carousel-track.ratio-landscape{aspect-ratio:1.5}.carousel-slide{flex:0 0 100%;width:100%;height:100%;min-width:0;scroll-snap-align:start;scroll-snap-stop:always}.carousel-slide img{display:block;width:100%;height:100%;object-fit:contain}.carousel-count{position:absolute;top:12px;right:12px;background:#0009;color:#fff;border-radius:14px;padding:3px 10px;font-size:12px;pointer-events:none}.carousel-arrow{position:absolute;top:calc(50% - 28px);border:0;border-radius:50%;background:#ffffffea;width:32px;height:32px;display:grid;place-items:center;font-size:25px;line-height:1;box-shadow:0 1px 4px #0003;padding:0}.carousel-arrow.previous{left:10px}.carousel-arrow.next{right:10px}.carousel-arrow:disabled{visibility:hidden}.carousel-dots{display:flex;justify-content:center;align-items:center;gap:0;min-height:24px}.carousel-dots button{width:20px;height:24px;position:relative;border:0;background:none;padding:0}.carousel-dots button:after{content:'';position:absolute;left:7px;top:9px;width:6px;height:6px;border-radius:50%;background:#a8a8a8}.carousel-dots button.active:after{background:#0095f6}.tile-multiple{position:absolute;top:10px;right:10px;color:#fff;filter:drop-shadow(0 1px 2px #0008)}.tile-multiple .icon{width:20px;height:20px;stroke-width:2.5}.upload-previews{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.upload-preview{position:relative;min-width:0;background:#fafafa;border:1px solid #dbdbdb;border-radius:6px;overflow:hidden}.upload-preview>img{width:100%;aspect-ratio:1;object-fit:contain;display:block}.preview-number{position:absolute;top:6px;left:6px;color:#fff;background:#0009;border-radius:3px;padding:2px 6px;font-size:11px}.preview-controls{display:flex;justify-content:center;border-top:1px solid #efefef;background:#fff}.preview-controls button{flex:1;min-height:34px;background:none;border:0;font-size:18px}.preview-controls button:hover{background:#efefef}.preview-controls button:disabled{cursor:default;opacity:.25}.upload-zone>.icon{width:38px;height:38px;stroke-width:1.4}
@media(max-width:767px){.carousel-track{border-radius:0;border-left:0;border-right:0}.upload-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.preview-controls button{min-height:40px}.carousel-arrow{width:30px;height:30px}.carousel-dots button{width:24px}.carousel-dots button:after{left:9px}}

/* 사진 피드의 미세 반응: 동작 축소 설정에서는 이동·확대를 생략합니다. */
.photo-link{position:relative;display:block;isolation:isolate}.photo-link img{-webkit-user-drag:none;user-select:none}.like-burst{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:4;overflow:hidden}.like-burst>.icon{width:100px;height:100px;fill:#fff;stroke:#fff;stroke-width:.8;filter:drop-shadow(0 2px 8px #0004)}.like-burst i{position:absolute;left:50%;top:50%;width:9px;height:9px;border-radius:50%;background:#fff;opacity:0}.like-burst i:nth-of-type(1){--dx:-64px;--dy:-65px}.like-burst i:nth-of-type(2){--dx:72px;--dy:-57px}.like-burst i:nth-of-type(3){--dx:82px;--dy:8px}.like-burst i:nth-of-type(4){--dx:48px;--dy:74px}.like-burst i:nth-of-type(5){--dx:-52px;--dy:70px}.like-burst i:nth-of-type(6){--dx:-82px;--dy:5px}.photo-loading{background:#f4f4f4}.photo-loading:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,#ffffffa0 50%,transparent 75%);pointer-events:none}.photo-loading img{opacity:0}.photo-ready{opacity:1}.photo-error{min-height:140px;background:#fafafa}.caption-collapsed{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.caption-toggle{border:0;background:none;padding:0;color:#737373;font-size:13px}.feed-skeleton{max-width:470px;margin:0 auto 28px;grid-column:1/-1}.skeleton-head{display:flex;gap:10px;align-items:center;padding:0 0 12px}.skeleton-head>span{width:34px;height:34px;border-radius:50%;background:#eee}.skeleton-head>i{width:120px;height:12px;background:#eee;border-radius:3px}.skeleton-photo{aspect-ratio:1;background:#f2f2f2;position:relative;overflow:hidden}.skeleton-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 25%,#ffffffa0 50%,transparent 75%)}.skeleton-line{width:65%;height:12px;border-radius:3px;background:#eee;margin:14px 0}.skeleton-line.short{width:40%}.grid-page .feed-skeleton{width:100%}.toast-icon{display:flex;align-items:center}.toast-icon .icon{width:20px;height:20px}#toast{gap:10px;align-items:center;opacity:0;pointer-events:none}#toast.toast-visible{opacity:1}#toast>img{width:34px;height:34px;border-radius:3px;object-fit:cover}.upload-status{display:grid;gap:9px;padding:14px;background:#fafafa;border:1px solid #efefef;border-radius:8px}.upload-status progress{width:100%;height:6px;accent-color:#0095f6}.upload-status p{margin:0;font-size:13px;color:#737373}.upload-success{padding:45px 5px;text-align:center}.upload-success>span{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 25px;border:2px solid #0095f6;border-radius:50%;color:#0095f6}.upload-success .icon{width:45px;height:45px;stroke-width:2}.upload-success h2{font-size:21px;font-weight:600}.upload-success p{color:#737373}.is-pending{position:relative}.is-pending:after{content:'';display:inline-block;width:13px;height:13px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;margin-left:9px}a[href="/notifications"]{position:relative}.notification-badge{position:absolute;top:4px;left:28px;min-width:17px;height:17px;border-radius:10px;background:#ff3040;color:white;padding:0 4px;font-size:10px;line-height:17px;text-align:center;border:1px solid #fff}.topbar .notification-badge{top:0;left:16px}.bottom-nav .notification-badge{top:4px;left:calc(50% + 4px)}.post-actions button:disabled{opacity:1;cursor:wait}
@media(prefers-reduced-motion:no-preference){
 .like-burst>.icon{animation:heart-burst 950ms cubic-bezier(.22,.8,.3,1) both}.like-burst i{animation:heart-spark 650ms 70ms ease-out both}.fx-like{animation:reaction-pop 480ms ease-out}.fx-save{animation:save-pop 450ms ease-out}.fx-pop{animation:reaction-pop 350ms ease-out}.fx-count{display:inline-block;animation:count-pop 300ms ease-out}.fx-error{animation:error-shake 260ms ease-out}.fx-enter{animation:feed-enter 260ms ease-out}.fx-comment{animation:comment-highlight 1400ms ease-out}.post-actions button,.sidebar nav a .icon,.bottom-nav a .icon,.preview-controls button{transition:transform .16s,color .16s}.post-actions button:active,.bottom-nav a:active .icon,.sidebar nav a:active .icon{transform:scale(.86)}.people-ring{transition:transform .18s}.people-link:hover .people-ring{transform:scale(1.04)}.carousel-dots button:after{transition:background .18s,transform .18s}.carousel-dots button.active:after{transform:scale(1.25)}.carousel-count{transition:opacity .2s}.photo-ready{animation:photo-reveal .25s ease-out}.photo-loading:after,.skeleton-photo:after{animation:shimmer 1.4s linear infinite}.upload-preview{animation:feed-enter .2s ease-out}.upload-success>span{animation:reaction-pop .55s ease-out}.is-pending:after{animation:spinner .7s linear infinite}#toast{transform:translate(-50%,9px);transition:opacity .18s,transform .18s}#toast.toast-visible{transform:translate(-50%,0)}dialog[open]{animation:dialog-enter .18s ease-out}dialog[open]::backdrop{animation:backdrop-enter .18s ease-out}dialog.fx-closing{animation:dialog-leave .17s ease-in forwards}dialog.fx-closing::backdrop{animation:backdrop-enter .17s ease-in reverse forwards}
}
@keyframes heart-burst{0%{opacity:0;transform:scale(.15) rotate(-18deg)}18%{opacity:1;transform:scale(1.18) rotate(9deg)}34%{transform:scale(.96) rotate(-4deg)}48%{transform:scale(1.04) rotate(0)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.6) translateY(-20px)}}
@keyframes heart-spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}20%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.2)}}
@keyframes reaction-pop{0%,100%{transform:scale(1)}35%{transform:scale(1.28)}65%{transform:scale(.9)}}
@keyframes save-pop{0%,100%{transform:translateY(0) scale(1)}35%{transform:translateY(-5px) scale(1.14)}70%{transform:translateY(1px)}}
@keyframes count-pop{0%{opacity:.35;transform:translateY(5px)}100%{opacity:1;transform:translateY(0)}}
@keyframes error-shake{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
@keyframes feed-enter{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes photo-reveal{from{opacity:.2}to{opacity:1}}
@keyframes comment-highlight{0%{background:#eaf6ff}100%{background:transparent}}
@keyframes shimmer{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@keyframes spinner{to{transform:rotate(360deg)}}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dialog-leave{to{opacity:0;transform:translateY(12px) scale(.98)}}
@keyframes backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:767px){dialog{position:fixed;inset:auto 0 0;margin:0;width:100%;max-width:none;max-height:85dvh;border-radius:16px 16px 0 0;padding-top:35px;padding-bottom:calc(28px + env(safe-area-inset-bottom))}dialog:before{content:'';position:absolute;top:10px;left:calc(50% - 18px);width:36px;height:4px;background:#d4d4d4;border-radius:3px}.like-burst>.icon{width:90px;height:90px}.skeleton-head,.skeleton-line{margin-left:12px}.skeleton-head{margin-right:12px}}
@media(max-width:767px) and (prefers-reduced-motion:no-preference){dialog[open]{animation:sheet-enter .22s ease-out}dialog.fx-closing{animation:sheet-leave .17s ease-in forwards}}
@keyframes sheet-enter{from{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}
@keyframes sheet-leave{to{transform:translateY(60px);opacity:0}}
@media(prefers-reduced-motion:reduce){.like-burst>.icon{opacity:1}.like-burst i{display:none}.fx-enter,.fx-like,.fx-save,.fx-pop,.fx-count,.fx-error,.fx-comment,.photo-ready,.upload-preview,.upload-success>span,dialog,dialog::backdrop{animation:none!important;transition:none!important}.photo-loading:after,.skeleton-photo:after{display:none}html:focus-within{scroll-behavior:auto}}
