#app,#auth-screen{position:fixed;inset:0}.page,body,html{overflow:hidden}.action-item:active,.activity-comment-item:active,.compose-close-btn:hover,.day-col:hover,.icon-btn:hover,.inq-list-item:active,.mark-all-btn:hover,.menu-item:hover,.notify-item:hover,.plan-item:hover,.post-menu-btn:active,.profile-post-item:active,body,html{background:var(--bg)}.btn-google,.day-col,.icon-btn,.inner-tab,button{cursor:pointer}*,.btn-google,.card-action-btn,::after,::before{-webkit-tap-highlight-color:transparent}.post-card,.routine-item-wrap{box-shadow:0 1px 3px rgba(0,0,0,.05)}.auth-logo .auth-desc,.auth-logo h1,.empty-state,.error-msg,.guest-warning,.profile-card,.stat-card,.swipe-hint{text-align:center}.notify-post,.plan-item-desc,.routine-card-name,.routine-detail-text{text-overflow:ellipsis}.comment-content,.inq-bubble,.pd-content,.post-content{word-break:break-word}*,::after,::before{box-sizing:border-box;margin:0;padding:0}:root{--blue:#00BFFF;--blue-dark:#0099CC;--blue-light:#E0F9FF;--blue-glow:rgba(0,191,255,0.25);--bg:#f5f5f7;--white:#ffffff;--text:#1a1a1a;--text-secondary:#6b7280;--text-muted:#9ca3af;--border:#f0f0f2;--nav-h:68px;--radius:14px}body,html{height:100%;font-family:-apple-system,BlinkMacSystemFont,Pretendard,'Segoe UI',sans-serif;color:var(--text);font-size:16px;line-height:1.5}.compose-textarea,.inq-add-textarea,.inquiry-textarea,button,input,select,textarea{font-family:inherit}.hidden,.hidden-page{display:none!important}#auth-screen{background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:60px 32px 52px;z-index:100}.auth-logo-section{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.auth-bottom,.btn-google{width:100%;display:flex;gap:12px}.auth-logo h1{font-size:34px;font-weight:900;color:var(--blue);letter-spacing:-.5px;margin-bottom:10px}.auth-logo .auth-subtitle{font-size:16px;font-weight:600;color:var(--text);margin-bottom:6px;text-align:center}.auth-logo .auth-desc{font-size:14px;color:var(--text-muted)}.auth-bottom{flex-direction:column}.btn-google{padding:17px 20px;background:#4285f4;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;align-items:center;justify-content:center;transition:opacity .15s,transform .15s;touch-action:manipulation}.btn-google:active{opacity:.88;transform:scale(.98)}.error-msg{font-size:13px;min-height:18px;color:#ff6b6b}.page{position:absolute;inset:0;bottom:var(--nav-h);display:none;flex-direction:column;content-visibility:auto;contain-intrinsic-size:1000px}.page.active{display:flex;content-visibility:visible}.compose-page{bottom:0!important;z-index:90;background:var(--white)}.compose-page.active{display:flex!important}.page-inner{flex:1;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:24px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-h);background:var(--white);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around;z-index:50}.nav-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 0;background:0 0;border:none;color:var(--text-muted);transition:color .2s}.month-btn,.routine-header{display:flex;align-items:center}.nav-btn span{font-size:11px;font-weight:500}.comment-like-action:active,.comment-reply-btn:active,.day-col.today .day-name,.nav-btn.active,.pd-action-btn.scrapped,.post-action-btn.scrapped{color:var(--blue)}.nav-btn.active svg{stroke:var(--blue)}.routine-header{justify-content:space-between;padding:16px 20px 12px;background:var(--white)}.month-btn{gap:6px;background:0 0;border:none;font-size:20px;font-weight:800;color:var(--text);letter-spacing:-.3px}.header-actions,.streak-badge{align-items:center;display:flex}.header-actions{gap:6px}.streak-badge{gap:3px;background:#fff7ed;border:1.5px solid #fed7aa;border-radius:20px;padding:5px 11px;font-size:13px;font-weight:700;color:#ea580c}.day-name,.day-num,.inner-tab{font-weight:500}.icon-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:0 0;border:none;border-radius:8px;color:var(--text-secondary)}.day-col,.day-num{border-radius:10px}.week-calendar{background:var(--white);padding:4px 16px 14px;touch-action:pan-y;user-select:none}.week-days{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.day-col{display:flex;flex-direction:column;align-items:center;gap:5px;padding:6px 2px;transition:background .15s}.day-name{font-size:12px;color:var(--text-muted)}.day-num{width:34px;height:34px;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text-secondary);transition:.15s}.day-col.today .day-num,.inner-tab.active{color:var(--blue);font-weight:700}.day-col.selected .day-num{background:var(--text);color:#fff;font-weight:700}.day-col.selected.today .day-num{background:var(--blue);color:#fff}.day-dot{width:5px;height:5px;border-radius:50%;background:0 0;transition:background .15s}.empty-icon,.empty-icon svg{width:56px;height:56px}.day-col.has-routine .day-dot{background:var(--blue)}.inner-tabs{display:flex;background:var(--white);border-bottom:1px solid var(--border)}.inner-tab{flex:1;padding:13px;background:0 0;border:none;font-size:15px;color:var(--text-muted);position:relative;transition:color .2s}.clear-banner,.routine-card{align-items:center;display:flex}.inner-tab.active::after{content:'';position:absolute;bottom:0;left:16%;right:16%;height:2.5px;background:var(--blue);border-radius:2px}.routine-content{background:var(--bg);min-height:100%;padding:14px 16px}.clear-banner{gap:10px;background:var(--blue-light);border:1.5px solid rgba(0,191,255,.25);border-radius:14px;padding:14px 18px;margin-bottom:14px}.clear-banner-icon{font-size:28px}.clear-banner-text h4{font-size:15px;font-weight:700;color:var(--blue-dark)}.clear-banner-text p{font-size:13px;color:var(--text-secondary)}.empty-icon,.empty-state p,.swipe-hint{color:var(--text-muted)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:72px 24px 40px}.empty-icon{margin-bottom:16px;opacity:.3}.empty-state p{font-size:15px;line-height:1.7}.routine-item-wrap{position:relative;margin-bottom:10px;border-radius:var(--radius);overflow:hidden}.routine-card-actions{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:stretch;z-index:0}.card-action-btn{width:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:none;font-size:12px;font-weight:600;cursor:pointer;touch-action:manipulation;transition:filter .1s;user-select:none}.card-action-btn.edit{background:#eef2f6;color:#4a6080}.card-action-btn.delete{background:#fef2f2;color:#e05252}.card-action-btn:active{filter:brightness(.8)}.card-action-btn svg{display:block}.routine-card{position:relative;background:var(--white);border-radius:0;padding:14px 16px;gap:10px;transform:translateX(0);transition:transform .22s;z-index:1;touch-action:pan-y;will-change:transform}.swipe-hint{font-size:11px;padding:8px 0 4px;opacity:.7}.routine-card.swiped{transform:translateX(-160px)}.guest-warning{font-size:12px;color:#ef4444;padding:8px 16px 4px}.drag-handle{display:flex;align-items:center;justify-content:center;color:var(--text-muted);padding:4px 2px 4px 0;flex-shrink:0;touch-action:none;cursor:grab}.drag-handle:active{cursor:grabbing}.routine-card-inner{flex:1;display:flex;align-items:center;gap:11px;min-width:0}.routine-check{width:26px;height:26px;border-radius:8px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;background:0 0;font-size:13px;font-weight:700;color:transparent;transition:.2s;will-change:transform,background-color}.routine-check.checked{background:var(--blue);border-color:var(--blue);color:#fff;box-shadow:0 2px 8px var(--blue-glow)}.category-filter-bar,.simple-header{border-bottom:1px solid var(--border);display:flex}.comment-body,.compose-input-area,.notify-content,.plan-item-info,.profile-post-main,.routine-card-info,.sk-routine-info{flex:1;min-width:0}.routine-card-name{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden}.routine-detail-text,.routine-time-text{font-size:12px;color:var(--text-muted);white-space:nowrap}.routine-card-name.done{text-decoration:line-through;color:var(--text-muted)}.routine-card-meta-row{display:flex;align-items:center;gap:4px;margin-top:2px;overflow:hidden;min-width:0}.routine-detail-text{flex:1;min-width:0;overflow:hidden}.routine-time-text{flex-shrink:0}.drag-placeholder{height:2px;background:var(--blue);border-radius:2px;margin:4px 0}.cat-pill,.category-filter-bar,.post-card,.simple-header{background:var(--white)}.simple-header{align-items:center;justify-content:space-between;padding:20px 20px 14px}.simple-header h2{font-size:20px;font-weight:800;letter-spacing:-.3px}.category-filter-bar{padding:10px 16px;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.avatar,.menu-list,.plan-item-desc,.post-slideshow,.ptr-indicator{overflow:hidden}.category-filter-bar::-webkit-scrollbar{display:none}.cat-pill{flex-shrink:0;padding:7px 16px;border-radius:20px;border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:.15s}.ptr-spinner,.type-btn{border:2px solid var(--border)}.cat-pill.active,.day-btn.active,.location-pill.active,.picker-month-btn.active{border-color:var(--blue);background:var(--blue);color:#fff}.ptr-indicator{height:0;display:flex;align-items:center;justify-content:center;gap:8px;opacity:0;color:var(--text-muted);font-size:13px}.ptr-spinner{width:18px;height:18px;border-top-color:var(--blue);border-radius:50%;flex-shrink:0}.ptr-spinning .ptr-spinner{animation:.75s linear infinite spin}.post-card{border-radius:var(--radius);padding:16px;cursor:pointer;transition:transform .12s,background-color .12s}.avatar,.slide-btn{border-radius:50%;display:flex}.fab,.setup-avatar{box-shadow:0 4px 16px var(--blue-glow)}.post-card:active{transform:scale(.98);background-color:#f5f5f7}.post-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.avatar{width:40px;height:40px;background:var(--blue);align-items:center;justify-content:center;font-size:17px;color:#fff;font-weight:700;flex-shrink:0}.post-image,.post-slideshow{border-radius:10px;margin-bottom:10px}.avatar img,.comment-avatar img,.notify-avatar img,.profile-post-thumb img{width:100%;height:100%;object-fit:cover}.pd-actions-spacer,.pd-user-info,.post-user-info{flex:1}.post-username{font-size:14px;font-weight:700}.picker-routine-meta,.post-time,.rc-item-meta{font-size:12px;color:var(--text-muted)}.post-image{width:100%;object-fit:cover;max-height:280px}.post-slideshow{position:relative;background:#111;cursor:pointer}.slides-track{position:relative;width:100%;aspect-ratio:4/3}.slide,.slide-btn,.slide-counter,.slide-dots{position:absolute}.slide{inset:0;opacity:0;transition:opacity .28s;will-change:opacity}.detail-slideshow.imgs-loaded .slide.active img,.pd-img-wrap.loaded img,.slide.active{opacity:1}.photo-preview-item img,.slide img{width:100%;height:100%;object-fit:cover;display:block}.slide-btn{top:50%;transform:translateY(-50%);width:32px;height:32px;background:rgba(0,0,0,.45);border:none;color:#fff;font-size:22px;line-height:1;align-items:center;justify-content:center;cursor:pointer;z-index:2}.slide-btn.prev{left:8px}.slide-btn.next{right:8px}.slide-dots{bottom:9px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2}.slide-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);border:none;cursor:pointer;padding:0;transition:background .2s}.slide-dot.active{background:#fff}.slide-counter{top:8px;right:8px;background:rgba(0,0,0,.5);color:#fff;font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;z-index:2}.detail-slideshow .slides-track{aspect-ratio:1/1}.post-content{font-size:14px;line-height:1.65;color:var(--text);margin-bottom:12px;white-space:pre-wrap}.post-more-btn{color:#00bfff;font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap}.post-cat-badge,.post-routine-chip{font-size:11px;font-weight:700;border-radius:6px}.post-chips{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px;align-items:center}.post-cat-badge{display:inline-block;padding:2px 8px;background:var(--blue-light);color:var(--blue-dark)}.post-routine-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;background:#f0fdf4;color:#16a34a;border:1px solid #bbf7d0}.community-sort-bar{display:flex;align-items:center;justify-content:flex-end;padding:8px 16px 4px}.sort-bar-btn{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--text-secondary);background:0 0;border:1px solid var(--border);border-radius:14px;padding:4px 10px;cursor:pointer;transition:.12s}.post-action-btn,.post-action-stat{color:var(--text-muted);font-size:13px}.sort-bar-btn.active{color:var(--blue);border-color:var(--blue);background:var(--blue-light)}.sort-bar-btn:active{opacity:.7}.post-actions{display:flex;gap:16px;align-items:center}.post-action-stat{display:inline-flex;align-items:center;gap:4px}.post-action-btn{display:flex;align-items:center;gap:5px;background:0 0;border:none;cursor:pointer;padding:4px 0;transition:color .2s}.post-action-btn:hover,.search-clear:hover{color:var(--text)}.action-item.danger,.comment-like-action.liked,.menu-item.danger .menu-item-label,.pd-action-btn.liked,.post-action-btn.liked{color:#ef4444}#profile-content{padding:18px 16px}.profile-card{background:var(--white);border-radius:var(--radius);padding:24px;margin-bottom:14px}.edit-avatar-preview,.profile-avatar{background:var(--blue);align-items:center}.profile-avatar,.profile-img{margin:0 auto 12px;width:80px;height:80px;border-radius:50%}.profile-avatar{display:flex;justify-content:center;font-size:38px}.profile-img{object-fit:cover;display:block}.profile-username{font-size:20px;font-weight:800;letter-spacing:-.3px;margin-bottom:4px}.profile-bio{font-size:14px;color:var(--text-secondary)}.profile-location{font-size:12px;color:var(--text-muted);margin-bottom:4px}.edit-location-display{font-size:12px;color:var(--blue);font-weight:600;margin-left:6px}.edit-location-pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.edit-avatar-row{display:flex;justify-content:center;margin-bottom:20px}.edit-avatar-wrap{position:relative;width:80px;height:80px;cursor:pointer;border-radius:50%}.edit-avatar-preview{width:80px;height:80px;border-radius:50%;background-size:cover;background-position:center;display:flex;justify-content:center;font-size:32px;font-weight:700;color:#fff;overflow:hidden}.edit-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:rgba(0,0,0,.38);display:flex;align-items:center;justify-content:center}.profile-edit-btn{margin-top:12px;padding:7px 20px;background:#f3f4f6;border:none;border-radius:20px;font-size:13px;font-weight:600;color:#374151;cursor:pointer}.menu-list,.stat-card{background:var(--white);border-radius:var(--radius)}.profile-edit-btn:active{background:#e5e7eb}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.stat-card{padding:16px 8px}.stat-value{font-size:22px;font-weight:800;color:var(--text)}.stat-label{font-size:11px;color:var(--text-muted);margin-top:3px;font-weight:500}.menu-item{display:flex;align-items:center;padding:15px 18px;border-bottom:1px solid var(--border);cursor:pointer;transition:background .15s}.action-item:last-child,.menu-item:last-child,.picker-routine-row:last-child,.plan-item:last-child,.rc-item:last-child,.routine-detail-row:last-child{border-bottom:none}.menu-item-icon{width:34px;height:34px;background:var(--bg);border-radius:9px;display:flex;align-items:center;justify-content:center;margin-right:12px;color:var(--text-secondary)}.menu-item-icon svg{width:17px;height:17px}.menu-item-label{flex:1;font-size:15px;font-weight:500}.menu-item-arrow{color:var(--text-muted);font-size:18px}.plan-selector-btn{display:inline-flex;align-items:center;background:var(--blue);color:#fff;border:none;border-radius:20px;padding:6px 12px;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s;white-space:nowrap}.routine-plan-desc,.search-bar-wrap{border-bottom:1px solid var(--border)}.plan-selector-btn:active{opacity:.85;transform:scale(.96)}.routine-plan-desc{background:var(--white);padding:8px 20px 10px;min-height:0}.routine-plan-desc:empty{display:none}.routine-plan-desc-text{display:inline-flex;align-items:center;gap:5px;background:var(--bg);border-radius:20px;padding:4px 10px;font-size:12px;color:var(--text-secondary)}.search-bar-wrap{background:var(--white);padding:8px 16px 10px}#comment-text,.search-bar{padding:9px 14px;transition:border-color .2s}.search-bar{display:flex;align-items:center;gap:8px;background:var(--bg);border-radius:12px;border:1.5px solid var(--border)}.search-bar:focus-within{border-color:var(--blue)}.search-bar svg{color:var(--text-muted);flex-shrink:0}.search-bar input{flex:1;border:none;background:0 0;outline:0;font-size:14px;color:var(--text)}.plan-item,.search-clear{align-items:center;display:flex;cursor:pointer}.search-bar input::placeholder{color:var(--text-muted)}.search-clear{background:0 0;border:none;color:var(--text-muted);padding:2px;border-radius:50%;flex-shrink:0}.search-highlight{background:#ffe566;border-radius:2px;padding:0 1px;font-style:normal}.plan-selector-body{gap:0!important;padding:0!important}.plan-item{gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);transition:background .15s}.notify-item.unread,.plan-item.selected{background:#f0f9ff}.plan-item-check{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:11px;font-weight:700;color:transparent;transition:.2s}.picker-routine-check.checked,.plan-item.selected .plan-item-check,.rc-day-btn.active{background:var(--blue);border-color:var(--blue);color:#fff}.plan-item-name{font-size:15px;font-weight:600;color:var(--text)}.plan-item.selected .plan-item-name{color:var(--blue-dark)}.plan-item-desc{font-size:12px;color:var(--text-muted);margin-top:2px;white-space:nowrap}.plan-item-actions{display:flex;gap:4px;flex-shrink:0}.plan-action-btn{width:30px;height:30px;border-radius:8px;border:none;background:var(--bg);color:var(--text-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.15s}.compose-header,.fab{align-items:center;display:flex}.plan-action-btn:hover{background:var(--border);color:var(--text)}.plan-action-btn.danger:hover{background:#fef2f2;color:#ef4444}.fab{position:absolute;right:20px;bottom:20px;width:56px;height:56px;background:var(--blue);border:none;border-radius:50%;justify-content:center;color:#fff;cursor:pointer;transition:transform .15s;z-index:30}.fab:active{transform:scale(.92)}.compose-header{justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.compose-close-btn{width:32px;height:32px;background:0 0;border:none;font-size:18px;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s}.compose-title{font-size:16px;font-weight:700}.compose-post-btn{padding:8px 18px;background:var(--blue);color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .2s,transform .1s}.compose-post-btn:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.compose-post-btn:not(:disabled):active{transform:scale(.96)}.compose-body{flex:1;overflow-y:auto;padding:20px;-webkit-overflow-scrolling:touch}.comment-actions,.compose-author-row{display:flex;gap:14px}.compose-avatar{flex-shrink:0;width:42px;height:42px;font-size:18px}.compose-username{font-size:14px;font-weight:700;margin-bottom:6px;color:var(--text)}.compose-textarea{width:100%;border:none;outline:0;resize:none;font-size:15px;line-height:1.6;color:var(--text);background:0 0;min-height:120px}.compose-attach-row{display:flex;align-items:center;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--border)}.compose-routine-hint{flex:1;font-size:11px;color:var(--text-muted);line-height:1.4}.attach-btn{width:38px;height:38px;background:var(--bg);border:none;border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}.attach-btn:hover{background:var(--blue-light);color:var(--blue-dark)}.photo-preview{margin-top:14px;display:flex;gap:8px;flex-wrap:wrap}.photo-preview-item{position:relative;width:90px;height:90px;border-radius:10px;overflow:hidden;flex-shrink:0}.modal-header,.photo-remove{align-items:center;display:flex}.photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;background:rgba(0,0,0,.6);border:none;border-radius:50%;color:#fff;font-size:12px;cursor:pointer;justify-content:center;line-height:1}.photo-main-badge{position:absolute;bottom:4px;left:4px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;font-weight:600;padding:2px 5px;border-radius:4px}.compose-cat-pill,.photo-add-more{background:var(--bg);cursor:pointer}.photo-add-more{width:90px;height:90px;border-radius:10px;border:1.5px dashed var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:var(--text-muted);font-size:11px;flex-shrink:0}.compose-category-row{margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.compose-category-label{font-size:12px;font-weight:700;color:var(--text-secondary);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.comment-section-label,.form-group label{text-transform:uppercase;letter-spacing:.6px}.compose-cat-pills{display:flex;gap:8px;flex-wrap:wrap}.compose-cat-pill{padding:6px 14px;border-radius:20px;border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);transition:.15s}.compose-cat-pill.active,.tod-btn.active,.type-btn.active{border-color:var(--blue);background:var(--blue-light);color:var(--blue-dark)}.compose-footer,.modal-footer{padding:14px 20px 28px;border-top:1px solid var(--border);flex-shrink:0}.compose-hint{font-size:13px;color:var(--text-muted)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:flex-end;z-index:200;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}.modal-sheet{width:100%;background:var(--white);border-radius:22px 22px 0 0;max-height:92vh;display:flex;flex-direction:column;animation:.28s cubic-bezier(.32,.72,0,1) slideUp;will-change:transform}@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}.modal-handle{width:38px;height:4px;background:var(--border);border-radius:2px;margin:10px auto 0;flex-shrink:0}.modal-header{justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-header h3{font-size:17px;font-weight:700}.modal-close{width:30px;height:30px;background:var(--bg);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer}.modal-body{flex:1;overflow-y:auto;padding:18px 20px;display:flex;flex-direction:column;gap:18px;-webkit-overflow-scrolling:touch}.plan-add-row{padding:12px 20px 28px;display:flex;justify-content:center;border-top:1px solid var(--border)}.plan-add-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 18px;border-radius:20px;border:1.5px dashed var(--blue);background:var(--blue-light);color:var(--blue-dark);font-size:13px;font-weight:700;cursor:pointer;transition:background .15s,transform .1s}.form-group,.type-selector{gap:8px;display:flex}.inquiry-textarea,.type-btn{padding:12px;background:var(--bg)}.plan-add-chip:active{background:rgba(0,191,255,.2);transform:scale(.97)}.form-group{flex-direction:column}.form-group label{font-size:12px;font-weight:700;color:var(--text-secondary)}.form-group input,.form-group textarea{padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;font-size:15px;background:var(--bg);outline:0;color:var(--text);transition:border-color .2s,background .2s}.detail-slideshow img,.pd-img-wrap img{opacity:0;transition:opacity .25s}#comment-text:focus,.form-group input:focus,.form-group textarea:focus,.inquiry-textarea:focus,.setup-field input:focus{border-color:var(--blue);background:var(--white)}.inquiry-textarea{width:100%;min-height:140px;border:1.5px solid var(--border);border-radius:12px;font-size:14px;resize:none;outline:0;line-height:1.6}.inquiry-char-count{font-size:11px;color:var(--text-muted);text-align:right;margin-top:4px}.type-btn{flex:1;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;color:var(--text-secondary);transition:.15s}.day-btn,.meal-btn,.tod-btn{background:var(--bg);font-size:13px;font-weight:600;color:var(--text-secondary);transition:.15s;cursor:pointer}.meal-time-selector,.tod-selector{display:flex;gap:6px;flex-wrap:wrap}.meal-btn,.tod-btn{padding:8px 14px;border:2px solid var(--border);border-radius:20px}.meal-btn.active{border-color:#16a34a;background:#dcfce7;color:#16a34a}.days-selector{display:flex;gap:6px}.day-btn{width:36px;height:36px;border-radius:50%;border:2px solid var(--border)}.btn-primary{width:100%;padding:14px;background:var(--blue);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:opacity .15s,transform .1s}.btn-primary:active{transform:scale(.98);opacity:.9}.picker-year-row{display:flex;align-items:center;justify-content:center;gap:24px;padding:4px 0 8px}.picker-year-btn{width:40px;height:40px;border-radius:50%;border:none;background:var(--bg);font-size:22px;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}.picker-year-btn:hover,.rc-dl-btn:active{background:var(--border)}#picker-year-display{font-size:22px;font-weight:800;color:var(--text);min-width:80px;text-align:center}.picker-months{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px 0}.picker-month-btn{padding:14px 8px;border-radius:12px;border:2px solid var(--border);background:var(--bg);font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:.15s;text-align:center}.loading-screen{position:fixed;inset:0;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:300}.loading-screen h2{font-size:26px;font-weight:900;color:var(--blue);letter-spacing:-.5px}.loading-screen p{font-size:14px;color:var(--text-muted)}.loading-spinner{width:44px;height:44px;border:4px solid var(--blue-light);border-top-color:var(--blue);border-radius:50%;animation:.8s linear infinite spin;will-change:transform}@keyframes spin{to{transform:rotate(360deg)}}.nav-btn-icon{position:relative;display:flex;align-items:center;justify-content:center}.notify-badge{position:absolute;top:-5px;right:-7px;min-width:16px;height:16px;background:#ef4444;border-radius:8px;font-size:10px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notify-list{display:flex;flex-direction:column}.notify-item{display:flex;align-items:flex-start;gap:12px;padding:14px 20px;border-bottom:1px solid var(--border);cursor:pointer;background:var(--white);transition:background .15s}.comment-avatar,.notify-avatar{align-items:center;display:flex;font-weight:700}.comment-avatar,.notify-avatar,.notify-dot{border-radius:50%;background:var(--blue)}.notify-item.unread:hover{background:#e0f5fd}.notify-avatar{width:40px;height:40px;justify-content:center;font-size:17px;color:#fff;flex-shrink:0;overflow:hidden}.notify-text{font-size:14px;line-height:1.5;color:var(--text)}.comment-section-label,.notify-post,.notify-time{font-size:12px;color:var(--text-muted)}.notify-text strong{font-weight:700}.notify-post{margin-top:2px;overflow:hidden;white-space:nowrap}.notify-time{margin-top:3px}.notify-dot{width:8px;height:8px;flex-shrink:0;margin-top:6px}.post-detail-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:16px}.comment-section-label{padding:12px 20px 6px;font-weight:700}.comment-item,.sk-comment{display:flex;gap:10px;padding:14px 20px}.comment-item.reply{padding-left:52px;padding-top:10px;padding-bottom:10px}.comment-avatar{width:36px;height:36px;justify-content:center;font-size:14px;color:#fff;flex-shrink:0;overflow:hidden}.comment-header{display:flex;align-items:center;gap:4px;margin-bottom:4px}.comment-username{font-size:13px;font-weight:700;color:var(--text)}.activity-comment-time,.comment-dot,.inq-list-time{font-size:11px;color:var(--text-muted)}.comment-time{font-size:12px;color:var(--text-muted);flex:1}.comment-more-btn,.reply-hint button{background:0 0;border:none;font-size:15px;cursor:pointer}.comment-more-btn{color:var(--text-muted);padding:0 2px;letter-spacing:1px;line-height:1}.action-item-label,.diet-section-header,.shared-routines-label{text-transform:uppercase;letter-spacing:.5px}.comment-content{font-size:14px;line-height:1.6;color:var(--text);white-space:pre-wrap;margin-bottom:8px}.comment-like-action,.comment-reply-btn{display:flex;align-items:center;gap:4px;background:0 0;border:none;font-size:12px;color:var(--text-muted);cursor:pointer;padding:0;font-family:inherit}.no-comments{padding:40px 24px;text-align:center;color:var(--text-muted);font-size:14px}.comment-input-bar{flex-shrink:0;border-top:1px solid var(--border);background:var(--white);padding-bottom:env(safe-area-inset-bottom,0)}.post-detail-topbar,.reply-hint{display:flex;align-items:center}.reply-hint{gap:8px;padding:8px 16px 4px;font-size:13px;color:var(--text-secondary);background:var(--blue-light)}.reply-hint span{font-weight:600;color:var(--blue-dark)}.reply-hint button{color:var(--text-muted);margin-left:auto;padding:0 4px}.comment-input-row{display:flex;align-items:flex-end;gap:10px;padding:10px 16px}#comment-text{flex:1;border:1.5px solid var(--border);border-radius:20px;font-size:14px;line-height:1.5;resize:none;outline:0;background:var(--bg);color:var(--text);max-height:120px;overflow-y:auto}.comment-submit-btn{flex-shrink:0;padding:9px 16px;background:var(--blue);color:#fff;border:none;border-radius:20px;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .15s}.comment-submit-btn:active{opacity:.8}.mark-all-btn{font-size:13px;color:var(--text-secondary);background:0 0;border:1.5px solid var(--border);border-radius:8px;padding:6px 12px;cursor:pointer;font-weight:500;white-space:nowrap;flex-shrink:0}.post-detail-overlay{position:fixed;inset:0;z-index:200;background:var(--white)}.post-detail-page{display:flex;flex-direction:column;height:100%}.post-detail-topbar{padding:10px 8px 10px 4px;border-bottom:1px solid var(--border);flex-shrink:0;background:var(--white);gap:4px}.pd-back-btn,.pd-more-btn{width:40px;height:40px;background:0 0;border:none;cursor:pointer;display:flex}.pd-back-btn{align-items:center;justify-content:center;color:var(--text);flex-shrink:0}.pd-topbar-title{flex:1;text-align:center;font-size:16px;font-weight:700}.pd-more-btn{align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0}.action-item.cancel,.pd-actions{border-top:1px solid var(--border)}.post-detail-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.pd-author-row{display:flex;align-items:center;gap:10px;padding:16px 20px 10px}.pd-username{font-size:15px;font-weight:700}.pd-time{font-size:12px;color:var(--text-muted);margin-top:1px}.pd-tags{padding:0 20px 10px;display:flex;gap:5px;flex-wrap:wrap}.pd-content{padding:0 20px 16px;font-size:15px;line-height:1.7;color:var(--text);white-space:pre-wrap}.pd-image{width:100%;display:block;object-fit:cover;max-height:420px;margin-bottom:4px}.pd-action-btn,.pd-actions{display:flex;align-items:center}.pd-actions{gap:20px;padding:12px 20px;border-bottom:1px solid var(--border)}.pd-action-btn,.pd-action-stat{gap:5px;font-size:14px}.pd-action-btn,.post-menu-btn{background:0 0;border:none;cursor:pointer}.pd-action-btn{color:var(--text-muted);transition:color .2s;padding:4px 0}.pd-action-stat,.post-menu-btn{align-items:center;color:var(--text-muted);display:flex}.post-menu-btn{width:32px;height:32px;justify-content:center;border-radius:8px;flex-shrink:0}.action-sheet{padding-bottom:env(safe-area-inset-bottom,8px)}.action-item-label{padding:14px 24px 4px;font-size:12px;font-weight:700;color:var(--text-muted)}.action-item{display:flex;align-items:center;gap:14px;padding:17px 24px;font-size:16px;cursor:pointer;border-bottom:1px solid var(--border);transition:background .12s;color:var(--text)}.activity-comment-item,.profile-post-item{padding:14px 16px;background:var(--white);border-bottom:1px solid var(--border);cursor:pointer}.action-item.cancel{justify-content:center;color:var(--text-secondary);font-weight:600;background:var(--bg);margin-top:6px}.profile-post-item{display:flex;align-items:flex-start;gap:12px}.profile-post-content{font-size:14px;color:var(--text);line-height:1.55;margin:4px 0 6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.profile-post-meta{display:flex;gap:10px;font-size:12px;color:var(--text-muted)}.profile-post-thumb{width:68px;height:68px;border-radius:8px;overflow:hidden;flex-shrink:0}.activity-comment-text{font-size:14px;color:var(--text);line-height:1.5;margin-bottom:4px}.activity-comment-post{font-size:12px;color:var(--text-muted);margin-bottom:3px}.inq-status-badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:11px;font-weight:700}.inq-status-pending{background:#fef3c7;color:#d97706}.inq-status-seen{background:#ede9fe;color:#7c3aed}.inq-status-replied{background:#d1fae5;color:#065f46}.inq-list-item{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:8px;cursor:pointer}.inq-list-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.inq-thread-wrap,.setup-overlay{display:flex;flex-direction:column}.inq-list-preview{font-size:14px;color:var(--text);line-height:1.5}.inq-thread-wrap{gap:12px;padding:16px}.inq-bubble{padding:12px 14px;border-radius:16px;max-width:88%}.inq-bubble-user{background:var(--blue-light);border-bottom-left-radius:4px;align-self:flex-start}.inq-bubble-admin{background:#f3f4f6;border-bottom-right-radius:4px;align-self:flex-end}.inq-bubble-label{font-size:11px;font-weight:700;color:var(--text-muted);margin-bottom:4px}.inq-bubble-text{font-size:14px;line-height:1.6;white-space:pre-wrap}.inq-bubble-time{font-size:11px;color:var(--text-muted);margin-top:4px}.inq-add-textarea{flex:1;border:1.5px solid var(--border);border-radius:20px;padding:9px 14px;font-size:14px;line-height:1.5;resize:none;outline:0;max-height:120px}.inq-closed-badge,.inq-new-badge{display:inline-block;padding:1px 7px;font-size:10px;border-radius:10px;font-weight:700}.inq-add-textarea:focus{border-color:var(--blue)}.inq-new-badge{background:#fef3c7;color:#d97706}.inq-closed-badge{background:#f3f4f6;color:#6b7280}.inq-closed-notice{text-align:center;font-size:13px;color:var(--text-muted);padding:12px;background:var(--bg);border-radius:10px;margin-top:4px}.diet-section-header{padding:12px 16px 6px;font-size:12px;font-weight:700;color:var(--text-secondary);background:var(--bg)}.diet-section-header:first-child{padding-top:14px}.setup-overlay{position:fixed;inset:0;background:var(--white);z-index:400;overflow-y:auto}.setup-page,.setup-photo-section{flex-direction:column;display:flex}.setup-page{min-height:100%;padding:0 0 32px}.setup-header{padding:52px 28px 24px;text-align:center}.setup-header h2{font-size:26px;font-weight:900;color:var(--blue);margin-bottom:10px}.setup-header p{font-size:15px;color:var(--text-secondary);line-height:1.7}.setup-body{flex:1;padding:0 24px;display:flex;flex-direction:column;gap:28px}.setup-photo-section{align-items:center;gap:8px}.setup-avatar-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.setup-avatar{width:96px;height:96px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;overflow:hidden}.setup-photo-label{font-size:13px;color:var(--blue);font-weight:600}.setup-field{display:flex;flex-direction:column;gap:10px}.setup-field label{font-size:13px;font-weight:700;color:var(--text-secondary)}.setup-field input{padding:13px 16px;border:1.5px solid var(--border);border-radius:12px;font-size:15px;background:var(--bg);outline:0;color:var(--text)}.setup-location-hint{font-size:12px;color:var(--text-muted);margin-top:-4px}.location-pills-wrap{display:flex;flex-wrap:wrap;gap:8px;max-height:160px;overflow-y:auto;padding:4px 0}.location-pill{padding:7px 14px;border-radius:20px;border:1.5px solid var(--border);background:var(--white);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:.15s;white-space:nowrap}.setup-location-selected{font-size:14px;font-weight:600;color:var(--blue);padding:8px 14px;background:var(--blue-light);border-radius:10px}.setup-footer{padding:28px 24px 0;display:flex;flex-direction:column;gap:12px}.setup-skip-btn{background:0 0;border:none;font-size:14px;color:var(--text-muted);cursor:pointer;padding:8px;text-align:center;text-decoration:underline}.upload-progress-overlay{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:550;display:flex;align-items:center;justify-content:center}.upload-progress-box{background:var(--white);border-radius:16px;padding:28px 32px;min-width:240px;text-align:center;box-shadow:0 8px 32px rgba(0,0,0,.18)}.sk-post-card,.sk-routine-card{box-shadow:0 1px 3px rgba(0,0,0,.05)}.upload-progress-label{font-size:14px;font-weight:600;color:var(--text);margin-bottom:16px}.op-bar{background:var(--white);padding:10px 16px 9px;border-bottom:1px solid var(--border)}.op-bar-inner{display:flex;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:13px;font-weight:600;color:var(--text)}.op-bar-inner span:last-child{color:#16a34a}.op-bar-track{height:5px;background:#bbf7d0;border-radius:3px;overflow:hidden}.op-bar-fill{height:100%;background:#16a34a;border-radius:3px;width:0%;transition:width .6s cubic-bezier(.4,0,.2,1)}.upload-bar-wrap{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:10px}.upload-bar{height:100%;background:var(--blue);border-radius:3px;width:0%;transition:width .6s}.upload-pct{font-size:22px;font-weight:700;color:var(--blue)}.photo-viewer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:600;display:flex;align-items:center;justify-content:center}.photo-viewer-overlay #photo-viewer-img{max-width:100vw;max-height:100vh;object-fit:contain;display:block;user-select:none}.photo-viewer-close{position:absolute;top:16px;right:16px;width:36px;height:36px;background:rgba(255,255,255,.18);border:none;border-radius:50%;color:#fff;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}.toast-msg{position:fixed;bottom:calc(var(--nav-h)+16px);left:50%;transform:translateX(-50%) translateY(20px);background:rgba(0,0,0,.78);color:#fff;padding:10px 20px;border-radius:24px;font-size:14px;font-weight:500;z-index:999;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap;pointer-events:none}.toast-msg.show{opacity:1;transform:translateX(-50%) translateY(0)}.picker-routine-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--border);cursor:pointer}.picker-routine-check{flex-shrink:0;width:20px;height:20px;border-radius:6px;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.picker-routine-name{font-size:14px;font-weight:600;color:var(--text)}.shared-routines-preview{margin-top:10px;padding:12px;background:var(--blue-light);border-radius:10px;border:1.5px solid rgba(0,191,255,.2)}.shared-routines-label{font-size:11px;font-weight:700;color:var(--blue-dark);margin-bottom:8px}.shared-routine-chip{display:inline-flex;align-items:center;background:#fff;border:1px solid rgba(0,191,255,.3);border-radius:8px;padding:5px 10px;font-size:13px;font-weight:600;color:var(--blue-dark);margin:3px 4px 3px 0}.shared-routines-clear{display:block;background:0 0;border:none;font-size:12px;color:var(--text-muted);cursor:pointer;margin-top:6px;text-decoration:underline}.pd-routine-cards{margin:0 20px 12px;display:flex;flex-direction:column;gap:10px}.rc-card{background:var(--white);border:1px solid var(--border);border-radius:14px;overflow:hidden}.rc-day-btn,.rc-dl-btn{background:var(--bg);cursor:pointer}.rc-header{padding:10px 10px 10px 14px;font-size:13px;font-weight:700;color:var(--text);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.rc-dl-btn{flex-shrink:0;width:28px;height:28px;border-radius:8px;border:none;color:var(--blue-dark);display:flex;align-items:center;justify-content:center;transition:background .12s}.rc-day-row{display:flex;gap:6px;padding:10px 14px 6px;flex-wrap:wrap}.rc-day-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border);font-size:12px;font-weight:600;color:var(--text-secondary);transition:.15s}.rc-item,.sk-notify-item{border-bottom:1px solid var(--border);display:flex}.rc-list{padding:6px 14px 12px}.rc-item{align-items:center;justify-content:space-between;padding:8px 0}.rc-item-name{font-size:14px;font-weight:500;color:var(--text)}.rc-empty{font-size:13px;color:var(--text-muted);padding:8px 0}.rc-meal-section{margin-bottom:6px}.rc-meal-section:last-child{margin-bottom:0}.rc-meal-label{font-size:11px;font-weight:700;color:var(--blue);padding:6px 0 2px;letter-spacing:.3px}.rc-meal-section .rc-item{border-bottom:none;padding:4px 0}@keyframes sk-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}.detail-slideshow:not(.imgs-loaded) .slides-track,.sk-shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e4e4e4 50%,#f0f0f0 75%);background-size:200% 100%;animation:1.3s infinite sk-shimmer}.pd-img-wrap:not(.loaded)::before,.shimmer{background:linear-gradient(90deg,#f0f0f0 25%,#e4e4e4 50%,#f0f0f0 75%);animation:1.3s infinite sk-shimmer}.sk-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0}.shimmer,.sk-line{border-radius:6px}.sk-comment-body{flex:1;display:flex;flex-direction:column;gap:8px;padding-top:3px}.sk-line{height:12px}.pd-img-wrap{position:relative;overflow:hidden}.pd-img-wrap:not(.loaded){min-height:220px}.pd-img-wrap:not(.loaded)::before{content:'';position:absolute;inset:0;background-size:200% 100%;z-index:1}.pd-img-wrap img{display:block;width:100%}.shimmer{background-size:200% 100%;will-change:background-position}.sk-notify-item,.sk-post-card,.sk-profile-card,.sk-routine-card{background:var(--white)}.sk-circle{width:40px;height:40px;border-radius:50%;flex-shrink:0}.sk-circle-lg{width:80px;height:80px;border-radius:50%}.sk-post-card{border-radius:var(--radius);padding:16px}.sk-post-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.sk-day-col{pointer-events:none;gap:5px}.sk-routine-card{display:flex;align-items:center;gap:12px;border-radius:14px;padding:14px 16px;margin-bottom:10px}.sk-routine-check{width:28px;height:28px;border-radius:50%;flex-shrink:0}.sk-routine-badge{width:44px;height:22px;border-radius:20px;flex-shrink:0}.sk-profile-card{border-radius:var(--radius);padding:32px 24px;text-align:center;margin-bottom:14px}.sk-notify-item{align-items:flex-start;gap:12px;padding:14px 20px}.routine-detail-row{display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #f3f4f6;font-size:14px}.routine-detail-label{color:#9ca3af;font-weight:600;min-width:72px;flex-shrink:0}.workout-start-bar{position:sticky;bottom:0;padding:10px 16px 16px;background:linear-gradient(to bottom,transparent,var(--bg) 40%);z-index:10}.workout-start-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px;background:var(--blue);color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(0,0,0,.15)}.sk-day-col .shimmer:first-of-type{width:18px;height:11px;border-radius:4px}.sk-day-col .shimmer:nth-of-type(2){width:34px;height:34px;border-radius:10px}.sk-routine-card .sk-line-1{width:var(--w1,50%);height:15px;margin-bottom:7px}.sk-routine-card .sk-line-2{width:var(--w2,30%);height:11px}.fmt-toolbar{display:flex;gap:6px;margin-bottom:8px}.fmt-btn{width:30px;height:30px;border:1.5px solid var(--border);border-radius:8px;background:var(--white);color:var(--text);font-size:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:border-color .15s,background .15s}.fmt-btn:active{background:var(--blue-light);border-color:var(--blue)}.compose-ce{white-space:pre-wrap;-webkit-user-select:text;user-select:text;word-break:break-word}.compose-ce:empty::before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none;display:block}.fmt-btn.fmt-active{background:#e5e7eb;border-color:#9ca3af}.workout-resume-row{display:flex;align-items:center;justify-content:space-between;background:var(--white);border:1.5px solid var(--blue);border-radius:14px;padding:12px 16px;margin-bottom:8px;box-shadow:0 2px 10px rgba(0,191,255,.15)}.workout-resume-time{font-size:28px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:1px}.workout-resume-btn{width:48px;height:48px;border-radius:50%;background:var(--blue);border:none;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 10px rgba(0,191,255,.4);transition:transform .15s}.workout-resume-btn:active{transform:scale(.92)}.workout-start-btn--secondary{margin-top:0;background:#f3f4f6;color:var(--text-secondary);box-shadow:none;font-size:14px;padding:11px}.diet-cal-day-kcal{font-size:8px;font-weight:600;opacity:.8;line-height:1;display:block;text-align:center}
/* ── 커뮤니티 개편 스타일 ── */
.community-top-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 8px 10px 12px;background:var(--white);border-bottom:1px solid var(--border);gap:4px;position:sticky;top:0;z-index:20}
.community-top-title{font-size:18px;font-weight:800;letter-spacing:-.3px;flex:1;text-align:center}
.cat-tab{flex-shrink:0;padding:8px 16px;border-radius:0;border:none;border-bottom:2.5px solid transparent;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;white-space:nowrap;background:transparent;transition:color .15s,border-color .15s}
.cat-tab.active{color:var(--blue);border-bottom-color:var(--blue)}
.category-filter-bar{padding:0 0 0 4px;gap:0;border-bottom:1px solid var(--border)}
.sub-category-filter-bar{display:flex;gap:8px;padding:8px 14px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:var(--white);border-bottom:1px solid var(--border)}
.sub-category-filter-bar::-webkit-scrollbar{display:none}
.cat-sub-pill{flex-shrink:0;padding:5px 14px;border-radius:20px;border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:var(--white);transition:.15s}
.cat-sub-pill.active{border-color:var(--blue);background:var(--blue);color:#fff}
/* 2열 그리드 */
.posts-list{display:flex;flex-direction:column;background:var(--white)}
.post-card-tw{display:flex;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);cursor:pointer;background:var(--white);transition:background .12s}
.post-card-tw:active{background:#f9fafb}
.tw-avatar-col{flex-shrink:0}
.tw-avatar-sm{width:40px;height:40px;border-radius:50%;background:var(--blue);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;flex-shrink:0}
.tw-avatar-sm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.tw-avatar-initial{font-size:16px;font-weight:700;color:#fff;line-height:1}
.tw-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.tw-header{display:flex;align-items:center;gap:4px;flex-wrap:wrap;line-height:1.3}
.tw-name{font-size:14px;font-weight:700;color:var(--text)}
.tw-hdot{color:#d1d5db;font-size:12px;flex-shrink:0}
.tw-time{font-size:13px;color:var(--text-muted);flex-shrink:0}
.tw-cat-chip{display:inline-block;padding:2px 8px;background:#f3f4f6;border-radius:20px;font-size:11px;font-weight:600;color:#6b7280;margin-left:2px}
.tw-routine-icon{display:inline-flex;align-items:center;justify-content:center;padding:3px 6px;background:#f0fdf4;color:#16a34a;border-radius:20px;margin-left:2px}
.tw-content{font-size:15px;color:#111827;line-height:1.6;word-break:break-word;white-space:pre-wrap;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.tw-img{width:100%;max-height:280px;object-fit:cover;border-radius:12px;margin-top:2px;display:block}
.tw-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}
.tw-actions{display:flex;align-items:center;gap:18px;margin-top:4px}
.tw-act{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}
.tw-routine-preview{margin-top:4px;border:1px solid #d1fae5;border-radius:10px;padding:8px 10px;background:#f0fdf4;display:flex;flex-direction:column;gap:5px}
.tw-rp-row{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.tw-rp-label{display:inline-block;padding:1px 7px;border-radius:20px;font-size:10px;font-weight:700;flex-shrink:0}
.tw-rp-label.ex{background:#dcfce7;color:#15803d}
.tw-rp-label.diet{background:#fef9c3;color:#a16207}
.tw-rp-name{display:inline-block;padding:2px 8px;background:#fff;border:1px solid #bbf7d0;border-radius:20px;font-size:12px;color:#166534;font-weight:500}
.tw-rp-more{font-size:12px;color:#6b7280;font-weight:500}
.post-card-grid{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.07);cursor:pointer;transition:transform .12s;display:flex;flex-direction:column}
.post-card-grid:active{transform:scale(.97)}
.pgrid-thumb{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f0f0f0;flex-shrink:0}
.pgrid-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pgrid-top-right{position:absolute;top:7px;right:7px;display:flex;align-items:center;gap:4px;z-index:2}
.pgrid-scrap-btn{width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.32);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s}
.pgrid-scrap-btn.scrapped{background:rgba(0,0,0,.55)}
.pgrid-scrap-btn:active{background:rgba(0,0,0,.65)}
.pgrid-author-overlay{position:absolute;bottom:8px;left:8px;display:flex;align-items:center;gap:5px;z-index:2}
.pgrid-author-name{font-size:11px;font-weight:700;color:#fff;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pgrid-cat-chip{position:absolute;top:7px;left:7px;background:rgba(0,0,0,.38);color:#fff;font-size:10px;font-weight:700;padding:2px 7px;border-radius:10px;z-index:2}
.post-grid-body{padding:10px 10px 8px}
.pgrid-content{font-size:12px;line-height:1.55;color:var(--text);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:8px}
.pgrid-content-noimg{-webkit-line-clamp:4;font-size:13px}
.pgrid-footer{display:flex;align-items:center;gap:10px}
.pgrid-like-btn,.pgrid-comment-btn{display:flex;align-items:center;gap:3px;font-size:12px;font-weight:600;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:0;transition:color .15s}
.pgrid-like-btn.liked{color:#ef4444}
.pgrid-routine-chip{font-size:10px;font-weight:700;color:#fff;background:rgba(0,0,0,.32);border-radius:6px;padding:2px 6px;display:inline-flex;align-items:center;gap:2px}
/* 이미지 없는 카드 */
.post-card-noimg{padding:12px}
.pgrid-noimg-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.pgrid-scrap-btn-txt{margin-left:auto;background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}
.pgrid-cat-chip-txt{display:inline-block;font-size:10px;font-weight:700;color:var(--blue-dark);background:var(--blue-light);padding:2px 8px;border-radius:8px;margin-bottom:6px}
/* 글쓰기 FAB (pill 형태) */
.community-fab{position:absolute;right:16px;bottom:16px;width:auto;height:44px;padding:0 20px;border-radius:22px;gap:6px;font-size:14px;font-weight:700;letter-spacing:-.1px}
/* 헤더 알림 배지 위치 보정 */
.community-top-bar .notify-badge{top:-4px;right:-5px}
/* 해시태그 */
.post-tags-row{display:flex;flex-wrap:wrap;gap:4px;padding:4px 0 2px}
.post-tag-chip{display:inline-flex;align-items:center;padding:2px 8px;background:#eff6ff;color:#2563eb;border-radius:20px;font-size:11px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s}
.post-tag-chip:active{background:#dbeafe}
.hashtag-filter-active{display:inline-flex;align-items:center;gap:6px;padding:5px 10px 5px 12px;background:#2563eb;color:#fff;border-radius:20px;font-size:12px;font-weight:700}
.hashtag-filter-active button{background:none;border:none;color:#fff;cursor:pointer;padding:0;line-height:1;font-size:13px;opacity:.8}
.hashtag-filter-active button:hover{opacity:1}
.compose-hashtag-hint{font-size:12px;color:#9ca3af;padding:6px 0 4px;line-height:1.4}
.compose-hashtag-example{color:#93c5fd}
.pgrid-view-cnt{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:var(--text-muted)}
.post-card-noimg .pgrid-routine-chip{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}

/* ── 식단 탭 ── */
.diet-page-inner{padding-bottom:80px;background:var(--bg)}
.diet-summary-card{background:var(--white);padding:16px 16px 18px;margin-bottom:8px}
.diet-date-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.diet-date{font-size:14px;font-weight:700;color:#374151}
.diet-date-btn{display:flex;align-items:center;gap:5px;font-size:14px;font-weight:700;color:#374151;background:none;border:none;cursor:pointer;padding:4px 6px 4px 0;border-radius:8px}
.diet-date-btn:active{opacity:.7}
.diet-goal-btn{font-size:13px;color:#6366f1;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:8px;font-weight:600}
.diet-goal-btn.icon-only{padding:4px;color:#4b5563;display:flex;align-items:center;justify-content:center}
.diet-goal-btn.icon-only:active{color:#6366f1}
/* 달력 모달 */
.diet-cal-sheet{border-radius:20px 20px 0 0;padding:16px 16px 32px;max-height:85vh;overflow-y:auto}
.diet-cal-modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.diet-cal-title-text{flex:1;text-align:center;font-size:16px;font-weight:700;color:#111827}
.diet-cal-nav-btn{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;color:#374151;display:flex;align-items:center}
.diet-cal-nav-btn:active{background:#f3f4f6}
.diet-cal-dow-row{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:4px}
.diet-cal-dow{text-align:center;font-size:11px;font-weight:600;color:#9ca3af;padding:4px 0}
.diet-cal-dow.sun{color:#ef4444}
.diet-cal-dow.sat{color:#3b82f6}
.diet-cal-days{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.diet-cal-day{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding:6px 2px 5px;border-radius:10px;cursor:pointer;min-height:52px;transition:background .15s}
.diet-cal-day.empty{cursor:default}
.diet-cal-day.future{opacity:.3;cursor:default}
.diet-cal-day.has-log{background:#f0fdf4}
.diet-cal-day.today{background:#eff6ff}
.diet-cal-day.selected{background:#6366f1}
.diet-cal-day:not(.empty):not(.future):not(.selected):active{background:#f3f4f6}
.diet-cal-day-num{font-size:14px;font-weight:600;color:#374151;line-height:1.3}
.diet-cal-day.selected .diet-cal-day-num{color:#fff}
.diet-cal-day.today .diet-cal-day-num{color:#2563eb;font-weight:800}
.diet-cal-day.sun .diet-cal-day-num{color:#ef4444}
.diet-cal-day.sat .diet-cal-day-num{color:#3b82f6}
.diet-cal-day.selected .diet-cal-day-num,.diet-cal-day.selected .diet-cal-day-cal{color:#fff}
.diet-cal-day-cal{font-size:9px;font-weight:700;color:#10b981;margin-top:2px;letter-spacing:-0.3px}
.diet-cal-day.has-log .diet-cal-day-cal{color:#059669}
.diet-cal-day.today .diet-cal-day-cal{color:#2563eb}
.diet-no-goal{text-align:center;padding:16px 0 8px;color:#6b7280;font-size:14px}
.diet-no-goal svg{display:block;margin:0 auto 10px}
.diet-no-goal p{margin:4px 0}
.diet-hint-sub{font-size:12px;color:#9ca3af}
.diet-goal-btn-big{margin-top:14px;background:#6366f1;color:#fff;border:none;padding:10px 24px;border-radius:20px;font-size:14px;font-weight:700;cursor:pointer}
.diet-cal-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:8px}
.diet-cal-eaten{font-size:30px;font-weight:800;color:#111827}
.diet-cal-sep{font-size:14px;color:#9ca3af;margin-left:2px}
.diet-cal-status{font-size:13px;color:#10b981;font-weight:700}
.diet-cal-status.over{color:#ef4444}
.diet-cal-bar{height:10px;background:#f3f4f6;border-radius:999px;overflow:hidden;margin-bottom:14px}
.diet-cal-fill{height:100%;background:linear-gradient(90deg,#6366f1,#818cf8);border-radius:999px;transition:width .4s}
.diet-cal-fill.over{background:linear-gradient(90deg,#ef4444,#f87171)}
.diet-macro-row{display:flex;gap:10px}
.diet-macro-item{flex:1;min-width:0}
.macro-label{font-size:11px;font-weight:700;display:block;margin-bottom:2px}
.carb-label{color:#d97706}
.prot-label{color:#3b82f6}
.fat-label{color:#ec4899}
.macro-val{font-size:13px;font-weight:700;color:#111827}
.macro-goal{font-size:11px;color:#9ca3af;font-weight:400}
.macro-bar-wrap{height:5px;background:#f3f4f6;border-radius:999px;overflow:hidden;margin-top:4px}
.macro-bar-fill{height:100%;border-radius:999px;transition:width .4s}
.carb-fill{background:#fbbf24}
.prot-fill{background:#60a5fa}
.fat-fill{background:#f472b6}
/* 식사 섹션 */
.meal-section{background:var(--white);margin-bottom:8px}
.meal-header{display:flex;align-items:center;gap:6px;padding:13px 16px 12px;border-bottom:1px solid #f3f4f6}
.meal-title{font-size:15px;font-weight:700;color:#111827}
.meal-cal{font-size:12px;color:#9ca3af;background:#f3f4f6;padding:2px 7px;border-radius:10px}
.meal-add-btn{margin-left:auto;width:30px;height:30px;border-radius:50%;background:#f3f4f6;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#6b7280;flex-shrink:0}
.meal-add-btn:active{background:#e5e7eb}
.meal-empty{font-size:13px;color:#d1d5db;padding:12px 16px}
/* 목표 설정 시트 */
.diet-goal-sheet{padding:20px 16px 40px}
.diet-goal-hint{font-size:13px;color:#9ca3af;margin:0 0 16px;line-height:1.4}
.goal-input-group{margin-bottom:14px}
.goal-input-group label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.goal-input-group input{width:100%;padding:11px 14px;border:1px solid #e5e7eb;border-radius:12px;font-size:16px;box-sizing:border-box;background:var(--white);color:var(--text)}
.calc-link-btn{display:block;text-align:center;color:#6366f1;font-size:13px;font-weight:600;text-decoration:none;padding:10px;margin-bottom:10px}
.btn-save-goal{width:100%;padding:14px;background:#6366f1;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer}
.btn-save-goal:active{background:#4f46e5}
/* 음식 추가 시트 */
.add-food-sheet{padding:20px 16px 40px;max-height:88vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.food-name-wrap{position:sticky;top:0;z-index:2;background:var(--white);padding-bottom:6px;margin-bottom:4px}
.food-name-wrap input{width:100%;padding:12px 14px;border:1.5px solid #e5e7eb;border-radius:14px;font-size:16px;box-sizing:border-box;background:var(--white);color:var(--text)}
.food-name-wrap input:focus{outline:none;border-color:#6366f1}
.recent-foods-label{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.recent-food-list{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.recent-food-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--white);border:1px solid #f3f4f6;border-radius:12px;text-align:left;cursor:pointer;width:100%}
.recent-food-item.rf-open{background:#f9fafb;border-color:#e5e7eb}
.rf-main{display:flex;flex-direction:column;gap:2px;width:100%}
.recent-food-name{font-size:14px;font-weight:600;color:var(--text)}
.recent-food-macros{font-size:12px;color:#9ca3af}
.rf-actions{display:flex;padding-top:8px;margin-top:4px;border-top:1px solid #f0f0f2}
.rf-select-btn{flex:1;padding:8px;background:#eff6ff;border:none;border-radius:8px;font-size:13px;font-weight:700;color:#3b82f6;cursor:pointer}
.rf-select-btn:active{background:#dbeafe}
.food-empty-hint{font-size:13px;color:#9ca3af;text-align:center;padding:20px 0 12px}
.btn-direct-add{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:#f3f4f6;border:1.5px dashed #d1d5db;border-radius:12px;font-size:13px;font-weight:600;color:#6b7280;cursor:pointer;margin-top:6px}
.btn-direct-add:active{background:#e5e7eb}
.btn-back-search{display:flex;align-items:center;gap:6px;background:none;border:none;font-size:13px;color:#6b7280;padding:0;margin-bottom:14px;cursor:pointer;font-weight:500}
.recent-food-name-row{display:flex;align-items:center;gap:6px;width:100%}
.food-db-badge{font-size:10px;font-weight:600;color:#6366f1;background:#eef2ff;padding:2px 6px;border-radius:4px;flex-shrink:0}
.user-added-badge{color:#059669!important;background:#d1fae5!important}
.food-serving-wrap{background:#f0f9ff;border-radius:12px;padding:10px 14px;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}
.food-serving-label{font-size:12px;font-weight:700;color:#0369a1;flex-shrink:0}
.food-serving-row{display:flex;align-items:center;gap:6px}
.food-serving-row input{flex:1;border:none;outline:none;font-size:18px;font-weight:700;color:var(--text);background:transparent;min-width:0}
.food-serving-row span{font-size:13px;color:#6b7280;font-weight:600}
.serving-quick-btns{display:flex;gap:6px}
.serving-quick-btn{flex:1;padding:6px 10px;background:#dbeafe;border:none;border-radius:8px;font-size:12px;font-weight:700;color:#1d4ed8;cursor:pointer;text-align:center}
.serving-quick-btn:active{background:#bfdbfe}
.food-list-sub{font-size:11px;font-weight:400;color:#9ca3af;margin-left:4px}
.food-macro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.food-macro-cell{display:flex;flex-direction:column;gap:5px;background:#f9fafb;border-radius:12px;padding:12px 14px}
.food-macro-cell label{font-size:12px;font-weight:700;color:#6b7280}
.food-macro-cell input{border:none;outline:none;font-size:20px;font-weight:700;color:var(--text);background:transparent;width:100%}
.food-macro-cell span{font-size:11px;color:#9ca3af;font-weight:500}
.btn-add-food{width:100%;padding:14px;background:#111827;color:#fff;border:none;border-radius:14px;font-size:16px;font-weight:700;cursor:pointer}
.btn-add-food:active{background:#374151}
.btn-add-food:disabled{background:#9ca3af}
.skel-line{display:inline-block;background:linear-gradient(90deg,#f3f4f6 25%,#e9eaec 50%,#f3f4f6 75%);background-size:200% 100%;animation:sk-shimmer 1.2s infinite;border-radius:6px}

/* 목표 설정 모달 - 계산기 연결 버튼 */
.calc-goto-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 16px;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;border-radius:14px;text-decoration:none;font-size:15px;font-weight:700;margin-bottom:14px;box-sizing:border-box}
.calc-goto-btn:active{opacity:.85}
.calc-goal-divider{display:flex;align-items:center;gap:10px;margin-bottom:14px;color:#9ca3af;font-size:12px}
.calc-goal-divider::before,.calc-goal-divider::after{content:'';flex:1;height:1px;background:#e5e7eb}
/* 세트 수 입력 */
.sets-count-row{display:flex;align-items:center;gap:10px}
.sets-minus-btn,.sets-plus-btn{width:40px;height:40px;border-radius:50%;border:2px solid var(--border);background:var(--bg);font-size:20px;font-weight:700;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:.15s}
.sets-minus-btn:active,.sets-plus-btn:active{background:var(--blue-light);border-color:var(--blue)}
.sets-unit{font-size:14px;font-weight:600;color:var(--text-secondary)}
/* 운동 통계 바 */
.workout-stats-bar{background:var(--white);padding:6px 20px 8px;font-size:12px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border)}
/* 음식 검색 로딩 */
.food-db-loading{display:flex;align-items:center;gap:8px;padding:14px 4px;color:#9ca3af;font-size:13px;font-weight:500}
.food-db-spinner{width:15px;height:15px;border:2px solid #e5e7eb;border-top-color:var(--blue);border-radius:50%;animation:.75s linear infinite spin;flex-shrink:0}
/* 음식 이름 필드 - 직접입력 모드 */
.food-name-wrap.direct-mode input{border-color:var(--blue);background:var(--white)}
.food-name-wrap.direct-mode .btn-direct-add{display:none}
.food-name-display{width:100%;padding:4px 2px;font-size:22px;font-weight:800;color:var(--text);line-height:1.3}
/* 섭취량 조절 */
.food-ratio-row{padding:10px 0 14px}
.food-ratio-label{font-size:12px;font-weight:700;color:#6b7280;display:block;margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px}
.food-ratio-controls{display:flex;align-items:center;gap:16px}
.food-ratio-btn{width:44px;height:44px;border-radius:12px;background:#f3f4f6;border:1.5px solid #e5e7eb;font-size:22px;font-weight:700;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0}
.food-ratio-btn:active{background:var(--blue-light);border-color:var(--blue);color:var(--blue)}
.serving-ratio-display{font-size:22px;font-weight:800;color:var(--text);min-width:60px;text-align:center}
/* 음식 DB readonly 매크로 */
.food-macro-cell input[readonly]{color:#9ca3af;cursor:not-allowed}
/* 검색결과 개수 태그 */
.food-db-count-tag{font-size:11px;font-weight:600;color:var(--blue);background:var(--blue-light);padding:1px 7px;border-radius:10px;margin-left:5px;display:inline-flex;align-items:center;gap:4px}
/* 음식 아이템 (수정 가능) */
.food-item{display:flex;flex-direction:column;padding:10px 12px;background:var(--white);border:1px solid #f3f4f6;border-radius:12px;margin-bottom:6px;cursor:pointer;transition:background .12s}
.food-item.expanded{background:#f9fafb;border-color:#e5e7eb}
.food-item-row{display:flex;align-items:center;gap:10px;width:100%}
.food-item-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.food-name{font-size:14px;font-weight:600;color:var(--text)}
.food-macros{font-size:12px;color:#9ca3af}
.food-item-chevron{flex-shrink:0;color:#c4c9d4;transition:transform .2s}
.food-item.expanded .food-item-chevron{transform:rotate(180deg)}
.food-item.expanded .food-name{font-size:16px;font-weight:700}
.food-item-actions{display:flex;gap:8px;width:100%;padding-top:10px;margin-top:6px;border-top:1px solid #f0f0f2}
.food-action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 12px;border:none;border-radius:10px;font-size:13px;font-weight:700;cursor:pointer}
.food-action-edit{background:#eff6ff;color:#3b82f6}
.food-action-edit:active{background:#dbeafe}
.food-action-delete{background:#fef2f2;color:#ef4444}
.food-action-delete:active{background:#fee2e2}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes liveRing{0%,100%{box-shadow:0 0 0 0 rgba(0,191,255,.5)}50%{box-shadow:0 0 0 4px rgba(0,191,255,0)}}
