:root{--red:#ff382c;--red-dark:#e62e22;--ink:#252327;--muted:#929094;--line:#efedef;--peach:#fff0e9;--bg:#fffdfb;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Noto Sans KR',sans-serif;color:var(--ink);background:#f8f3ef;font-size:var(--font-body);line-height:1.6;font-synthesis:none}
*{box-sizing:border-box}
body{margin:0}
button,input,textarea{font:inherit}
button,a,input,textarea{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button{border:0;background:none;color:inherit}
button:disabled{cursor:wait;opacity:.5}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ff9c7a;outline-offset:3px}
a{text-decoration:none;color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3{letter-spacing:-.055em;line-height:1.45}
h1{font-size:30px}
h2{font-size:23px}
h3{font-size:var(--font-body)}
small{font-size:var(--font-caption)}
img{max-width:100%;display:block}
.icon{width:22px;height:22px;flex-shrink:0;vertical-align:middle}
.red{color:var(--red)}
.muted{color:var(--muted)}
.app{max-width:440px;min-height:100dvh;margin:auto;background:var(--bg);position:relative;padding-bottom:92px;box-shadow:0 0 60px #39291708}
.desktop-note{display:none}
.brand{display:inline-flex;align-items:center;gap:9px;font-size:28px;font-weight:950;letter-spacing:-2px;color:var(--red);line-height:1}
.brand>span{font-size:var(--font-body);color:var(--ink);letter-spacing:-1px;font-weight:850}
.header{height:77px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fffdfbf5;position:sticky;top:0;z-index:10;border-bottom:1px solid #f4f0ed}
.header h1{font-size:18px;letter-spacing:-.04em}
.header-spacer{width:36px}
.icon-button{width:36px;height:36px;display:grid;place-items:center;border-radius:50%}
.avatar{display:inline-flex;justify-content:center;align-items:center;width:38px;height:38px;border-radius:15px;color:#b07c67;background:#f7e7dd;font-size:var(--font-body);font-weight:700;flex-shrink:0}
.avatar.small{width:32px;height:32px;border-radius:50%;font-size:var(--font-label);background:#fff0e8;color:var(--red)}
.avatar.large{width:78px;height:78px;font-size:30px;border-radius:29px;background:#ffe6dd;color:var(--red)}
.tone-0{background:#e9eee7;color:#718868}
.tone-1{background:#f2e9e1;color:#a88268}
.tone-2{background:#eee8f0;color:#9a7d9f}
.tone-3{background:#e6edf4;color:#7f95ac}
.bottom-nav{height:84px;padding:8px 9px max(12px,env(safe-area-inset-bottom));position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:440px;display:flex;justify-content:space-around;align-items:center;z-index:20;background:#ffffffed;border-top:1px solid var(--line);backdrop-filter:blur(15px)}
.nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:58px;min-height:52px;color:var(--text-secondary);padding:0}
.nav-item .icon{width:23px;height:23px}
.nav-item small{font-size:var(--font-caption);letter-spacing:-.4px}
.nav-item.active{color:var(--red);font-weight:750}
.nav-item.active .icon{stroke-width:2.2}
.nav-write{color:#777}
.nav-write>span{width:51px;height:51px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ff6247,var(--red));color:white;box-shadow:0 5px 12px #ff382c30;margin-top:-25px}
.nav-write .icon{width:27px;height:27px}
.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(110deg,#ff4d35,#ff302e);color:#fff;border-radius:14px;min-height:54px;padding:13px 22px;font-weight:750;font-size:var(--font-body);box-shadow:0 5px 13px #ff382c15}
.primary:hover{background:var(--red-dark)}
.primary .icon{width:18px}
.full{width:100%}
.secondary{min-height:45px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #e9e5e3;border-radius:11px;padding:10px 18px;background:white;font-weight:600}
.secondary .icon{width:17px}
.text-button{display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:6px 0;font-size:var(--font-caption);color:var(--red);white-space:nowrap}
.text-button .icon{width:14px;height:14px}
.eyebrow{font-size:var(--font-caption);letter-spacing:1.7px;color:var(--text-secondary);font-weight:750}
.home{padding:0 24px}
.home-intro{text-align:center;padding-top:26px}
.greeting{font-size:var(--font-caption);color:var(--text-secondary);background:#f7efe9;display:inline-flex;align-items:center;gap:6px;border-radius:20px;padding:5px 12px;margin-bottom:17px}
.live-dot{width:5px;height:5px;border-radius:50%;background:#d5a88d}
.home-intro h1{font-size:31px;line-height:1.4;font-weight:850;letter-spacing:-1.9px}
.home-intro p{font-size:var(--font-caption);color:var(--text-secondary);margin-top:12px;line-height:1.8}
.hero-cta{width:100%;min-height:52px;border-radius:30px;margin-top:-2px;position:relative;z-index:2}
.hero-cta .icon{margin-left:8px}
.trash-scene{height:270px;max-width:380px;position:relative;margin:0 auto;isolation:isolate}
.trash-glow{position:absolute;width:210px;height:190px;border-radius:50%;background:radial-gradient(ellipse,#ffd4bc85,transparent 70%);left:50%;top:55px;transform:translateX(-50%)}
.bin-body{position:absolute;z-index:5;width:112px;height:126px;left:50%;top:114px;transform:translateX(-50%);border-radius:6px 6px 27px 27px;background:linear-gradient(100deg,#e82a19 0%,#ff7052 16%,#ff4026 35%,#ef2315 72%,#b81c12 100%);clip-path:polygon(0 0,100% 0,91% 100%,10% 100%);box-shadow:inset 3px 0 3px #ffb295,inset -3px 0 4px #b61a0b;display:flex;gap:10px;padding:23px 17px 16px}
.bin-body i{width:8px;height:83px;border-radius:6px;background:linear-gradient(90deg,#b8190b88,#ff8e5e99);box-shadow:inset 2px 1px 2px #ae1a18,1px 0 1px #ff8a62;transform:rotate(-2deg)}
.bin-body i:nth-child(4),.bin-body i:nth-child(5){transform:rotate(2deg)}
.bin-rim{position:absolute;z-index:7;left:50%;top:106px;transform:translateX(-50%);width:124px;height:21px;border-radius:50%;background:linear-gradient(#ff7857,#f22a1c);border:3px solid #ff5c3c;box-shadow:0 3px 3px #b8222166,inset 0 4px 3px #bc2217}
.bin-rim:after{content:'';display:block;position:absolute;inset:1px 6px 5px;border-radius:50%;background:#b72c1e}
.bin-lid{position:absolute;z-index:4;left:calc(50% + 14px);top:42px;width:111px;height:33px;border-radius:50%;background:linear-gradient(#ff7250,#e72c18 50%,#c51c12);border:4px solid #ff5c3b;transform:rotate(45deg);box-shadow:0 3px 0 #b61c13}
.bin-lid i{position:absolute;width:28px;height:14px;left:35px;top:-13px;border:6px solid #ed3b24;border-bottom:0;border-radius:12px 12px 0 0}
.paper{position:absolute;background:linear-gradient(135deg,#fff 15%,#eee8e4 35%,#fff 43%,#d9d3d1 55%,#fff 70%);clip-path:polygon(18% 0,63% 7%,78% 0,91% 27%,82% 50%,100% 76%,76% 94%,44% 85%,16% 100%,0 67%,7% 41%,0 15%);box-shadow:0 2px 5px #55443830;display:grid;place-items:center;color:var(--red);font-weight:700}
.p1{z-index:8;left:calc(50% - 34px);top:63px;width:63px;height:57px;font-size:34px;transform:rotate(-19deg);text-shadow:0 3px 3px #ab211e33}
.p2{z-index:6;left:calc(50% - 54px);top:78px;width:66px;height:44px;font-size:var(--font-caption);color:#555;transform:rotate(9deg)}
.p3{z-index:3;left:calc(50% + 15px);top:80px;width:45px;height:40px;transform:rotate(28deg)}
.bin-shadow{width:155px;height:18px;position:absolute;left:50%;top:237px;transform:translateX(-50%);background:radial-gradient(ellipse,#d6a18d66,transparent 70%);z-index:-1}
.floating{position:absolute;width:49px;height:45px;display:grid;place-items:center;clip-path:polygon(20% 0,66% 7%,80% 0,100% 35%,85% 63%,96% 80%,60% 100%,27% 91%,0 61%,11% 34%);background:linear-gradient(130deg,#f2efeb,#fff,#eae5e1);color:#a29b96;font-size:var(--font-caption);font-weight:600}
.f1{left:10%;top:34px;transform:rotate(-12deg)}
.f2{right:4%;top:23px;transform:rotate(15deg)}
.f3{left:4%;top:112px;transform:rotate(8deg)}
.f4{right:1%;top:129px;transform:rotate(-16deg)}
.f5{left:15%;top:185px;transform:rotate(-12deg);width:40px;height:37px}
.f6{right:11%;top:201px;font-size:var(--font-caption);width:36px;height:33px}
.twinkle{position:absolute;color:#ff7a51;font-size:19px}
.t1{left:26%;top:82px}
.t2{right:22%;top:164px;font-size:var(--font-body)}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}
.quick-grid button{display:flex;flex-direction:column;align-items:center;padding:15px 3px 12px;background:white;border:1px solid #f0ebe7;border-radius:16px;box-shadow:0 3px 10px #4c372504}
.quick-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:12px;margin-bottom:9px}
.peach{background:#fff0e6;color:#d68d68}
.pink{background:#ffeceb;color:#ef7069}
.yellow{background:#fff5df;color:#c79d52}
.quick-icon .icon{width:21px;height:21px}
.quick-grid strong{font-size:var(--font-caption);letter-spacing:-.5px}
.quick-grid small{font-size:var(--font-caption);color:var(--text-secondary);margin-top:3px;letter-spacing:-.3px}
.home-feed{margin-top:30px}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px}
.section-title h2{font-size:var(--font-body);letter-spacing:-.7px;margin-top:4px}
.section-title .text-button{font-size:var(--font-caption);align-self:flex-end}
.home-feed-list{margin-top:14px}
.home-feed .post-card{border:1px solid #f1ece7;border-radius:17px;margin-bottom:12px;padding:17px;background:white}
.home-feed .post-body{font-size:var(--font-label);-webkit-line-clamp:2}
.gentle-note{font-size:var(--font-caption);color:var(--text-secondary);text-align:center;margin:27px 0 12px;display:flex;align-items:center;justify-content:center;gap:6px}
.gentle-note .icon{width:14px}
.page-intro{padding:25px 0 21px}
.page-intro h2{font-size:25px;margin-top:8px}
.page-intro p{font-size:var(--font-caption);color:var(--text-secondary);margin-top:9px}
.list-page{padding:0 22px}
.compose-banner{padding:17px 13px;background:#fff0e9;display:flex;gap:12px;text-align:left;border-radius:15px;width:100%;margin-bottom:22px;align-items:center}
.compose-symbol{width:37px;height:37px;border-radius:50%;background:white;color:var(--red);display:grid;place-items:center}
.compose-banner strong{display:block;font-size:var(--font-caption)}
.compose-banner small{font-size:var(--font-caption);color:var(--text-secondary)}
.compose-banner>.icon{margin-left:auto;width:16px;color:#ce9c88}
.chips{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:3px 1px 8px}
.chips::-webkit-scrollbar{display:none}
.chip{border-radius:22px;padding:7px 15px;white-space:nowrap;background:#f3f1ef;color:#8b8583;font-size:var(--font-caption);min-height:34px;display:inline-flex;align-items:center;gap:6px}
.chip.selected{background:var(--red);color:white;box-shadow:0 3px 8px #ff382c1a}
.list-label{display:flex;justify-content:space-between;font-size:var(--font-caption);font-weight:700;margin-top:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.list-label span{font-size:var(--font-caption);font-weight:400;color:var(--text-secondary)}
.post-card{padding:20px 0;border-bottom:1px solid var(--line)}
.post-top{display:flex;justify-content:space-between;align-items:center}
.post-author{display:flex;gap:9px;padding:0;align-items:center;text-align:left}
.post-author strong{display:block;font-size:var(--font-caption)}
.post-author small{display:block;color:var(--text-secondary);font-size:var(--font-caption);margin-top:1px}
.tag{display:inline-block;background:#fff0ec;color:#f47870;font-size:var(--font-caption);font-weight:650;border-radius:7px;padding:4px 7px}
.post-body{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;width:100%;text-align:left;padding:14px 0 0;font-size:var(--font-body);line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:-.25px}
.post-actions{display:flex;gap:19px;margin-top:14px;align-items:center;color:var(--text-secondary);font-size:var(--font-caption)}
.post-actions button{display:flex;align-items:center;gap:5px;padding:2px 0}
.post-actions .icon{width:17px;height:17px}
.post-actions .liked{color:var(--red)}
.post-actions .liked .icon{fill:#ff382c}
.post-more{margin-left:auto}
.post-photo-button{position:relative;display:block;width:100%;padding:0;margin-top:13px}
.post-photo-button>span{position:absolute;bottom:10px;right:10px;background:#0008;color:#fff;padding:3px 8px;border-radius:7px}
.post-photo{max-height:230px;object-fit:cover;width:100%;border-radius:12px}
.private-label{display:flex;gap:5px;align-items:center;font-size:var(--font-caption)}
.hidden-notice{font-size:var(--font-caption);color:var(--text-secondary);background:#f8f2ee;padding:8px;border-radius:7px;margin-top:8px}
.empty{text-align:center;padding:35px 8px}
.empty>span{display:grid;place-items:center;margin:0 auto 15px;width:55px;height:55px;background:#f9eee7;border-radius:20px;color:#d6a892}
.empty h3{font-size:var(--font-body)}
.empty p{font-size:var(--font-caption);color:var(--text-secondary);margin-top:8px;line-height:1.8}
.empty .text-button{margin-top:12px}
.loading{text-align:center;padding:35px 0;color:var(--text-secondary);font-size:var(--font-caption)}
.write-page{padding:0 24px}
.write-heading{padding:27px 0 23px}
.write-heading h2{font-size:26px;margin-top:6px}
.write-heading p{color:var(--text-secondary);font-size:var(--font-caption);line-height:1.8;margin-top:8px}
fieldset{margin:0;padding:0;border:0}
legend{font-weight:750;font-size:var(--font-label);margin-bottom:11px}
legend span{font-weight:400;font-size:var(--font-caption);color:var(--text-secondary);margin-left:7px}
.write-page .chips{flex-wrap:wrap;gap:8px;overflow:visible}
.write-page .chip{padding:8px 12px;background:#fff;border:1px solid #eee7e2;color:#8a7b72;font-size:var(--font-caption)}
.write-page .chip.selected{background:#fff0e9;color:var(--red);border-color:#ff8e76;box-shadow:none}
.emotion-dot{width:7px;height:7px;border-radius:50%;background:#d7adcf}
.e1{background:#edaa8c}
.e2{background:#a9b8d0}
.e3{background:#e49394}
.e4{background:#d3bc8d}
.e5{background:#a7bdac}
.writing-box{border:1px solid #eee6df;border-radius:17px;background:#fff;margin-top:19px;overflow:hidden}
.writing-box textarea{border:0;padding:19px 17px;min-height:210px;width:100%;resize:vertical;line-height:1.9;font-size:var(--font-body);color:var(--ink);background:transparent}
.writing-box textarea::placeholder{color:#beb1a8}
.writing-box textarea:focus{outline:0}
.writing-box:focus-within{border-color:#ffaf9b;box-shadow:0 0 0 2px #ffebe5}
.writing-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 17px;color:var(--text-secondary);font-size:var(--font-caption)}
.photo-add{cursor:pointer;display:flex;align-items:center;justify-content:center;width:35px;height:32px;color:var(--text-secondary)}
.field-help{font-size:var(--font-caption);color:var(--text-secondary);margin-top:8px}
.photo-previews{display:flex;gap:8px;margin-top:10px}
.photo-previews>div{position:relative;width:78px;height:78px}
.photo-previews img{width:100%;height:100%;object-fit:cover;border-radius:10px}
.photo-previews button{position:absolute;top:3px;right:3px;background:#0008;color:white;width:22px;height:22px;border-radius:50%;padding:3px;display:grid;place-items:center}
.photo-previews .icon{width:15px;height:15px}
.visibility-field{margin-top:25px}
.visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.visibility-options label{cursor:pointer}
.visibility-options input{position:absolute;opacity:0}
.visibility-options span{display:flex;gap:7px;align-items:center;justify-content:center;background:#f1efed;border:1px solid transparent;border-radius:11px;padding:12px;color:var(--text-secondary);font-size:var(--font-caption)}
.visibility-options input:checked+span{border-color:#ffb09b;color:var(--red);background:#fff0e9;font-weight:750}
.visibility-options input:focus-visible+span{outline:3px solid #ff9c7a}
.visibility-options .icon{width:17px;height:17px}
.form-error{font-size:var(--font-caption);color:#dc3b31;min-height:20px;margin:9px 0}
.save-note{text-align:center;color:var(--text-secondary);font-size:var(--font-caption);margin-top:15px}
.save-note .icon{width:11px;height:11px;margin-right:3px}
.profile-page{padding:0 24px}
.profile-heading{padding:37px 0 30px;text-align:center}
.profile-heading h2{font-size:23px;margin-top:15px}
.profile-heading p{font-size:var(--font-caption);color:var(--text-secondary);margin-top:3px}
.profile-badge{background:#f8eee7;color:var(--text-secondary);font-size:var(--font-caption);padding:6px 11px;border-radius:30px;display:inline-flex;align-items:center;gap:5px;margin-top:15px}
.profile-badge .icon{width:13px;height:13px}
.settings-card{background:white;border:1px solid #efe9e4;border-radius:17px;padding:0 15px}
.settings-card button{display:flex;align-items:center;gap:12px;width:100%;padding:20px 0;border-bottom:1px solid #f3efeb;font-size:var(--font-label);text-align:left}
.settings-card button:last-child{border:0}
.settings-card button>.icon:first-child{width:19px;color:var(--text-secondary)}
.settings-card button>.icon:last-child{margin-left:auto;width:15px;color:#c7bfb9}
.profile-message{text-align:center;padding:45px 0 15px}
.profile-message p{font-size:var(--font-caption);color:var(--text-secondary);margin-top:12px}
.profile-message small{color:var(--text-secondary);font-size:var(--font-caption)}
.auth-page{padding:30px 29px 10px}
.auth-page>.brand{font-size:29px}
.auth-art .trash-scene{height:215px;transform:scale(.8);transform-origin:center center;margin:-12px auto -16px}
.auth-art .floating{opacity:.65}
.auth-page h1{font-size:29px;margin-top:9px;line-height:1.45}
.auth-page>.muted{font-size:var(--font-caption);line-height:1.8;margin-top:11px}
.auth-tabs{display:flex;gap:26px;border-bottom:1px solid #eee4dc;margin-top:26px;margin-bottom:20px}
.auth-tabs button{padding:0 1px 11px;color:var(--text-secondary);font-size:var(--font-body);font-weight:650}
.auth-tabs button.active{color:var(--ink);border-bottom:2px solid var(--red)}
form>label{display:block;font-size:var(--font-caption);font-weight:650;margin-top:12px}
input:not([type=radio]):not([type=file]){display:block;border:1px solid #ebe5df;border-radius:11px;background:#fff;width:100%;padding:14px 13px;margin-top:6px;color:var(--ink);font-size:var(--font-label);min-width:0}
input::placeholder{color:#c0b4ad}
input:not([type=radio]):focus{border-color:#ff9e87;outline:none;box-shadow:0 0 0 2px #fff0ea}
.auth-foot{display:block;color:var(--text-secondary);font-size:var(--font-caption);text-align:center;margin-top:24px}
.modal-open{overflow:hidden}
.modal-backdrop{position:fixed;inset:0;background:#261b164a;backdrop-filter:blur(4px);z-index:50;display:flex;align-items:center;justify-content:center;padding:22px}
.modal{position:relative;background:var(--bg);border-radius:23px;width:100%;max-width:390px;padding:30px 24px;max-height:85dvh;overflow-y:auto;box-shadow:0 25px 100px #38221530}
.modal h2{font-size:22px;padding-right:20px}
.modal>.muted{font-size:var(--font-caption);line-height:1.8;margin:12px 0 20px}
.modal-close{position:absolute;right:12px;top:11px;color:var(--text-secondary)}
.detail-modal{padding:31px 22px}
.detail-title{padding:5px 0 0}
.detail-title h2{font-size:22px;margin-top:4px}
.detail-modal .post-body{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:var(--font-body)}
.detail-modal .post-card{border:0;padding-bottom:12px}
.detail-modal .post-photo{max-height:350px;object-fit:contain;background:#f5f0eb}
.owner-actions{display:flex;justify-content:space-between;align-items:center;margin:5px 0 18px}
.danger{color:var(--text-secondary)}
.response-button{background:#fff0e7;border:1px solid #ffe0d1;border-radius:12px;color:var(--text-secondary);display:flex;align-items:center;gap:7px;width:100%;padding:14px 11px;font-size:var(--font-caption);font-weight:650}
.response-button>.icon:first-child{width:18px}
.response-button>.icon:last-child{margin-left:auto;width:14px}
.response-message{margin-top:12px;padding:17px;background:#faf1e9;border-radius:13px}
.response-message>.icon{color:#eea080;width:17px;margin-right:5px}
.response-message strong{font-size:var(--font-caption);color:var(--text-secondary)}
.response-message p{font-size:var(--font-label);line-height:1.95;color:#8e7666;margin-top:10px;word-break:keep-all}
.response-message small{display:block;color:var(--text-secondary);font-size:var(--font-caption);margin-top:10px}
.comments{margin-top:23px;border-top:1px solid var(--line);padding-top:20px}
.comments h3{font-size:var(--font-body)}
.comments h3 span{color:var(--red);font-size:var(--font-caption);margin-left:4px}
.comment{display:flex;gap:8px;align-items:flex-start;margin-top:19px}
.comment>div{flex:1;min-width:0}
.comment strong{font-size:var(--font-caption)}
.comment strong small{font-weight:400;color:var(--text-secondary);font-size:var(--font-caption);margin-left:5px}
.comment p{font-size:var(--font-caption);line-height:1.8;margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere}
.comment>.text-button{font-size:var(--font-caption);color:var(--text-secondary)}
.comments-empty{font-size:var(--font-caption);color:var(--text-secondary);text-align:center;padding:28px 0}
#comment-form{display:flex;gap:6px;align-items:center;margin-top:19px}
#comment-form input{margin:0;font-size:var(--font-caption);padding:13px 10px}
#comment-form .primary{min-height:44px;padding:0;width:42px;flex-shrink:0;border-radius:11px}
.dialog-symbol{color:#d9ad94;background:#f9ece0;width:48px;height:48px;display:grid;place-items:center;border-radius:16px;margin-bottom:15px}
.modal>.secondary{margin-top:9px}
.report-option{display:flex;gap:10px;align-items:center;border:1px solid #eee5df;padding:12px;border-radius:10px;font-size:var(--font-caption)}
.report-option input{accent-color:var(--red)}
#toast{position:fixed;left:50%;bottom:105px;transform:translate(-50%,15px);background:#39312fec;color:white;padding:12px 18px;max-width:calc(100% - 36px);width:max-content;border-radius:13px;font-size:var(--font-caption);z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;box-shadow:0 5px 25px #30201520}
#toast.visible{opacity:1;transform:translate(-50%,0)}
.admin-page{padding:25px 22px}
.admin-page h2{font-size:23px;margin-top:7px}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}
.stat-grid>div{border:1px solid #eee4dc;border-radius:13px;background:white;padding:15px 10px}
.stat-grid small{color:var(--text-secondary);display:block;font-size:var(--font-caption)}
.stat-grid strong{font-size:26px;color:var(--red)}
.admin-tabs{display:flex;gap:7px}
.admin-tabs .chip{font-size:var(--font-caption);padding:8px 12px}
.admin-rows article{border:1px solid #eee6df;background:white;padding:17px;border-radius:14px;margin-top:12px}
.admin-rows h3{font-size:var(--font-body);margin-top:8px}
.admin-body{font-size:var(--font-label);margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.admin-rows small{color:var(--text-secondary);font-size:var(--font-caption)}
.admin-rows .secondary{font-size:var(--font-caption);margin-top:14px}[hidden]{display:none!important}
@media(min-width:900px){body{padding-right:calc((100vw - 900px)/2)}
.app{margin-right:0;min-height:100dvh;box-shadow:0 0 80px #604a3810}
.bottom-nav{left:auto;right:calc((100vw - 900px)/2);transform:none}
.desktop-note{position:fixed;display:block;top:0;bottom:0;left:max(40px,calc((100vw - 1040px)/2));width:380px;padding:66px 20px;overflow:hidden}
.desktop-note .brand{font-size:43px}
.desktop-note .brand>span{font-size:19px}
.desktop-note>p{font-weight:800;font-size:39px;line-height:1.5;letter-spacing:-2.4px;margin-top:100px}
.desktop-note>small{display:block;color:var(--text-secondary);line-height:1.9;letter-spacing:.5px;margin-top:27px;font-size:var(--font-label)}
.desktop-orbit{font-size:190px;color:#ffdfcf;line-height:1.2;transform:rotate(-15deg);margin:30px 0 0 100px}
.desktop-bottom{position:absolute;bottom:55px;font-size:var(--font-caption);color:var(--text-secondary)}
#toast{left:auto;right:calc((100vw - 900px)/2 + 24px);transform:translateY(15px);max-width:392px}
#toast.visible{transform:translateY(0)}}
@media(max-width:359px){.home,.write-page,.list-page{padding-left:17px;padding-right:17px}
.home-intro h1{font-size:28px}
.quick-grid small{font-size:var(--font-caption)}
.quick-grid strong{font-size:var(--font-caption)}
.nav-item{min-width:50px}
.home-feed .section-title h2{font-size:var(--font-label)}
.header{padding:0 18px}
.brand>span{font-size:var(--font-label)}
.trash-scene{height:260px}
.auth-page{padding:26px 22px}
.modal-backdrop{padding:12px}
.write-page .chip{font-size:var(--font-caption);padding:8px 10px}}
.detail-photos{display:grid;gap:10px;margin-top:15px}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
