@import"https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--paper:#FBF7F0;--ink:#1A241F;--green:#0B6E4F;--green-deep:#0B3D2E;--amber:#C9892F;--muted:#6B7A70;--line:#E7E0D4;--card:#FFFDF9;--track:#ECE6DA}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:DM Sans,system-ui,sans-serif;color:var(--ink);background:radial-gradient(120% 80% at 50% -10%,#FFFDF8 0%,var(--paper) 55%,#F3EDE1 100%);-webkit-font-smoothing:antialiased}.nl-serif{font-family:Fraunces,Georgia,serif}.nl-wrap{max-width:430px;margin:0 auto;padding:max(22px,env(safe-area-inset-top)) 18px 40px;position:relative}.nl-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.nl-mark{display:flex;align-items:baseline;gap:8px}.nl-mark b{font-family:Fraunces,serif;font-weight:600;font-size:22px;letter-spacing:-.01em}.nl-mark .lens{color:var(--green)}.nl-pill{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:4px 9px}.nl-prof{font-size:12px;color:var(--muted);text-align:right;line-height:1.3;cursor:pointer}.nl-prof b{color:var(--ink);font-weight:600}.nl-ring-card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:18px 18px 14px;box-shadow:0 1px #00000005,0 12px 28px -22px #0b3d2e59}.nl-ring-row{display:flex;align-items:center;gap:16px}.nl-ring-meta{flex:1}.nl-ring-meta .k{font-family:Fraunces,serif;font-size:30px;font-weight:600;line-height:1;letter-spacing:-.02em}.nl-ring-meta .u{font-size:12px;color:var(--muted);margin-top:5px}.nl-bars{margin-top:14px;display:grid;gap:9px}.nl-bar .lab{display:flex;justify-content:space-between;font-size:11.5px;margin-bottom:4px}.nl-bar .lab .n{color:var(--ink);font-weight:500}.nl-bar .lab .v{color:var(--muted);font-variant-numeric:tabular-nums}.nl-bar .trk{height:7px;background:var(--track);border-radius:99px;overflow:hidden}.nl-bar .fil{height:100%;background:var(--green);border-radius:99px;transition:width .7s cubic-bezier(.22,1,.36,1)}.nl-bar.over .fil{background:linear-gradient(90deg,var(--green) 70%,var(--amber))}.nl-over-tag{font-size:10px;color:var(--amber);margin-left:6px}.nl-cap{margin-top:18px}.nl-cap-btn{width:100%;border:none;cursor:pointer;border-radius:20px;padding:18px;background:var(--green-deep);color:#f4efe3;font-family:DM Sans,sans-serif;font-size:15px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 14px 30px -16px #0b3d2ecc;transition:transform .15s ease}.nl-cap-btn:active{transform:scale(.985)}.nl-cap-btn .em{font-family:Fraunces,serif;font-style:italic;font-weight:500}.nl-hint{margin-top:9px;text-align:center;font-size:11.5px;color:var(--muted)}.nl-file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.nl-empty{margin-top:26px;text-align:center;padding:0 8px}.nl-empty h2{font-family:Fraunces,serif;font-weight:500;font-size:23px;line-height:1.25;letter-spacing:-.01em;margin-bottom:8px}.nl-empty p{font-size:13.5px;color:var(--muted);line-height:1.55}.nl-card{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px -24px #0b3d2e66;animation:rise .5s cubic-bezier(.22,1,.36,1)}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.nl-shot{width:100%;height:190px;object-fit:cover;display:block;background:#ddd}.nl-body{padding:16px 17px 17px}.nl-conf{display:flex;align-items:center;gap:8px;margin-bottom:10px}.nl-dot{width:8px;height:8px;border-radius:99px}.nl-conf .t{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.nl-say{font-family:Fraunces,serif;font-size:19px;font-weight:500;line-height:1.3;letter-spacing:-.01em;margin:2px 0 4px}.nl-say .g{color:var(--green)}.nl-note{font-size:12.5px;color:var(--muted);line-height:1.5;margin-top:6px}.nl-ings{display:flex;flex-wrap:wrap;gap:6px;margin-top:11px}.nl-ing{font-size:11.5px;color:var(--green-deep);background:#eef3ef;border:1px solid #DCE7DF;padding:4px 9px;border-radius:99px}.nl-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.nl-btn{flex:1;min-width:fit-content;border-radius:13px;padding:12px 14px;font-size:13.5px;font-weight:600;cursor:pointer;font-family:DM Sans,sans-serif;transition:transform .12s ease}.nl-btn:active{transform:scale(.97)}.nl-btn.primary{background:var(--green);color:#fff;border:none}.nl-btn.ghost{background:transparent;color:var(--green-deep);border:1px solid var(--line)}.nl-alts{display:flex;flex-direction:column;gap:7px;margin-top:11px}.nl-alt{text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:13px;cursor:pointer;color:var(--ink);transition:border-color .15s}.nl-alt:hover{border-color:var(--green)}.nl-alt .pre{color:var(--muted);font-size:11px;margin-right:6px}.nl-correct{display:flex;gap:8px;margin-top:10px}.nl-correct input{flex:1;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:16px;font-family:DM Sans,sans-serif;background:#fff;color:var(--ink);outline:none}.nl-correct input:focus{border-color:var(--green)}.nl-portion{margin-top:14px}.nl-portion .ttl{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}.nl-seg{display:flex;background:var(--track);border-radius:13px;padding:3px}.nl-seg button{flex:1;border:none;background:transparent;cursor:pointer;padding:9px 0;border-radius:10px;font-size:12.5px;font-weight:600;color:var(--muted);font-family:DM Sans,sans-serif;transition:.18s}.nl-seg button.on{background:#fff;color:var(--green-deep);box-shadow:0 2px 8px -3px #0003}.nl-loading{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px 20px;text-align:center}.nl-loading .sp{width:30px;height:30px;margin:0 auto 14px;border-radius:99px;border:3px solid var(--track);border-top-color:var(--green);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.nl-loading p{font-size:13px;color:var(--muted)}.nl-loading .em{font-family:Fraunces,serif;font-style:italic}.nl-err{margin-top:14px;background:#fff6ec;border:1px solid #F0DDBF;border-radius:16px;padding:14px 16px;font-size:12.5px;color:#8a5a12;line-height:1.5}.nl-err b{display:block;margin-bottom:3px;color:#6e4709}.nl-meals{margin-top:24px}.nl-meals .h{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.nl-meal{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.nl-meal img{width:46px;height:46px;border-radius:12px;object-fit:cover}.nl-meal .mi{flex:1}.nl-meal .mi .d{font-size:13.5px;font-weight:600;letter-spacing:-.01em}.nl-meal .mi .s{font-size:11.5px;color:var(--muted);margin-top:2px}.nl-meal .kc{font-family:Fraunces,serif;font-weight:600;font-size:15px}.nl-foot{margin-top:30px;text-align:center;font-size:10.5px;color:var(--muted);line-height:1.6}.nl-foot .lock{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:99px;padding:5px 11px;color:var(--green-deep)}.nl-setup{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:20px;margin-top:10px}.nl-setup h2{font-family:Fraunces,serif;font-weight:500;font-size:21px;margin-bottom:4px;letter-spacing:-.01em}.nl-setup .lead{font-size:12.5px;color:var(--muted);margin-bottom:16px;line-height:1.5}.nl-field{margin-bottom:13px}.nl-field label{display:block;font-size:11.5px;color:var(--muted);margin-bottom:6px;font-weight:500}.nl-field input,.nl-field select{width:100%;border:1px solid var(--line);border-radius:12px;padding:11px 12px;font-size:16px;font-family:DM Sans,sans-serif;background:#fff;color:var(--ink);outline:none}.nl-field input:focus,.nl-field select:focus{border-color:var(--green)}.nl-two{display:flex;gap:10px}.nl-two>div{flex:1}.nl-seg2{display:flex;background:var(--track);border-radius:12px;padding:3px}.nl-seg2 button{flex:1;border:none;background:transparent;padding:10px 0;border-radius:9px;cursor:pointer;font-size:13px;font-weight:600;color:var(--muted);font-family:DM Sans,sans-serif}.nl-seg2 button.on{background:#fff;color:var(--green-deep);box-shadow:0 2px 8px -3px #0003}.nl-go{width:100%;margin-top:6px;border:none;background:var(--green-deep);color:#f4efe3;cursor:pointer;border-radius:14px;padding:14px;font-size:14px;font-weight:600;font-family:DM Sans,sans-serif}
