@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/pretendard.min.css");@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700&display=swap");@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Inter:wght@400;500&family=IBM+Plex+Mono:wght@400;500&display=swap");:root{--bg:#FFFFFF;--surface:#FFFFFF;--surface-warm:#FFFFFF;--text:#1A1A1A;--text-sub:#6B6B6B;--text-mute:#9A9A9A;--blush:#1A1A1A;--blush-light:rgba(0,0,0,0.055);--sage:#8C8C8C;--sage-light:rgba(0,0,0,0.04);--sage-dim:rgba(0,0,0,0.14);--card-bg:#FFFFFF;--border:rgba(0,0,0,0.10);--shadow:rgba(0,0,0,0.08);--dark-bg:#1A1814;--dark-text:#FFF8F1;--dark-sub:rgba(255,248,241,0.6);--disp:"Space Grotesk","Pretendard","Noto Sans KR",-apple-system,sans-serif;--body:"Inter","Pretendard","Noto Sans KR",-apple-system,sans-serif;--mono:"IBM Plex Mono","Pretendard",ui-monospace,monospace;--font:var(--body);--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-pill:999px;--shadow-card:0 2px 16px rgba(0,0,0,0.06);--shadow-hover:0 4px 20px rgba(0,0,0,0.10);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-out:cubic-bezier(0.22,1,0.36,1);--dur-fast:0.13s;--dur-base:0.24s;--press-scale:0.94}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}img{max-width:100%;display:block}.admin-logo,.card-hero-title,.k-logo,.k-section-title,h1,h2,h3{font-family:var(--disp)}::-webkit-scrollbar{width:0;height:0}.container{max-width:1440px;margin:0 auto;padding:0 48px}@media (max-width:768px){.container{padding:0 20px}}.k-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);height:64px;display:flex;align-items:center}.k-header .container,.k-header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}.k-header-inner{max-width:1440px;margin:0 auto;padding:0 48px}@media (max-width:768px){.k-header-inner{padding:0 20px}}.k-logo{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-.03em}.k-logo span{color:var(--blush)}.k-header-actions{display:flex;align-items:center;gap:8px}.k-header-left{display:flex;align-items:center;gap:12px}.k-header-page{font-size:12px;font-weight:400;color:var(--text-sub)}.k-header .k-back{width:34px;height:34px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:var(--text);border:1px solid var(--border);background:var(--surface);transition:border-color .15s}.k-header .k-back:hover{border-color:var(--text)}.k-icon-btn{width:40px;height:40px;border-radius:var(--r-pill);display:flex;align-items:center;justify-content:center;color:var(--text-sub);font-size:20px;transition:background .15s}.k-icon-btn:hover{background:var(--blush-light);color:var(--text)}.k-section{padding:48px 0 0}.k-section-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:20px}.k-section-title{font-size:22px;font-weight:700;line-height:1.3}.k-section-sub{font-size:14px;color:var(--text-sub);margin-top:4px}.k-view-all{font-size:13px;color:var(--text-sub);white-space:nowrap;padding:4px 0;border-bottom:1px solid var(--border);transition:color .15s}.k-view-all:hover{color:var(--text)}.k-hscroll-wrap{position:relative}.k-hscroll{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.k-hscroll>*{scroll-snap-align:start;flex-shrink:0}.k-scroll-btn{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--text);opacity:0;transition:opacity .2s;z-index:10}.k-hscroll-wrap:hover .k-scroll-btn{opacity:1}.k-scroll-btn.left{left:-18px}.k-scroll-btn.right{right:-18px}.rcard{width:200px;cursor:pointer;transition:transform .2s}.rcard:hover{transform:translateY(-2px)}.rcard-category{font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);margin-bottom:6px}.rcard-cover{width:200px;height:200px;border-radius:var(--r-md);background:var(--border)}.rcard-cover img{width:100%;height:100%;object-fit:cover}.rcard-cover-title{position:absolute;bottom:0;left:0;right:0;padding:32px 12px 12px;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);color:#fff;font-size:15px;font-weight:600;line-height:1.3}.rcard-copy{margin-top:8px;font-size:13px;color:var(--text-sub);line-height:1.5}.rcard-lg{width:260px}.rcard-lg .rcard-cover{width:260px;height:340px}.rcard-lg .rcard-cover-title{font-size:18px;padding:48px 16px 16px}.k-chip{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--r-pill);font-size:12px;font-weight:500;background:var(--blush-light);color:var(--text)}.k-chip.sage{background:var(--sage-light)}.k-chip.outline{background:transparent;border:1px solid var(--border)}.k-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 24px;border-radius:var(--r-pill);font-size:15px;font-weight:600;font-family:var(--font);transition:all .15s}.k-btn-primary{background:var(--blush);color:var(--bg)}.k-btn-primary:hover{opacity:.9}.k-btn-dark{background:var(--text);color:var(--bg)}.k-btn-dark:hover{opacity:.85}.k-btn-outline{background:transparent;border:1.5px solid var(--border);color:var(--text)}.k-btn-outline:hover{border-color:var(--text)}.k-btn-full{width:100%}.k-whisper{background:var(--card-bg);border:1px solid var(--sage-dim);border-radius:var(--r-lg);padding:16px 20px;position:relative;font-style:italic;font-size:15px;line-height:1.7;color:var(--text-sub)}.k-whisper-avatar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.k-whisper-avatar img{width:32px;height:32px;border-radius:50%}.k-wavy{height:10px;margin:40px 0;background-image:url("data:image/svg+xml,%3Csvg width='120' height='10' viewBox='0 0 120 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 5C15 5 20 1 30 1C40 1 45 9 55 9C65 9 70 1 80 1C90 1 95 9 105 9C115 9 118 5 120 5' stroke='%239CB28E' stroke-opacity='0.3' stroke-width='2'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:50%}.k-footer{padding:48px 0 40px;border-top:1px solid var(--border);margin-top:80px}.k-footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.k-footer-links{display:flex;gap:24px}.k-footer-links a{font-size:14px;color:var(--text-sub)}.k-footer-links a:hover{color:var(--text)}.k-footer-copy{font-size:13px;color:var(--text-mute)}.k-float-cta{position:fixed;bottom:24px;right:24px;z-index:200;background:var(--text);color:var(--bg);border-radius:var(--r-xl);padding:16px 20px;max-width:260px;box-shadow:0 8px 32px rgba(42,38,34,.2);animation:floatIn .3s ease}.k-float-cta-close{position:absolute;top:8px;right:10px;font-size:18px;color:rgba(255,248,241,.5)}.k-float-cta p{font-size:14px;line-height:1.5;margin-bottom:10px}.k-float-cta a{display:block;text-align:center;background:var(--blush);color:var(--bg);border-radius:var(--r-pill);padding:8px 16px;font-size:13px;font-weight:600}@keyframes floatIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.k-tabbar{position:fixed;bottom:0;left:0;right:0;z-index:350;display:none;background:rgb(255 255 255/96%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:6px 8px calc(6px + env(safe-area-inset-bottom))}.k-tabbar-inner{display:flex;max-width:480px;margin:0 auto}.k-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 4px;color:var(--text-mute);font-size:10px;font-weight:600;transition:color .15s}.k-tab svg{width:22px;height:22px}.k-tab.active{color:var(--text)}.k-tab.active svg{color:var(--blush)}@media (max-width:768px){.k-tabbar{display:block}body.has-tabbar{padding-bottom:76px}}.k-back{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-sub);padding:6px 0;transition:color .15s}.k-back:hover{color:var(--text)}.k-modal-overlay{position:fixed;inset:0;z-index:500;background:rgba(42,38,34,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s}.k-modal-overlay.open{opacity:1;pointer-events:all}.k-modal-sheet{background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:24px;width:100%;max-width:480px;transform:translateY(100%);transition:transform .3s cubic-bezier(.32,.72,0,1)}.k-modal-overlay.open .k-modal-sheet{transform:translateY(0)}.k-modal-handle{width:36px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 20px}.desktop-only{display:block}.mobile-only{display:none}@media (max-width:768px){.desktop-only{display:none}.mobile-only{display:block}.k-section{padding:32px 0 0}.rcard{width:160px}.rcard-cover{width:160px;height:160px}.rcard-lg{width:220px}.rcard-lg .rcard-cover{width:220px;height:280px}}.page-enter{animation:pageEnter .25s ease forwards}@keyframes pageEnter{0%{opacity:0}to{opacity:1}}.k-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--blush) 0,var(--sage) 100%);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}.k-avatar-sm{width:28px;height:28px;font-size:14px}.k-avatar-lg{width:56px;height:56px;font-size:28px}html{overflow-x:hidden}a,button{-webkit-tap-highlight-color:transparent}.brand-cards-scroll,.event-banner-scroll,.fav-cards-scroll,.hero-slides,.k-hscroll,.rcard-scroll,.similar-cards-row{-webkit-overflow-scrolling:touch;scroll-padding-left:20px}@media (max-width:768px){.k-icon-btn,.k-tab{min-height:44px}.k-icon-btn{min-width:44px}.date-nav-btn,.k-btn{min-height:44px}.date-nav-btn{min-width:44px}.k-footer .container{padding-left:20px;padding-right:20px}}.cat-arrow-btn,.comment-action-btn,.date-nav-btn,.hot-debate-item,.icon-btn-white,.k-btn,.k-chip,.k-icon-btn,.k-tab,.promo-banner,.rcard,.similar-card-mini,.similar-option{transition:transform var(--dur-fast) var(--ease-out),background-color .15s,color .15s,border-color .15s,box-shadow .15s,opacity .15s}.cat-arrow-btn:active,.comment-action-btn:active,.date-nav-btn:active,.icon-btn-white:active,.k-btn:active,.k-chip:active,.k-icon-btn:active,.k-tab:active,.promo-banner:active,.similar-option:active{transform:scale(var(--press-scale))}.rcard:active{transform:translateY(-2px) scale(.975)}.similar-card-mini:active{transform:translateY(-2px) scale(.98)}.hot-debate-item:active{transform:translateY(-3px) scale(.98)}.hero-slide-overlay{transition:background var(--dur-fast) var(--ease-out)}.hero-slide:active .hero-slide-overlay{background:linear-gradient(0deg,rgba(0,0,0,.82) 0,rgba(0,0,0,.32) 48%,rgba(0,0,0,.12))}.page-exit{animation:pageExit .18s var(--ease-out) forwards}@keyframes pageExit{0%{opacity:1}to{opacity:0}}.kx-ripple{position:absolute;border-radius:50%;pointer-events:none;background:currentColor;opacity:.2;transform:scale(0);animation:kxRipple .55s var(--ease-out) forwards}@keyframes kxRipple{0%{transform:scale(0);opacity:.2}to{transform:scale(1);opacity:0}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.k-header.hero-overlay{position:fixed;top:0;left:0;right:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent;transition:background .25s ease,border-color .25s ease,-webkit-backdrop-filter .25s ease;transition:background .25s ease,backdrop-filter .25s ease,border-color .25s ease;transition:background .25s ease,backdrop-filter .25s ease,border-color .25s ease,-webkit-backdrop-filter .25s ease}.k-header.hero-overlay:not(.scrolled) .k-logo,.k-header.hero-overlay:not(.scrolled) .k-logo span{color:#fff}.k-header.hero-overlay:not(.scrolled) .k-btn-outline{color:#fff;border-color:rgba(255,255,255,.5)}.k-header.hero-overlay:not(.scrolled) .k-btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.14)}.k-header.hero-overlay:not(.scrolled) .k-chip{color:#fff;background:rgba(255,255,255,.16)}.k-header.hero-overlay:not(.scrolled) .k-account{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.4)}.k-header.hero-overlay:not(.scrolled) .k-account-name{color:#fff}.k-header.hero-overlay:not(.scrolled) .k-account-avatar{background:#fff;color:var(--text)}.k-header.hero-overlay.scrolled{background:rgba(255,255,255,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.k-header-narrow .k-header-inner{max-width:480px;padding:0 20px}.k-account{display:inline-flex;align-items:center;gap:8px;padding:3px 12px 3px 3px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);transition:border-color .15s,background .15s}.k-account:hover{border-color:var(--text)}.k-account-avatar{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--text);color:var(--bg);display:inline-flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:13px;font-weight:700}.k-account-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;color:var(--text)}.k-bell{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:17px;transition:background .15s}.k-bell:hover{background:var(--blush-light)}.k-bell-badge{position:absolute;top:0;right:0;min-width:16px;height:16px;padding:0 4px;border-radius:var(--r-pill);background:#B4443C;color:#fff;font-family:var(--mono);font-size:10px;font-weight:700;line-height:16px;text-align:center}.k-header.hero-overlay:not(.scrolled) .k-bell:hover{background:rgba(255,255,255,.14)}.k-header-nav{display:none;align-items:center;gap:18px;margin-left:10px}.k-header-nav a{font-family:var(--body);font-size:13.5px;font-weight:600;color:var(--text-sub);transition:color .15s}.k-header-nav a.active,.k-header-nav a:hover{color:var(--text)}@media (min-width:769px){.k-header-nav{display:flex}}.k-header.hero-overlay:not(.scrolled) .k-header-nav a{color:rgba(255,255,255,.78)}.k-header.hero-overlay:not(.scrolled) .k-header-nav a.active,.k-header.hero-overlay:not(.scrolled) .k-header-nav a:hover{color:#fff}body.app-shell .k-header-nav{display:none}body.app-shell .k-tabbar{display:block}body.app-shell{padding-bottom:calc(76px + env(safe-area-inset-bottom))}@media (min-width:769px){body.app-shell{background:#ECEAE6}body.app-shell>main{overflow:hidden;background:var(--bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:0 1px 24px rgba(0,0,0,.06);min-height:calc(100vh - 184px);margin-top:16px;margin-bottom:28px}}.page{max-width:480px;margin:0 auto;padding:0 20px 90px}.page.page-no-tabbar{padding-bottom:24px}@media (max-width:640px){.k-header-narrow .k-header-inner,.page{max-width:none}}.page-wide{max-width:1000px}.home{max-width:1440px;margin:0 auto}.home-sections{padding:0 48px}@media (max-width:768px){.home-sections{padding:0 20px}}.section{margin:28px 0}.section-title{font-family:var(--disp);font-size:18px;font-weight:700;margin-bottom:12px;display:flex;justify-content:space-between;align-items:baseline}.section-title .more{font-size:13px;color:var(--blush);font-family:var(--body)}.hero-slider{width:100%;position:relative;overflow:hidden;background:var(--dark-bg);aspect-ratio:3/4;max-height:88vh;-webkit-user-select:none;-moz-user-select:none;user-select:none}@media (min-width:768px){.hero-slider{aspect-ratio:16/9;max-height:640px}}.hero-slides{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.hero-slides::-webkit-scrollbar{display:none}.hero-slide{min-width:100%;height:100%;position:relative;overflow:hidden;flex-shrink:0;scroll-snap-align:start;scroll-snap-stop:always;cursor:pointer}.hero-slide-img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.78) 0,rgba(0,0,0,.18) 48%,rgba(0,0,0,0))}.hero-slide-content{position:absolute;left:20px;right:20px;bottom:60px;color:#fff}@media (min-width:768px){.hero-slide-content{left:48px;right:48px;bottom:84px}}.hero-slide-cat{display:inline-block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.12em;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:4px;padding:3px 9px;margin-bottom:10px;color:rgba(255,255,255,.92)}.hero-slide-title{font-family:var(--disp);font-size:30px;font-weight:700;line-height:1.22;letter-spacing:-.025em}@media (min-width:768px){.hero-slide-title{font-size:44px}}.hero-slide-title em{font-style:italic;font-weight:700}.hero-slider-controls{position:absolute;bottom:20px;left:20px;right:20px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}@media (min-width:768px){.hero-slider-controls{left:48px;right:48px;bottom:28px}}.hero-dots{display:flex;gap:6px;pointer-events:all}.hero-dot{position:relative;width:6px;height:6px;border-radius:3px;border:none;padding:0;background:rgba(255,255,255,.32);transition:width .28s var(--ease-out),background .28s var(--ease-out);cursor:pointer}.hero-dot:before{content:"";position:absolute;inset:-19px -8px}.hero-dot.active{width:22px;background:rgba(255,255,255,.92)}.hero-counter{font-family:var(--mono);font-size:12px;font-weight:600;color:rgba(255,255,255,.62);letter-spacing:.08em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.promo-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:var(--text);color:var(--surface);padding:15px 20px;transition:opacity .15s}.promo-banner:hover{opacity:.92}.promo-banner-label{font-size:13.5px;font-weight:500;letter-spacing:-.01em}.promo-banner-cta{font-size:13.5px;font-weight:700;white-space:nowrap}.promo-image-banner{margin:28px 0 8px}.promo-image-banner img{width:100%;display:block;border-radius:var(--r-lg)}.popup-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,22,30,.5);animation:popupScrim .2s var(--ease-out)}.popup-sheet{max-width:360px;width:100%;transform-origin:center;animation:popupIn .32s var(--ease-out)}.popup-img{width:100%;border-radius:var(--r-lg)}.popup-actions{display:flex;justify-content:space-between;margin-top:8px;color:#fff;font-size:13px}.popup-actions button{color:#fff}@keyframes popupScrim{0%{opacity:0}to{opacity:1}}@keyframes popupIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.popup-sheet{animation:popupScrim .18s ease}}.cookie-consent{position:fixed;bottom:calc(76px + env(safe-area-inset-bottom));left:12px;right:12px;z-index:400;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:14px 16px;max-width:480px;margin:0 auto}@media (min-width:769px){.cookie-consent{left:auto;right:24px;bottom:24px}}.cookie-prefs-link{background:none;border:0;padding:4px 2px;font:inherit;color:inherit;cursor:pointer}.cookie-prefs-link:hover{color:var(--text)}.legal .cookie-prefs-link{padding:0;text-decoration:underline;text-underline-offset:2px}.cat-row{margin-bottom:8px}.cat-header{display:flex;align-items:center;justify-content:space-between;padding:32px 0 14px;gap:14px}.cat-header-left{flex:1 1}.cat-editorial-title{font-family:var(--disp);font-size:23px;font-weight:400;line-height:1.3;letter-spacing:-.02em;color:var(--text)}.cat-editorial-title em{font-style:italic;font-weight:800}.cat-editorial-sub{font-size:13px;color:var(--text-sub);margin-top:6px;line-height:1.6}.cat-arrow-btn{width:38px;height:38px;border-radius:50%;border:1.5px solid var(--text);display:flex;align-items:center;justify-content:center;color:var(--text);font-size:17px;flex-shrink:0;transition:background .15s,color .15s}.cat-arrow-btn:hover{background:var(--text);color:var(--surface)}.rcard-scroll{display:flex;align-items:flex-start;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 0 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.rcard-scroll::-webkit-scrollbar{display:none}.rcard-scroll>*{scroll-snap-align:start}.rcard{display:block;width:180px;flex-shrink:0}.rcard-cover{width:100%;height:auto;aspect-ratio:200/248;overflow:hidden;position:relative;background:#F1ECE6;border-radius:var(--r-sm)}.rcard-cover img,.rcard-cover-fill{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .36s var(--ease-out)}.rcard:hover .rcard-cover img{transform:scale(1.04)}.rcard-steps{position:absolute;bottom:8px;left:8px;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,255,255,.9);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--text-sub);border-radius:4px;padding:3px 7px}.rcard-title{margin-top:11px;font-family:var(--disp);font-size:17px;font-weight:400;color:var(--text);line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rcard-title em{font-style:italic;font-weight:700}.rcard-desc{margin-top:6px;font-size:12.5px;color:var(--text-sub);line-height:1.5;min-height:calc(12.5px * 1.5 * 2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rcard-chip{display:inline-block;margin-top:9px;background:var(--text);color:var(--surface);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.08em;padding:3px 8px;border-radius:4px}.rcard-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.rcard-chips .rcard-chip{margin-top:0}.rcard-chip-alt{background:var(--surface);color:var(--text);border:1px solid var(--border);padding:2px 7px}@media (min-width:1024px){.rcard{width:240px}}.routine-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:16px 14px;gap:16px 14px;align-items:start}.routine-grid .rcard{width:auto;min-width:0}.rcard-byline{display:flex;align-items:center;gap:5px;margin-top:7px;color:var(--text-mute);background:none;border:none;padding:0;font:inherit;font-size:12px;cursor:pointer}.rcard-byline:hover{color:var(--text-sub)}.shelf-body{margin-top:22px}.shelf-owner-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--text-sub);border:1px solid var(--border);border-radius:var(--r-sm);padding:10px 14px;margin-bottom:18px}.shelf-owner-bar a{font-weight:600;color:var(--text);white-space:nowrap}.shelf-top{margin:0 0 22px}.shelf-top-card{display:flex;gap:14px;align-items:flex-start;margin-top:8px}.shelf-top-cover{position:relative;width:128px;flex-shrink:0;aspect-ratio:200/248;overflow:hidden;background:#F1ECE6;border-radius:var(--r-sm)}.shelf-top-body{min-width:0;padding-top:4px}.shelf-top-body .rcard-title{margin-top:0;white-space:normal}.shelf-top-whisper{font-style:italic;font-size:13.5px;line-height:1.6;color:var(--text-sub);margin:7px 0 10px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.shelf-top-head{display:flex;align-items:center;justify-content:space-between}.shelf-top-change{font-size:12px;font-weight:600;color:var(--text-sub);text-decoration:underline}.shelf-top-empty{display:block;width:100%;margin-top:8px;padding:22px 16px;border:1.5px dashed var(--border);border-radius:var(--r-sm);font-size:13.5px;color:var(--text-sub);text-align:center}.shelf-top-empty:hover{color:var(--text);border-color:var(--text-sub)}.shelf-pick-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto}.shelf-pick-row{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border-radius:8px;text-align:left}.shelf-pick-row:hover{background:rgba(0,0,0,.045)}.shelf-pick-cover{position:relative;width:40px;height:50px;flex-shrink:0;border-radius:6px;overflow:hidden;background:#F1ECE6}.shelf-pick-title{flex:1 1;min-width:0;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shelf-pick-current{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.05em;color:var(--text-sub);flex-shrink:0}.shelf-pick-hint{padding:18px 8px;font-size:13.5px}.shelf-pick-hint,.shelf-pick-remove{color:var(--text-sub);text-align:center}.shelf-pick-remove{margin-top:10px;width:100%;padding:9px;font-size:13px;text-decoration:underline}.pub-nudge{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid var(--border);border-radius:var(--r-sm);padding:13px 16px;margin:18px 0 0}.pub-nudge-text{display:flex;flex-direction:column;gap:2px;min-width:0}.pub-nudge-text strong{font-size:14px}.pub-nudge-text span{font-size:12.5px;color:var(--text-sub)}.hrail{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}.hrail::-webkit-scrollbar{display:none}.routine-poster{aspect-ratio:3/4;border-radius:var(--r-lg);padding:14px;display:flex;flex-direction:column;justify-content:flex-end;box-shadow:var(--shadow-card);overflow:hidden;position:relative}.routine-poster .kicker{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-sub)}.routine-poster .ptitle{font-family:var(--disp);font-size:26px;font-weight:700;line-height:1.05;color:var(--text)}.routine-poster .ptitle em{font-style:italic;color:var(--blush);display:block}.hot-debate-item{width:240px;flex-shrink:0;background:var(--card-bg);border:1.5px solid var(--border);border-radius:var(--r-md);padding:16px;transition:border-color .15s,transform .2s;display:flex;flex-direction:column;gap:10px}.hot-debate-item:hover{border-color:var(--blush);transform:translateY(-3px)}.hot-debate-ref{font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hot-debate-q{font-family:var(--disp);font-size:16px;font-weight:700;line-height:1.4;min-height:calc(16px * 1.4 * 2);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.hot-debate-foot{font-family:var(--mono);font-size:11px;color:var(--text-mute)}.debate-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px}.debate-card .dq{font-family:var(--disp);font-size:16px;font-weight:700}.debate-card .dmeta{font-family:var(--mono);font-size:11px;color:var(--text-mute);margin-top:8px;text-transform:uppercase}.detail-hero{position:relative;overflow:hidden;aspect-ratio:200/248;display:flex;flex-direction:column;justify-content:flex-end;margin:0 -20px;padding:24px}.detail-hero>*{position:relative;z-index:1}.detail-hero-image:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(0,0,0,.72) 0,rgba(0,0,0,.16) 48%,rgba(0,0,0,0));pointer-events:none}.detail-hero .detail-hero-media{position:absolute;inset:0;z-index:0}.detail-hero-media :is(picture,img){display:block;width:100%;height:100%}.detail-hero-media img{object-fit:cover}.detail-hero .kicker{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-sub)}.detail-hero h1{font-family:var(--disp);font-size:44px;font-weight:700;line-height:1;margin:8px 0}.detail-hero h1 em{font-style:italic;color:var(--blush)}.detail-hero-chip{align-self:flex-start;margin-top:2px;background:var(--surface);color:var(--text);border:1px solid rgba(0,0,0,.12);font-weight:700;letter-spacing:.08em;padding:3px 9px;border-radius:4px}.detail-hero .tags,.detail-hero-chip{font-family:var(--mono);font-size:11px}.detail-hero .tags{color:var(--text-sub);margin-top:10px}.detail-hero-image .kicker,.detail-hero-image .tags{color:rgba(255,255,255,.82)}.detail-hero-image h1,.detail-hero-image h1 em{color:#fff}.shelf-hero{aspect-ratio:auto;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;padding:28px 24px}.shelf-hero>span[aria-hidden=true]{box-shadow:0 0 0 3px rgba(255,255,255,.7)}.shelf-hero-dark>span[aria-hidden=true]{box-shadow:0 0 0 3px rgba(240,237,230,.4)}.shelf-hero-info{display:flex;flex-direction:column;min-width:0}.shelf-hero h1{font-size:30px}.shelf-hero-actions{margin-top:10px}.shelf-hero-dark .kicker,.shelf-hero-dark .tags{color:rgba(240,237,230,.82)}.shelf-hero-dark h1,.shelf-hero-dark h1 em{color:#f0ede6}.shelf-follow-line{margin-top:2px}.shelf-follow-line a{color:inherit;text-decoration:underline;text-underline-offset:3px}.follows-head{margin-bottom:16px}.follows-back{font-family:var(--mono);font-size:12px;color:var(--muted);text-decoration:none}.follows-h1{font-family:var(--disp);font-size:26px;font-weight:700;margin:8px 0 12px}.follows-list{list-style:none;margin:0;padding:0}.follows-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text)}.follows-name{font-weight:600;font-size:15px}.empty-note{color:var(--muted);font-size:14px;padding:18px 0}.intro{font-size:16px;line-height:1.7;margin:22px 0}.bestfor{list-style:none}.bestfor li{display:flex;gap:8px;padding:6px 0}.bestfor li:before{content:"—";color:var(--blush)}.the-routine-h{font-family:var(--disp);font-size:22px;font-weight:700;margin:26px 0 10px}.the-routine-h em{font-style:italic;color:var(--blush)}.slot-label{font-family:var(--mono);font-size:12px;letter-spacing:.1em;color:var(--text-mute);margin:16px 0 6px}.rsteps-block{margin-bottom:26px;scroll-margin-top:76px}.rsteps-label{display:inline-flex;align-items:center;gap:6px;font-family:var(--disp);font-size:14px;font-weight:700;letter-spacing:.04em;color:var(--text);margin-bottom:12px}.rsteps-list{display:flex;flex-direction:column;gap:10px}.rstep{display:flex;gap:14px;align-items:flex-start;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px 18px;transition:background-color .4s ease,border-color .4s ease}.rstep-img{width:64px;height:64px;border-radius:var(--r-md);object-fit:cover;background:var(--border);flex-shrink:0;margin-top:2px}.rstep-img-empty{display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--bg);border:1px dashed var(--border)}.rstep-body{flex:1 1;min-width:0}.rstep-head{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}.rstep-num{flex-shrink:0;font-family:var(--mono);font-size:10px;font-weight:800;letter-spacing:.1em;color:var(--text);background:var(--blush-light);padding:4px 9px;border-radius:var(--r-pill);white-space:nowrap}.rstep-label{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-sub)}.rstep-name{display:inline-block;font-size:15px;font-weight:700;line-height:1.35;color:var(--text);margin-bottom:5px}a.rstep-name:hover{color:var(--text-sub)}.rstep-name-arrow{font-size:12px;color:var(--text-mute)}.rstep-brand{font-size:12px;color:var(--text-sub);margin-left:8px}.rstep-desc{font-size:13px;color:var(--text-sub);line-height:1.6;margin-top:5px}.rstep-caution{margin-top:8px;font-size:12px;color:#8a6a1e;line-height:1.55;background:rgba(199,134,11,.09);border-radius:var(--r-sm);padding:8px 11px}.rstep details summary{font-family:var(--mono);font-size:11px;color:var(--text-mute);cursor:pointer;margin-top:8px}.rstep .ings{font-size:13px;color:var(--text-sub);margin-top:6px;line-height:1.7}.alt-btn{display:inline-flex;align-items:center;gap:5px;margin-top:10px;padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.04em;color:var(--text-sub);transition:border-color .15s,color .15s,transform var(--dur-fast) var(--ease-out)}.alt-btn:hover{border-color:var(--text);color:var(--text)}.alt-btn:active{transform:scale(var(--press-scale))}.alt-stack{display:inline-flex;align-items:center}.alt-stack-img{width:22px;height:22px;border-radius:50%;object-fit:cover;border:1.5px solid var(--surface);background:var(--bg);flex-shrink:0}.alt-stack-img+.alt-stack-img{margin-left:-8px}.alt-stack-empty{display:inline-flex;align-items:center;justify-content:center;font-size:11px}.alt-hint{font-size:12px;color:var(--text-mute);text-align:center;margin-top:10px}.alt-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,22,30,.5);animation:popupScrim .2s var(--ease-out)}.alt-sheet{width:100%;max-width:440px;max-height:80vh;overflow-y:auto;background:var(--surface);border-radius:var(--r-xl);padding:22px 22px 18px;animation:popupIn .32s var(--ease-out)}.alt-handle{display:none}.alt-sub{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.08em;color:var(--text-mute)}.alt-title{font-family:var(--disp);font-size:18px;font-weight:700;margin:4px 0 14px;color:var(--text)}.alt-item{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--border);transition:opacity .15s}.alt-item:active{opacity:.7}.alt-img{width:52px;height:52px;border-radius:var(--r-sm);object-fit:cover;background:var(--border);flex-shrink:0}.alt-img-empty{display:flex;align-items:center;justify-content:center;font-size:18px;background:var(--bg);border:1px dashed var(--border)}.alt-body{flex:1 1;min-width:0}.alt-brand{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute)}.alt-name{font-size:14px;font-weight:700;margin-top:2px;color:var(--text)}.alt-desc{font-size:12.5px;color:var(--text-sub);font-style:italic;line-height:1.5;margin-top:3px}.alt-arrow{color:var(--text-mute);flex-shrink:0}.alt-close{display:block;width:100%;margin-top:14px;padding:12px;border-radius:var(--r-pill);background:var(--blush-light);font-size:14px;font-weight:600;color:var(--text)}@media (max-width:768px){.alt-overlay{align-items:flex-end;padding:0}.alt-sheet{max-width:480px;border-radius:var(--r-xl) var(--r-xl) 0 0;padding-bottom:calc(18px + env(safe-area-inset-bottom));animation:altSheetUp .3s cubic-bezier(.32,.72,0,1)}.alt-handle{display:block;width:36px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 14px}}@keyframes altSheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.alt-sheet{animation:popupScrim .18s ease}}.ampm-pill{position:fixed;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));z-index:300;display:flex;padding:4px;border-radius:var(--r-pill);background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(16px) saturate(160%);backdrop-filter:blur(16px) saturate(160%);border:1px solid rgba(0,0,0,.08);box-shadow:0 8px 32px rgba(0,0,0,.16);opacity:0;pointer-events:none;transform:translateX(-50%) translateY(10px) scale(.92);transition:opacity .24s var(--ease-out),transform .34s var(--ease-spring),background-color .4s ease}.ampm-pill.on{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0) scale(1)}.ampm-pill button{position:relative;z-index:1;padding:8px 18px;min-height:36px;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--text-sub);border-radius:var(--r-pill);transition:color .2s}.ampm-pill button.active{color:var(--text)}.ampm-thumb{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:var(--r-pill);background:#fff;box-shadow:0 2px 8px rgba(0,0,0,.14);transition:transform .4s var(--ease-spring)}.ampm-thumb.pm{transform:translateX(100%)}body.night #routine-pm .rstep{background:rgba(0,0,0,.035);border-color:rgba(0,0,0,.13)}body.night #routine-pm .rstep-img-empty{background:rgba(0,0,0,.02)}@media (prefers-reduced-motion:reduce){.ampm-pill{transition:opacity .18s ease}.ampm-pill,.ampm-pill.on{transform:translateX(-50%)}.ampm-thumb{transition:none}}.step{border-top:1px solid var(--border);padding:14px 0}.badge-disc{display:inline-block;font-family:var(--mono);font-size:10px;background:var(--blush-light);color:var(--blush);padding:2px 8px;border-radius:var(--r-pill);margin-left:6px}.chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ing-chip{font-family:var(--mono);font-size:11px;background:var(--sage-light);color:var(--text-sub);padding:3px 9px;border-radius:var(--r-pill)}.ing-chip-wrap{position:relative;display:inline-flex}.ing-chip-info{border:none;cursor:pointer;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.ing-chip-info:focus-visible{outline:2px solid var(--blush);outline-offset:1px}.ing-chip-bubble{position:absolute;bottom:calc(100% + 8px);left:0;z-index:20;width:max-content;max-width:min(240px,74vw);background:var(--text);color:var(--bg);font-size:12px;line-height:1.55;text-align:left;padding:9px 11px;border-radius:var(--r-md);opacity:0;visibility:hidden;transition:opacity var(--dur-fast),visibility var(--dur-fast);pointer-events:none}.ing-chip-bubble.open{opacity:1;visibility:visible}.ing-chip-bubble .ing-chip-alias{display:block;font-family:var(--mono);font-size:11px;font-weight:700;margin-bottom:2px}.ing-chip-bubble .ing-chip-desc{display:block}.whisper{background:var(--blush-light);border-radius:var(--r-lg);padding:16px 18px;margin:22px 0;font-style:italic;color:var(--text-sub)}.whisper-label{display:block;font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text);font-style:normal;margin-bottom:8px}.whisper-label:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--text);margin-right:7px;vertical-align:middle;transform:translateY(-1px)}.debate-block{border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;margin:14px 0}.debate-block .dq{font-family:var(--disp);font-size:18px;font-weight:700;margin-bottom:12px}.opt{display:flex;align-items:center;gap:10px;padding:8px 10px;margin:0 -10px;border-radius:var(--r-md)}.opt .swatch{width:14px;height:14px;border-radius:4px;flex:0 0 auto}.opt .olabel{font-weight:600;flex:1 1;display:flex;align-items:center;gap:8px}.opt .opct{font-family:var(--mono);color:var(--text-mute)}.opt-selected{background:var(--blush-light)}.opt-selected .opct{color:var(--text);font-weight:500}.opick{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;background:var(--blush);color:var(--bg);padding:2px 8px;border-radius:var(--r-pill);animation:opick-in var(--dur-base) var(--ease-spring)}@keyframes opick-in{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.opick{animation:none}}.opt-wrap{position:relative}.opt-choose{width:100%;text-align:left;cursor:pointer;transition:background var(--dur-fast)}.opt-choose:hover{background:var(--blush-light)}.opt-choose .olabel{flex:1 1}.opt-pending{background:var(--blush-light)}.opt-pending .olabel{color:var(--text)}.opt-vote{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:var(--blush);color:var(--bg);font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:6px 16px;border-radius:var(--r-pill);animation:opt-vote-in var(--dur-base) var(--ease-spring)}.opt-vote:disabled{opacity:.6}@keyframes opt-vote-in{0%{opacity:0;transform:translateY(-50%) scale(.8)}to{opacity:1;transform:translateY(-50%) scale(1)}}@media (prefers-reduced-motion:reduce){.opt-vote{animation:none}}.vote-hint{font-family:var(--mono);font-size:11px;color:var(--text-mute);margin-top:8px}.fab-actions{position:fixed;z-index:400;right:max(20px,calc(50% - 224px));bottom:calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:flex-end;gap:10px}@media (max-width:640px){.fab-actions{right:20px}}.fab-scrim{position:fixed;inset:0;z-index:-1;background:rgba(26,26,26,.32);animation:fabScrimIn .18s ease}@keyframes fabScrimIn{0%{opacity:0}to{opacity:1}}.fab-trigger{width:56px;height:56px;border-radius:50%;flex-shrink:0;background:var(--text);color:var(--bg);border:none;box-shadow:var(--shadow-card);display:flex;align-items:center;justify-content:center;cursor:pointer}.fab-trigger-icon{display:inline-block;font-size:26px;font-weight:300;line-height:1;transition:transform .2s ease}.fab-actions.open .fab-trigger-icon{transform:rotate(45deg)}.fab-items{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.fab-items[hidden]{display:none}.fab-item{transform:translateY(8px) scale(.9);opacity:0;transition:transform .2s cubic-bezier(.34,1.56,.64,1),opacity .16s ease}.fab-actions.open .fab-item{transform:translateY(0) scale(1);opacity:1}.fab-item .pill-btn{white-space:nowrap;box-shadow:var(--shadow-card);background:var(--surface);border-color:transparent;padding:10px 16px}.fab-item .pill-btn.on{background:#C9A88F;color:var(--text)}@media (prefers-reduced-motion:reduce){.fab-item,.fab-scrim,.fab-trigger-icon{transition:none;animation:none}}.status-group{display:inline-flex;position:relative;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface)}.status-group .pill-btn{border:none;border-radius:0;background:transparent}.status-group button.pill-btn:first-of-type{border-radius:var(--r-pill) 0 0 var(--r-pill)}.status-group button.pill-btn:last-of-type{border-radius:0 var(--r-pill) var(--r-pill) 0}.status-group button.pill-btn:not(:last-of-type){border-right:1px solid var(--border)}.status-group .pill-btn.on{background:#C9A88F;color:var(--text)}.status-group .action-err{position:absolute;top:calc(100% + 6px);left:0;margin:0;white-space:nowrap}.detail-hero-image .status-group{border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}.detail-hero-image .status-group .pill-btn{color:rgba(255,255,255,.92)}.detail-hero-image .status-group button.pill-btn:not(:last-of-type){border-right-color:rgba(255,255,255,.25)}.detail-hero-image .status-group .pill-btn.on{color:var(--text)}.text-actions{display:flex;align-items:center;gap:16px;margin-top:10px}.text-actions .pill-btn{border:none;background:transparent;padding:0}.detail-hero-image .text-actions .pill-btn{color:rgba(255,255,255,.78)}.detail-hero-image .text-actions .pill-btn:hover{color:#fff}.action-err{font-size:12px;color:#B4443C;margin-top:6px}.take-swatch{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:6px;vertical-align:baseline}.take-filters{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none}.take-filters::-webkit-scrollbar{display:none}.poll-block{border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;margin:14px 0}.poll-block .dq{font-family:var(--disp);font-size:18px;font-weight:700;margin-bottom:12px}.poll-context{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute);margin-bottom:10px}.poll-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:14px;gap:14px;margin:18px 0}.poll-card{border:1px solid var(--border);border-radius:var(--r-md);padding:14px;text-align:left;background:none;cursor:pointer}.poll-card:disabled{cursor:default}.poll-card-pending{outline:2px solid var(--blush)}.poll-card-selected{background:var(--blush-light)}.poll-card-img{width:100%;aspect-ratio:1;border-radius:var(--r-sm);background-size:cover;background-position:50%;margin-bottom:12px}.poll-card-label{font-weight:700;font-size:14px;line-height:1.4;margin-bottom:8px}.poll-spec{font-family:var(--mono);font-size:11px;line-height:1.7;color:var(--text-mute)}.poll-pct{font-family:var(--disp);font-size:20px;font-weight:700;margin-top:12px}.poll-badge-disc{font-family:var(--mono);font-size:9px;background:var(--border);padding:1px 6px;border-radius:var(--r-pill);margin-left:6px}.poll-vote-btn{background:var(--blush);color:var(--bg);border:none;border-radius:var(--r-pill);padding:8px 18px;font-weight:700;cursor:pointer;margin-top:8px}.poll-skip{background:none;border:none;color:var(--text-mute);cursor:pointer;font-size:12px}.poll-followup{border-top:1px solid var(--border);margin-top:12px;padding-top:12px}.poll-followup-q{font-weight:700;font-size:14px;margin-bottom:8px}.poll-followup-actions{display:flex;gap:10px;align-items:center;margin-top:8px}.poll-sponsor{font-family:var(--mono);font-size:10px;color:var(--text-mute);margin-top:8px}.poll-block .vote-hint{margin-top:16px}.poll-block .link-btn{margin-top:12px}.take-filters .chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.filter-group{margin-bottom:4px}.filter-group-label{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-mute);margin-top:10px}.chips{display:flex;gap:8px;overflow-x:auto;padding:8px 0}.chip{font-family:var(--mono);font-size:12px;padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);white-space:nowrap}.chip.on{background:var(--text);color:var(--bg);border-color:var(--text)}.empty{text-align:center;color:var(--text-mute);padding:60px 20px}.count-row{justify-content:space-between;font-size:13px;color:var(--text-sub);margin:12px 0}.count-row,.page-loader{display:flex;align-items:center}.page-loader{justify-content:center;min-height:60vh}.page-loader-dot{width:10px;height:10px;border-radius:50%;background:var(--text-mute);animation:page-loader-pulse 1.1s ease-in-out infinite}@keyframes page-loader-pulse{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:.9;transform:scale(1)}}.detail-section-h{font-family:var(--disp);font-size:20px;font-weight:700;margin:24px 0 10px}.link-btn{display:inline-block;background:var(--text);color:var(--bg);padding:10px 18px;border-radius:var(--r-pill);font-size:14px;margin:4px 6px 4px 0}.auth-input{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);font-size:15px}.auth-input:focus{outline:none;border-color:var(--blush)}.pill-btn{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:7px 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface);font-size:13px;color:var(--text-sub);transition:border-color .15s,color .15s}.pill-btn:hover{border-color:var(--blush);color:var(--text)}.pill-btn.on{border-color:var(--text);color:var(--text);font-weight:600}.share-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.42);animation:share-fade .15s ease-out}@keyframes share-fade{0%{opacity:0}to{opacity:1}}.share-modal{width:100%;max-width:360px;background:var(--surface);border-radius:var(--r-lg);box-shadow:0 18px 50px rgba(0,0,0,.25);padding:20px;animation:share-pop-in .16s ease-out}@keyframes share-pop-in{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}.share-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.share-modal-title{font-family:var(--disp);font-size:17px;font-weight:700;color:var(--text)}.share-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:14px;color:var(--text-sub);transition:background .15s,color .15s}.share-close:hover{background:var(--blush-light);color:var(--text)}.share-icons{display:flex;gap:4px}.share-icon-btn{display:flex;flex-direction:column;align-items:center;gap:7px;flex:1 1;padding:8px 4px;border-radius:var(--r-md);background:transparent;transition:background .15s}.share-icon-btn:hover{background:var(--blush-light)}.share-glyph{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:#fff}.share-glyph svg{width:20px;height:20px;fill:currentColor}.share-glyph--x{background:#000}.share-glyph--facebook{background:#1877f2}.share-glyph--reddit{background:#ff4500}.share-glyph--instagram{background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888)}.share-glyph--tiktok{background:#000}.share-icon-label{font-size:11px;color:var(--text-sub)}.share-url-row{display:flex;align-items:center;gap:8px;margin-top:18px;padding:6px 6px 6px 12px;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--bg)}.share-url-icon{display:flex;color:var(--text-mute)}.share-url-icon svg{width:16px;height:16px;fill:currentColor}.share-url{flex:1 1;min-width:0;border:none;background:transparent;font-size:13px;color:var(--text-sub);text-overflow:ellipsis}.share-url:focus{outline:none}.share-copy-btn{flex-shrink:0;padding:8px 16px;border-radius:var(--r-pill);background:var(--text);color:var(--bg);font-size:13px;font-weight:600;transition:opacity .15s}.share-copy-btn:hover{opacity:.85}.share-status{min-height:16px;margin-top:12px;text-align:center;font-size:12px;color:var(--text-sub)}.share-status:empty{display:none}.product-layout{max-width:860px;margin:0 auto;padding:0 20px 80px}.product-hero{display:grid;grid-template-columns:260px 1fr;grid-gap:32px;gap:32px;padding:24px 0 32px;align-items:start}@media (max-width:640px){.product-hero{grid-template-columns:1fr;gap:20px}}.product-img-wrap{position:relative}.product-img{width:100%;border-radius:var(--r-xl);aspect-ratio:1;object-fit:cover;display:block;background:var(--blush-light)}.product-img-badge{top:12px;left:12px;background:var(--surface);font-size:11px;font-weight:700;color:var(--text);box-shadow:0 1px 6px rgba(0,0,0,.1);text-transform:uppercase;letter-spacing:.04em}.product-img-badge,.product-img-price{position:absolute;border-radius:var(--r-pill);padding:4px 10px;font-family:var(--mono)}.product-img-price{bottom:12px;right:12px;background:rgba(26,26,26,.78);color:#fff;font-size:12px;font-weight:600}.product-info{padding-top:2px}.product-brand-link{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-sub);margin-bottom:8px;transition:color .15s}a.product-brand-link:hover{color:var(--text)}.product-brand-dot{width:8px;height:8px;border-radius:50%;background:var(--text)}.product-name{font-family:var(--disp);font-size:24px;font-weight:800;color:var(--text);line-height:1.25;margin-bottom:6px}.product-pos{font-family:var(--mono);font-size:12px;color:var(--text-mute);margin-bottom:14px}.product-key-ingredients{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.product-chip{font-family:var(--mono);font-size:11px;background:var(--sage-light);color:var(--text-sub);font-weight:600;padding:4px 10px;border-radius:var(--r-pill)}.product-actions{margin-top:16px}.product-kayty-note{background:var(--surface);border-left:3px solid var(--text);border-radius:0 var(--r-md) var(--r-md) 0;padding:14px 18px;margin-bottom:32px}.product-kayty-note-label{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--text-sub);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px}.product-kayty-note-text{font-size:14px;color:var(--text);line-height:1.65;font-weight:500}.product-section{margin-bottom:36px}.product-section-title{font-family:var(--disp);font-size:16px;font-weight:700;color:var(--text);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.product-section-count{font-family:var(--mono);font-size:12px;color:var(--text-mute);font-weight:400}.where-to-buy-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:10px;gap:10px}.buy-btn{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--r-lg);background:var(--surface);transition:border-color .15s,background .15s}.buy-btn:hover{border-color:var(--text);background:var(--blush-light)}.buy-btn-icon{font-size:18px;flex-shrink:0}.buy-btn-label{font-size:13px;font-weight:700;color:var(--text);line-height:1.2}.routine-rows{display:flex;flex-direction:column;gap:10px}.routine-row{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;transition:border-color .15s,box-shadow .15s,transform .15s}.routine-row:hover{border-color:var(--text);box-shadow:var(--shadow-card);transform:translateY(-1px)}.routine-row-rank{font-family:var(--disp);font-size:16px;font-weight:900;color:var(--text);width:24px;text-align:center;flex-shrink:0}.routine-row-thumb{width:48px;height:48px;border-radius:var(--r-md);object-fit:cover;flex-shrink:0;background:var(--blush-light)}.routine-row-info{flex:1 1;min-width:0}.routine-row-title{font-size:13px;font-weight:700;color:var(--text);margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routine-row-title em{font-style:italic}.routine-row-sub{font-size:11px;color:var(--text-mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.routine-row-step{font-family:var(--mono);font-size:11px;font-weight:700;color:var(--text-sub);background:var(--sage-light);padding:3px 8px;border-radius:var(--r-pill);flex-shrink:0}.freq-used-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:12px;gap:12px}.freq-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;display:block;transition:box-shadow .15s,transform .15s}.freq-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.freq-card-img{width:100%;aspect-ratio:1;object-fit:cover;background:var(--blush-light)}.freq-card-img-empty{display:flex;align-items:center;justify-content:center;font-size:26px}.freq-card-body{padding:8px 10px 10px}.freq-card-cat{font-family:var(--mono);font-size:10px;font-weight:600;color:var(--text-sub);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}.freq-card-name{font-size:12px;font-weight:700;color:var(--text);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-ing-toggle{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}.product-ing-toggle summary{padding:14px 18px;background:var(--surface);font-size:14px;font-weight:700;color:var(--text);cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.product-ing-toggle summary::-webkit-details-marker{display:none}.product-ing-toggle summary:after{content:"▼";font-size:12px;color:var(--text-mute);transition:transform .2s}.product-ing-toggle[open] summary:after{transform:rotate(180deg)}.product-ing-toggle .ings{padding:0 18px 18px;font-size:12px;color:var(--text-sub);line-height:1.8;border-top:1px solid var(--border);background:var(--surface)}.nf-wrap{max-width:640px;margin:0 auto;padding:52px 20px 88px}.nf-art{text-align:center;margin-bottom:44px}.nf-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);margin:0 0 14px}.nf-head{font-family:var(--disp);font-size:27px;font-weight:400;line-height:1.22;color:var(--text);margin:0}.nf-head em{font-style:italic;font-weight:700}.nf-head-lg{font-size:40px;line-height:1.12}.nf-sub{font-size:14px;color:var(--text-sub);line-height:1.6;margin:14px auto 0;max-width:340px}.nf-shelf{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:30px}.nf-shelf-4{font-family:var(--disp);font-size:124px;font-weight:700;line-height:1;color:var(--text)}.nf-shelf-card{width:90px;aspect-ratio:200/248;background:#F1ECE6;border-radius:var(--r-sm);position:relative;transform:rotate(-5deg);transition:transform .4s var(--ease-out);box-shadow:var(--shadow-card)}.nf-shelf-card:hover{transform:rotate(0deg)}.nf-shelf-chip{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--text);color:var(--surface);font-family:var(--mono);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:4px}.nf-whisper{max-width:420px;margin:22px auto 0;background:#F6F3EE;border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 22px;font-style:italic;font-size:15px;line-height:1.7;color:var(--text-sub);text-align:left}.nf-whisper-sign{display:block;margin-top:12px;font-style:normal;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text-mute);text-align:right}.nf-rx{max-width:380px;margin:0 auto;border:1.5px dashed var(--text);border-radius:var(--r-md);padding:22px 22px 24px;position:relative;text-align:left;background:var(--surface)}.nf-rx-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:16px}.nf-rx-stamp{font-family:var(--disp);font-weight:700;font-size:30px;line-height:1;color:transparent;-webkit-text-stroke:1.5px rgba(0,0,0,.16);transform:rotate(8deg);flex-shrink:0}.nf-rx-body{margin:0}.nf-rx-row{margin-bottom:14px}.nf-rx-row:last-child{margin-bottom:0}.nf-rx-row dt{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mute);margin-bottom:3px}.nf-rx-row dd{margin:0;font-family:var(--disp);font-size:18px;color:var(--text);line-height:1.3}.nf-rx-row dd em{font-style:italic;font-weight:700}.nf-rail{margin-top:8px}.nf-rail-title{font-family:var(--disp);font-size:17px;font-weight:700;color:var(--text);margin-bottom:14px}.nf-home-btn{display:block;width:-moz-fit-content;width:fit-content;margin:36px auto 0;background:var(--text);color:var(--surface);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:12px 26px;border-radius:var(--r-pill);transition:opacity .15s}.nf-home-btn:hover{opacity:.82}@media (max-width:480px){.nf-shelf{gap:12px}.nf-shelf-4{font-size:80px}.nf-shelf-card{width:62px}.nf-head{font-size:23px}.nf-head-lg{font-size:31px}}.avoid-suggest{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;z-index:30;overflow:hidden}.avoid-suggest-item{display:block;width:100%;text-align:left;padding:9px 12px;font-size:13px;background:none;border:0;border-bottom:1px solid var(--border);cursor:pointer}.avoid-suggest-item:last-child{border-bottom:0}.avoid-suggest-item:hover{background:var(--bg)}.avoid-suggest-item .muted{font-size:11px;color:var(--text-mute);margin-left:6px}.micro-prompt{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100vw - 32px));background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 28px rgba(0,0,0,.12);padding:14px 16px;z-index:450}.micro-prompt-q{font-size:14px;font-weight:600;margin-bottom:8px}.micro-prompt-skip{display:block;margin-top:8px;background:none;border:0;padding:0;font-size:12px;color:var(--text-mute);cursor:pointer;text-decoration:underline}.my-head{gap:14px;margin:22px 0 18px}.my-avatar,.my-head{display:flex;align-items:center}.my-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;background:var(--text);color:var(--bg);justify-content:center;font-family:var(--disp);font-size:22px;font-weight:700}.my-avatar-btn{position:relative;flex-shrink:0;padding:0;border:none;background:none;cursor:pointer}.my-avatar-btn:disabled{opacity:.6;cursor:default}.my-avatar-btn img.my-avatar{display:block}.my-avatar-cam{position:absolute;right:-2px;bottom:-2px;width:20px;height:20px;border-radius:50%;background:var(--bg);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-mute)}.my-head-info{min-width:0}.my-name{font-family:var(--disp);font-size:22px;font-weight:700;line-height:1.2;display:flex;align-items:center;gap:8px}.my-name-edit{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;color:var(--text-mute);border:1px solid var(--border);border-radius:var(--r-pill);padding:3px 9px}.my-name-edit:hover{color:var(--text);border-color:var(--text)}.my-meta{font-size:12.5px;color:var(--text-mute);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.my-section{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:16px;margin-bottom:14px}.my-eyebrow{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--text-mute)}.my-section-title{font-family:var(--disp);font-size:17px;font-weight:700;margin-top:3px}.my-section-desc{font-size:13px;color:var(--text-mute);margin-top:2px}.my-section-body{margin-top:12px}.my-rows{margin-top:8px}.my-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:11px 0;border-top:1px solid var(--border);font-size:14px;font-weight:500;color:var(--text)}.my-row:first-child{border-top:0}.my-row .arr{color:var(--text-mute);font-family:var(--mono);font-size:12px}.my-row-danger{color:#B4443C}.my-hero .my-avatar{width:68px;height:68px;font-size:28px}.my-hero .my-avatar-cam{width:22px;height:22px;font-size:12px}.my-stats{font-family:var(--mono);font-size:12px;color:var(--text-sub);margin-top:5px;letter-spacing:.02em}.my-stats b{font-weight:700;color:var(--text)}.my-shelf-btn{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-size:13px;font-weight:600;border:1px solid var(--border);border-radius:var(--r-pill);padding:6px 13px}.my-shelf-btn:hover{border-color:var(--text)}.my-act-list{margin-top:4px}.my-act-row{display:block;padding:10px 0;border-top:1px solid var(--border)}.my-act-row:first-child{border-top:0}.my-act-text{font-size:14px}.my-act-empty{color:var(--text-mute);font-size:13px;padding-top:8px}.my-skin-summary{margin-top:10px}.my-back{display:inline-block;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute);margin:18px 0 0}.my-back:hover{color:var(--text)}.my-legal{margin:22px 0 30px;text-align:center}.my-legal-links{font-size:12px;color:var(--text-mute)}.my-legal-links a{padding:4px 2px}.my-legal-links a:hover{color:var(--text)}.my-legal-delete{display:inline-block;margin-top:10px;font-size:12.5px;color:#B4443C}.kdlg-overlay{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(20,22,30,.5);animation:popupScrim .2s var(--ease-out)}.kdlg-card{width:100%;max-width:380px;background:var(--surface);border-radius:var(--r-xl);padding:24px 22px 18px;box-shadow:var(--shadow-hover);animation:popupIn .32s var(--ease-out)}.kdlg-title{font-family:var(--disp);font-size:17px;font-weight:700;color:var(--text);margin-bottom:6px}.kdlg-msg{font-size:14px;line-height:1.55;color:var(--text-sub)}.kdlg-actions{display:flex;gap:8px;margin-top:20px}.kdlg-actions .k-btn{flex:1 1}.kdlg-btn-danger{background:#B4443C;color:#fff}.kdlg-btn-danger:hover{opacity:.9}@media (prefers-reduced-motion:reduce){.kdlg-card,.kdlg-overlay{animation:popupScrim .18s ease}}.ktoast-layer{position:fixed;z-index:2100;top:calc(74px + env(safe-area-inset-top));left:0;right:0;display:flex;justify-content:center;padding:0 16px;pointer-events:none}.ktoast{pointer-events:auto;display:flex;align-items:center;gap:10px;width:auto;max-width:min(420px,100%);padding:12px 16px;text-align:left;border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--shadow-hover);animation:ktoast-in .28s var(--ease-out)}.ktoast-icon{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;font-weight:700;line-height:1}.ktoast-msg{font-size:13.5px;font-weight:500;line-height:1.45;color:var(--text)}.ktoast-info .ktoast-icon{background:var(--blush-light)}.ktoast-error{border-color:#B4443C}.ktoast-error .ktoast-icon{background:#B4443C;color:#fff}.ktoast-success .ktoast-icon{background:var(--text);color:var(--bg)}@keyframes ktoast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.ktoast{animation:popupScrim .18s ease}}.notif-mark-all{font-family:var(--mono);font-size:11.5px;font-weight:600;letter-spacing:.04em;color:var(--text-mute);border:1px solid var(--border);border-radius:var(--r-pill);padding:6px 12px;white-space:nowrap}.notif-mark-all:hover{color:var(--text);border-color:var(--text)}.notif-list{display:flex;flex-direction:column;margin-top:4px}.notif-row{display:flex;align-items:flex-start;gap:10px;width:100%;text-align:left;min-height:44px;padding:14px 6px;border-top:1px solid var(--border);background:transparent}.notif-row:first-child{border-top:0}.notif-row:hover{background:var(--blush-light)}.notif-unread{background:var(--card-bg)}.notif-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:#B4443C;margin-top:6px}.notif-dot-hidden{background:transparent}.notif-body{display:flex;flex-direction:column;gap:3px;min-width:0}.notif-title{font-size:14.5px;font-weight:600;color:var(--text);line-height:1.4}.notif-sub{font-size:13px;color:var(--text-sub);line-height:1.4}.notif-time{font-family:var(--mono);font-size:11px;color:var(--text-mute);margin-top:2px}.search-page{padding-top:16px}.search-bar{position:relative;margin-bottom:16px}.search-input{width:100%;padding:12px 40px 12px 14px;border:1px solid var(--border);border-radius:var(--r-md);font-size:16px;background:var(--card-bg)}.search-input:focus{outline:2px solid var(--text);outline-offset:-1px}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;font-size:14px;cursor:pointer;padding:6px;opacity:.6}.search-hint{color:var(--text-sub);font-size:14px;padding:8px 2px}.search-empty{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px 2px}.search-section{margin-bottom:28px}.search-section-title{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-sub);margin-bottom:10px}.search-brand-row{display:flex;align-items:center;gap:12px;padding:10px 2px;text-decoration:none;color:inherit}.search-brand-logo{width:40px;height:40px;border-radius:50%;object-fit:cover;border:1px solid var(--border);background:#fff}.search-brand-logo-empty{display:inline-flex;align-items:center;justify-content:center;font-weight:700;color:var(--text-sub)}.search-brand-name{font-weight:600}.search-routine-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.legal{padding-bottom:40px}.legal-title{font-family:var(--disp);font-size:28px;margin:24px 0 4px}.legal-date{font-size:13px;color:var(--text-mute);margin-bottom:20px}.legal-intro{font-size:14px;line-height:1.65;color:var(--text-sub);margin-bottom:20px}.legal h2{font-family:var(--disp);font-size:17px;font-weight:700;margin:26px 0 8px}.legal li,.legal p{font-size:14px;line-height:1.65}.legal p,.legal ul{margin-bottom:10px}.legal ul{padding-left:18px;display:grid;grid-gap:6px;gap:6px}.legal strong{font-weight:600}.legal a{text-decoration:underline;text-underline-offset:2px}.legal-callout{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:12px 14px;margin:12px 0;font-size:13.5px;line-height:1.6;color:var(--text-sub)}.legal-table{width:100%;border-collapse:collapse;margin:10px 0 14px;font-size:13px}.legal-table td,.legal-table th{text-align:left;padding:8px 10px;border:1px solid var(--border);vertical-align:top;line-height:1.5}.legal-table th{background:var(--card-bg);font-weight:600;white-space:nowrap}.journal-h1{font-family:var(--disp);font-size:30px;margin:18px 0 4px}.journal-sub{font-size:14px;color:var(--text-sub);margin-bottom:16px}.journal-grid{display:grid;grid-gap:16px;gap:16px;margin-top:8px}.journal-card{display:block;border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;background:var(--card-bg)}.journal-card-img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.journal-card-img-empty{background:var(--blush-light)}.journal-card-body{padding:14px 16px 16px}.journal-card-title{font-family:var(--disp);font-size:19px;font-weight:700;line-height:1.25}.journal-card-sub{font-size:13.5px;color:var(--text-sub);margin-top:4px;line-height:1.5}.journal-card-date{font-family:var(--mono);font-size:11px;color:var(--text-mute);margin-top:10px}.journal-article{padding-top:8px}.journal-hero{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--r-lg);margin:12px 0 4px}.journal-title{font-family:var(--disp);font-size:32px;font-weight:700;line-height:1.15;margin:14px 0 6px}.journal-subtitle{font-size:16px;color:var(--text-sub);line-height:1.55;margin-bottom:10px}.journal-byline{display:flex;gap:8px;align-items:center;font-family:var(--mono);font-size:12px;color:var(--text-sub);margin-bottom:16px;flex-wrap:wrap}.journal-updated{color:var(--text-mute)}.journal-tldr{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:14px 16px;margin-bottom:20px}.journal-tldr-label{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--text-mute);margin-bottom:6px}.journal-tldr p{font-size:15px;line-height:1.6;font-weight:500}.journal-body{padding-bottom:8px}.journal-body h2{font-size:21px;margin:28px 0 10px}.journal-body h2,.journal-body h3{font-family:var(--disp);font-weight:700}.journal-body h3{font-size:17px;margin:22px 0 8px}.journal-body li,.journal-body p{font-size:15.5px;line-height:1.75}.journal-body p{margin-bottom:14px}.journal-body ol,.journal-body ul{padding-left:20px;margin-bottom:14px;display:grid;grid-gap:6px;gap:6px}.journal-body a{text-decoration:underline;text-underline-offset:2px}.journal-body strong{font-weight:600}.journal-body blockquote{border-left:3px solid var(--border);padding-left:14px;color:var(--text-sub);margin:14px 0}.journal-body table{width:100%;border-collapse:collapse;margin:10px 0 14px;font-size:14px}.journal-body td,.journal-body th{text-align:left;padding:8px 10px;border:1px solid var(--border);vertical-align:top;line-height:1.5}.journal-body th{background:var(--card-bg);font-weight:600}.journal-tags{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 6px}.onb-page{display:flex;flex-direction:column;min-height:100dvh;padding-top:14px}.onb-top{display:flex;align-items:center;justify-content:space-between;min-height:32px}.onb-dots{display:flex;gap:8px}.onb-dot{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background .25s,transform .25s}.onb-dot.on{background:var(--text);transform:scale(1.15)}.onb-skip{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--text-mute);background:none;border:none;cursor:pointer;padding:6px 0 6px 12px}.onb-skip:hover{color:var(--text)}.onb-track-wrap{flex:1 1;overflow:hidden;display:flex;align-items:center;touch-action:pan-y}.onb-track{display:flex;width:100%;transition:transform .35s cubic-bezier(.22,.61,.36,1)}.onb-card{flex:0 0 100%;padding:24px 8px;text-align:center}.onb-icon{width:72px;height:72px;margin:0 auto 26px;border-radius:50%;background:var(--blush-light);display:flex;align-items:center;justify-content:center;color:var(--text)}.onb-kicker{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-mute);margin-bottom:10px}.onb-title{font-family:var(--disp);font-size:26px;font-weight:700;line-height:1.2;margin-bottom:12px}.onb-desc{font-size:15px;line-height:1.65;color:var(--text-sub);max-width:300px;margin:0 auto}.onb-bottom{padding:16px 0 max(24px,env(safe-area-inset-bottom))}