@font-face{font-family:JessHand;src:url('./handwritten.ttf') format('truetype');font-display:swap}
:root{--ink:#193e32;--sage:#476e53;--cream:#fbf5e9;--pink:#efb9c2;--line:#e3dfcf}*{box-sizing:border-box}body{margin:0;padding:0;background:#e8e7dc;color:var(--ink);font-family:system-ui,-apple-system,sans-serif;font-size:15px}main{max-width:480px;margin:auto;min-height:100dvh;background:var(--cream);box-shadow:0 0 60px #354b3218;padding-bottom:18px}main>h1{font:42px/1.1 JessHand,cursive;text-align:center;margin:0;padding:20px 45px 0;font-weight:400}main>p{font:18px JessHand,cursive;text-align:center;margin:0 0 10px}section{padding:0 16px 18px;margin:0;background:transparent;box-shadow:none;border-radius:0}.hidden{display:none!important}h2{font:32px/1.15 JessHand,cursive;margin:12px 0;text-align:center;font-weight:400}button,select,input{font:inherit}button{cursor:pointer;border:0;border-radius:18px;min-height:48px;padding:11px 14px;margin:0;color:var(--ink);background:#e2e7d4;box-shadow:inset 0 1px 0 #fff6;font:23px/1.15 JessHand,cursive}button:hover{filter:brightness(.97)}button:focus-visible,summary:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #cf7c91;outline-offset:3px}button:disabled{opacity:.4}button.secondary{background:linear-gradient(#e7ebdc,#dce3cf);color:var(--ink)}#start,#done,#again,#resume{background:linear-gradient(#567b5f,#3c634b);color:#fffdf5;border:1px solid #42614b;width:100%;font-size:27px;min-height:54px;box-shadow:0 3px 0 #264b3510}#start{margin:14px 0 8px}.hero{display:block;width:calc(100% + 32px);margin:0 -16px;height:auto;aspect-ratio:3/2;object-fit:cover}#setup .hero{margin-bottom:-18px}.welcome-card{position:relative;border-radius:27px 27px 0 0;background:var(--cream);padding:12px 1px 0}.welcome-card h2{margin:4px 0}.welcome-copy{max-width:310px;margin:4px auto 15px;line-height:1.35;text-align:center;color:#384c42}.heart{color:#cf7c8a}.choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:9px}.choice{background:#eeeede;border:1px solid #d8ddc9;border-radius:18px;padding:9px 10px 10px;min-width:0}.choice label{display:block;margin:0;font:21px JessHand,cursive}.choice svg{display:block;height:50px;width:65px;margin:0 auto 3px;filter:drop-shadow(0 2px 0 #d7cdb8)}select,input[type=time]{background:#fffcf5;border:1px solid var(--line);border-radius:12px;max-width:100%;min-width:0;min-height:42px;padding:7px 9px;font-size:14px;color:var(--ink)}.choice select{width:100%}label{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:6px 0;padding:6px 8px;border:1px solid var(--line);border-radius:13px;line-height:1.4;min-height:42px}label select,label input[type=time]{margin-left:auto}input[type=checkbox]{accent-color:var(--sage);width:19px;height:19px;flex:0 0 19px;margin:0}#roomOptions{padding:4px 0 10px}small,.muted{color:#647064;line-height:1.45}#saveTime{width:100%;font-size:21px}#resumePanel{padding:12px!important;border:1px solid #d7ddc6;background:#e4e8d5!important;border-radius:20px!important;margin:8px 0!important;text-align:center}#resumePanel strong{font:23px JessHand,cursive}#resumeDetails{margin:6px 0}#resume{font-size:23px}#discard{margin-top:6px;background:transparent;font-size:19px;text-decoration:underline}details{border:1px solid var(--line);border-radius:17px;margin-top:10px;padding:0 10px;background:#f7f2e7}summary{padding:12px 0;cursor:pointer;font:21px JessHand,cursive}details>p{font-size:13px}#pal-settings{background:transparent}#pal-settings summary{text-align:center}#session{display:flex;flex-direction:column;gap:10px}.progress-card{border-radius:20px;background:#fffdf6e8;border:1px solid #eee8d8;padding:12px 14px;margin:5px 0 0}.progress-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;font:18px JessHand,cursive}.progress-heading p{margin:0;white-space:nowrap}#routine-name{min-width:0}progress{display:block;width:100%;height:12px;margin:6px 0 0;border-radius:20px;overflow:hidden;accent-color:var(--sage);background:#e8e7db}progress::-webkit-progress-bar{background:#e8e7db;box-shadow:inset 0 1px 3px #0002;border-radius:20px}progress::-webkit-progress-value{background:linear-gradient(90deg,#69876a,#3e6b4e);border-radius:20px}progress::-moz-progress-bar{background:#476e53;border-radius:20px}.session-art{margin:0 -16px;width:calc(100% + 32px);position:relative}.session-art .hero{margin:0;width:100%;aspect-ratio:3/2}.task-card{margin-top:-25px;position:relative;border:1px solid #ede6d6;border-radius:26px;background:#fffaf0;padding:16px 15px;text-align:center;box-shadow:0 4px 14px #4b4f3510}.task-kicker{display:inline-block;padding:4px 16px;border-radius:15px;background:#f3c5cc;color:#974b5b;font-size:12px;text-transform:uppercase;letter-spacing:1px}#instruction{font:27px/1.25 JessHand,cursive;min-height:0;padding:14px 0 7px;white-space:pre-wrap;color:#193e32}.break-note{display:none;font:23px/1.25 JessHand,cursive;margin:0 0 10px;color:#54724e}.is-paused .break-note{display:block}.is-paused .task-kicker{background:#dce5d1;color:#476e53}.is-paused #instruction{font-size:21px;color:#647064}#timer{text-align:center;font-size:21px;font-variant-numeric:tabular-nums;margin:0}#done{margin:2px 0}.controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.controls button{font-size:22px;padding:12px 4px;min-width:0}.extras{display:grid;grid-template-columns:1fr 1.3fr;gap:8px}.extras button{font-size:19px;min-height:43px}.encouragement{display:flex;align-items:center;overflow:hidden;background:linear-gradient(120deg,#f4eedc,#faeee3);border-radius:19px;min-height:84px;padding-left:13px}.encouragement p{font:22px/1.15 JessHand,cursive;margin:0;flex:1}.encouragement small{display:block;font:17px/1.2 JessHand,cursive;margin-top:5px}.encouragement img{width:105px;height:96px;object-fit:cover;mix-blend-mode:multiply}#motivation:empty{display:none}#motivation{margin:0;font:21px JessHand,cursive;text-align:center}.voice-guide{margin:0;padding:0 12px}.voice-guide summary{font-size:20px}.voice-guide p{margin:0 0 12px}.voice-state{font-size:12px;line-height:1.4;text-align:center;color:#5a6b5e;margin:0;padding:6px 2px}#pal-tech{margin:0}#washingPanel{border:1px solid #d2dbc7;border-radius:18px!important;background:#eaf0df!important;margin:0!important}#washingPanel p{display:flex;flex-wrap:wrap;gap:5px}#washingPanel strong{font:24px JessHand,cursive}#result .hero{margin-bottom:-15px}.result-card{position:relative;padding:16px 15px;background:var(--cream);border-radius:26px;text-align:center}#result h2{font-size:42px;display:inline-block;margin:0;padding:0 17px;background:linear-gradient(transparent 48%,#f1b6c3 48%,#f1b6c3 85%,transparent 85%)}#summary{line-height:1.6}#afterWash button{margin:4px}#resultWashing:empty{display:none}.brand-footer{text-align:center;font:16px JessHand,cursive;margin:15px 0 0;color:#73806a}@media(max-width:360px){body{font-size:14px}main>h1{font-size:37px}section{padding-left:12px;padding-right:12px}.hero{width:calc(100% + 24px);margin-left:-12px;margin-right:-12px}.session-art{width:calc(100% + 24px);margin-left:-12px;margin-right:-12px}.controls button{font-size:19px}.progress-heading{font-size:16px}#instruction{font-size:25px}label{padding:5px;gap:6px}h2{font-size:29px}.encouragement img{width:88px}}@media(prefers-reduced-motion:no-preference){button{transition:filter .15s,transform .15s}button:active{transform:translateY(1px)}}
/* Keep the main controls together and show the entire character artwork. */
.session-art .hero{height:auto;aspect-ratio:auto}
main:has(#session:not(.hidden))>h1{font-size:35px;padding-top:12px;padding-bottom:12px}
main:has(#session:not(.hidden))>p:not(.brand-footer){display:none}
#setup label{font-size:13px;min-height:36px;margin:4px 0;padding:4px 7px}
#setup label select,#setup label input[type=time]{min-height:34px;font-size:13px;padding:5px 8px}
#setup .choice label{font-size:20px;padding:0;border:0;margin:0}
#setup .choice select{margin-top:4px}
#setup #saveTime{min-height:38px;font-size:19px}
#setup .welcome-card>p.muted{font-size:12px;line-height:1.3;margin:8px 0}
