:root{--paper:#F8FAFC;--surface:#FFFFFF;--panel:#0C4A6E;--primary:#0284C7;--primary-deep:#0C4A6E;--primary-tint:#E0F2FE;--primary-line:#BAE6FD;--pink:#EC4899;--pink-tint:#FDF2F8;--pink-dark:#BE185D;--ink:#0F172A;--muted:#64748B;--line:#E2E8F0;--red:#DC2626;--red-tint:#FEE2E2;--shadow:0 1px 2px rgba(12,74,110,.06),0 8px 24px rgba(12,74,110,.08);--shadow-lg:0 12px 40px rgba(12,74,110,.16);--radius:14px;--font-mono:monospace;--text-base:17px;--text-reading:18px;--text-sm:16px;--text-xs:14.5px;--heading-card:18px;--heading-page:28px;--heading-section:22px;--leading:1.65;--leading-relaxed:1.75}*{box-sizing:border-box}html{scroll-behavior:smooth}html.hero-cinematic,html.hero-cinematic body{scrollbar-width:none;-ms-overflow-style:none}html.hero-cinematic body::-webkit-scrollbar,html.hero-cinematic::-webkit-scrollbar{display:none}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-sans),system-ui,sans-serif;font-size:var(--text-base);line-height:var(--leading);-webkit-font-smoothing:antialiased}p{font-size:var(--text-reading);line-height:var(--leading-relaxed);margin:0 0 1em}p:last-child{margin-bottom:0}.mono{font-family:var(--font-mono)}a{color:inherit}button{cursor:pointer}button,input,select,textarea{font-family:inherit}h1,h2,h3,h4{line-height:1.15;margin:0;font-weight:800;letter-spacing:-.01em}.page-title{font-size:var(--heading-page);margin-bottom:16px}.page-lead{color:var(--muted);font-size:var(--text-reading);line-height:var(--leading-relaxed)}.text-meta{font-size:var(--text-xs);color:var(--muted);line-height:var(--leading)}.card-label{font-size:var(--text-sm);font-weight:700;display:block}.wrap{max-width:1160px;margin:0 auto;padding:0 24px}header.nav{position:-webkit-sticky;position:sticky;top:0;z-index:40;background:rgba(248,250,252,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);animation:nav-fade-in-up .85s cubic-bezier(.16,1,.3,1) forwards}header.nav.nav-home{position:fixed;left:0;right:0;top:0}header.nav.nav-hero{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent;color:#fff;animation:nav-fade-in-up .85s cubic-bezier(.16,1,.3,1) forwards}header.nav.nav-hero nav.links a{color:rgba(255,255,255,.82)}header.nav.nav-hero nav.links a:hover{color:#fff;background:rgba(255,255,255,.12)}header.nav.nav-hero nav.links a.on{color:#fff;background:rgba(255,255,255,.18)}header.nav.nav-hero .brand-txt span{color:rgba(255,255,255,.72)}header.nav.nav-hero .nav-toggle{background:transparent;border-color:rgba(255,255,255,.35)}header.nav.nav-hero .nav-toggle span{background:#fff}header.nav.nav-hero .userchip{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.24);color:#fff}header.nav.nav-hero .userchip-caret{color:rgba(255,255,255,.72)}header.nav.nav-home:not(.nav-hero){background:rgba(248,250,252,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);color:inherit}header.nav.nav-home:not(.nav-hero) nav.links a{color:var(--muted)}header.nav.nav-home:not(.nav-hero) nav.links a:hover{color:var(--ink);background:rgba(2,132,199,.07)}header.nav.nav-home:not(.nav-hero) nav.links a.on{color:var(--primary-deep);background:var(--primary-tint)}header.nav.nav-home:not(.nav-hero) .brand-txt span{color:var(--muted)}header.nav.nav-home:not(.nav-hero) .nav-toggle{background:var(--surface);border-color:var(--line)}header.nav.nav-home:not(.nav-hero) .nav-toggle span{background:var(--ink)}.btn.hero-join{background:transparent;color:#fff;border:1px solid #fff;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:400}.btn.hero-join:hover{background:#fff;color:#000}@keyframes nav-fade-in-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.nav-inner{gap:20px;height:66px}.brand,.nav-inner{display:flex;align-items:center}.brand{gap:11px;text-decoration:none;color:inherit;-webkit-user-select:none;-moz-user-select:none;user-select:none}.brand-logo{width:auto;height:auto;flex:none;border-radius:50%}.brand-txt{display:flex;flex-direction:column;line-height:1.05}.brand-txt b{font-size:16px;font-weight:800}.brand-txt span{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}nav.links{display:flex;gap:2px;margin-left:8px}nav.links a{text-decoration:none;padding:7px 11px;border-radius:9px;font-size:14px;font-weight:600;color:var(--muted);transition:.15s}nav.links a:hover{color:var(--ink);background:rgba(2,132,199,.07)}nav.links a.on{color:var(--primary-deep);background:var(--primary-tint)}.spacer{flex:1 1}.userchip{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:13.5px}.userchip-btn{cursor:pointer;border:none;font:inherit;color:inherit;position:relative}.userchip-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userchip-caret{font-size:10px;color:var(--muted);margin-left:2px}.avatar{width:28px;height:28px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:700;font-size:12.5px}.avatar,.avatar-img{border-radius:50%;flex:none}.avatar-img{width:28px;height:28px;object-fit:cover;border:2px solid var(--primary-line)}.avatar-img.adm{border-color:var(--pink)}.avatar.adm{background:var(--pink)}.btn{border:none;border-radius:10px;padding:10px 18px;font-weight:600;font-size:14.5px;transition:.15s;white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center;gap:7px;justify-content:center}.btn.primary{background:var(--primary);color:#fff}.btn.primary:hover{background:var(--primary-deep)}.btn.ghost{background:var(--surface);color:var(--primary-deep);border:1px solid var(--primary-line)}.btn.ghost:hover{background:var(--primary-tint)}.btn.sm{padding:7px 13px;font-size:13px;border-radius:8px}.btn.tiny{padding:5px 10px;font-size:12.5px;border-radius:7px}.btn:disabled{opacity:.5;cursor:not-allowed}main{min-height:70vh}.hero{padding:66px 0 40px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#E0F2FE,#FDF2F8)}.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:52px;gap:52px;align-items:center}.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--primary);display:inline-flex;align-items:center;gap:8px;padding:5px 11px;border:1px solid var(--primary-line);border-radius:999px;background:var(--surface)}.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--pink);animation:pulse-dot 2s ease-in-out infinite}.hero h1{font-size:47px;margin:22px 0 0;letter-spacing:-.02em}.hero h1 em{font-style:normal;color:var(--primary)}.hero .lede{font-size:19px;color:var(--muted);margin:18px 0 26px;max-width:42ch}.hero .cta{display:flex;gap:12px;flex-wrap:wrap}.doubleline{height:4px;border-top:1.5px solid var(--primary);border-bottom:1.5px solid var(--primary);width:52px;margin-bottom:22px}.panel{background:var(--panel);color:#E0F2FE;border-radius:20px;padding:22px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.panel:after{content:"";position:absolute;right:-60px;top:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(236,72,153,.28),transparent 70%)}.panel-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;position:relative}.panel-h b{font-size:14px}.panel-h .tag{font-family:var(--font-mono);font-size:11px;color:#7DD3FC}.mini{display:flex;flex-direction:column;gap:9px;position:relative}.mini-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:11px 13px;display:flex;gap:11px;align-items:center}.mini-ic{width:34px;height:34px;border-radius:8px;background:rgba(236,72,153,.22);flex:none;display:grid;place-items:center;font-size:16px}.mini-card .t{font-size:13px;font-weight:600;line-height:1.3}.mini-card .m{font-family:var(--font-mono);font-size:10.5px;color:#7DD3FC;margin-top:2px}.panel-stat{display:flex;gap:22px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(255,255,255,.12);position:relative}.panel-stat div b{font-size:23px;font-weight:800;display:block}.panel-stat div span{font-size:11px;color:#7DD3FC}section.official-notice{padding:40px 0;border-bottom:1px solid var(--line)}.notice-card{background:var(--surface);border:1px solid var(--primary-line);border-left:4px solid var(--pink);border-radius:var(--radius);padding:28px 32px;box-shadow:var(--shadow);display:flex;gap:20px;align-items:flex-start}.notice-card .notice-seal{font-size:28px;flex:none;line-height:1;margin-top:2px}.notice-badge{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--pink);background:var(--pink-tint);border:1px solid #fbcfe8;border-radius:999px;padding:4px 10px;display:inline-block;margin-bottom:12px}.notice-card h2{font-size:24px;margin-bottom:10px;color:var(--primary-deep)}.notice-card p{font-size:17px;color:var(--muted);margin:0;max-width:none;line-height:var(--leading-relaxed)}.notice-card strong{color:var(--ink)}section.blk{padding:56px 0;border-bottom:1px solid var(--line)}.sec-label{font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-bottom:10px}.sec-h{font-size:30px;max-width:none}.sec-sub{color:var(--muted);margin-top:12px;max-width:none;font-size:var(--text-reading)}.pillars{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px;margin-top:34px}.pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:.2s}.pillar .n{font-family:var(--font-mono);font-size:12px;color:var(--primary);border:1px solid var(--primary-line);border-radius:6px;padding:2px 7px;display:inline-block;margin-bottom:14px}.pillar h4{font-size:var(--heading-card);margin-bottom:7px}.pillar p{color:var(--muted);margin:0}.note,.pillar p{font-size:var(--text-sm);line-height:var(--leading-relaxed)}.note{background:var(--pink-tint);border:1px solid #fbcfe8;border-radius:var(--radius);padding:18px 20px;margin-top:26px;display:flex;gap:14px}.note .ic{font-size:20px}.note b{color:var(--pink-dark)}.prods{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;margin-top:34px}.prod{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.2s}.prod .k{font-family:var(--font-mono);font-size:12px;color:var(--muted)}.prod h4{font-size:var(--heading-card);margin:9px 0 6px}.prod p{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:var(--leading-relaxed)}.cta-band{background:var(--panel);color:#E0F2FE;border-radius:20px;padding:38px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.cta-band h3{font-size:24px;color:#fff;margin:0}.cta-band p{color:#7DD3FC;margin:8px 0 0;font-size:17px;line-height:var(--leading-relaxed)}.cta-band-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-banner{margin-top:40px;border-radius:20px;overflow:hidden;border:1px solid var(--primary-line);box-shadow:var(--shadow-lg);position:relative}.hero-banner img{width:100%;height:auto;display:block;aspect-ratio:16/6;object-fit:cover}.hero-banner-cap{position:absolute;left:0;right:0;bottom:0;padding:18px 24px;background:linear-gradient(transparent,rgba(12,74,110,.82));color:#fff;font-size:var(--text-sm)}.hero-banner-cap b{display:block;font-size:17px;margin-bottom:4px}.page-head{padding:40px 0 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,#E0F2FE,#FDF2F8 60%)}.page-head h2{font-size:32px}.page-head p{color:var(--muted);margin-top:8px;max-width:none;font-size:var(--text-reading)}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding:20px 0;position:-webkit-sticky;position:sticky;top:66px;background:rgba(248,250,252,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:20;border-bottom:1px solid var(--line)}.search{flex:1 1;min-width:220px;position:relative}.search input{width:100%;padding:11px 14px 11px 40px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14.5px}.search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint)}.search .si{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}select.fl{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface);font-size:14px;color:var(--ink)}select.fl:focus{outline:none;border-color:var(--primary)}.count{font-size:13.5px;color:var(--muted);padding:18px 0 4px}.grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;padding:6px 0 60px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:11px;transition:.2s;cursor:pointer;position:relative;overflow:hidden;text-align:left;width:100%}.card .top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.card .code{font-family:var(--font-mono);font-size:11px;color:var(--muted)}.badges{display:flex;gap:6px;flex-wrap:wrap}.badge{font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px}.badge.cap{background:var(--primary-tint);color:var(--primary-deep)}.badge.loai{background:#EEF1F4;color:#3D4A55}.badge.mon{background:var(--pink-tint);color:var(--pink-dark)}.card h4{font-size:var(--heading-card);line-height:1.3}.card .desc{font-size:var(--text-sm);color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card .foot{justify-content:space-between;margin-top:auto;padding-top:6px;font-size:var(--text-xs);color:var(--muted);border-top:1px solid var(--line)}.card .foot,.card .foot .who{display:flex;align-items:center}.card .foot .who{gap:7px}.dotv{width:20px;height:20px;border-radius:50%;background:var(--primary-tint);color:var(--primary-deep);display:grid;place-items:center;font-size:10px;font-weight:700}.empty{grid-column:1/-1;text-align:center;padding:70px 20px;color:var(--muted)}.empty .big{font-size:34px;margin-bottom:10px}.stamp{font-family:var(--font-mono);font-size:10.5px;font-weight:600;letter-spacing:.08em;border:1.5px solid;border-radius:6px;padding:3px 8px;transform:rotate(-3deg);display:inline-block}.stamp.ok{color:var(--primary);border-color:var(--primary)}.stamp.wait{color:var(--pink);border-color:var(--pink)}.stamp.no{color:var(--red);border-color:var(--red)}.overlay{position:fixed;inset:0;background:rgba(12,74,110,.5);z-index:60;display:grid;place-items:center;padding:24px;animation:fade-in .2s ease}.modal{background:var(--surface);border-radius:18px;max-width:640px;width:100%;max-height:88vh;max-height:88dvh;overflow:auto;box-shadow:var(--shadow-lg);animation:scale-in .22s ease;-webkit-overflow-scrolling:touch}.modal-h{padding:24px 26px 0;position:relative}.modal-body{padding:16px 26px 26px}.modal .close{position:absolute;right:18px;top:18px;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:16px;color:var(--muted)}.kv{display:grid;grid-template-columns:130px 1fr;grid-gap:8px 16px;gap:8px 16px;margin:18px 0;font-size:14px}.kv dt{color:var(--muted);font-size:13px}.kv dd{margin:0;font-weight:500}.modal-desc{color:#33413A;font-size:var(--text-reading);line-height:var(--leading-relaxed)}.comments-title{font-size:var(--heading-card);margin-bottom:12px}.reslink{display:inline-flex;align-items:center;gap:8px;background:var(--primary-tint);color:var(--primary-deep);padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none;font-size:14px}.content-blk{padding:40px 0 60px}.content-blk h3{font-size:var(--heading-section);margin:32px 0 12px;color:var(--primary-deep)}.content-blk li,.content-blk p{font-size:17.5px;color:var(--muted);line-height:var(--leading-relaxed)}.content-blk ol,.content-blk ul{padding-left:20px;margin:12px 0}.content-blk li{margin-bottom:6px}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:16px;gap:16px;margin-top:24px}.team-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;transition:.2s}.team-card .role{font-family:var(--font-mono);font-size:11px;color:var(--pink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}.team-card h4{font-size:var(--heading-card);margin-bottom:4px}.team-card p{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:var(--leading-relaxed)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px;margin-top:28px}.contact-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;transition:.2s}.contact-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow);transform:translateY(-2px)}.contact-card h4{font-size:var(--heading-card);margin-bottom:8px;color:var(--primary-deep)}.contact-card a,.contact-card p{font-size:var(--text-sm);color:var(--muted);margin:0;line-height:var(--leading-relaxed)}.contact-card a{text-decoration:none;font-weight:600;color:var(--primary)}.contact-card a:hover{text-decoration:underline}.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.social-links a{display:inline-flex;align-items:center;gap:6px;background:var(--primary-tint);color:var(--primary-deep);padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:600;text-decoration:none}.social-links a:hover{background:var(--primary-line)}.formwrap{max-width:660px;margin:0 auto;padding:34px 24px 70px}.formwrap-wide{max-width:1160px}.fcard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:30px}.field{margin-bottom:18px}.field label{display:block;font-size:15px;font-weight:600;margin-bottom:7px}.field label .req{color:var(--red)}.field input,.field select,.field textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font-size:16px;background:var(--paper)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-tint);background:var(--surface)}.field textarea{resize:vertical;min-height:88px}.two{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.hint{font-size:var(--text-xs);color:var(--muted);margin-top:5px;line-height:var(--leading)}.msg{padding:11px 15px;border-radius:10px;font-size:14px;margin-bottom:16px}.msg.err{background:var(--red-tint);color:var(--red);border:1px solid #fecaca}.msg.ok{background:var(--primary-tint);color:var(--primary-deep);border:1px solid var(--primary-line)}.login-wrap{max-width:460px;margin:60px auto;padding:0 24px}.login-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:34px;box-shadow:var(--shadow)}.authtabs{display:flex;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:4px;margin:18px 0 22px}.authtabs button{flex:1 1;background:none;border:none;padding:9px;border-radius:9px;font-weight:600;font-size:14px;color:var(--muted)}.authtabs button.on{background:var(--surface);color:var(--primary-deep);box-shadow:var(--shadow)}.adm-stats{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;margin:24px 0}.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px}.stat b{font-size:28px;font-weight:800;display:block}.stat span{font-size:12.5px;color:var(--muted)}.stat.hot b{color:var(--pink)}.tabs{display:flex;gap:6px;border-bottom:1px solid var(--line);margin-bottom:4px;flex-wrap:wrap}.tabs button{background:none;padding:11px 16px;font-weight:600;font-size:14px;color:var(--muted);border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.on{color:var(--primary-deep);border-bottom-color:var(--primary)}.modrow{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:18px 20px;margin-top:14px}.modrow .top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.modrow h4{font-size:var(--heading-card);margin-bottom:6px}.modrow .meta{font-size:var(--text-xs);color:var(--muted)}.checklist{background:var(--paper);border:1px dashed var(--primary-line);border-radius:11px;padding:13px 16px;margin:14px 0;font-size:13px}.checklist b{font-size:12px;color:var(--primary-deep);text-transform:uppercase;letter-spacing:.06em}.checklist ul{margin:8px 0 0;padding-left:18px;color:var(--muted)}.modact{margin-top:14px;flex-wrap:wrap;align-items:center}.modact,.rejbox{display:flex;gap:9px}.rejbox{margin-top:12px}.rejbox input{flex:1 1;padding:9px 12px;border:1px solid var(--line);border-radius:9px;font-size:13.5px}footer{background:var(--panel);color:#BAE6FD;padding:44px 0 30px}footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;grid-gap:32px;gap:32px}footer h5{color:#fff;font-size:14px;margin-bottom:12px}footer a,footer p{font-size:13.5px;color:#7DD3FC;text-decoration:none;line-height:1.9;display:block}footer .foot-brand{display:flex;gap:10px;align-items:center;margin-bottom:12px}footer .foot-brand b{color:#fff;font-size:16px}footer .rule{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;font-size:12.5px;color:#38BDF8}@keyframes fade-up{0%{opacity:0;transform:translateY(var(--motion-distance,28px))}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(1turn)}}.fade-up{animation:fade-up var(--motion-duration,.85s) var(--motion-ease,cubic-bezier(.16,1,.3,1)) both}.fade-in{animation:fade-in .2s ease both}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.nav-auth-desktop{display:flex;align-items:center}.nav-drawer,.nav-overlay,.nav-toggle{display:none}.nav-toggle{flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:8px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.nav-toggle span{display:block;width:100%;height:2px;background:var(--ink);border-radius:2px;transition:.2s}.nav-toggle span.open:first-child{transform:translateY(7px) rotate(45deg)}.nav-toggle span.open:nth-child(2){opacity:0}.nav-toggle span.open:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-overlay{position:fixed;inset:0;background:rgba(12,74,110,.4);z-index:45}.nav-drawer{position:fixed;top:0;right:0;width:min(320px,88vw);height:100%;height:100dvh;background:var(--surface);z-index:50;transform:translateX(100%);transition:transform .28s ease;box-shadow:var(--shadow-lg);flex-direction:column;padding:calc(72px + var(--safe-top)) 20px calc(24px + var(--safe-bottom));overflow-y:auto;visibility:hidden;pointer-events:none;-webkit-overflow-scrolling:touch}.nav-drawer.open{transform:translateX(0);visibility:visible;pointer-events:auto}.drawer-links{display:flex;flex-direction:column;gap:4px}.drawer-links a{text-decoration:none;padding:12px 14px;border-radius:10px;font-weight:600;color:var(--muted);font-size:15px;min-height:var(--touch-min,44px);display:flex;align-items:center}.drawer-links a.on,.drawer-links a:hover{color:var(--primary-deep);background:var(--primary-tint)}.drawer-auth{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.drawer-divider{height:1px;background:var(--line);margin:12px 0}.user-menu{position:relative}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);padding:8px;z-index:50}.user-dropdown-head{display:flex;gap:12px;align-items:center;padding:10px 12px 12px;border-bottom:1px solid var(--line);margin-bottom:6px}.user-dropdown-head b{display:block;font-size:14px}.user-dropdown-head span{font-size:12.5px;color:var(--muted)}.user-dropdown-item{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink);text-decoration:none;border:none;background:none;cursor:pointer}.user-dropdown-item.on,.user-dropdown-item:hover{background:var(--primary-tint);color:var(--primary-deep)}.user-dropdown-item.disabled{color:var(--muted);opacity:.65;cursor:not-allowed;padding:10px 12px}.user-dropdown-item.logout{color:var(--red)}.profile-avatar-row{display:flex;gap:20px;align-items:center;margin-bottom:24px}.profile-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;border:3px solid var(--primary-line)}.profile-avatar.placeholder{display:grid;place-items:center;background:var(--primary-tint);color:var(--primary-deep);font-size:36px;font-weight:800}.ref-copy-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.ref-link{font-family:var(--font-mono);font-size:12.5px;background:var(--primary-tint);padding:10px 12px;border-radius:8px;word-break:break-all;flex:1 1;min-width:0}.referral-banner{display:flex;gap:12px;align-items:center;padding:14px 0;margin-top:8px}.referral-banner p{margin:0;font-size:14.5px;color:var(--primary-deep)}.referral-banner .ic{font-size:22px}.comments-section{border-top:1px solid var(--line);padding-top:20px;margin-top:8px}.comment-list{list-style:none;padding:0;margin:0 0 16px;display:flex;flex-direction:column;gap:12px}.comment-item{background:var(--primary-tint);border-radius:10px;padding:12px 14px}.comment-meta{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px;font-size:13px}.comment-meta span{color:var(--muted)}.comment-item p{margin:0;font-size:var(--text-sm);line-height:var(--leading-relaxed)}.comment-form textarea{width:100%;margin-bottom:10px}.badge.member-only{background:var(--pink-tint);color:var(--pink-dark);border:1px solid #fbcfe8}.scope-pill{padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;white-space:nowrap}.scope-pill.on{background:var(--primary-tint);color:var(--primary-deep);border-color:var(--primary-line)}.spinner{width:16px;height:16px;border:2px solid var(--primary-line);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite;display:inline-block;flex:none}.skeleton{background:linear-gradient(90deg,var(--line) 25%,#f1f5f9 50%,var(--line) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:10px}.sk-line{height:14px;margin-bottom:10px}.sk-line.w60{width:60%}.sk-line.w40{width:40%}.sk-block{height:120px;border-radius:var(--radius)}.member-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px;padding:6px 0 40px}.member-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;cursor:pointer;transition:.2s;text-align:left;width:100%}.member-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow);transform:translateY(-3px)}.member-card .m-top{display:flex;gap:14px;align-items:center;margin-bottom:12px}.member-card .m-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary-tint);color:var(--primary-deep);display:grid;place-items:center;font-weight:800;font-size:18px;flex:none}.member-card .m-avatar.board{background:var(--pink-tint);color:var(--pink-dark)}.m-avatar-img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--primary-line);background:var(--primary-tint);display:block}.m-avatar-img.board{border-color:#fbcfe8;background:var(--pink-tint)}.member-card h4{font-size:var(--heading-card);margin-bottom:3px}.member-card .m-unit{font-size:var(--text-xs);color:var(--muted)}.member-filters{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 8px}.member-filters a,.member-filters button{padding:8px 14px;border-radius:999px;font-size:13.5px;font-weight:600;border:1px solid var(--line);background:var(--surface);color:var(--muted);text-decoration:none;cursor:pointer;transition:.15s}.member-filters a.on,.member-filters button.on{background:var(--primary-tint);color:var(--primary-deep);border-color:var(--primary-line)}.pagination{display:flex;gap:8px;align-items:center;justify-content:center;padding:20px 0 60px;flex-wrap:wrap}.pagination a,.pagination button{padding:8px 14px;border-radius:9px;font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--line);color:var(--muted);background:var(--surface);cursor:pointer}.pagination a.on,.pagination button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.pagination a:hover:not(.on),.pagination button:hover:not(.on):not(:disabled){background:var(--primary-tint);color:var(--primary-deep)}.pagination .disabled{opacity:.4;pointer-events:none}.upload-zone{border:2px dashed var(--primary-line);border-radius:14px;padding:28px 20px;text-align:center;background:var(--primary-tint);cursor:pointer;transition:.15s}.upload-zone:hover{border-color:var(--primary);background:#f0f9ff}.upload-zone input[type=file]{display:none}.upload-zone .uz-ic{font-size:28px;margin-bottom:8px}.upload-zone p{font-size:var(--text-sm);color:var(--muted);margin:0}.upload-zone .fname{font-size:13px;color:var(--primary);font-weight:600;margin-top:8px}.toolbar-filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.toolbar-filters-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.adm-section-tabs{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.adm-section-tabs button{padding:10px 18px;border-radius:10px;font-weight:700;font-size:14.5px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer}.adm-section-tabs button.on{background:var(--primary);color:#fff;border-color:var(--primary)}.adm-table{width:100%;border-collapse:collapse;font-size:14px}.adm-table td,.adm-table th{padding:8px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.adm-table td.num,.adm-table th.num{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.adm-table th{font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:34px}.hero h1{font-size:36px}.adm-stats,.contact-grid,.grid,.member-grid,.pillars,.prods,.team-grid{grid-template-columns:1fr 1fr}.nav-auth-desktop,nav.links{display:none}.nav-drawer,.nav-toggle{display:flex}.nav-overlay{display:block}.userchip-caret,.userchip-name{display:none}}@media(max-width:640px){.contact-grid,.grid,.member-grid,.pillars,.prods,.team-grid,.two{grid-template-columns:1fr}.hero h1{font-size:30px}.cta-band{flex-direction:column;align-items:flex-start}.kv{grid-template-columns:1fr}.brand-txt span{display:none}footer .cols{grid-template-columns:1fr}.notice-card{flex-direction:column;padding:22px}.toolbar-filters-scroll{width:100%}}@media(prefers-reduced-motion:reduce){*{transition:none!important}*,.fade-in,.fade-up,.modal,.overlay{animation:none!important}}.kho-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:0 0 4px}.kho-tabs button{padding:10px 18px;border-radius:999px;font-weight:700;font-size:14px;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:.15s}.kho-tabs button.on{background:var(--primary-tint);color:var(--primary-deep);border-color:var(--primary-line)}.card.card-link{display:flex;flex-direction:column;text-align:left;text-decoration:none;color:inherit;width:100%}.card-thumb{object-fit:cover;background:var(--line)}.card-thumb,.card-thumb-placeholder{width:100%;aspect-ratio:1200/630;border-radius:10px;margin-bottom:12px}.card-thumb-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,var(--primary-tint),#fdf2f8);font-size:42px;border:1px solid var(--primary-line)}.card.card-link:hover{border-color:var(--primary-line);box-shadow:var(--shadow);transform:translateY(-3px)}.markdown-body{font-size:15px;line-height:1.65;color:var(--text)}.markdown-body h1,.markdown-body h2,.markdown-body h3{margin:1.2em 0 .5em;font-weight:700;line-height:1.3}.markdown-body h1{font-size:1.5em}.markdown-body h2{font-size:1.25em}.markdown-body h3{font-size:1.1em}.markdown-body p{margin:.75em 0}.markdown-body ol,.markdown-body ul{padding-left:1.4em;margin:.75em 0}.markdown-body li{margin:.25em 0}.markdown-body code{background:var(--primary-tint);padding:2px 6px;border-radius:5px;font-size:.9em}.markdown-body pre{background:#1e293b;color:#e2e8f0;padding:14px 16px;border-radius:10px;overflow-x:auto;margin:1em 0}.markdown-body pre code{background:none;padding:0;color:inherit}.markdown-body blockquote{border-left:3px solid var(--primary-line);padding-left:14px;color:var(--muted);margin:1em 0}.markdown-body a{color:var(--primary);text-decoration:underline}.markdown-editor{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface)}.markdown-editor-tabs{display:flex;border-bottom:1px solid var(--line);background:#f8fafc}.markdown-editor-tabs button{padding:10px 16px;font-size:13px;font-weight:600;background:none;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.markdown-editor-tabs button.on{color:var(--primary-deep);border-bottom-color:var(--primary)}.markdown-editor-panes.mode-edit .markdown-editor-input,.markdown-editor-panes.mode-preview .markdown-editor-preview{width:100%}.markdown-editor-panes.mode-split{display:grid;grid-template-columns:1fr 1fr;min-height:280px}.markdown-editor-input{width:100%;border:none;padding:14px 16px;font-family:inherit;font-size:14px;line-height:1.55;resize:vertical;min-height:200px;background:var(--surface)}.markdown-editor-input:focus{outline:none}.markdown-editor-preview{padding:14px 16px;overflow:auto;max-height:480px;border-left:1px solid var(--line)}.markdown-editor-panes.mode-edit .markdown-editor-preview,.markdown-editor-panes.mode-preview .markdown-editor-input{display:none}.markdown-editor-empty{color:var(--muted);font-size:14px;margin:0}.md-split-tab{display:none}@media(min-width:768px){.md-split-tab{display:inline-block}}.material-detail{padding:0 0 60px}.material-detail-cover{height:auto;max-height:none;object-fit:contain;display:block;background:var(--line)}.material-detail-cover,.material-detail-yt{width:100%;border-radius:var(--radius);margin:20px 0}.material-detail-yt{position:relative;aspect-ratio:16/9;overflow:hidden;background:#000}.material-detail-yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.material-detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.material-prompt-block{margin-top:24px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.material-prompt-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}.material-prompt-head h3{margin:0;font-size:18px}.markdown-prompt{font-size:15px;line-height:1.7;word-break:break-word;white-space:normal}.markdown-prompt p{margin:.65em 0}.markdown-prompt p:first-child{margin-top:0}.markdown-prompt p:last-child{margin-bottom:0}.markdown-prompt pre{font-size:13.5px;line-height:1.55}.markdown-prompt code,.markdown-prompt pre{font-family:var(--font-mono),ui-monospace,monospace}.material-breadcrumb{font-size:13px;color:var(--muted);margin-bottom:8px}.material-breadcrumb a{color:var(--primary);text-decoration:none}.material-breadcrumb a:hover{text-decoration:underline}.tool-badges{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.tool-badge{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--primary-tint);color:var(--primary-deep);border:1px solid var(--primary-line);font-weight:600}.contribute-hub{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px;margin-top:8px}.contribute-hub-card{display:flex;flex-direction:column;gap:10px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-decoration:none;color:inherit;transition:.2s}.contribute-hub-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow);transform:translateY(-3px)}.contribute-hub-card .hub-ic{font-size:32px}.contribute-hub-card h3{font-size:18px;margin:0}.contribute-hub-card p{font-size:14px;color:var(--muted);margin:0;line-height:1.5}.tool-checkboxes{display:flex;flex-wrap:wrap;gap:8px}.tool-check{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;cursor:pointer;transition:.15s;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tool-check:has(input:checked){background:var(--primary-tint);border-color:var(--primary-line);color:var(--primary-deep);font-weight:600}.tool-check input{margin:0;accent-color:var(--primary)}@media(max-width:640px){.contribute-hub{grid-template-columns:1fr}}.menu-dashboard .page-head p.menu-date{margin:8px 0 0;font-size:15px;color:var(--muted);text-transform:capitalize}.menu-header{display:flex;flex-direction:column;gap:20px;align-items:stretch}.menu-tier-field{margin:0;min-width:0}.menu-tier-field select{width:100%;max-width:360px}.menu-stats{margin-top:0}.menu-budget-card{margin:20px 0;padding:22px 24px}.menu-budget-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}.menu-progress{height:10px;background:var(--line);border-radius:999px;overflow:hidden}.menu-progress-bar{height:100%;background:linear-gradient(90deg,var(--primary),#38bdf8);border-radius:999px;transition:width .35s ease}.menu-progress-bar.over{background:linear-gradient(90deg,var(--red),#f87171)}.menu-over{color:var(--red)}.menu-ok{color:#059669}.menu-meals{display:flex;flex-direction:column;gap:20px}.menu-meal-section{padding:22px 24px}.menu-meal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px;flex-wrap:wrap}.menu-meal-head h3{font-size:var(--heading-section);margin:0 0 6px}.menu-table-wrap{display:block;overflow-x:auto}.menu-table{width:100%;border-collapse:collapse;font-size:14.5px}.menu-table td,.menu-table th{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.menu-table th{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.03em}.menu-table td.num,.menu-table th.num{text-align:right;white-space:nowrap;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.menu-item-cards{display:none;flex-direction:column;gap:10px}.menu-item-card{padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.menu-item-card-top{align-items:flex-start;gap:10px;margin-bottom:8px}.menu-item-card-meta,.menu-item-card-top{display:flex;justify-content:space-between}.menu-item-card-meta{font-size:14px;color:var(--muted)}.badge.cat{font-size:12px;padding:4px 10px;border-radius:999px;font-weight:600;white-space:nowrap}.badge.cat-starch{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.badge.cat-protein{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.badge.cat-veg{background:#dcfce7;color:#166534;border:1px solid #bbf7d0}.badge.cat-soup{background:#e0f2fe;color:#075985;border:1px solid #bae6fd}.badge.cat-dessert{background:#fdf2f8;color:#9d174d;border:1px solid #fbcfe8}.badge.cat-dairy{background:#f3e8ff;color:#6b21a8;border:1px solid #e9d5ff}.badge.cat-default{background:var(--primary-tint);color:var(--primary-deep);border:1px solid var(--primary-line)}.menu-footnote{margin-top:24px;text-align:center}@media(min-width:768px){.menu-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}@media(max-width:767px){.menu-item-cards{display:flex}.menu-age-column,.menu-table-wrap.menu-table-desktop{display:none}.menu-age-column.active{display:block}}@media(min-width:768px){.menu-item-cards{display:none!important}.menu-age-tabs{display:none}.menu-age-column{display:block!important}}.menu-dashboard .page-head{padding-top:calc(28px + var(--safe-top))}.menu-hub-wrap{padding-top:24px;padding-bottom:calc(60px + var(--safe-bottom))}.menu-hub-three{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:18px;gap:18px}.menu-hub-week-card{padding:24px 26px;display:flex;flex-direction:column;gap:10px;scroll-snap-align:center;flex-shrink:0}.menu-hub-week-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.menu-hub-week-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.menu-hub-week-top b{font-size:16px;line-height:1.35}.menu-hub-meta{margin:0;flex:1 1}.menu-hub-badge{margin-left:8px;vertical-align:middle}.menu-hub-week-actions{margin-top:auto;padding-top:6px}.menu-hub-week-actions .btn{width:100%;min-height:var(--touch-min,44px)}.menu-hub-week-card.current{border-color:var(--primary);background:var(--primary-tint);box-shadow:var(--shadow)}.menu-hub-carousel-track{display:contents}.menu-editor-head{padding-bottom:0}.menu-editor-title h2{margin-top:4px}.menu-editor-toolbar{position:-webkit-sticky;position:sticky;top:calc(var(--nav-height) + var(--safe-top));z-index:30;background:rgba(248,250,252,.92);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding:12px 0;margin-bottom:20px}.menu-editor-toolbar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.menu-servings-inline{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap}.menu-editor-body{padding-bottom:calc(80px + var(--safe-bottom))}.menu-stats-compact{margin-bottom:16px}.menu-day-panel{padding:0;overflow:hidden}.menu-day-panel.collapsed .menu-day-body{display:none}.menu-day-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:20px 24px;border:none;background:transparent;text-align:left;cursor:pointer;font:inherit;color:inherit;min-height:var(--touch-min,44px)}.menu-day-toggle:hover{background:var(--paper)}.menu-day-toggle-text h4{margin:0 0 4px;font-size:16px}.menu-day-toggle-text p{margin:0}.menu-day-toggle-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.menu-day-chevron{color:var(--muted);font-size:14px}.menu-day-body{padding:0 24px 22px}.menu-age-column .menu-day-panel.open .menu-day-toggle{border-bottom:1px dashed var(--line);margin-bottom:4px}.menu-mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:35;padding:10px 16px calc(10px + var(--safe-bottom));background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--line);gap:8px}.menu-mobile-bar-inner{display:flex;gap:8px;max-width:1160px;margin:0 auto}.menu-mobile-bar .btn{flex:1 1;min-height:var(--touch-min,44px)}.menu-mobile-bar .btn.primary{flex:1.4 1}.menu-item-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px}.menu-item-card-actions .menu-inline-input{flex:1 1;max-width:100px;min-height:36px;padding:8px 10px;font-size:16px}.menu-item-card-actions .btn{min-height:var(--touch-min,44px);min-width:var(--touch-min,44px)}@media(max-width:767px){.menu-dashboard .page-head{padding-top:20px;padding-bottom:16px}.menu-dashboard .page-head h2{font-size:26px}.menu-hub-wrap{padding-top:16px}.menu-hub-carousel{overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;display:flex;flex-direction:row;gap:14px;margin:0 -16px;padding:4px 16px 12px}.menu-hub-carousel .menu-hub-week-card{min-width:85vw;max-width:85vw}.menu-stats-compact .stat{min-width:calc(50% - 8px)}.menu-editor-toolbar-inner{flex-direction:column;align-items:stretch}.menu-export-actions.menu-export-desktop{display:none}.menu-mobile-bar{display:block}.menu-item-form{grid-template-columns:1fr}.menu-item-form input,.menu-item-form select{font-size:16px;min-height:var(--touch-min,44px)}.menu-day-toggle{padding:18px 20px}.menu-day-body{padding:0 20px 18px}}.menu-servings-bar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:20px;padding:18px 22px}.menu-servings-label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}.menu-servings-label input{width:120px;padding:8px 12px;border:1px solid var(--line);border-radius:9px}.menu-age-tabs{margin:20px 0 16px}.menu-week-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:20px;gap:20px}.menu-age-title{font-size:17px;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--line)}.menu-age-column .menu-day-panel{margin-bottom:16px;padding:0}.menu-meal-block{margin-top:16px;padding:18px 0 0;border-top:1px dashed var(--line)}.menu-meal-block-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.menu-item-form{display:grid;grid-template-columns:1fr 1fr auto auto;grid-gap:8px;gap:8px;margin-top:10px;align-items:center}.menu-inline-input{width:72px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;text-align:right;font-size:13px}.menu-table-compact td,.menu-table-compact th{padding:8px 6px;font-size:13px}.menu-export-actions{display:flex;gap:8px;flex-wrap:wrap}.menu-export-mobile-only{display:none}@media(max-width:767px){.menu-export-mobile-only{display:flex}.menu-item-form,.menu-week-grid{grid-template-columns:1fr}}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/5662512df8b0ccdf-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/07ef58f5f6014a87-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/5ab5267d02dae909-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cd79e1ff94fa521b-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/89362aa296165c6d-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e11f95d95ac59fa4-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/00f4982f357db61e-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/62a3c74fa0e47362-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8201559e247ad180-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/2173e4bb28c315da-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c6f81e539d11fc99-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/25ab8995c98996d7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9ddf1512dbee9c99-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/8247d8d2a376ae43-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e270c9fc4fe96f5a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6bb6a9cb68044e10-s.p.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/9a3689a7cda641d2-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/bed26dc8a57eea87-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Be Vietnam Pro Fallback;src:local("Arial");ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.00%;size-adjust:110.36%}.__className_cb6c6d{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.__variable_cb6c6d{--font-sans:"Be Vietnam Pro","Be Vietnam Pro Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/ef4d5661765d0e49-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/d29838c109ef09b4-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e40af3453d7c920a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/99dcf268bda04fe5-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/98e207f02528a563-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_595324{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_595324{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}:root{--motion-ease:cubic-bezier(0.16,1,0.3,1);--motion-duration:0.85s;--motion-distance:28px}@keyframes fade-in-up{0%{opacity:0;transform:translateY(var(--motion-distance))}to{opacity:1;transform:translateY(0)}}.reveal-on-load{opacity:0;animation:fade-in-up var(--motion-duration) var(--motion-ease) forwards}.reveal-on-scroll{opacity:0;transform:translateY(var(--motion-distance))}.reveal-on-scroll.is-visible{animation:fade-in-up var(--motion-duration) var(--motion-ease) forwards}.reveal-delay-1{animation-delay:0s}.reveal-delay-2{animation-delay:.14s}.reveal-delay-3{animation-delay:.28s}.reveal-delay-4{animation-delay:.42s}.reveal-delay-5{animation-delay:.56s}.reveal-on-scroll.reveal-delay-1.is-visible{animation-delay:0s}.reveal-on-scroll.reveal-delay-2.is-visible{animation-delay:.14s}.reveal-on-scroll.reveal-delay-3.is-visible{animation-delay:.28s}.reveal-on-scroll.reveal-delay-4.is-visible{animation-delay:.42s}.reveal-on-scroll.reveal-delay-5.is-visible{animation-delay:.56s}.reveal-group.is-visible .reveal-on-scroll{animation:fade-in-up var(--motion-duration) var(--motion-ease) forwards}.reveal-group.is-visible .reveal-on-scroll.reveal-delay-1{animation-delay:0s}.reveal-group.is-visible .reveal-on-scroll.reveal-delay-2{animation-delay:.14s}.reveal-group.is-visible .reveal-on-scroll.reveal-delay-3{animation-delay:.28s}.reveal-group.is-visible .reveal-on-scroll.reveal-delay-4{animation-delay:.42s}.reveal-group.is-visible .reveal-on-scroll.reveal-delay-5{animation-delay:.56s}@media (prefers-reduced-motion:reduce){.reveal-group.is-visible .reveal-on-scroll,.reveal-on-load,.reveal-on-scroll{opacity:1;transform:none;animation:none!important}}:root{--nav-height:66px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--touch-min:44px;--sheet-radius:20px 20px 0 0}html{-webkit-text-size-adjust:100%}body.scroll-locked{overflow:hidden;overscroll-behavior:none}@media (max-width:767px){:root{--motion-distance:20px}.wrap{padding-left:clamp(16px,4vw,24px);padding-right:clamp(16px,4vw,24px)}section.blk{padding-top:32px;padding-bottom:32px}.btn{min-height:var(--touch-min)}.modal .close,.nav-toggle{width:var(--touch-min);height:var(--touch-min)}.modal .close{top:12px;right:12px;display:grid;place-items:center}.search input,input,select,textarea{font-size:16px}.toolbar{top:calc(var(--nav-height) + var(--safe-top))}footer a{min-height:var(--touch-min);display:flex;align-items:center}.login-card{padding:24px 20px}.adm-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -4px;padding:0 4px 8px}.toolbar-filters-scroll{scroll-snap-type:x proximity}.toolbar-filters-scroll>*{scroll-snap-align:start}.kv{grid-template-columns:1fr;gap:4px}.kv dt{margin-top:8px}}@media (hover:hover) and (pointer:fine){.card:hover{transform:translateY(-3px)}.card:hover,.pillar:hover,.prod:hover,.team-card:hover{border-color:var(--primary-line);box-shadow:var(--shadow)}.pillar:hover,.prod:hover,.team-card:hover{transform:translateY(-2px)}}@media (hover:none){.card:active{transform:scale(.99)}.btn:active{transform:scale(.98)}}.card,[role=button],a,button{-webkit-tap-highlight-color:transparent}