:root{--bg:#fff7f5;--card:#fff;--text:#2d2327;--muted:#8a7a80;--line:#f0e2e2;--primary:#e0566e;--primary-dark:#c43f58;--primary-soft:#fde8ec;--ai:#7b5cf0;--ai-soft:#efe9ff;--card-tint:#fff9fa;--text-soft:#5a4a50;--text-soft-2:#6b5a60;--muted-2:#d9c6ca;--surface-2:#f5eeef;--input-border:#e6d6d9;--alert-date:#fff1d6;--alert-warn:#ffe9e3;--alert-info:#eaf1ff;--alert-error:#ffe1e1;--alert-error-text:#a31515;--good-soft:#e8f6ee;--good-text:#2e7d32;--warn-soft:#fff1e6;--warn-text:#d9480f;--danger-text:#c62828;--danger-border:#f5c2c2;--nav-bg:#fffffff0;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--radius:18px;--shadow:0 4px 18px #c43f5814;--safe-bottom:env(safe-area-inset-bottom,0px);color:var(--text);background:var(--bg);-webkit-text-size-adjust:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{background:var(--bg);-webkit-tap-highlight-color:transparent;min-height:100dvh;margin:0}h1{margin:.2rem 0;font-size:1.6rem;line-height:1.2}h2{margin:.5rem 0;font-size:1.35rem}h3{margin:0 0 .5rem;font-size:1.05rem}p{line-height:1.5}a{color:var(--primary-dark)}.app{max-width:560px;padding:calc(env(safe-area-inset-top,0px) + 16px) 16px 24px;margin:0 auto}.app.with-nav{padding-bottom:calc(96px + var(--safe-bottom))}.page-head{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.page-head p{margin:0}.page-head.stack{display:block}.section-title{margin:24px 0 10px}.muted{color:var(--muted)}.small{font-size:.85rem}.hint{color:var(--muted);margin:.4rem 0;font-size:.88rem}.center{text-align:center}.lead{color:var(--text-soft);font-size:1.05rem}.row{align-items:center;gap:10px;margin-top:12px;display:flex}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.row.wrap{flex-wrap:wrap}.grow{flex:1}.btn{appearance:none;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:10px 16px;font-size:.95rem;font-weight:600;transition:transform .1s,background .2s;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover:not(:disabled){background:var(--primary-dark)}.btn.ghost{background:0 0;border-color:#0000}.btn.ai{background:linear-gradient(135deg, var(--ai), #c05ce0);color:#fff;border:none}.btn.danger{color:var(--danger-text)}.btn.small{padding:6px 12px;font-size:.85rem}.btn.big{padding:14px 32px;font-size:1.1rem}.icon-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1rem}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin:16px 0;padding:16px}.idea-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:12px;padding:16px 16px 16px 18px;position:relative;overflow:hidden}.idea-card:before{content:"";background:var(--lang,var(--primary));opacity:.85;width:4px;position:absolute;inset:0 auto 0 0}.idea-card h3{margin:0 0 4px;font-size:1.1rem;line-height:1.3}.idea-card p{color:var(--text-soft);margin:0 0 10px}.idea-top{align-items:center;gap:8px;min-height:26px;margin-bottom:6px;display:flex}.idea-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--lang,var(--primary)) 80%, var(--text));font-size:.72rem;font-weight:800}.idea-card.big{background:radial-gradient(120% 70% at 100% 0%, color-mix(in srgb, var(--lang) 16%, transparent), transparent 60%), linear-gradient(180deg, var(--card), var(--card-tint));box-shadow:0 10px 30px color-mix(in srgb, var(--lang) 18%, transparent), var(--shadow);padding:20px 18px 18px}.idea-card.big:before{opacity:1;background:linear-gradient(90deg, var(--lang), var(--primary));width:auto;height:5px;inset:0 0 auto}.idea-emoji{background:color-mix(in srgb, var(--lang) 15%, var(--card));width:58px;height:58px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--lang) 25%, transparent);border-radius:18px;place-items:center;margin:4px 0 12px;font-size:1.9rem;display:grid}.idea-card.big h3{letter-spacing:-.01em;font-size:1.5rem}.idea-card.big p{margin-bottom:12px;font-size:1.04rem;line-height:1.55}.idea-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.idea-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.done-msg{font-weight:600;color:var(--good-text)!important}.fav-btn{background:var(--surface-2);width:36px;height:36px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;place-items:center;margin-left:auto;font-size:1.2rem;line-height:1;display:grid}.fav-btn.on{color:#f4b400;background:color-mix(in srgb, #f4b400 15%, var(--card))}.fav-btn.floating{z-index:1;position:absolute;top:12px;right:12px}.idea-card.has-fav:not(.big) h3,.idea-card.has-fav .idea-top{padding-right:44px}.card-actions{gap:10px;width:100%;display:grid}.action-main{width:100%;font:inherit;color:#fff;cursor:pointer;background:linear-gradient(135deg, color-mix(in srgb, var(--primary) 75%, #ff9eb0), var(--primary-dark));box-shadow:0 8px 20px color-mix(in srgb, var(--primary) 35%, transparent);transition:transform .18s var(--ease-spring), box-shadow .2s, filter .2s;border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:15px 16px;font-size:1.08rem;font-weight:800;display:inline-flex}.action-main.ai{background:linear-gradient(135deg, var(--ai), #c05ce0);box-shadow:0 8px 20px color-mix(in srgb, var(--ai) 35%, transparent)}.action-main:active:not(:disabled){transform:scale(.97)}.action-main-icon{font-size:1.15rem}.action-grid{gap:8px;display:grid}.action-tile{border:1px solid var(--line);background:var(--surface-2);min-height:68px;color:var(--text-soft);font:inherit;cursor:pointer;transition:transform .18s var(--ease-spring), background .2s, border-color .2s, color .2s;border-radius:14px;align-content:center;justify-items:center;gap:4px;padding:10px 4px;font-size:.8rem;font-weight:700;display:grid}.action-tile-icon{transition:transform .25s var(--ease-spring);font-size:1.4rem;line-height:1}.action-tile:active:not(:disabled){transform:scale(.94)}.action-tile.soft{color:var(--muted);background:0 0}.action-tile:disabled{opacity:.5;cursor:default}@media (hover:hover){.action-main:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.action-tile:hover:not(:disabled){border-color:color-mix(in srgb, var(--lang,var(--primary)) 45%, var(--line));background:color-mix(in srgb, var(--lang,var(--primary)) 8%, var(--surface-2));color:var(--text)}.action-tile:hover:not(:disabled) .action-tile-icon{transform:translateY(-2px)scale(1.12)}}.done-box{background:var(--good-soft);border-radius:16px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 14px;display:grid}.done-box>div{display:grid}.done-box strong{color:var(--good-text)}.done-box small{color:var(--text-soft)}.done-check{background:var(--good-text);width:36px;height:36px;color:var(--card);border-radius:50%;place-items:center;font-size:1.1rem;font-weight:900;display:grid}.chip,.lang-tag{background:var(--surface-2);color:var(--text-soft-2);border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:.78rem;font-weight:600;display:inline-flex}.chip.muted{font-weight:500}.chip.ai{background:var(--ai-soft);color:var(--ai)}.lang-tag{background:color-mix(in srgb, var(--lang) 14%, var(--card));color:color-mix(in srgb, var(--lang) 75%, var(--text));margin-right:4px}.ai-box{background:linear-gradient(135deg, var(--ai-soft), var(--card));gap:10px;display:grid}.ai-box h3{margin:0}.ai-box .btn.ai{justify-self:start}.ai-box .idea-card{margin:4px 0 0}.alert{color:var(--text);border-radius:14px;margin:12px 0;padding:12px 14px;font-size:.93rem;line-height:1.45;text-decoration:none;display:block}.alert.date{background:var(--alert-date)}.alert.warn{background:var(--alert-warn)}.alert.info{background:var(--alert-info)}.alert.error{background:var(--alert-error);color:var(--alert-error-text)}.filters{gap:8px;margin-bottom:8px;display:grid}.chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chips.scroll{scrollbar-width:none;flex-wrap:nowrap;margin:0 -16px;padding:2px 16px;overflow-x:auto}.chips.scroll::-webkit-scrollbar{display:none}.chip-btn{border:1px solid var(--line);background:var(--card);font:inherit;white-space:nowrap;cursor:pointer;color:var(--text);border-radius:999px;padding:7px 12px;font-size:.85rem}.chip-btn.on{background:var(--primary);border-color:var(--primary);color:#fff}.field{gap:6px;margin:12px 0;display:grid}.field span{color:var(--text-soft-2);font-size:.85rem;font-weight:600}input,textarea,select{font:inherit;border:1px solid var(--input-border);background:var(--card);color:var(--text);border-radius:12px;width:100%;padding:11px 12px;font-size:16px}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--primary-soft);border-color:var(--primary)}.onboarding .center{padding-top:8vh}.hero-heart{font-size:4.5rem}.steps{gap:6px;margin-bottom:18px;display:flex}.steps span{background:var(--line);border-radius:4px;flex:1;height:4px}.steps span.on{background:var(--primary)}.lang-picker{gap:10px;display:grid}.lang-option{text-align:left;border:2px solid var(--line);background:var(--card);font:inherit;color:var(--text);cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:14px;transition:border-color .15s,background .15s;display:flex}.lang-option:disabled{opacity:.45}.lang-option.selected{border-color:var(--lang);background:color-mix(in srgb, var(--lang) 10%, var(--card))}.lang-emoji{font-size:1.8rem}.lang-text{flex:1;gap:2px;display:grid}.lang-text small{color:var(--muted);line-height:1.35}.lang-rank{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.lang-option.selected .lang-rank{background:var(--lang);border-color:var(--lang);color:#fff}.insights{gap:10px;display:grid}.insight{border-radius:14px;padding:12px 14px}.insight p{margin:0}.insight ul{margin:8px 0 0;padding-left:18px;font-size:.9rem;line-height:1.5}.insight em{color:var(--muted)}.insight.good{background:var(--good-soft)}.insight.warn{background:var(--warn-soft)}.insight.info{background:var(--alert-info)}.date-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.date-list li{background:var(--card);box-shadow:var(--shadow);cursor:pointer;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.date-list li>div{gap:2px;display:grid}.date-list li.soon{border:2px solid #f6c56b}.date-list.compact li{box-shadow:none;border-bottom:1px solid var(--line);cursor:default;border-radius:0;padding:6px 0}.countdown{color:var(--primary-dark);white-space:nowrap;font-weight:700}.empty{text-align:center;color:var(--muted);padding:24px 8px}.stats{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.stat{background:var(--card);text-align:center;box-shadow:var(--shadow);border-radius:16px;gap:2px;padding:14px 8px;display:grid}.stat strong{color:var(--primary);font-size:1.6rem}.stat span{color:var(--muted);font-size:.78rem}.balance{gap:12px;display:grid}.balance-label{justify-content:space-between;margin-bottom:4px;font-size:.9rem;display:flex}.balance-label .low{color:var(--warn-text);font-weight:600}.bar{background:var(--surface-2);border-radius:6px;height:12px;position:relative;overflow:hidden}.bar .fill,.bar .ideal{border-radius:6px;height:100%;transition:width .4s;position:absolute;top:0;left:0}.bar .fill{background:var(--lang)}.bar .ideal{background:color-mix(in srgb, var(--lang) 18%, transparent);border-right:2px dashed color-mix(in srgb, var(--lang) 70%, transparent);border-radius:6px 2px 2px 6px}.history-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.history-list li{background:var(--card);box-shadow:var(--shadow);border-radius:16px;padding:12px 14px}.history-list .row{margin-top:4px}.note{color:var(--text-soft);margin:8px 0 0;font-style:italic}code{background:var(--surface-2);border-radius:6px;padding:2px 6px}.modal-backdrop{z-index:50;background:#2d232773;justify-content:center;align-items:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}.modal{background:var(--card);width:100%;max-width:560px;max-height:90dvh;padding:18px 18px calc(18px + var(--safe-bottom));border-radius:22px 22px 0 0;animation:.2s up;overflow-y:auto}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:1.2rem}@media (width>=600px){.modal-backdrop{align-items:center}.modal{border-radius:22px}}.bottom-nav{background:var(--nav-bg);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:8px 4px calc(8px + var(--safe-bottom));z-index:40;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{color:var(--muted);border-radius:12px;justify-items:center;gap:2px;min-width:60px;padding:4px;font-size:.72rem;font-weight:600;text-decoration:none;display:grid}.bottom-nav a.active{color:var(--primary)}.nav-icon{filter:grayscale(.8);opacity:.7;font-size:1.35rem;position:relative}.bottom-nav a.active .nav-icon{filter:none;opacity:1}.badge{background:var(--primary);color:#fff;border-radius:9px;place-items:center;min-width:17px;height:17px;font-size:.65rem;font-weight:700;display:grid;position:absolute;top:-4px;right:-10px}.rating-picker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.rating-picker.compact{gap:4px;display:flex}.rating-btn{border:2px solid var(--line);background:var(--card);font:inherit;color:var(--text);cursor:pointer;border-radius:14px;justify-items:center;gap:2px;padding:10px 4px;transition:transform .1s,border-color .15s,opacity .15s,background .15s;display:grid}.rating-btn:active{transform:scale(.93)}.rating-btn.on{border-color:var(--primary);background:var(--primary-soft)}.rating-btn.dim{opacity:.45}.rating-emoji{font-size:1.7rem;line-height:1}.rating-label{font-size:.78rem;font-weight:600}.compact .rating-btn{border-radius:999px;padding:4px 7px}.compact .rating-emoji{font-size:1.25rem}.rating-row{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px}.history-list .row.top{align-items:flex-start;margin-top:0}.history-list li.loved-entry{border:2px solid var(--primary-soft)}.loved{gap:8px;display:grid}.loved p{margin:0}.loved .alert{margin:4px 0 0}.loved-langs{gap:6px;display:grid}.loved-row{background:var(--surface-2);border-radius:12px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:6px 10px;display:grid}.loved-face{font-size:1.3rem}.tutorial-backdrop{align-items:center;padding:16px}.tutorial{background:var(--card);border-radius:26px;width:100%;max-width:420px;padding:18px 0 16px;animation:.25s up;position:relative;overflow:hidden;box-shadow:0 20px 60px #2d232740}.tutorial-skip{z-index:1;color:var(--muted);position:absolute;top:10px;right:10px}.tutorial-track{scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;display:flex;overflow-x:auto}.tutorial-track::-webkit-scrollbar{display:none}.tutorial-slide{scroll-snap-align:center;text-align:center;flex:0 0 100%;min-height:300px;padding:26px 26px 6px}.tutorial-slide h2{margin:10px 0 8px}.tutorial-slide p{color:var(--text-soft);margin:0}.tutorial-icon{background:var(--primary-soft);border-radius:50%;place-items:center;width:96px;height:96px;margin:0 auto;font-size:3.6rem;display:grid}.tutorial-dots{--dot:8px;--gap:10px;--pill:24px;gap:var(--gap);width:fit-content;margin:14px auto 6px;display:flex;position:relative}.tutorial-dots button{width:var(--dot);height:var(--dot);background:var(--line);cursor:pointer;border:none;border-radius:50%;padding:0;position:relative}.tutorial-dots button:after{content:"";position:absolute;inset:-10px -5px}.tutorial-dot-active{top:0;left:calc((var(--dot) - var(--pill)) / 2);width:var(--pill);height:var(--dot);background:var(--primary);pointer-events:none;transform:translateX(calc(var(--progress,0) * (var(--dot) + var(--gap))));will-change:transform;border-radius:999px;position:absolute}.tutorial-nav{padding:0 16px}.danger-zone{border:1px solid var(--danger-border)}.btn.danger-solid{color:#fff;background:#d93838;border-color:#d93838}@keyframes fade{0%{opacity:0}}@keyframes up{0%{opacity:0;transform:translateY(30px)}}:root{--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1)}.screen{animation:screen-in-fwd .38s var(--ease-out) backwards}.screen-back{animation-name:screen-in-back}@keyframes screen-in-fwd{0%{opacity:0;transform:translate(28px)}}@keyframes screen-in-back{0%{opacity:0;transform:translate(-28px)}}.onboarding section{animation:screen-in-fwd .4s var(--ease-out) backwards}.steps span{transition:background .4s var(--ease-out), transform .4s var(--ease-spring)}.steps span.on{transform:scaleY(1.4)}.hero-heart{animation:1.6s ease-in-out infinite heartbeat;display:inline-block}@keyframes heartbeat{0%,40%,to{transform:scale(1)}15%{transform:scale(1.14)}28%{transform:scale(.97)}}.swap-in{animation:swap-in .5s var(--ease-spring) backwards}@keyframes swap-in{0%{opacity:0;transform:translateY(14px)scale(.96)rotate(-.6deg)}}.done-msg{animation:pop-in .45s var(--ease-spring) both}.stagger>*{animation:rise .42s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 45ms)}@keyframes rise{0%{opacity:0;transform:translateY(12px)}}.card,.alert,.stat{animation:rise .45s var(--ease-out) backwards}.stats .stat:nth-child(2){animation-delay:60ms}.stats .stat:nth-child(3){animation-delay:.12s}.btn,.chip-btn,.icon-btn,.lang-option,.rating-btn,.fav-btn,.date-list li,.bottom-nav a,.tutorial-dots button{transition:transform .18s var(--ease-spring), background .2s, border-color .2s, box-shadow .2s, opacity .2s, color .2s}.btn:active:not(:disabled),.chip-btn:active,.icon-btn:active,.date-list li:active{transform:scale(.95)}.lang-option:active:not(:disabled){transform:scale(.98)}.bottom-nav a:active{transform:scale(.88)}@media (hover:hover){.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c43f5826}.idea-card{transition:transform .2s var(--ease-out), box-shadow .2s}.idea-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #c43f581f}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}.fav-btn.on{animation:pop .4s var(--ease-spring)}.chip-btn.on{animation:pop-sm .3s var(--ease-spring)}@keyframes pop-sm{50%{transform:scale(1.08)}}.rating-btn.on .rating-emoji{animation:pop .45s var(--ease-spring);display:inline-block}.lang-option.selected .lang-rank{animation:pop .4s var(--ease-spring)}.bottom-nav a.active .nav-icon{animation:nav-bounce .45s var(--ease-spring)}@keyframes nav-bounce{0%{transform:translateY(0)scale(1)}40%{transform:translateY(-5px)scale(1.15)}to{transform:translateY(0)scale(1)}}.badge{animation:pop-in .4s var(--ease-spring) both}.btn.ai{background-size:200% 100%}.btn.ai.loading{background-image:linear-gradient(110deg, var(--ai) 0%, #c05ce0 35%, #f0a5ff 50%, #c05ce0 65%, var(--ai) 100%);opacity:1;animation:1.2s linear infinite shimmer}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.bar .fill,.bar .ideal{transform-origin:0;animation:grow .8s var(--ease-out) backwards .15s}@keyframes grow{0%{transform:scaleX(0)}}.modal-backdrop{-webkit-backdrop-filter:blur(3px)}.modal{animation:sheet-up .32s var(--ease-out)}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.tutorial{animation:pop-in .4s var(--ease-spring) both}.tutorial-slide .tutorial-icon,.tutorial-slide h2,.tutorial-slide p{transition:transform .5s var(--ease-spring), opacity .4s}.tutorial-slide[aria-hidden=true] .tutorial-icon{opacity:.3;transform:scale(.6)rotate(-10deg)}.tutorial-slide[aria-hidden=true] h2,.tutorial-slide[aria-hidden=true] p{opacity:0;transform:translateY(8px)}.celebrate{pointer-events:none;z-index:100;position:fixed;inset:0;overflow:hidden}.celebrate span{bottom:-40px;left:var(--x);font-size:var(--size);animation:float-up var(--dur) var(--ease-out) var(--delay) both;position:absolute}@keyframes float-up{0%{opacity:0;transform:translate(0)scale(.6)}15%{opacity:1}to{opacity:0;transform:translate(var(--drift), -75vh) scale(1.2) rotate(var(--spin,20deg))}}.celebrate-r3 span{animation-name:float-up-big}.celebrate-r3:before{content:"";background:radial-gradient(circle at 50% 70%,#f0789647,#0000 65%);animation:1.1s ease-out both flash;position:absolute;inset:0}@keyframes float-up-big{0%{opacity:0;transform:translate(0)scale(.4)}12%{opacity:1;transform:translateY(-8vh)scale(1.3)}to{opacity:0;transform:translate(var(--drift), -95vh) scale(1.1) rotate(var(--spin,20deg))}}@keyframes flash{0%{opacity:0}20%{opacity:1}to{opacity:0}}.celebrate-down span{filter:saturate(.6);animation:sad-fall var(--dur) ease-in var(--delay) both;top:-50px;bottom:auto}.celebrate-down:before{content:"";background:linear-gradient(#5a64781f,#0000 60%);animation:2.4s ease-out both flash;position:absolute;inset:0}@keyframes sad-fall{0%{opacity:0;transform:translate(0)rotate(0)}15%{opacity:.95}35%{transform:translate(calc(var(--drift) * -.6), 22vh) rotate(-8deg)}65%{transform:translate(var(--drift), 45vh) rotate(8deg)}to{opacity:0;transform:translate(calc(var(--drift) * .3), 68vh) rotate(-4deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}:root[data-theme=dark]{--bg:#17121a;--card:#241c26;--card-tint:#2a1f2b;--text:#f3e9ee;--muted:#a8949e;--muted-2:#5d4d57;--line:#3a2e3a;--primary:#f0708a;--primary-dark:#e0566e;--primary-soft:#4a2533;--ai:#9b82ff;--ai-soft:#2d2445;--text-soft:#d6c6ce;--text-soft-2:#c2b0ba;--surface-2:#2f2531;--input-border:#4a3c49;--alert-date:#3d3220;--alert-warn:#45282a;--alert-info:#22304a;--alert-error:#4d2226;--alert-error-text:#ffb3b3;--good-soft:#1f3a2b;--good-text:#7fd69a;--warn-soft:#43301f;--warn-text:#ffab70;--danger-text:#ff8a8a;--danger-border:#6b3036;--nav-bg:#1e1720f0;--shadow:0 4px 18px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#17121a;--card:#241c26;--card-tint:#2a1f2b;--text:#f3e9ee;--muted:#a8949e;--muted-2:#5d4d57;--line:#3a2e3a;--primary:#f0708a;--primary-dark:#e0566e;--primary-soft:#4a2533;--ai:#9b82ff;--ai-soft:#2d2445;--text-soft:#d6c6ce;--text-soft-2:#c2b0ba;--surface-2:#2f2531;--input-border:#4a3c49;--alert-date:#3d3220;--alert-warn:#45282a;--alert-info:#22304a;--alert-error:#4d2226;--alert-error-text:#ffb3b3;--good-soft:#1f3a2b;--good-text:#7fd69a;--warn-soft:#43301f;--warn-text:#ffab70;--danger-text:#ff8a8a;--danger-border:#6b3036;--nav-bg:#1e1720f0;--shadow:0 4px 18px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark] .lang-tag,:root[data-theme=dark] .chip.season{filter:brightness(1.15)}.chip.season{background:var(--alert-date)}.chip.season.off{opacity:.55}.segmented{background:var(--surface-2);border-radius:14px;gap:4px;padding:4px;display:flex}.segmented button{color:var(--text-soft-2);font:inherit;cursor:pointer;transition:background .2s, color .2s, box-shadow .2s, transform .18s var(--ease-spring);background:0 0;border:none;border-radius:10px;flex:1;padding:9px 6px;font-size:.9rem;font-weight:600}.segmented button.on{background:var(--card);color:var(--primary);box-shadow:0 2px 8px #00000014}.segmented button:active{transform:scale(.96)}.plans-due{border:2px solid var(--primary-soft)}.plan-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.plan-list li+li{border-top:1px dashed var(--line);padding-top:12px}.plan-list .row{margin-top:8px}.plan-info{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.plan-list li.overdue .plan-info strong:after{content:" ⏰"}.date-list li.clickable{cursor:pointer}.month-nav{text-transform:capitalize;justify-content:center;align-items:center;gap:16px;margin:8px 0 12px;display:flex}.month-nav .icon-btn{font-size:1.6rem;line-height:1}.month-nav .icon-btn:disabled{opacity:.25}.summary{background:linear-gradient(180deg, var(--primary-soft), var(--card));border-radius:20px;padding:16px}.summary-title{text-align:center;margin:0 0 12px}.summary .stat{background:var(--card)}.summary-langs{gap:8px;display:grid}.summary-lang{grid-template-columns:96px 1fr 24px;align-items:center;gap:8px;font-size:.9rem;display:grid}.summary-lang strong{text-align:right}.summary-fav{background:var(--card);border-radius:14px;gap:2px;margin-top:14px;padding:12px 14px;display:grid}.summary-fav small{color:var(--primary);font-weight:700}.summary-fav .note{margin:4px 0 0}.reminder-row{margin:10px 0}.switch{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:inline-flex}.switch input{opacity:0;pointer-events:none;position:absolute}.switch-track{background:var(--line);border-radius:15px;flex:none;width:50px;height:30px;transition:background .25s;position:relative}.switch-track:after{content:"";width:24px;height:24px;transition:transform .3s var(--ease-spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 1px 4px #00000040}.switch input:checked+.switch-track{background:var(--primary)}.switch input:checked+.switch-track:after{transform:translate(20px)}.switch input:focus-visible+.switch-track{outline:2px solid var(--primary);outline-offset:2px}.hour-select{align-items:center;gap:8px;display:inline-flex}.hour-select select{width:auto;padding:8px 10px}.done-box{animation:pop-in .45s var(--ease-spring) backwards}html,body{overflow-x:clip}.field{grid-template-columns:minmax(0,1fr)}.field>*{min-width:0}input[type=date],input[type=time]{appearance:none;text-align:left;min-width:0;max-width:100%;min-height:46px;line-height:1.3;display:block}input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}input[type=time]::-webkit-date-and-time-value{text-align:left;margin:0}.modal-backdrop{overscroll-behavior:contain;overflow:hidden}.modal{overscroll-behavior:contain;touch-action:pan-y;max-width:min(560px,100%);margin:0 auto;overflow-x:hidden}.modal .chips,.modal .row{flex-wrap:wrap}.modal .row .field.grow{flex:140px;min-width:0}.toast{left:50%;bottom:calc(84px + var(--safe-bottom));z-index:60;color:#fff;width:min(520px,100% - 24px);animation:toast-in .35s var(--ease-spring) both;background:#2d2327;border-radius:16px;align-items:center;gap:12px;padding:12px 12px 12px 16px;display:flex;position:fixed;overflow:hidden;transform:translate(-50%);box-shadow:0 10px 30px #0000004d}:root[data-theme=dark] .toast{color:#2d2327;background:#f3e9ee}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .toast{color:#2d2327;background:#f3e9ee}}.toast-msg{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.92rem;font-weight:600;overflow:hidden}.toast-undo{background:var(--primary);color:#fff;font:inherit;cursor:pointer;transition:transform .18s var(--ease-spring);border:none;border-radius:10px;flex:none;padding:8px 12px;font-size:.9rem;font-weight:800}.toast-undo:active{transform:scale(.94)}.toast-timer{background:var(--primary);transform-origin:0;width:100%;height:3px;animation:linear both toast-timer;position:absolute;bottom:0;left:0}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,20px)scale(.95)}}@keyframes toast-timer{to{transform:scaleX(0)}}.search{margin-bottom:10px;position:relative}.search input{background:var(--card);box-shadow:var(--shadow);appearance:none;border-radius:14px;padding-left:40px;padding-right:40px}.search input::-webkit-search-cancel-button{display:none}.search-icon{opacity:.6;pointer-events:none;font-size:1rem;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.search-clear{background:var(--surface-2);width:28px;height:28px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;place-items:center;font-size:.8rem;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.filters.searching .chips:first-child{opacity:.4;pointer-events:none}.list-count{justify-content:space-between;align-items:center;gap:8px;display:flex}.dismissed-link{color:var(--muted);font-weight:600;text-decoration:none}mark{color:inherit;background:#f4b40059;border-radius:3px;padding:0 1px}.dismissed-list{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.dismissed-list li{background:var(--surface-2);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.dismissed-list .dismissed-info{flex:1;gap:4px;min-width:0;display:grid}.dismissed-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;overflow:hidden}.dismissed-list .lang-tag{justify-self:start}.card-title-row{margin-top:0}.card-title-row h3{align-items:center;gap:8px;margin:0;display:flex}.count-badge{background:var(--surface-2);min-width:22px;height:22px;color:var(--text-soft-2);border-radius:11px;place-items:center;padding:0 7px;font-size:.78rem;display:inline-grid}.show-more{margin-top:8px}
