.nl-plus,.nl-back,.nl-circle,.nl-habit-open,.nl-month-nav button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;margin:0;padding:0}.nl-plus:focus-visible,.nl-back:focus-visible,.nl-circle:focus-visible,.nl-habit-open:focus-visible,.nl-month-nav button:focus-visible{outline-offset:3px;outline:2px solid #ff866e}.nl-ring{width:var(--ring,44px);height:var(--ring,44px);flex-shrink:0;place-items:center;transition:filter .4s;display:grid;position:relative}.nl-ring svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.nl-ring .track{fill:none;stroke:#ffffff1a;stroke-width:4px}.nl-ring .arc{fill:none;stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .5s cubic-bezier(.3,1.3,.5,1)}.nl-ring.is-full{filter:drop-shadow(0 0 8px #ff866e8c)}.nl-ring b{color:#fff3e6;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600;line-height:1;position:relative}.nl-plus{color:#fff3e6;backdrop-filter:blur(20px);background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;transition:background-color .15s;display:grid;box-shadow:inset 0 0 0 1px #ffffff29}button.nl-plus:hover{background:#ffffff21}.nl-back{color:#fff3e6;background:#ffffff14;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:inset 0 0 0 1px #ffffff1a}.nl-back:hover{background:#ffffff21}.nl-habit{color:#fff3e6;background:#ffffff0e;border-radius:24px;min-width:0;padding:14px;box-shadow:inset 0 0 0 1px #ffffff1f}.nl-habit-head{align-items:center;gap:4px;min-height:44px;display:flex}.nl-habit-open{text-align:left;border-radius:12px;flex:1;align-items:center;gap:12px;min-width:0;min-height:44px;display:flex}.nl-habit-open.is-static{cursor:default}.nl-habit-icon{width:36px;height:36px;color:var(--habit-light);filter:drop-shadow(0 2px 6px color-mix(in srgb, var(--habit) 40%, transparent));flex-shrink:0;place-items:center;display:grid}.nl-habit-icon svg{stroke-width:2px}.nl-habit-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.nl-habit-name{overflow-wrap:anywhere;font-size:17px;font-weight:600;line-height:1.25}.nl-habit-text small{color:#fff3e699;font-size:13px;line-height:1.3}.nl-count{color:#fff3e68c;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:4px;font-size:15px;font-weight:600}.nl-chevron{color:#fff3e699;flex-shrink:0}.nl-week{grid-template-columns:repeat(7,minmax(0,1fr));margin-top:10px;display:grid}.nl-cell{flex-direction:column;align-items:center;gap:5px;min-width:0;min-height:60px;display:flex}.nl-circle{width:var(--circle,36px);height:var(--circle,36px);color:#fff3e6bf;font-variant-numeric:tabular-nums;background:#ffffff0b;border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:500;transition:background-color .22s,transform .18s,box-shadow .22s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff29}.nl-circle:before{content:"";border-radius:50%;position:absolute;inset:-4px}.nl-circle>span{place-items:center;line-height:1;display:grid;position:relative}.nl-circle:not(:disabled):not(.is-readonly):hover{background-color:#ffffff17}.nl-circle:not(:disabled):not(.is-readonly):active{transform:scale(.9)}.nl-circle.is-readonly{cursor:default}.nl-circle.is-today{background:color-mix(in srgb, var(--habit) 12%, transparent);box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--habit) 28%, transparent), 0 0 18px color-mix(in srgb, var(--habit) 22%, transparent);transform:scale(1.06)}.nl-circle.is-today.is-won{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--habit) 45%, transparent), 0 0 18px color-mix(in srgb, var(--habit) 22%, transparent)}.nl-circle.is-today:not(:disabled):not(.is-readonly):hover{background:color-mix(in srgb, var(--habit) 20%, transparent)}.nl-circle.is-part{background:color-mix(in srgb, var(--habit) 18%, transparent)}.nl-circle.is-part:not(.is-today){box-shadow:inset 0 0 0 1px #ffffff29}.nl-circle.is-part.is-today{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--habit) 28%, transparent), 0 0 18px color-mix(in srgb, var(--habit) 22%, transparent)}.nl-arc{pointer-events:none;width:100%;height:100%;filter:drop-shadow(0 0 3px color-mix(in srgb, var(--habit) 45%, transparent));position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.nl-arc circle{fill:none;stroke-width:2.5px;stroke-linecap:round}.nl-circle.is-today .nl-arc circle{stroke-width:3px}.nl-circle.is-done{background:linear-gradient(180deg, var(--habit-light), var(--habit));color:#201815;box-shadow:inset 0 1px 1px #ffffff8c, 0 2px 12px color-mix(in srgb, var(--habit) 38%, transparent);animation:.38s cubic-bezier(.3,1.6,.5,1) nl-pop}.nl-circle.is-done:not(:disabled):not(.is-readonly):hover{background:linear-gradient(180deg, var(--habit-light), var(--habit));filter:brightness(1.05)}.nl-circle.is-done.is-today{box-shadow:inset 0 1px 1px #ffffff8c, 0 0 18px color-mix(in srgb, var(--habit) 45%, transparent)}.nl-circle.is-future{opacity:.3;cursor:default}@keyframes nl-pop{0%{transform:scale(.82)}45%{transform:scale(1.16)}to{transform:scale(1)}}.nl-circle.is-done.is-today{animation-name:nl-pop-today}@keyframes nl-pop-today{0%{transform:scale(.86)}45%{transform:scale(1.2)}to{transform:scale(1.06)}}.nl-sweep{pointer-events:none;width:calc(100% + 4px);height:calc(100% + 4px);position:absolute;inset:-2px;transform:rotate(-90deg)}.nl-sweep circle{fill:none;stroke:var(--habit);stroke-width:2px;stroke-linecap:round;stroke-dasharray:0 100;animation:3s cubic-bezier(.45,0,.25,1) infinite nl-sweep}@keyframes nl-sweep{0%{stroke-dasharray:0 100;opacity:1}66%{stroke-dasharray:100 0;opacity:1}86%{stroke-dasharray:100 0;opacity:1}to{stroke-dasharray:100 0;opacity:0}}.nl-circle.is-pulse:after{content:"";border:2px solid var(--habit);pointer-events:none;border-radius:50%;animation:2.1s ease-out infinite nl-pulse;position:absolute;inset:0}@keyframes nl-pulse{0%{opacity:.9;transform:scale(1)}76%{opacity:0;transform:scale(1.34)}to{opacity:0;transform:scale(1.34)}}.nl-extra{color:#fff3e6;background:#201815;border-radius:50%;place-items:center;width:17px;height:17px;display:grid;position:absolute;top:-4px;right:-5px}.nl-day{color:#fff3e680;white-space:nowrap;font-size:13px;line-height:1.2}.nl-day.is-today{color:#fff3e6;font-weight:600}.nl-month-head{color:#fff3e6;align-items:center;gap:14px;display:flex}.nl-month-tile{color:#201815;background:linear-gradient(180deg, var(--habit-light), var(--habit));width:60px;height:60px;box-shadow:inset 0 1px 1px #ffffff8c, 0 3px 20px color-mix(in srgb, var(--habit) 40%, transparent);border-radius:18px;flex-shrink:0;place-items:center;display:grid}.nl-month-tile svg{stroke-width:2px}.nl-month-head h2{font-family:var(--font-display);letter-spacing:0;overflow-wrap:anywhere;margin:0;font-size:32px;font-weight:400;line-height:1.05}.nl-month-head small{color:#fff3e699;margin-top:2px;font-size:15px;display:block}.nl-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.nl-stats>div{color:#fff3e6;background:#ffffff0e;border-radius:24px;flex-direction:column;gap:2px;padding:16px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1f}.nl-stats b{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:34px;font-weight:400;line-height:1.05}.nl-stats span{color:#fff3e699;font-size:13px}.nl-calendar{color:#fff3e6;background:#ffffff0e;border-radius:24px;padding:16px;box-shadow:inset 0 0 0 1px #ffffff1f}.nl-month-nav{justify-content:space-between;align-items:center;display:flex}.nl-month-nav>span{text-align:center;flex-direction:column;align-items:center;gap:1px;display:flex}.nl-month-nav strong{font-size:17px;font-weight:600}.nl-month-nav small{color:#fff3e699;font-size:13px}.nl-month-nav button{border-radius:22px;place-items:center;width:44px;height:44px;display:grid}.nl-month-nav button:hover:not(:disabled){background:#ffffff0f}.nl-month-nav button:disabled{opacity:.3;cursor:default}.nl-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:8px;margin-top:12px;display:grid}.nl-weekday{text-align:center;color:#fff3e699;font-size:13px}.nl-month-day{justify-content:center;display:flex}.nl-cell.is-month{justify-content:center;gap:0;min-height:44px}.nl-cell.is-month .nl-circle.is-today{box-shadow:inset 0 0 0 2px var(--habit);transform:none}.nl-cell.is-month .nl-circle.is-done{animation-name:nl-pop;box-shadow:inset 0 1px 1px #ffffff8c}.nl-calendar .nl-muted{color:#fff3e699;margin:12px 0 0;font-size:13px;line-height:1.4}.nl-circle.is-today.is-plain:not(.is-done){box-shadow:inset 0 0 0 2px var(--habit)}@media (prefers-reduced-motion:reduce){.nl-circle.is-done,.nl-sweep circle{animation:none}.nl-sweep circle{stroke-dasharray:100 0;opacity:.5}.nl-circle.is-pulse:after{opacity:.9;animation:none;transform:scale(1.16)}}