@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-normal-CnvboYUG.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(./dm-sans-latin-wght-normal-Xz1IZZA0.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-cyrillic-ext-500-normal-DcrB4vVx.woff2) format("woff2"),url(./caveat-cyrillic-ext-500-normal-DqTXtm5N.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-cyrillic-500-normal-DpMZbbjM.woff2) format("woff2"),url(./caveat-cyrillic-500-normal-DLSfp5IU.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-latin-ext-500-normal-jKqJW7bC.woff2) format("woff2"),url(./caveat-latin-ext-500-normal-wUUXxlbS.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(./caveat-latin-500-normal-B9SDL8cy.woff2) format("woff2"),url(./caveat-latin-500-normal-Do9veZfZ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--pine:#183e2f;--pine2:#102a20;--gold:#c39548;--paper:#f3e7c6;--paper2:#e8d6a8;--ink:#2b2118;--tob:#684224;--rust:#963f33}*{box-sizing:border-box}html,body{margin:0}body{font-family:DM Sans Variable,system-ui,sans-serif;color:var(--ink);background:#0f271e;background-image:radial-gradient(ellipse at 50% 0,#1d4a3a,#0f271e 70%)}button,input,select{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.display{font-family:Fraunces Variable,serif;font-weight:800;font-style:italic;font-variation-settings:"SOFT" 50,"WONK" 1,"opsz" 144;font-size:clamp(2rem,8vw,2.9rem);line-height:1;margin:.3em 0 .1em;letter-spacing:-.02em;text-align:center;color:var(--pine);text-shadow:1px 1px 0 #fff8}.hand{font-family:Caveat,cursive;font-weight:500;font-size:1.35rem;color:var(--tob);text-align:center;margin:.2em 0}.sub{margin-bottom:1rem}.app{max-width:1000px;margin:0 auto;padding:0 12px}.page,.welcome{position:relative;max-width:560px;margin:10px auto 0;padding:14px 14px 110px;color:var(--ink);background:var(--paper);border-radius:6px;box-shadow:0 0 0 2px var(--gold),0 0 0 5px #0f271e,0 0 0 6px var(--gold),0 18px 40px #0008;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.7' numOctaves='3'/%3E%3CfeColorMatrix values='0 0 0 0 .45 0 0 0 0 .3 0 0 0 0 .12 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E"),radial-gradient(ellipse at 20% 10%,#fff6d8,transparent 55%),radial-gradient(ellipse at 90% 90%,#d9b878aa,transparent 60%)}.page>section{animation:fade .35s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}}.divider{display:block;width:180px;height:16px;margin:10px auto}.nav{position:fixed;z-index:5;left:0;right:0;bottom:0;background:var(--paper);padding:6px 8px calc(6px + env(safe-area-inset-bottom));border-top:3px double var(--gold);box-shadow:0 -6px 16px #0006}.nav .brand{display:none}.nav ul{display:flex;list-style:none;margin:0;padding:0;justify-content:space-around}.nav button{position:relative;background:none;border:0;color:var(--tob);display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 14px;min-height:48px;font-size:.8rem;font-family:Fraunces Variable,serif;font-style:italic;border-bottom:3px solid transparent}.nav button.on{color:var(--pine);font-weight:700;border-bottom-color:var(--gold)}.nav svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.dot{position:absolute;top:6px;right:12px;width:9px;height:9px;border-radius:50%;background:var(--rust)}@media (min-width:760px){.nav{position:static;background:none;border:0;border-bottom:2px solid var(--gold);box-shadow:none;padding:14px 0 10px;display:flex;align-items:center;justify-content:space-between;max-width:1000px;margin:0 auto}.nav .brand{display:flex;align-items:center;gap:8px;font-family:Fraunces Variable,serif;font-style:italic;font-weight:700;font-size:1.5rem;color:var(--paper)}.nav button{flex-direction:row;color:var(--paper);font-size:1rem;gap:6px;padding:6px 14px}.nav button.on{color:var(--gold)}.page{padding-bottom:40px}}.plate,.banner{position:relative;border:2px solid var(--ink);border-radius:8px 8px 40px;overflow:hidden;box-shadow:0 0 0 3px var(--paper),0 0 0 4px var(--gold),4px 6px #0004}.hero{display:block;width:100%;height:auto}.banner{margin-bottom:6px;border-radius:8px 8px 30px}.banner .hero{aspect-ratio:400/150}.banner.short .hero{aspect-ratio:400/110}.banner .trim{position:absolute;left:0;right:0;bottom:0;width:100%;height:30px;display:block}.corner{position:absolute;width:90px;pointer-events:none}.corner.tr{top:0;right:0}.hero .breathe-art{animation:breath 4s ease-in-out infinite;transform-box:fill-box}@keyframes breath{50%{transform:translate(120px,138px) scale(.8,.815)}}.ear-r{animation:twitch 7s infinite;transform-box:fill-box;transform-origin:50% 100%}@keyframes twitch{0%,90%,to{rotate:0deg}93%{rotate:-8deg}96%{rotate:4deg}}.eye{animation:blink 5s infinite;transform-box:fill-box}@keyframes blink{0%,94%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}.steam{animation:steam 3s ease-in-out infinite}.s2{animation-delay:1.3s}@keyframes steam{0%{opacity:0;transform:translateY(8px)}50%{opacity:.7}to{opacity:0;transform:translateY(-6px)}}.mote{animation:mote 6s ease-in-out infinite}.m1{animation-delay:1s}.m2{animation-delay:2.5s}.m3{animation-delay:4s}@keyframes mote{50%{transform:translate(8px,-14px);opacity:.3}}.welcome{padding-bottom:28px;margin-bottom:24px}.masthead{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px 0 10px}.wordmark{font-family:Fraunces Variable,serif;font-style:italic;font-weight:800;font-size:1.9rem;color:var(--pine);letter-spacing:-.01em}.torn{background:#fbf3da;margin:-26px 6px 0;position:relative;padding:12px 14px 10px;clip-path:polygon(0 6%,6% 0,14% 5%,24% 1%,36% 5%,50% 0,64% 5%,78% 1%,90% 5%,100% 0,100% 94%,92% 100%,80% 95%,66% 100%,52% 95%,38% 100%,24% 95%,10% 100%,0 95%);box-shadow:0 4px #0003}.how{margin:8px 10px;padding:12px 12px 12px 34px;background:#fbf3da;border:1.5px dashed var(--tob);border-radius:10px;font-family:Caveat;font-size:1.3rem;color:var(--tob)}.note{margin-top:12px;text-align:center}.kicker{font-family:Fraunces Variable,serif;font-style:italic;font-size:.95rem;color:var(--pine);border-bottom:1.5px solid var(--gold);padding:0 6px}.voice{font-size:1.5rem;min-height:3.2rem;margin:8px 0 6px;line-height:1.05}.dial{position:relative;width:min(280px,76vw);margin:6px auto}.dial svg{display:block;width:100%;filter:drop-shadow(0 6px 6px #0004)}.dial-prog{transition:stroke-dashoffset .3s linear}.dial-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.time{display:flex;flex-direction:column;align-items:center;margin-top:-14px;color:var(--paper)}.time strong{font-family:Fraunces Variable,serif;font-size:clamp(2.2rem,11vw,3.2rem);font-variant-numeric:tabular-nums;text-shadow:0 2px 0 #000a}.time span{font-family:Caveat;font-size:1.25rem;color:var(--gold)}.chips{display:flex;gap:10px;justify-content:center;margin:12px 0}.chips button{width:62px;height:62px;border-radius:50% 46% 52% 48%;border:2px solid var(--ink);background:var(--paper2);font-weight:700;font-size:1.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.chips small{font-size:.65rem;font-weight:400}.chips .on,.seg .on{background:var(--pine);color:var(--paper);box-shadow:0 0 0 2px var(--gold)}.actions{display:flex;flex-direction:column;gap:10px;align-items:center;margin:14px 0}.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(#245843,var(--pine2));color:#f7efdb;border:0;border-radius:14px 18px 14px 20px;padding:15px 34px;font-family:Fraunces Variable,serif;font-style:italic;font-size:1.2rem;font-weight:700;min-width:250px;outline:2px solid var(--gold);outline-offset:-5px;box-shadow:0 0 0 2px var(--ink),4px 6px #0005;transition:transform .12s}.cta:hover:not(:disabled){transform:translate(-1px,-1px)}.cta:active:not(:disabled){transform:translate(2px,3px)}.cta:disabled{opacity:.55;cursor:not-allowed}.ghost,.danger{background:#fbf3da88;border:2px solid var(--ink);border-radius:12px 14px 12px 16px;padding:10px 20px}.danger{border-color:var(--rust);color:var(--rust)}.confirm{display:flex;flex-direction:column;gap:6px;align-items:center;font-size:.9rem;text-align:center}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width:420px){.grid{grid-template-columns:repeat(3,1fr);gap:8px}}.card{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;text-align:center;background:#fbf3da;border:2px solid var(--ink);border-radius:6px 6px 16px;padding:6px 4px 10px;transition:transform .15s}.card:hover{transform:rotate(-1deg) translateY(-2px)}.card.on{background:#e3ecd0;box-shadow:0 0 0 3px var(--gold),3px 5px 0 var(--pine)}.chosen{position:absolute;top:2px;right:2px;font-family:Caveat;font-size:1rem;background:var(--pine);color:var(--paper);padding:0 8px;border-radius:99px}.portrait{width:100%;max-width:150px;overflow:visible}.portrait.big{max-width:200px}.card b{font-family:Fraunces Variable,serif;font-size:1rem;font-style:italic}.card em{font-size:.66rem;color:var(--pine);font-style:normal;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.card .hand{font-size:.92rem;line-height:1}.badge{font-family:Caveat;font-style:normal;font-size:.9rem;background:var(--pine);color:var(--paper);border-radius:99px;padding:0 9px;margin-top:4px}.namebox{display:flex;flex-direction:column;gap:4px;margin:8px auto 4px;max-width:300px;font-family:Caveat;font-size:1.25rem;color:var(--tob)}.namebox input,.yourcat input{border:2px solid var(--ink);background:#fbf3da;border-radius:10px;padding:10px 12px;font-size:1rem;width:100%}.cats .cta{display:flex;margin:6px auto}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.tiles div{background:#fbf3da;border:2px solid var(--ink);border-radius:6px 6px 18px;text-align:center;padding:8px 4px;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--gold)}.ico{width:28px;height:28px}.tiles strong{display:block;font-family:Fraunces Variable,serif;font-size:2.1rem;color:var(--pine);line-height:1}.tiles span{font-family:Caveat;font-size:1.15rem;color:var(--tob)}.week{margin:0;background:#fbf3da;border:2px solid var(--ink);border-radius:6px;padding:10px}.week svg{width:100%}.axis{font:600 11px DM Sans Variable;fill:var(--ink)}.rows{list-style:none;padding:0;margin:0}.rows li{display:flex;align-items:center;gap:10px;padding:6px 8px;margin-bottom:8px;background:#fbf3da;border:1.5px solid var(--ink);border-radius:6px 6px 14px}.rows .mini{width:46px;height:46px;flex:none;background:var(--paper2);border-radius:50%}.rows div{flex:1;display:flex;flex-direction:column}.rows b{font-family:Fraunces Variable,serif;font-size:1.1rem}.rows span{font-size:.85rem;color:var(--tob)}.empty{text-align:center;color:var(--tob)}.mini-big{width:120px}.paper-card{background:#fbf3da;border:2px solid var(--ink);border-radius:6px 6px 18px;padding:12px 14px;margin:12px 0;box-shadow:0 0 0 2px var(--paper),0 0 0 3px var(--gold)}.paper-card h2{font-family:Fraunces Variable,serif;font-style:italic;font-size:1.15rem;margin:0 0 4px;color:var(--pine)}.paper-card p{margin:2px 0 8px;font-size:.88rem;color:#5a4a3a}.paper-card.row{display:flex;justify-content:space-between;align-items:center;gap:14px}.yourcat{display:flex;gap:14px;align-items:center}.yourcat .portrait{width:110px;flex:none}.yourcat>div{flex:1;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.seg{display:flex;gap:8px}.seg button{flex:1;min-height:48px;border:2px solid var(--ink);background:var(--paper2);border-radius:10px;font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.seg small{font-weight:400;font-size:.65rem}.switch{width:56px;height:32px;flex:none;border-radius:99px;border:2px solid var(--ink);background:var(--paper2);position:relative;padding:0}.switch i{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--ink);transition:transform .2s}.switch.on{background:var(--pine)}.switch.on i{transform:translate(24px);background:var(--gold)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a1d15dd;display:flex;align-items:flex-start;justify-content:center;z-index:10;padding:16px;overflow-y:auto}.modal{position:relative;overflow:hidden;background:var(--paper);border:3px solid var(--ink);border-radius:8px;padding:22px 18px;max-width:420px;width:100%;margin:auto;text-align:center;box-shadow:0 0 0 3px var(--gold),0 0 0 6px var(--paper),0 0 0 7px var(--gold),0 20px 40px #000a;animation:pop .4s cubic-bezier(.2,1.4,.4,1)}@keyframes pop{0%{transform:scale(.88);opacity:0}}.keepsake{margin:6px 0;padding:10px;background:#fbf3da;border:2px solid var(--ink);border-radius:4px;transform:rotate(-1deg);box-shadow:3px 5px #0003}.keepsake .portrait{margin:0 auto;display:block}.keepsake figcaption b{font-family:Fraunces Variable,serif;font-size:1.3rem;color:var(--pine)}.keepsake figcaption span{display:block}.leaf{position:absolute;top:-30px;width:22px;animation:fall 3.4s ease-in infinite;pointer-events:none}@keyframes fall{to{transform:translateY(700px) rotate(300deg)}}@media (max-width:420px){.app{padding:0 6px}.page,.welcome{padding-left:10px;padding-right:10px}.voice{font-size:1.3rem;min-height:2.6rem}.cta{min-width:0;width:100%}.card .hand{font-size:.88rem}}main,.app{overflow-x:clip}.reduce-motion *,.reduce-motion *:before,.reduce-motion *:after{animation:none!important;transition:none!important}.reduce-motion .leaf{display:none}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.leaf{display:none}}@media (max-width:759px){.app{min-height:100dvh;background:var(--paper);background-image:radial-gradient(ellipse at 20% 10%,#fff6d8,transparent 60%),radial-gradient(ellipse at 90% 90%,#d9b878aa,transparent 65%)}.welcome{min-height:calc(100dvh - 20px);margin-bottom:0}}
