:root{--bg: #F6F4E4;--surface: #EDEBD8;--surface-deep: #E3E1CC;--ink: #20241E;--ink-soft: #6B705F;--muted: #8A8E7B;--dim: #A9AC96;--line: #C9CBB4;--green: #55A24F;--green-dark: #3E7D3A;--green-bright: #6CB963;--green-pale: #D8E8C6;--green-pale-ink: #5F7D53;--green-ink-deep: #2E4A2B;--yellow: #E4C93F;--yellow-shadow: #C7AC28;--yellow-ink: #B99B12;--pink: #D9509C;--pink-pale: #F3DCE9;--pink-border: #ECC7DC;--pink-text: #B03D7C;--blue: #4F9FD9;--nav-bg: #20241E;--nav-muted: #8B9282;--on-dark: #F6F4E4;--on-dark-soft: #9BB18F;--dark-card: #2C312A;--shadow: 0 10px 30px rgba(32, 36, 30, .25)}[data-theme=dark]{--bg: #20241E;--surface: #2C312A;--surface-deep: #33382F;--ink: #F6F4E4;--ink-soft: #C8CBB8;--muted: #8B9282;--dim: #5F6656;--line: #3A4036;--green: #6CB963;--green-dark: #4E9147;--green-pale: #31452C;--green-pale-ink: #B7D3A8;--green-ink-deep: #C6DFB8;--yellow-ink: #E4C93F;--pink-pale: #6b3a55;--pink-border: #7A4560;--pink-text: #E9A6CB;--nav-bg: #141712;--dark-card: #2C312A;--shadow: 0 10px 30px rgba(0, 0, 0, .45)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden;overscroll-behavior:none}body{background:var(--bg);color:var(--ink);font-family:Golos Text,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}#root{height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:none}button{font-family:inherit;border:none;background:none;cursor:pointer;color:inherit;padding:0}input,textarea,select{font-family:inherit;font-size:15px;color:var(--ink)}a{color:inherit;text-decoration:none}.app{max-width:520px;margin:0 auto;min-height:100%;padding:calc(14px + env(safe-area-inset-top)) 20px 120px;display:flex;flex-direction:column;gap:14px}.app.no-nav{padding-bottom:24px}.oswald{font-family:Oswald,sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.01em}.caveat{font-family:Caveat,cursive;font-weight:600}.screen-title{font-size:30px;color:var(--ink)}.card{background:var(--surface);border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px}.card-lg{display:flex;align-items:center;gap:12px;background:var(--surface);border-radius:22px;padding:16px}.row{display:flex;align-items:center;gap:10px}.grow{flex:1;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:13px 24px;font-size:14px;font-weight:800;background:var(--green);color:#f6f4e4;box-shadow:0 5px 0 var(--green-dark);transition:transform .06s ease,box-shadow .06s ease;-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--green-dark)}.btn-dark{background:var(--nav-bg);color:var(--on-dark);box-shadow:0 4px #20241e4d}.btn-outline{background:transparent;color:var(--ink);box-shadow:none;border:2px solid var(--ink);font-weight:800}.btn-ghost{background:transparent;color:var(--muted);box-shadow:none;font-weight:600}.btn-sm{padding:9px 15px;font-size:12.5px}.btn:disabled{background:var(--line);color:var(--ink-soft);box-shadow:none}.star-chip{display:inline-flex;align-items:center;gap:5px;background:var(--yellow);border-radius:999px;padding:8px 14px;color:#20241e;font-weight:800;font-size:15px;box-shadow:0 3px 0 var(--yellow-shadow);white-space:nowrap}.star-chip.sm{padding:4px 10px;font-size:12px;box-shadow:none}.pill-tabs{display:flex;background:var(--surface);border-radius:999px;padding:4px}.pill-tabs button{flex:1;height:37px;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--muted)}.pill-tabs button.active{background:var(--nav-bg);color:var(--on-dark);font-weight:700}.chips{display:flex;gap:7px;flex-wrap:wrap}.chip{padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);color:var(--ink-soft);font-size:12px;font-weight:700}.chip.active{background:var(--nav-bg);color:var(--on-dark);border-color:var(--nav-bg);font-weight:800}.tag{font-size:11px;font-weight:800;letter-spacing:.07em;color:var(--muted);text-transform:uppercase}.divider-note{display:flex;align-items:center;gap:10px;color:var(--muted)}.divider-note:before,.divider-note:after{content:"";flex:1;height:2px;background:var(--surface-deep)}.divider-note span{font-family:Caveat,cursive;font-size:18px;white-space:nowrap}.tabbar{position:fixed;bottom:calc(14px + env(safe-area-inset-bottom));left:max(16px,calc(50% - 244px));right:max(16px,calc(50% - 244px));height:62px;border-radius:999px;background:var(--nav-bg);display:flex;align-items:center;padding:0 8px;box-shadow:0 12px 26px #20241e59;z-index:50}.tabbar .tab{flex:1;display:flex;justify-content:center;align-items:center;color:var(--nav-muted);position:relative;height:100%}.tabbar .tab.active{flex:none;display:flex;align-items:center;gap:7px;background:var(--green);border-radius:999px;padding:11px 16px;color:#f6f4e4;font-size:12px;font-weight:800;height:auto}.tabbar .dot{position:absolute;top:12px;right:calc(50% - 14px);width:8px;height:8px;border-radius:50%;background:var(--pink)}.checkbox{width:24px;height:24px;border-radius:50%;border:2.5px solid var(--dim);flex:none;display:flex;align-items:center;justify-content:center;transition:background .15s,border-color .15s}.checkbox.sq{border-radius:8px}.checkbox.done{background:var(--green);border-color:var(--green)}.bubble{background:var(--surface);border-radius:22px 22px 22px 4px;padding:12px 16px;font-family:Caveat,cursive;font-size:19px;font-weight:600;color:var(--ink);line-height:1.15;transform:rotate(-1.5deg);display:inline-block}.progress{height:14px;border-radius:8px;background:var(--bg);border:1.5px solid var(--ink);overflow:hidden}.progress>div{height:100%;background:var(--green);border-radius:6px;transition:width .4s ease}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#20241e73;z-index:90;animation:fadeIn .15s ease}.sheet{position:fixed;left:max(0px,calc(50% - 260px));right:max(0px,calc(50% - 260px));bottom:0;background:var(--bg);border-radius:28px 28px 0 0;padding:10px 20px calc(24px + env(safe-area-inset-bottom));z-index:100;box-shadow:0 -12px 30px #20241e40;animation:slideUp .22s cubic-bezier(.2,.9,.3,1);max-height:88dvh;overflow-y:auto}.sheet-grip{width:44px;height:5px;border-radius:3px;background:var(--line);margin:4px auto 14px}.toggle{width:52px;height:30px;border-radius:999px;background:var(--line);position:relative;transition:background .15s;flex:none}.toggle.on{background:var(--green)}.toggle:after{content:"";position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#f6f4e4;transition:left .15s}.toggle.on:after{left:25px}.field{width:100%;background:var(--surface);border:none;border-radius:16px;padding:14px 16px;outline:none}.field:focus{outline:2px solid var(--green)}.field::placeholder{color:var(--muted)}label.lbl{font-size:11px;font-weight:800;letter-spacing:.07em;color:var(--muted);display:block;margin:10px 0 6px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:26px 20px;background:var(--surface);border-radius:22px}.toast{position:fixed;top:calc(16px + env(safe-area-inset-top));left:50%;transform:translate(-50%);background:var(--nav-bg);color:var(--on-dark);border-radius:999px;padding:12px 22px;font-size:14px;font-weight:700;z-index:200;box-shadow:var(--shadow);animation:dropIn .25s cubic-bezier(.2,.9,.3,1);display:flex;align-items:center;gap:8px;max-width:90vw}@keyframes fadeIn{0%{opacity:0}}@keyframes slideUp{0%{transform:translateY(60px);opacity:.6}}@keyframes dropIn{0%{transform:translate(-50%,-20px);opacity:0}}@keyframes popStar{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.15)}to{transform:scale(1);opacity:1}}.pop-star{animation:popStar .35s cubic-bezier(.2,.9,.3,1)}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(46vh) rotate(220deg);opacity:0}}.confetti{position:fixed;z-index:300;pointer-events:none;animation:confettiFall 1.6s ease-in forwards}.done-strike{text-decoration:line-through;text-decoration-color:var(--dim)}.fade{opacity:.65}[data-theme=dark] .pill-tabs button.active{background:#f6f4e4;color:#20241e}[data-theme=dark] .btn{color:#20241e}[data-theme=dark] .btn-dark{background:#f6f4e4;color:#20241e;box-shadow:0 4px #0006}[data-theme=dark] .btn-outline{color:var(--ink);border-color:#4a5244}[data-theme=dark] .tabbar{background:#000;box-shadow:0 12px 26px #00000080}[data-theme=dark] .tabbar .tab.active{color:#20241e}[data-theme=dark] .checkbox{border-color:#4a5244}[data-theme=dark] .chip.active{background:#f6f4e4;color:#20241e;border-color:#f6f4e4}
