:root{--bg:#eef6fb;--label:#142231;--label-2:rgba(30,50,70,0.64);--label-3:rgba(30,50,70,0.4);--separator:rgba(30,60,90,0.1);--tint:#14a3ad;--tint-2:#2b9fd0;--tint-gradient:linear-gradient(135deg,#6fe0cf,#2fbcc0 48%,#3aa2d6);--success:#34c27a;--danger:#f0646a;--glass-fill:linear-gradient(160deg,rgba(255,255,255,0.5),rgba(255,255,255,0.22));--glass-fill-strong:linear-gradient(160deg,rgba(255,255,255,0.74),rgba(255,255,255,0.5));--glass-fill-thin:linear-gradient(160deg,rgba(255,255,255,0.34),rgba(255,255,255,0.12));--glass-bg-strong:rgba(255,255,255,0.62);--glass-blur:blur(16px) saturate(210%) brightness(1.04);--rim-hi:rgba(255,255,255,0.98);--rim-lo:rgba(255,255,255,0.55);--rim-ring:linear-gradient(135deg,rgba(255,255,255,1),rgba(255,255,255,0.35) 22%,rgba(255,255,255,0.05) 48%,rgba(255,255,255,0.2) 72%,rgba(255,255,255,0.85));--glass-glow:rgba(255,255,255,0.5);--glass-caustic:rgba(90,160,220,0.16);--glass-shadow:0 1px 2px rgba(20,40,70,0.06),0 10px 28px -10px rgba(30,70,110,0.18),0 30px 60px -30px rgba(30,70,110,0.16);--glass-border:rgba(255,255,255,0.6);--fill:rgba(50,90,130,0.08);--fill-2:rgba(50,90,130,0.14);--r-xl:30px;--r-lg:24px;--r-md:18px;--r-sm:12px;--gutter:16px;--tabbar-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",system-ui,sans-serif;--font-rounded:ui-rounded,"SF Pro Rounded",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a1119;--label:#f2f7fc;--label-2:rgba(222,234,247,0.66);--label-3:rgba(222,234,247,0.4);--separator:rgba(220,238,255,0.1);--glass-fill:linear-gradient(160deg,rgba(255,255,255,0.13),rgba(255,255,255,0.04));--glass-fill-strong:linear-gradient(160deg,rgba(42,56,74,0.72),rgba(26,38,54,0.62));--glass-fill-thin:linear-gradient(160deg,rgba(255,255,255,0.09),rgba(255,255,255,0.02));--glass-bg-strong:rgba(30,42,58,0.7);--glass-blur:blur(18px) saturate(190%);--rim-hi:rgba(255,255,255,0.42);--rim-lo:rgba(255,255,255,0.12);--rim-ring:linear-gradient(135deg,rgba(255,255,255,0.55),rgba(255,255,255,0.12) 25%,rgba(255,255,255,0.02) 50%,rgba(255,255,255,0.08) 72%,rgba(255,255,255,0.35));--glass-glow:rgba(255,255,255,0.08);--glass-caustic:rgba(130,190,240,0.12);--glass-shadow:0 1px 2px rgba(0,0,0,0.3),0 12px 30px -10px rgba(0,0,0,0.6),0 30px 60px -30px rgba(0,0,0,0.6);--glass-border:rgba(255,255,255,0.14);--fill:rgba(220,238,255,0.08);--fill-2:rgba(220,238,255,0.13);color-scheme:dark}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body,html{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--label);font-family:var(--font);font-size:17px;line-height:1.35;letter-spacing:-.012em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit}button{-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation}a{color:inherit;text-decoration:none}::selection{background:color-mix(in srgb,var(--tint) 30%,transparent)}:focus-visible{outline:2.5px solid color-mix(in srgb,var(--tint) 70%,transparent);outline-offset:2px}.ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--bg)}.ambient span{position:absolute;border-radius:50%;filter:blur(56px);opacity:.9;will-change:transform;animation:drift 26s ease-in-out infinite alternate}.ambient .b1{width:64vmax;height:64vmax;left:-24vmax;top:-20vmax;background:radial-gradient(circle,#d4ecfb 0,#bfe2f8 38%,transparent 68%)}.ambient .b2{width:56vmax;height:56vmax;right:-26vmax;top:4vmax;background:radial-gradient(circle,#dfe6ff 0,#c9d5fb 38%,transparent 68%);animation-duration:32s;animation-delay:-8s}.ambient .b3{width:52vmax;height:52vmax;left:-16vmax;top:46vh;background:radial-gradient(circle,#cdf1f4 0,#b0e4ea 38%,transparent 68%);animation-duration:38s;animation-delay:-14s}.ambient .b4{width:46vmax;height:46vmax;right:-18vmax;bottom:-14vmax;background:radial-gradient(circle,#d6f3ea 0,#bde9dc 38%,transparent 68%);animation-duration:44s;animation-delay:-20s}.ambient .b5{width:40vmax;height:40vmax;left:20vmax;bottom:-22vmax;background:radial-gradient(circle,#ffffff 0,#e4f3ff 38%,transparent 68%);animation-duration:36s;animation-delay:-4s}@media (prefers-color-scheme:dark){.ambient span{opacity:.34}}@keyframes drift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(6vmax,4vmax,0) scale(1.08)}to{transform:translate3d(-4vmax,7vmax,0) scale(.95)}}.ambient:after{content:"";position:absolute;inset:0;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.glass{position:relative;isolation:isolate;background:var(--glass-fill);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:0;box-shadow:inset 0 1.5px .5px -.5px var(--rim-hi),inset 0 -1px 1px -.5px var(--rim-lo),inset 0 0 24px -8px var(--glass-glow),inset 0 -14px 22px -18px var(--glass-caustic),var(--glass-shadow)}.glass:before{z-index:-1;background:radial-gradient(90% 70% at 12% 0,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 60%),radial-gradient(60% 50% at 100% 100%,rgba(255,255,255,.22) 0,rgba(255,255,255,0) 70%);opacity:.9}.glass:after,.glass:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none}.glass:after{padding:1.2px;background:var(--rim-ring);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);z-index:2}@media (prefers-color-scheme:dark){.glass:before{opacity:.22}}.glass-strong{background:var(--glass-fill-strong)}.glass-thin{background:var(--glass-fill-thin)}.glass:active:not(:disabled):before{opacity:1;background:radial-gradient(80% 80% at 50% 30%,rgba(255,255,255,.5) 0,rgba(255,255,255,0) 70%),radial-gradient(90% 70% at 12% 0,rgba(255,255,255,.55) 0,rgba(255,255,255,0) 60%)}.glass-tint{color:#fff;text-shadow:0 1px 2px rgba(0,80,90,.3);background:linear-gradient(135deg,rgba(104,222,205,.9),rgba(40,184,190,.9) 50%,rgba(56,158,212,.9));box-shadow:inset 0 1.5px .5px -.5px rgba(255,255,255,.95),inset 0 -1px 1px -.5px rgba(255,255,255,.5),inset 0 0 22px -6px rgba(255,255,255,.45),inset 0 -12px 20px -14px rgba(0,90,120,.3),0 12px 28px -12px rgba(20,160,175,.45),0 2px 6px -2px rgba(10,70,90,.18)}.glass-tint:before{opacity:.75}.tinted{background:radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--cat,#fff) 58%,transparent) 0,transparent 66%),radial-gradient(90% 70% at 100% 100%,color-mix(in srgb,var(--cat,#fff) 26%,transparent) 0,transparent 72%),var(--glass-fill)}@media (prefers-color-scheme:dark){.tinted{background:radial-gradient(120% 90% at 0 0,color-mix(in srgb,var(--cat,#fff) 28%,transparent) 0,transparent 62%),radial-gradient(90% 70% at 100% 100%,color-mix(in srgb,var(--cat,#fff) 10%,transparent) 0,transparent 70%),var(--glass-fill)}}.app{position:relative;z-index:1;max-width:560px;margin:0 auto;min-height:100dvh;padding:0 var(--gutter) calc(var(--tabbar-h) + var(--safe-bottom) + 40px)}.view{padding-top:calc(var(--safe-top) + 8px)}.navbar{position:fixed;top:0;left:0;right:0;z-index:30;height:calc(var(--safe-top) + 48px);padding-top:var(--safe-top);display:flex;align-items:center;justify-content:center;pointer-events:none}.navbar-bg{position:absolute;inset:0;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);background:color-mix(in srgb,var(--bg) 62%,transparent);border-bottom:.5px solid var(--separator);-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}.navbar-title{position:relative;font-size:17px;font-weight:600}.large-title{padding:18px 4px 6px;transform-origin:left center}.large-title .eyebrow{font-size:15px;font-weight:600;color:var(--label-2);margin-bottom:2px}.large-title h1{margin:0;font-size:34px;line-height:1.12;font-weight:800;letter-spacing:-.03em}.large-title .caption{margin-top:6px;font-size:15px;color:var(--label-2)}.section-title{display:flex;align-items:baseline;justify-content:space-between;margin:28px 6px 10px;font-size:20px;font-weight:700;letter-spacing:-.02em}.section-title small{font-size:13px;font-weight:500;color:var(--label-3);letter-spacing:0}.tabbar-wrap{position:fixed;left:0;right:0;bottom:0;z-index:40;padding:0 var(--gutter) calc(var(--safe-bottom) + 10px);pointer-events:none}.tabbar-row{max-width:560px;margin:0 auto;display:flex;align-items:center;gap:12px}.tabbar-wrap:before{content:"";position:absolute;inset:-40px 0 0;z-index:-1;background:linear-gradient(transparent,color-mix(in srgb,var(--bg) 85%,transparent) 75%);pointer-events:none}.tabbar{pointer-events:auto;height:var(--tabbar-h);border-radius:999px;padding:5px}.tab,.tabbar{flex:1 1;display:flex;gap:2px}.tab{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;border-radius:999px;flex-direction:column;align-items:center;justify-content:center;color:var(--label-2);font-size:11px;font-weight:600;letter-spacing:0;cursor:pointer;transition:color .25s}.tab[aria-selected=true]{color:var(--tint)}.tab span,.tab svg{position:relative;z-index:1}.tab-lens{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--tint) 13%,rgba(255,255,255,.45));box-shadow:inset 0 1px 0 rgba(255,255,255,.85),inset 0 -1px 0 rgba(255,255,255,.2),0 2px 8px -2px color-mix(in srgb,var(--tint) 30%,transparent)}@media (prefers-color-scheme:dark){.tab-lens{background:color-mix(in srgb,var(--tint) 22%,rgba(255,255,255,.06));box-shadow:inset 0 1px 0 rgba(255,255,255,.18)}}.fab{pointer-events:auto;width:var(--tabbar-h);height:var(--tabbar-h);flex:none;border-radius:50%;display:grid;place-items:center;border:.5px solid;cursor:pointer}.card{padding:18px}.card,.inset-group{border-radius:var(--r-lg)}.inset-group{overflow:hidden}.group-header{display:flex;align-items:center;gap:6px;margin:22px 8px 8px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--label-2)}.group-header .count{color:var(--label-3);font-weight:500}.row-wrap{position:relative;overflow:hidden}.row-wrap+.row-wrap:before{content:"";position:absolute;top:0;left:68px;right:0;height:.5px;background:var(--separator);z-index:3}.row-actions{position:absolute;inset:0 0 0 auto;display:flex}.row-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:84px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:600;color:#fff;cursor:pointer}.row-action.edit{background:#8a9bb2}.row-action.delete{background:var(--danger)}.row{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:11px 14px;min-height:64px;background:transparent;cursor:pointer;touch-action:pan-y}.row:after{content:"";position:absolute;inset:0;background:var(--fill-2);opacity:0;transition:opacity .35s;pointer-events:none}.row:active:after{opacity:1;transition-duration:0s}.row-icon{width:42px;height:42px;flex:none;border-radius:13px;display:grid;place-items:center;font-size:24px;background:radial-gradient(100% 100% at 20% 10%,color-mix(in srgb,var(--cat,#fff) 55%,rgba(255,255,255,.5)) 0,color-mix(in srgb,var(--cat,#fff) 26%,transparent) 100%);box-shadow:inset 0 1px .5px -.5px rgba(255,255,255,.95),inset 0 -1px 1px -.5px rgba(255,255,255,.4),inset 0 0 10px -3px rgba(255,255,255,.6),0 4px 10px -6px color-mix(in srgb,var(--cat,#000) 70%,transparent)}.row-body{flex:1 1;min-width:0}.row-title{font-size:17px;font-weight:600;letter-spacing:-.02em}.row-sub,.row-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-sub{font-size:13px;color:var(--label-2)}.row-chevron{color:var(--label-3);flex:none}.search{display:flex;align-items:center;gap:8px;height:44px;padding:0 14px;border-radius:999px;margin-top:10px}.search input{flex:1 1;min-width:0;border:0;outline:0;background:none;font-size:17px}.search input::placeholder{color:var(--label-3)}.search svg{color:var(--label-3);flex:none}.icon-btn-plain{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--fill-2);color:var(--label-2);width:20px;height:20px;border-radius:50%;display:grid;place-items:center;padding:0;cursor:pointer}.scroller{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:12px calc(var(--gutter) * -1) 0;padding:4px var(--gutter) 6px;scroll-padding:0 var(--gutter)}.scroller::-webkit-scrollbar{display:none}.pill{position:relative;flex:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:36px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:600;cursor:pointer;border:0;background:var(--glass-fill-thin);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:inset 0 1px .5px -.5px var(--rim-hi),inset 0 -1px 1px -.5px var(--rim-lo),inset 0 0 0 .5px var(--glass-border),0 4px 12px -6px rgba(30,70,110,.16);color:var(--label)}.pill .count{font-weight:500;color:var(--label-3);font-size:13px}.pill-lens{position:absolute;inset:-.5px;border-radius:999px;background:var(--tint-gradient);box-shadow:inset 0 1px 0 rgba(255,255,255,.5),0 6px 14px -8px color-mix(in srgb,var(--tint-2) 50%,transparent);z-index:0}.pill>:not(.pill-lens){position:relative;z-index:1}.pill[aria-pressed=true]{color:#fff}.pill[aria-pressed=true] .count{color:rgba(255,255,255,.8)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:.5px solid var(--glass-border);height:54px;padding:0 22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:17px;font-weight:650;letter-spacing:-.015em;cursor:pointer;color:var(--label);white-space:nowrap}.btn:disabled{opacity:.45;cursor:default}.btn-block{width:100%}.btn-sm{height:40px;padding:0 16px;font-size:15px}.btn-danger{color:var(--danger)}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;padding:0;cursor:pointer;color:var(--label)}.hero{position:relative;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--r-xl);padding:22px 22px 20px;display:flex;align-items:center;gap:18px;text-align:left;cursor:pointer;overflow:hidden;margin-top:18px}.hero-dice{width:64px;height:64px;display:grid;place-items:center;flex:none;perspective:300px}.dice{position:relative;display:block;flex:none;background:linear-gradient(150deg,rgba(255,255,255,.96),rgba(240,248,255,.82));box-shadow:inset 0 1.5px 0 rgba(255,255,255,1),inset 0 -3px 6px rgba(120,160,200,.22),inset 0 0 0 1px rgba(255,255,255,.7),0 8px 20px -8px rgba(0,90,110,.38);will-change:transform}.dice-pip{position:absolute;border-radius:50%;background:radial-gradient(circle at 35% 30%,#86ebdc 0,#1fb2b8 55%,#2b8fc4 100%);box-shadow:inset 0 1px 1.5px rgba(0,70,90,.35),0 .5px 0 rgba(255,255,255,.8)}.result-emoji .dice{box-shadow:inset 0 2px 0 rgba(255,255,255,1),inset 0 -4px 8px rgba(120,160,200,.24),inset 0 0 0 1px rgba(255,255,255,.7),0 14px 28px -10px rgba(30,70,110,.35)}.hero-text strong{display:block;font-size:22px;font-weight:800;letter-spacing:-.025em}.hero-text span{font-size:15px;opacity:.88}.hero-shine{position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.22) 48%,transparent 66%);transform:translateX(-120%);animation:shine 5.5s ease-in-out 1.2s infinite;pointer-events:none}@keyframes shine{0%,70%{transform:translateX(-120%)}to{transform:translateX(120%)}}.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media (max-width:419px){.tile-grid>:last-child:nth-child(odd){grid-column:span 2}}@media (min-width:420px){.tile-grid{grid-template-columns:repeat(3,1fr)}}.tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--r-lg);padding:16px 14px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:10px;text-align:left;cursor:pointer;min-height:116px}.tile:disabled{opacity:.42;cursor:default}.tile .emoji{font-size:34px;line-height:1;filter:drop-shadow(0 4px 6px rgba(20,50,90,.16))}.tile .label{font-size:17px;font-weight:700;letter-spacing:-.02em}.tile .count{font-size:13px;color:var(--label-2);margin-top:-8px}.recent{display:flex;gap:10px}.recent-item{flex:none;width:132px;border-radius:var(--r-md);padding:12px;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.recent-item .emoji{font-size:26px}.recent-item .name{margin-top:6px;font-size:15px;font-weight:650;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recent-item .when{font-size:12px;color:var(--label-2);margin-top:2px}.result{margin-top:18px;border-radius:var(--r-xl);padding:22px 20px 20px;text-align:center;overflow:hidden}.result-top{display:flex;align-items:center;justify-content:space-between;margin:-6px -6px 8px}.result-badge{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:999px;font-size:13px;font-weight:650;background:var(--fill);color:var(--label-2)}.result-emoji{font-size:84px;line-height:1;height:100px;display:grid;place-items:center;filter:drop-shadow(0 12px 18px rgba(20,50,90,.22))}.reel{position:relative;height:56px;overflow:hidden;margin:10px 0 6px;-webkit-mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent);mask-image:linear-gradient(transparent,#000 28%,#000 72%,transparent)}.reel-item{height:56px;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:800;letter-spacing:-.03em;white-space:nowrap;padding:0 8px}.result-meta,.result-note{font-size:15px;color:var(--label-2)}.result-note{margin:12px auto 0;max-width:34ch;font-style:italic}.result-actions{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;margin-top:22px}.result-actions .secondary{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.burst{position:absolute;left:50%;top:92px;pointer-events:none}.burst span{position:absolute;font-size:22px;left:-11px;top:-11px}.success-ring{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--success);color:#fff;margin:0 auto 6px;box-shadow:0 6px 16px -4px color-mix(in srgb,var(--success) 70%,transparent)}.sheet-backdrop{position:fixed;inset:0;z-index:60;background:rgba(10,30,55,.26)}@media (prefers-color-scheme:dark){.sheet-backdrop{background:rgba(0,0,0,.5)}}.sheet{position:fixed;z-index:61;left:0;right:0;bottom:0;margin:0 auto;max-width:560px;max-height:calc(100dvh - var(--safe-top) - 12px);display:flex;flex-direction:column;border-radius:34px 34px 0 0;background:var(--glass-fill-strong);padding-bottom:calc(var(--safe-bottom) + var(--kb, 0px))}@media (min-width:600px){.sheet{bottom:16px;border-radius:34px}}.sheet-handle{flex:none;padding:8px 0 0;cursor:-webkit-grab;cursor:grab;touch-action:none}.sheet-grabber{width:38px;height:5px;border-radius:3px;background:var(--label-3);opacity:.6;margin:0 auto}.sheet-header{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;padding:8px 14px 4px}.sheet-header h2{margin:0;text-align:center;font-size:17px;font-weight:650}.sheet-body{overflow-y:auto;overscroll-behavior:contain;padding:10px 18px 18px;-webkit-overflow-scrolling:touch}.field{border-radius:var(--r-md);background:var(--fill);display:flex;align-items:center;padding:0 16px;min-height:54px;box-shadow:inset 0 .5px 0 rgba(255,255,255,.4);transition:box-shadow .2s,background .2s}.field:focus-within{background:var(--fill-2);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tint) 60%,transparent)}.field input,.field textarea{flex:1 1;min-width:0;border:0;outline:0;background:none;font-size:17px;padding:15px 0;resize:none}.field input::placeholder,.field textarea::placeholder{color:var(--label-3)}.field-big input{font-size:22px;font-weight:700;letter-spacing:-.02em}.field-label{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--label-2);margin:18px 6px 8px}.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px}.cat{position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:var(--fill);border-radius:16px;aspect-ratio:1/1.08;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;padding:4px 2px}.cat .emoji{font-size:26px;line-height:1}.cat .emoji,.cat .label{position:relative;z-index:1}.cat .label{font-size:10.5px;font-weight:600;color:var(--label-2);text-align:center;line-height:1.1}.cat[aria-pressed=true] .label{color:var(--label)}.cat-lens{position:absolute;inset:0;border-radius:16px;background:var(--glass-bg-strong);box-shadow:inset 0 0 0 2px var(--tint),inset 0 1px 0 rgba(255,255,255,.8),0 6px 14px -6px color-mix(in srgb,var(--tint) 60%,transparent)}.stats{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:4px}.stat{border-radius:var(--r-md);background:var(--fill);padding:12px 14px}.stat b{display:block;font-size:20px;letter-spacing:-.02em}.stat span{font-size:13px;color:var(--label-2)}.toast-wrap{position:fixed;top:calc(var(--safe-top) + 8px);left:0;right:0;z-index:80;display:flex;justify-content:center;pointer-events:none;padding:0 var(--gutter)}.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 18px 8px 10px;border-radius:999px;font-size:15px;font-weight:600;max-width:100%}.toast-icon{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:17px;flex:none;background:var(--fill-2)}.toast.error .toast-icon{background:color-mix(in srgb,var(--danger) 18%,transparent);color:var(--danger)}.empty{text-align:center;padding:48px 20px;color:var(--label-2)}.empty .art{font-size:64px;line-height:1;margin-bottom:14px;filter:drop-shadow(0 10px 14px rgba(20,50,90,.18))}.empty h3{margin:0 0 6px;color:var(--label);font-size:22px;letter-spacing:-.02em}.empty p{margin:0 auto 20px;max-width:30ch;font-size:15px}.skeleton{border-radius:var(--r-lg);background:linear-gradient(100deg,var(--fill) 30%,var(--fill-2) 50%,var(--fill) 70%);background-size:300% 100%;animation:shimmer 1.4s ease-in-out infinite}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.error-text{color:var(--danger);font-size:14px;margin:10px 6px 0}@media (prefers-reduced-motion:reduce){.ambient span,.hero-shine,.skeleton{animation:none!important}}.cat{background:radial-gradient(100% 90% at 30% 0,color-mix(in srgb,var(--cat,#fff) 30%,transparent) 0,transparent 75%),var(--fill)}@media (prefers-color-scheme:dark){.row-icon{background:radial-gradient(100% 100% at 20% 10%,color-mix(in srgb,var(--cat,#fff) 38%,transparent) 0,color-mix(in srgb,var(--cat,#fff) 12%,transparent) 100%);box-shadow:inset 0 1px .5px -.5px rgba(255,255,255,.45),inset 0 0 10px -4px rgba(255,255,255,.2)}}.week{margin-top:14px;border-radius:var(--r-lg);padding:10px 6px;display:grid;grid-template-columns:repeat(7,1fr)}.week-day{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--label-2);display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 0 4px;border-radius:16px;cursor:default;position:relative;z-index:2}.week-day.has{cursor:pointer}.week-day .wd{font-size:11px;font-weight:600;text-transform:capitalize}.week-day .dn{font-size:15px;font-weight:700;color:var(--label);width:28px;height:28px;display:grid;place-items:center;border-radius:50%}.week-day.today .dn{background:var(--tint-gradient);color:#fff;box-shadow:0 4px 10px -4px color-mix(in srgb,var(--tint) 70%,transparent)}.week-day .we{position:relative;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font-size:19px}.week-day.has .we{background:radial-gradient(100% 100% at 20% 10%,color-mix(in srgb,var(--cat,#fff) 55%,rgba(255,255,255,.5)) 0,color-mix(in srgb,var(--cat,#fff) 24%,transparent) 100%);box-shadow:inset 0 1px .5px -.5px rgba(255,255,255,.95),inset 0 0 8px -3px rgba(255,255,255,.6)}.week-day .we i{width:5px;height:5px;border-radius:50%;background:var(--fill-2)}.week-day .we b{position:absolute;top:-5px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--tint);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.day-section{scroll-margin-top:calc(var(--safe-top) + 60px)}.date-row{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -2px;padding:2px}.date-row::-webkit-scrollbar{display:none}.date-row .pill{padding:0 13px}.date-pill{position:relative;cursor:pointer}.date-row .date-pill input{position:absolute;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:0;padding:0;border:0;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.date-caption{margin:10px 6px 0;font-size:15px;color:var(--label-2)}.pick-list{margin-top:12px;max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}.pick-row{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:12px;padding:9px 14px;text-align:left;color:var(--label);cursor:pointer;position:relative;z-index:2;transition:background .2s}.pick-row+.pick-row{border-top:.5px solid var(--separator)}.pick-row.active{background:color-mix(in srgb,var(--tint) 12%,transparent)}.pick-name{flex:1 1;font-size:17px;font-weight:600;letter-spacing:-.02em}.pick-check{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:var(--tint-gradient);color:#fff}.btn.glass-tint,.icon-btn.glass-tint{color:#fff}.menu-list{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.menu-day{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;min-height:78px}.menu-day.today{min-height:92px;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tint) 55%,transparent),var(--glass-shadow)}.menu-date{position:relative;z-index:2;width:40px;flex:none;display:flex;flex-direction:column;align-items:center;line-height:1.1}.menu-date .wd{font-size:12px;font-weight:650;color:var(--label-2);text-transform:capitalize}.menu-date .dn{font-size:24px;font-weight:800;letter-spacing:-.03em}.menu-day.today .menu-date .dn{color:var(--tint)}.menu-dish{position:relative;z-index:2;flex:1 1;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;text-align:left;color:var(--label);cursor:pointer;display:grid}.menu-dish-inner{display:flex;align-items:center;gap:12px;min-width:0}.menu-emoji{width:50px;height:50px;flex:none;border-radius:16px;display:grid;place-items:center;font-size:30px;background:radial-gradient(100% 100% at 20% 10%,rgba(255,255,255,.7) 0,rgba(255,255,255,.2) 100%);box-shadow:inset 0 1px .5px -.5px rgba(255,255,255,1),inset 0 0 10px -3px rgba(255,255,255,.7),0 6px 14px -8px color-mix(in srgb,var(--cat,#000) 80%,transparent)}@media (prefers-color-scheme:dark){.menu-emoji{background:radial-gradient(100% 100% at 20% 10%,rgba(255,255,255,.16) 0,rgba(255,255,255,.04) 100%);box-shadow:inset 0 1px .5px -.5px rgba(255,255,255,.4)}}.menu-text{display:flex;flex-direction:column;min-width:0}.menu-badge{align-self:flex-start;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--tint-gradient);padding:2px 7px;border-radius:999px;margin-bottom:3px}.menu-name{font-size:17px;font-weight:700;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.menu-sub{font-size:13px;color:var(--label-2)}.menu-eaten{display:inline-flex;align-items:center;gap:3px;color:var(--success);font-weight:650}.menu-actions{position:relative;z-index:2;display:flex;gap:8px;flex:none}.menu-actions .icon-btn{width:38px;height:38px}.menu-expired{margin-top:14px;display:flex;align-items:center;gap:12px;overflow:hidden}.menu-expired div{flex:1 1;display:flex;flex-direction:column;gap:2px;position:relative;z-index:2}.menu-expired span{font-size:13px;color:var(--label-2)}.menu-expired .btn{position:relative;z-index:2}.icon-btn .dice{box-shadow:inset 0 1px 0 rgba(255,255,255,1),0 2px 6px -2px rgba(0,60,80,.4)}.recipe-hero{display:flex;align-items:center;gap:14px;margin:4px 2px 6px}.recipe-emoji{width:60px;height:60px;flex:none;border-radius:19px;display:grid;place-items:center;font-size:34px;background:radial-gradient(100% 100% at 20% 10%,color-mix(in srgb,var(--cat,#fff) 60%,rgba(255,255,255,.5)) 0,color-mix(in srgb,var(--cat,#fff) 26%,transparent) 100%);box-shadow:inset 0 1px .5px -.5px rgba(255,255,255,.95),inset 0 0 12px -3px rgba(255,255,255,.6),0 8px 18px -10px color-mix(in srgb,var(--cat,#000) 80%,transparent)}.recipe-title{font-size:24px;font-weight:800;letter-spacing:-.025em;line-height:1.15}.recipe-cat{font-size:14px;color:var(--label-2);margin-top:2px}.recipe-label{display:flex;justify-content:space-between;align-items:baseline}.recipe-label small{text-transform:none;letter-spacing:0;font-weight:500;color:var(--label-3)}.recipe-list .recipe-ing+.recipe-ing{border-top:.5px solid var(--separator)}.recipe-ing{position:relative;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;color:var(--label);font-size:16px;cursor:pointer}.recipe-check{width:24px;height:24px;flex:none;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:inset 0 0 0 1.5px var(--label-3);transition:background .2s,box-shadow .2s}.recipe-ing.on .recipe-check{background:var(--tint-gradient);box-shadow:none}.recipe-ing-text{transition:color .25s,opacity .25s}.recipe-ing.on .recipe-ing-text{color:var(--label-3);text-decoration:line-through;-webkit-text-decoration-color:color-mix(in srgb,var(--label-3) 70%,transparent);text-decoration-color:color-mix(in srgb,var(--label-3) 70%,transparent)}.recipe-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:14px;gap:14px}.recipe-steps li{display:flex;gap:12px;font-size:16px;line-height:1.45}.recipe-num{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:750;color:#fff;background:var(--tint-gradient);box-shadow:0 4px 10px -4px color-mix(in srgb,var(--tint) 70%,transparent);margin-top:-1px}.field-area{align-items:stretch}.field-area textarea{line-height:1.45;min-height:84px;overflow:hidden}.recipe-hint{margin:8px 6px 0;font-size:13px;color:var(--label-3)}.menu-day{flex-direction:column;align-items:stretch;gap:0}.menu-row{gap:12px;min-width:0}.menu-dessert,.menu-row{display:flex;align-items:center}.menu-dessert{position:relative;z-index:2;gap:10px;margin:10px 0 0 52px;padding-top:10px;border-top:.5px solid var(--separator)}.menu-dessert .menu-dish-inner{gap:10px}.menu-dessert .menu-emoji{width:34px;height:34px;border-radius:11px;font-size:20px}.menu-dessert .menu-name{font-size:15px;font-weight:650}.menu-dessert .icon-btn{width:32px;height:32px}.menu-recipe{color:var(--tint);font-weight:650}.menu-hint{margin-top:12px;display:flex;align-items:center;gap:12px}.menu-hint>span:first-child{font-size:30px;position:relative;z-index:2}.menu-hint div{flex:1 1;position:relative;z-index:2;font-size:14px;color:var(--label-2)}.menu-hint b{display:block;color:var(--label);font-size:15px}.menu-hint .btn{position:relative;z-index:2}.row-recipe{color:var(--tint);font-weight:600}.recipe-card{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--r-md);padding:12px 14px;display:flex;align-items:center;gap:12px;text-align:left;color:var(--label);cursor:pointer}.recipe-card-icon{position:relative;z-index:2;width:38px;height:38px;flex:none;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--tint-gradient)}.recipe-card-text{position:relative;z-index:2;flex:1 1;min-width:0;display:flex;flex-direction:column}.recipe-card-text b{font-size:16px}.recipe-card-text span{font-size:13px;color:var(--label-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recipe-card .row-chevron{position:relative;z-index:2}.menu-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-day{display:inline-block;margin-top:5px;font-size:11px;font-weight:650;padding:2px 7px;border-radius:999px;color:var(--label-2);background:var(--fill)}.tile-day.now{color:#fff;background:var(--tint-gradient)}.cat-add{color:var(--label-2);box-shadow:inset 0 0 0 1.5px var(--separator)!important;background:transparent!important}.cat-add .emoji{display:grid;place-items:center;height:28px}.cat-row{position:relative;z-index:2;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:12px;padding:10px 14px;min-height:62px;text-align:left;color:var(--label);cursor:pointer}.cat-row+.cat-row{border-top:.5px solid var(--separator)}.cat-row .row-sub,.cat-row .row-title{display:block}.cat-days{color:var(--tint);font-weight:600}.cat-preview{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--r-lg)}.cat-preview .emoji{position:relative;z-index:2;font-size:36px;line-height:1}.cat-preview>span:last-child{position:relative;z-index:2;display:flex;flex-direction:column}.cat-preview b{font-size:19px;letter-spacing:-.02em}.cat-preview small{font-size:13px;color:var(--label-2)}.emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);grid-gap:4px;gap:4px}.emoji-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;aspect-ratio:1;border-radius:12px;font-size:24px;display:grid;place-items:center;cursor:pointer;transition:background .2s,transform .2s}.emoji-pick.on{background:color-mix(in srgb,var(--tint) 18%,transparent);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--tint) 70%,transparent);transform:scale(1.06)}.color-row{display:flex;justify-content:space-between;gap:6px}.color-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:28px;height:28px;border-radius:50%;cursor:pointer;box-shadow:inset 0 1px .5px rgba(255,255,255,.7),0 2px 6px -2px rgba(20,50,90,.3);transition:transform .2s,box-shadow .2s}.color-pick.on{transform:scale(1.12);box-shadow:0 0 0 2.5px var(--bg),0 0 0 4.5px var(--tint)}.day-row{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:6px;gap:6px}.day-pick{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;height:40px;border-radius:12px;font-size:13px;font-weight:700;cursor:pointer;color:var(--label);background:var(--fill);transition:background .2s,color .2s}.day-pick.on{color:#fff;background:var(--tint-gradient);box-shadow:0 4px 10px -4px color-mix(in srgb,var(--tint) 70%,transparent)}.toggle-list{margin-top:16px}.toggle-row{position:relative;z-index:2;display:flex;align-items:center;gap:12px;padding:12px 14px;overflow:hidden}.toggle-row+.toggle-row{border-top:.5px solid var(--separator)}.toggle-row>span{flex:1 1;display:flex;flex-direction:column;gap:2px}.toggle-row b{font-size:16px;font-weight:600}.toggle-row small{font-size:13px;color:var(--label-2)}.switch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;flex:none;width:51px;height:31px;border-radius:999px;padding:2px;display:flex;justify-content:flex-start;background:var(--fill-2);cursor:pointer;transition:background .25s}.switch.on{justify-content:flex-end;background:var(--tint-gradient)}.switch-knob{width:27px;height:27px;border-radius:50%;background:#fff;box-shadow:0 3px 8px rgba(0,0,0,.15),0 1px 1px rgba(0,0,0,.16)}.cat-preview.cat-preview{background:radial-gradient(120% 120% at 0 0,color-mix(in srgb,var(--cat) 70%,transparent) 0,transparent 70%),radial-gradient(90% 90% at 100% 100%,color-mix(in srgb,var(--cat) 35%,transparent) 0,transparent 75%),var(--glass-fill);transition:background .3s}@media (display-mode:standalone) and (prefers-color-scheme:light){body:before{content:"";position:fixed;top:0;left:0;right:0;height:calc(var(--safe-top) + 18px);background:linear-gradient(rgba(16,48,82,.32),rgba(16,48,82,.12) 60%,rgba(16,48,82,0));z-index:90;pointer-events:none}}