:root{--ink:#36372d;--paper:#eeeade;--seal:#9a4739;--green:#657343;--green-hover:#536139}
:root{font-family:'Yu Mincho','Hiragino Mincho ProN','Noto Serif JP',serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100svh;overflow-x:hidden;position:relative}.paper{position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.35' filter='url(%23n)'/%3E%3C/svg%3E");mix-blend-mode:multiply}.mast{position:absolute;left:4.2vw;top:42px;z-index:2;display:flex;align-items:center;flex-direction:column;gap:25px}h1,.brand{writing-mode:vertical-rl;font-size:46px;font-weight:500;letter-spacing:.3em;margin:0}h1 a,.brand a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px}
html[lang=en] h1{letter-spacing:.1em}main.notfound :is(h1,h2){writing-mode:horizontal-tb;font-size:1.125rem;font-weight:500;letter-spacing:.1em;margin:0}.roman{writing-mode:vertical-rl;font-family:Georgia,serif;font-size:12px;letter-spacing:.25em;color:var(--t-67685d)}.seal{font-size:17px;color:var(--seal);border:1px solid var(--seal);padding:3px;line-height:1.1}main{min-height:100svh;display:flex;align-items:center;flex-direction:column;padding:28px 20px 75px}.scene{width:min(calc(100svh - 400px),70vw,780px);aspect-ratio:1;position:relative;flex-shrink:0}canvas{width:100%;height:100%;touch-action:none;display:block;border-radius:50%;cursor:grab}canvas:active{cursor:grabbing}canvas:focus-visible{outline:2px solid var(--t-697747);outline-offset:-30px}.aside{position:absolute;right:4.2vw;top:15%;writing-mode:vertical-rl;display:flex;gap:26px;align-items:flex-start}.eyebrow{font-size:.8125rem;letter-spacing:.4em;color:var(--t-686b58)}.aside p{font-size:22px;letter-spacing:.2em;line-height:2.1;margin:0}.aside-line{height:50px;border-left:1px solid var(--l-a7aa97)}.small{font-size:.875rem;line-height:2.1;letter-spacing:.15em;color:var(--t-5f6255)}.guidance{text-align:center;margin-top:-5px;z-index:1;max-width:100%;overflow-wrap:anywhere}.guidance p{font-size:1rem;letter-spacing:.21em;margin:4px 0 12px}.guidance>span{font-family:system-ui,sans-serif;font-size:.75rem;color:var(--t-5f6255)}.controls{display:flex;align-items:center;gap:14px;margin-top:26px;border:1px solid var(--l-c8c8b9);border-radius:40px;padding:5px 14px;background:var(--b-f4f1e88c);z-index:1}button{border:0;background:transparent;color:var(--t-474c37);padding:10px 12px;min-height:44px;font:.875rem 'Yu Mincho','Hiragino Mincho ProN',serif;letter-spacing:.08em;cursor:pointer;white-space:nowrap;border-radius:25px}@media(hover:hover){button:hover{background:var(--b-dce0c8)}}button[aria-pressed=true]{background:var(--b-dce2c9);color:var(--t-34451b)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--t-52682f);outline-offset:3px}.status{display:flex;align-items:center;gap:14px;margin-top:20px;font-size:.8125rem;letter-spacing:.1em;color:var(--t-5d6249)}.meter{width:65px;height:2px;background:var(--b-c6ccb3);position:relative}#fill{display:block;height:100%;width:0;background:#738146}footer{position:absolute;bottom:25px;left:4.2vw;right:4.2vw;display:flex;justify-content:space-between;font-size:.8125rem;letter-spacing:.23em;color:var(--t-63645a);pointer-events:none}footer a{color:inherit;pointer-events:auto;text-underline-offset:4px}@media(min-width:1450px){main{padding-top:45px}}@media(max-width:800px){.mast{left:24px;top:30px;gap:19px}h1,.brand{font-size:35px}.roman{font-size:12px;letter-spacing:.12em}.aside{right:20px;top:45px}.aside p{font-size:17px}.eyebrow,.small,.aside-line{display:none}.scene{width:min(calc(100vw - 32px),640px);margin-top:110px}main{padding:0 10px 85px}.guidance{margin-top:0}.guidance p{font-size:.875rem;letter-spacing:.1em}.controls{gap:4px;margin-top:23px;padding:3px 8px}button{padding:9px 10px;font-size:.8125rem}footer{position:static;margin:0 24px 20px}.roman{max-height:205px}.status{margin-top:17px}}@media(max-height:750px) and (min-width:801px){.scene{width:calc(100svh - 330px)}main{padding-top:0}.controls{margin-top:17px}footer{bottom:14px}.status{margin-top:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
@media(max-height:500px) and (min-width:501px){.scene{width:min(84svh,60vw)}}
@media(max-width:800px){.roman{display:none}.mast{gap:15px}.seal{font-size:14px}canvas:focus-visible{outline-offset:-15px}}
@media(max-width:370px){.controls{gap:2px;padding:3px 5px}button{font-size:.75rem;padding:8px 7px}.guidance p{letter-spacing:.04em}}
.controls{flex-wrap:wrap;justify-content:center;max-width:min(96vw,960px)}
.pick{display:flex;align-items:center;gap:5px;font-size:.75rem;letter-spacing:.1em;color:var(--t-5d6249);padding-left:6px}
.pick select{font:.875rem 'Yu Mincho','Hiragino Mincho ProN',serif;color:var(--t-474c37);background:transparent;border:0;border-radius:25px;padding:10px 6px;min-height:44px;letter-spacing:.08em;cursor:pointer}
@media(hover:hover){.pick select:hover{background:var(--b-dce0c8)}}
.pick select:focus-visible{outline:2px solid var(--t-52682f);outline-offset:3px}
@media(max-width:800px){.pick{padding-left:2px}.pick select{font-size:.8125rem;padding:9px 4px}}
[hidden]{display:none!important}
:where(p,li,summary,label,dd){text-wrap:pretty}
:where(:lang(ja)) :where(p,li,summary,label,dd){word-break:auto-phrase}
:where(:lang(ja)) :where(button){word-break:auto-phrase}
.controls.sub{margin-top:10px}
.settings{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 10px;margin-top:8px}.settings .pick select,.settings button{font-size:.8125rem;padding:8px 8px}
#tea{position:absolute;top:0;left:0;height:108%;transform-origin:50% calc(50% / 1.08);transition:transform .18s ease-out,opacity .18s ease-out;border-radius:0}#tea.turning{transition:none}
.scene #haiken{position:absolute;inset:0}.scene.haiken #tea{opacity:0}
#closet-open{white-space:normal;max-width:min(100%,340px);line-height:1.4}
.settings #closet-open{display:inline-flex;flex-direction:column;align-items:center;gap:2px;padding:8px 22px;border:1px solid var(--l-c8c8b9);border-radius:18px}
#closet-open .label{font-size:.875rem;color:var(--ink);letter-spacing:.1em}
#settings-sum{font-size:.75rem;color:var(--t-4d5240)}
#viewer,#haiken{border-radius:0}
#viewer{display:block;width:100%;height:auto;aspect-ratio:1;background:radial-gradient(circle,var(--b-faf7ee) 0,var(--b-ece7d8) 70%,transparent 71%)}
#viewer:focus-visible,#haiken:focus-visible{outline-offset:2px}
.viewer-wrap{position:relative;width:min(100%,260px);margin:8px auto 0}
.viewer-wrap.big{width:min(100%,360px)}
.zoom{display:flex;justify-content:center;gap:16px;margin:4px 0 0}
.zoom button{min-height:44px;width:44px;padding:0;font-size:15px;line-height:1;border-radius:50%;background:var(--b-faf7eecc);border:1px solid var(--l-c8c8b9)}
.zoom button:disabled{opacity:.35;cursor:default}
.c-name{text-align:center;font-size:1.0625rem;letter-spacing:.15em;margin:6px 0 0}
#c-hint{text-align:center;margin-top:2px}
#bowl-strip,#shelf-strip,#later-strip,#kashi-strip,#sweet-shelf-strip{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;margin:4px -6px 0}
.bowl-item{flex:0 0 84px;scroll-snap-align:center;display:grid;justify-items:center;gap:2px;padding:6px 4px;border-color:transparent!important;white-space:normal;font-size:.75rem;line-height:1.3;letter-spacing:.04em}
.bowl-item canvas{width:68px;height:68px;touch-action:auto;pointer-events:none;cursor:inherit}
#custom-controls{margin:6px 0 0}
#custom-controls>summary{font-size:.8125rem;letter-spacing:.1em;color:var(--t-5d6249);cursor:pointer;min-height:44px;display:flex;align-items:center}
.range{display:grid;grid-template-columns:5.5em 1fr;align-items:center;gap:8px;font-size:.875rem;margin:4px 0}.range input{width:100%;accent-color:var(--t-6b7d3a)}.range select{font:.875rem inherit;padding:6px;border:1px solid var(--l-7a7c68);border-radius:8px;background:var(--b-fbfaf5);color:var(--ink)}
#timer{font-variant-numeric:tabular-nums;color:var(--t-474c37)}
#steps{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;font:12px system-ui,sans-serif;color:var(--t-5d6249)}
#steps button{border:1px solid var(--l-c8c8b9)}
#steps button:disabled{opacity:.4}
#steps{flex-wrap:wrap}#steps::after{content:"";flex-basis:100%;order:1}#step-next{order:2}#steps button.line{order:2;font-family:inherit;font-size:.9375rem;line-height:1.4;letter-spacing:.06em;padding:10px 18px;background:#52682f;border-color:var(--l-52682f);color:#fbf8ef}
#drink-offer,#latte-again{display:block;margin:10px auto 0;min-height:44px;padding:10px 22px;border:0;border-radius:999px;background:var(--green);color:#fbfaf3;font:inherit;font-size:.9375rem;letter-spacing:.06em;cursor:pointer}
@media(hover:hover){#drink-offer:hover,#latte-again:hover{background:var(--green-hover)}}
#drink-offer.quiet,#latte-again.quiet{background:transparent;color:var(--green-hover);border:1px solid currentColor}
@media(hover:hover){:is(#drink-offer,#latte-again).quiet:hover{background:transparent;text-decoration:underline}}
#again-tea{display:block;margin:10px auto 0;min-height:44px;padding:10px 22px;border:1px solid var(--green);border-radius:999px;background:transparent;color:var(--green-hover);font:inherit;font-size:.9375rem;letter-spacing:.06em;cursor:pointer}
@media(hover:hover){#again-tea:hover{background:rgba(91,106,46,.08)}}
.step-quit{display:block;margin:20px auto 0;min-height:44px;padding:10px 12px;border:0;background:none;font:.8125rem system-ui,sans-serif;color:var(--t-5d6249);text-decoration:underline;text-underline-offset:3px}.step-quit.arm{color:var(--t-7a3b2e)}
#step-sound,#step-auto,#add-water,#sound-offer,#tap-offer,#pair-after,#gift-back{display:block;margin:8px auto 0;border:0;background:none;font:12px system-ui,sans-serif;color:var(--t-5d6249);text-decoration:underline;text-underline-offset:3px}
.say{position:absolute;left:0;right:0;bottom:7%;margin:auto;width:fit-content;max-width:86%;z-index:2;pointer-events:none;padding:.55em 1.1em;border:1px solid var(--l-cfcbb8);border-radius:14px;background:var(--b-fbf8efee);box-shadow:0 4px 14px #2d2a1a22;font-size:17px;line-height:1.5;letter-spacing:.08em;text-align:center}
.say.host{top:7%;bottom:auto;background:var(--b-f1ede0ee);font-size:15px;color:var(--t-4a4b3e)}
.drinking .status,.drinking .event-row,.drinking .controls,.drinking #more-panel,.drinking .settings,.drinking .reading,.drinking .real,.drinking #coach{display:none}
#skip{display:block;margin:10px auto 0;border:1px solid var(--l-697747);color:var(--t-3f4f22)}
#coach{font:.8125rem/1.6 system-ui,sans-serif;color:var(--t-52682f);margin:8px 0 0;min-height:1.6em}
#recipe,#about,.real{max-width:min(92vw,560px);margin:8px auto 0;text-align:left;font-size:.8125rem;line-height:1.9;color:var(--t-474c37)}
#recipe summary,#about summary,.real summary{cursor:pointer;text-align:center;letter-spacing:.1em;color:var(--t-5d6249)}
#recipe ol,#about ul,.real ol{margin:8px 0 0;padding-left:1.6em}
.real{margin-top:24px}
#about p{margin:8px 0 0;text-wrap:pretty}
dialog{border:1px solid var(--l-c8c8b9);border-radius:18px;background:var(--b-f4f1e8);color:var(--ink);padding:24px 26px;width:min(92vw,420px)}
dialog::backdrop{background:#2a2c2073}
.kicker{display:block;font-size:.8125rem;letter-spacing:.3em;color:var(--t-686b58);margin:0;font-weight:inherit}
dialog .row{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;margin-top:16px}
#closet[open]{display:flex;flex-direction:column;overflow:hidden}
#closet{margin-block-start:4vh}
#closet[open]{height:min(760px,88vh)}
#closet>form{display:flex;flex-direction:column;flex:1;min-height:0}
#closet .kicker,#closet .tabs,#closet .row{flex:0 0 auto}
#closet .row{margin:0 -26px -24px;padding:12px 26px;background:var(--b-f4f1e8);border-top:1px solid var(--l-e2ded0);border-radius:0 0 18px 18px}
#closet [role=tabpanel]{flex:1;min-height:0;overflow-y:auto;margin-inline:-6px;padding-inline:6px;overscroll-behavior:contain;scrollbar-width:thin;
  background:
    linear-gradient(var(--b-f4f1e8) 30%,var(--b-2442412320)) top/100% 22px local no-repeat,
    linear-gradient(var(--b-2442412320),var(--b-f4f1e8) 70%) bottom/100% 22px local no-repeat,
    radial-gradient(farthest-side at 50% 0,rgba(54,55,45,.3),rgba(54,55,45,0)) top/100% 14px no-repeat,
    radial-gradient(farthest-side at 50% 100%,rgba(54,55,45,.3),rgba(54,55,45,0)) bottom/100% 14px no-repeat}
dialog:not(#closet){scrollbar-width:thin;
  background:
    linear-gradient(var(--b-f4f1e8) 30%,var(--b-2442412320)) top/100% 22px local no-repeat,
    linear-gradient(var(--b-2442412320),var(--b-f4f1e8) 70%) bottom/100% 22px local no-repeat,
    radial-gradient(farthest-side at 50% 0,rgba(54,55,45,.3),rgba(54,55,45,0)) top/100% 14px no-repeat,
    radial-gradient(farthest-side at 50% 100%,rgba(54,55,45,.3),rgba(54,55,45,0)) bottom/100% 14px no-repeat,
    var(--b-f4f1e8)}
.check{display:flex;align-items:center;gap:8px;font-size:.875rem;margin-top:10px;min-height:44px}
.check input{width:20px;height:20px;accent-color:var(--t-6b7d3a)}
dialog button{border:1px solid var(--l-c8c8b9)}
#r-theme{margin:10px 0 0;font-size:1rem;letter-spacing:.1em}
.score{font-size:54px;margin:2px 0;letter-spacing:.04em}.score small{font-size:1rem;margin-left:4px}
#r-parts{list-style:none;padding:0;margin:6px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:4px 16px;font-size:.875rem}
.note{font:.875rem/1.7 system-ui,sans-serif;color:var(--t-5d6249);margin:8px 0;text-wrap:pretty}
.field{display:grid;gap:4px;margin:10px 0;font-size:.875rem}
select,input[type=file]{font-size:1rem}
.field input,.field select,.field textarea,#g-url{font:1rem system-ui,sans-serif;padding:9px 10px;border:1px solid var(--l-7a7c68);border-radius:10px;background:var(--b-fbfaf5);color:var(--ink);width:100%}
@media(max-width:800px){html[lang=en] .aside p{font-size:13px;letter-spacing:.06em;line-height:1.8}}
.event{font-size:.8125rem;letter-spacing:.1em;color:var(--seal);text-align:center}
.bowl-item.locked{color:var(--t-686b58)}
.bowl-item[aria-pressed=true]{box-shadow:inset 0 0 0 1.5px var(--green)}
@media(hover:hover){.bowl-item:hover:not([aria-pressed=true]){background:var(--b-e9e6da)}}.bowl-item.locked canvas{opacity:.35;filter:grayscale(.6)}
.bowl-item small{font-size:.625rem;color:var(--t-5f6252);letter-spacing:0}
.bowl-item{text-wrap:balance}:lang(ja) .bowl-item{word-break:auto-phrase}.bowl-item.locked small{color:var(--seal)}
#c-lock{text-align:center;color:var(--seal);margin:2px 0 0}.c-days{white-space:pre-line;margin:10px 0 0;padding-top:8px;border-top:1px solid var(--l-dcdccd)}
.unlock{font-size:.875rem;color:var(--seal);margin:6px 0 0;letter-spacing:.06em;white-space:pre-line}
#save:disabled{color:var(--seal);cursor:default;background:transparent}
#ritual:disabled{opacity:.42;color:var(--t-76796b);background:transparent;cursor:not-allowed}
.action-status{flex-basis:100%;font:12px/1.5 system-ui,sans-serif;color:var(--seal);text-align:center;text-wrap:pretty}
.letter-title{font-size:1.25rem;letter-spacing:.1em;margin:8px 0}.letter-msg{font-size:.9375rem;line-height:1.9;white-space:pre-wrap;margin:0}
.controls button:not(#more)::before{content:"";display:inline-block;width:1.15em;height:1.15em;margin-right:.4em;vertical-align:-.22em;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}#save{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 8h3l2-2.5h6L17 8h3v11H4z'/%3E%3Ccircle cx='12' cy='13' r='3.5'/%3E%3C/svg%3E")}#ritual{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3h10M7 21h10M8 3v2l4 7-4 7v2M16 3v2l-4 7 4 7v2'/%3E%3C/svg%3E")}#drink{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 10h18c0 5-3.5 9-9 9s-9-4-9-9z'/%3E%3Cpath d='M9 19v2h6v-2'/%3E%3C/svg%3E")}#gift{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='9' width='16' height='11'/%3E%3Cpath d='M3 9h18M12 9v11M12 9C10 5 6 5 6 7.5S10 9 12 9s6 0 6-1.5S14 5 12 9'/%3E%3C/svg%3E")}#coach-toggle{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8'/%3E%3Ccircle cx='12' cy='12' r='3.5'/%3E%3C/svg%3E")}#sound{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 9.5h3.5L12 6v12l-4.5-3.5H4z'/%3E%3Cpath d='M15.5 9a4 4 0 0 1 0 6M18 6.5a7.5 7.5 0 0 1 0 11'/%3E%3C/svg%3E")}@media(max-width:420px){.controls button:not(#more)::before{width:1em;margin-right:.2em}.controls button{padding-inline:8px}}
#more{min-width:44px}
.shop-link{display:inline-block;font-size:.8125rem;color:var(--seal);letter-spacing:.08em;text-underline-offset:3px;padding:8px 4px;min-height:44px;box-sizing:border-box;line-height:28px}
.c-link{text-align:center;margin:2px 0 0}
@media(max-width:420px){html[lang=en] .controls.later button:not(#more)::before{display:none}html[lang=en] .controls.later button{padding-inline:6px}}
@media(max-width:340px){.controls.later button:not(#more)::before{display:none}}
#band{position:absolute;top:-3px;height:8px;border-inline:1px solid var(--seal);background:var(--seal)22}
#settings-sum::after{content:"";position:absolute;width:.42em;height:.42em;border-right:1px solid;border-bottom:1px solid;transform:rotate(-45deg);margin:.5em 0 0 .3em}
#auto{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M10 8.5v7l5.5-3.5z'/%3E%3C/svg%3E")}
.appear{animation:appear .18s ease-out both}@keyframes appear{from{opacity:0;transform:translateY(8px)}}
@media(prefers-reduced-motion:reduce){.appear{animation:none}#tea{transition:none}}
.controls.later button[data-cap]::after{content:attr(data-cap);display:block;font:10px/1.35 system-ui,sans-serif;letter-spacing:.02em;color:var(--t-5f6252);margin-top:1px}
.controls.later button[aria-pressed=true]::after{display:none}
.controls.later{border-radius:30px;align-items:stretch}
button[aria-disabled=true]{opacity:.5}@media(hover:hover){button[aria-disabled=true]:hover{background:transparent}}
#more::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-left:.5em;vertical-align:.2em;transition:transform .15s}
#more[aria-expanded=true]::after{transform:rotate(-135deg);vertical-align:-.05em}
#more-panel{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:0 6px;border-radius:18px;padding:6px 10px;width:min(96vw,560px)}
#more-panel>*{justify-self:start}
#more-panel>button{max-width:100%;white-space:normal;text-align:left}#more-panel .pick,#more-panel .action-status{grid-column:1/-1}
#more-panel .pick{padding-left:12px;border-bottom:1px solid var(--l-dcdccd);justify-self:stretch;margin-bottom:2px}#more-panel .pick select{flex:1;min-width:0}
#more-panel .style-row #auto{flex:none;white-space:nowrap}
body[data-kind=latte] :is(.style-row>label,#style,#coach-toggle,#coach){display:none}
#rest[aria-pressed=true]::after,#auto[aria-pressed=true]::after,#step-auto[aria-pressed=true]::after,#sound[aria-pressed=true]::after,#coach-toggle[aria-pressed=true]::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#6b7d3a;margin-left:.5em;vertical-align:.15em}
.event-row{text-align:center;margin:20px 0 -12px;padding:0 12px}
.event{display:inline-block;white-space:pre-line;text-wrap:pretty;line-height:1.7;color:var(--t-8e5b4d)}
.reading{display:grid;gap:2px;margin-top:22px}.reading .define{margin:0 0 10px;line-height:1.7;min-width:0;overflow-wrap:anywhere}
footer{align-items:center}
@media(max-width:800px){footer{flex-wrap:wrap;row-gap:6px;align-items:baseline}
footer{justify-content:center;column-gap:18px}footer>[data-i18n=footer_l]{flex:1 0 100%;text-align:center}}
dialog button.primary{background:var(--green);border-color:var(--green);color:#fbfaf2}@media(hover:hover){dialog button.primary:hover{background:var(--green-hover)}}
dialog button[value=close]{border-color:transparent;color:var(--t-5d6249)}
dialog button.unshelf{border-color:transparent;color:var(--t-5d6249);font-size:.8125rem}
#r-tip{color:var(--t-474c37)}
.share{gap:14px;font-size:.75rem;letter-spacing:.12em;color:var(--t-63645a)}.share a{color:inherit;text-underline-offset:4px}
.copybox{position:relative;margin:10px 0}.copybox #g-url{padding-right:48px;text-overflow:ellipsis}
#g-copy{position:absolute;right:2px;top:50%;translate:0 -50%;width:44px;min-height:44px;padding:0;border:0;border-radius:8px;display:grid;place-items:center;color:var(--green-hover)}@media(hover:hover){#g-copy:hover{background:var(--b-e9e6da)}}
#g-copy svg{width:18px;height:18px}#g-copy .ok,#g-copy.done .cp{display:none}#g-copy.done .ok{display:inline}
.tip{position:absolute;right:0;bottom:calc(100% + 4px);background:var(--ink);color:#fbfaf2;font:.75rem system-ui,sans-serif;padding:4px 9px;border-radius:6px;white-space:nowrap;pointer-events:none}.tip:empty{display:none}
#g-copy.stale::after{content:"";position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--seal)}
.nudge{animation:nudge 2.4s ease-in-out infinite}@keyframes nudge{50%{color:var(--t-52682f)}}
#subhint.nudge{font-weight:600}#step-next.nudge{animation-name:nudge-ring}@keyframes nudge-ring{0%,100%{box-shadow:0 0 0 0 #52682f00}50%{box-shadow:0 0 0 7px #52682f40}}
@media(prefers-reduced-motion:reduce){.nudge{animation:none}#subhint.nudge{color:var(--t-52682f)}#step-next.nudge{box-shadow:0 0 0 3px #52682f40}}
#instructions,#subhint,.letter-title,#r-theme{text-wrap:balance}#instructions{line-height:1.9}
#instructions,#subhint,.letter-title,#r-theme,.event{word-break:auto-phrase}
@media(max-width:800px){.say.host{top:18%}}
.drained .status>:not(#kind-tag){display:none}
.drained #gift[aria-disabled=true]{display:none}
@supports selector(:has(a)){#tea:focus-visible{outline:none}.scene:has(#tea:focus-visible)::after{content:"";position:absolute;inset:8%;border-radius:50%;outline:2px solid var(--t-697747);outline-offset:2px;pointer-events:none}}
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,#g-url:focus-visible{outline:2px solid var(--t-52682f);outline-offset:1px}
.message-presets{display:flex;flex-wrap:wrap;gap:5px;margin:-4px 0 10px}.message-presets button{padding:6px 10px;font-size:.875rem;background:var(--b-e8e6d9)}
.real-help{border-top:1px solid var(--l-d6d5c7);margin-top:12px;padding-top:4px}.real-help .real-head{margin:10px 0 2px;color:var(--t-5d6249)}.real-help dl,.real .faq{margin:0;max-width:34em;line-height:1.7}.real-help dt,.real .faq dt{font-weight:600;margin-top:6px}.real-help dd,.real .faq dd{margin:0}.real>.real-head{margin:10px 0 2px;color:var(--t-5d6249)}.real-help .note{margin:4px 0 10px;max-width:34em;line-height:1.7}
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin:18px 0}.week span{display:grid;place-items:center;aspect-ratio:1;border:1px solid var(--l-c8c8b9);border-radius:50%;font:.75rem system-ui,sans-serif;color:var(--t-5f6252)}.week span.done{background:#71804b;color:#fff;border-color:var(--l-71804b)}
#setup{width:min(94vw,540px)}.setup-preview{display:flex;align-items:center;gap:18px;margin:12px 0}.setup-preview canvas{width:123px;height:123px;flex:0 0 123px;border-radius:0;touch-action:auto;cursor:default}.setup-preview a{color:var(--t-52682f);text-underline-offset:4px}#setup textarea{resize:vertical}
@media(max-width:520px){.setup-preview{align-items:flex-start;flex-direction:column}}
#journal-open{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='5' width='16' height='15' rx='2'/%3E%3Cpath d='M4 10h16M9 3v4M15 3v4'/%3E%3Ccircle cx='12' cy='15' r='1.3'/%3E%3C/svg%3E")}
.rest-row{text-align:center;margin:12px 0 -8px}#rest,.rest-row button{border:1px solid var(--l-c8c8b9);padding:6px 16px;min-height:44px;font-size:.8125rem;color:var(--t-52682f);white-space:normal;max-width:100%}
.drinking .rest-row{display:none}
.offering #drink,.finished #drink{display:none}
body.first .scene{margin-top:auto}body.first .status{margin-bottom:auto}
@media(max-width:800px){body.first main{padding-top:110px}}
.scene:has(#kashi:not([hidden])) #tea{transform:translateY(-18%) scale(.7);transition-duration:.6s}
#kashi{position:absolute;left:50%;translate:-50% 0;bottom:2%;width:38%;aspect-ratio:1;min-height:0;padding:0;border:0;background:none;border-radius:12px;z-index:2}@media(hover:hover){#kashi:hover{background:none}}
#kashi canvas{border-radius:0;cursor:pointer;touch-action:manipulation}
#kashi{outline:2px solid var(--t-738146);outline-offset:3px}
#kashi:focus-visible{outline-width:3px}
@media(prefers-reduced-motion:no-preference){#kashi:not([hidden]){animation:kashi-take .6s ease-out}@keyframes kashi-take{from{left:14%;scale:.6;opacity:0}}}
#l-bowl{display:block;width:112px;height:112px;margin:4px auto -2px;border-radius:0;touch-action:auto;cursor:default}
.letter-set{display:flex;align-items:center;justify-content:center;gap:8px}
.visiting .rest-row{display:none}
#visit-kashi:not([hidden]){display:block;width:88px;height:88px;margin:0 auto 2px;touch-action:auto;cursor:default}
#l-kashi{display:block;width:76px;height:76px;margin:4px 0 -2px;border-radius:0;touch-action:auto;cursor:default}
.j-head{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.j-head p{margin:0;font-size:1rem;letter-spacing:.12em}.j-head button{min-width:44px;border:0;font-size:22px;line-height:1;color:var(--t-52682f)}.j-head button:disabled{opacity:.3;cursor:default;background:none}
.j-week,.j-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.j-week{font:.75rem system-ui,sans-serif;color:var(--t-5f6252);margin-top:10px}
.j-grid{list-style:none;padding:0;margin:4px 0 0}
.j-grid li{aspect-ratio:1;display:grid;place-content:center;border-radius:50%;font:.75rem/1.15 system-ui,sans-serif;color:var(--t-5f6252);position:relative}
.j-grid .brought{position:absolute;top:0;right:1px;font:.625rem/1 system-ui,sans-serif;font-style:normal;color:var(--seal)}
rt{font-size:max(.625rem,.55em);letter-spacing:0;font-family:system-ui,sans-serif}
.j-grid li b{display:block;font-size:.75rem}
.j-grid li.today{box-shadow:inset 0 0 0 1px #697747}
.j-grid li.light{color:var(--ink)}.j-grid li.dark{color:#fbfaf2}
button.sekki{display:block;margin:0 auto;min-height:44px;padding:10px 8px;border-radius:0;background:none;text-align:center;white-space:normal;word-break:auto-phrase;font:inherit;font-size:.8125rem;letter-spacing:.1em;color:var(--t-5d604f);text-decoration:underline dotted var(--t-5d604f80);text-underline-offset:4px}
.sekki-note{white-space:pre-line;position:fixed;inset:72px 16px auto 16px;width:auto;max-width:22rem;margin:0 auto;padding:12px 16px;border:1px solid var(--l-c8c8b9);border-radius:12px;background:var(--b-f4f1e8);color:var(--ink);font-size:.9375rem;line-height:1.7;box-shadow:0 6px 20px rgba(60,64,48,.12)}
.event-row:not(:has(>:not([hidden]))){display:none}
.event-row:not([hidden]):has(>:not([hidden]))+.journey{margin-top:28px}
.journey{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:4px 10px;width:min(92vw,420px);margin:4px auto 8px;padding:9px 12px;border-block:1px solid var(--l-d3cfbf);font:0.8125rem/1.5 system-ui,sans-serif;color:var(--t-4f5940);text-align:center}
.journey span:nth-child(4){flex-basis:100%;color:var(--t-5f6252)}
.journey a{font-size:inherit}
.journey:not(.done) a{color:var(--t-5d6249)}
.j-trio{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;max-width:300px;margin-inline:auto}.j-trio-head{flex-basis:100%;text-align:center}
.j-trio span:not(.j-trio-head){display:grid;place-items:center;width:40px;height:40px;border:1px dashed #9a9c88;border-radius:50%;font-size:.75rem;color:var(--t-5f6252)}
.j-trio span.on{border:1px solid var(--seal);background:var(--seal);color:#fff;font-weight:600}
.teabako-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 8px;margin-top:12px}
.teabako-actions button,.teabako-actions .button{padding:7px 10px;font-size:.8125rem}
#teabako-status{flex-basis:100%;min-height:1.5em;font:.75rem/1.5 system-ui,sans-serif;color:var(--t-5f6252)}
.cloth{position:absolute;inset:0;width:100%;height:100%;border-radius:0;touch-action:auto;cursor:default;pointer-events:none;z-index:0}
.viewer-wrap>#viewer,.scene>#haiken{position:relative;z-index:1}
.viewer-wrap{isolation:isolate}#viewer{background:none}
.guidance>span,.status,.note,.tip,#steps,#step-sound,#step-auto,#add-water,#kashi-other,#kashi-way,#sound-offer,#tap-offer,#pair-after,#gift-back,#r-school-change,.action-status{font-size:.875rem}
.bowl-item small,.controls.later button[data-cap]::after{font-size:.75rem}
@media(max-width:800px){#instructions{font-size:1rem;letter-spacing:.06em;line-height:1.9}}
.settings .pick select,.settings button,.zoom button,#g-copy,.message-presets button,.rest-row button,#result-open,.teabako-actions button,.teabako-actions .button{min-height:44px}
.controls.later button{padding-inline:6px}
html[lang=en] .controls.later button{padding-inline:4px}
@media(max-width:420px){html[lang=en] .controls.later button[data-cap]::after{font-size:.6875rem}}
.drinking footer>:not(#chaen){display:none}
.drinking footer{justify-content:center}
.first footer>:not(#chaen,.footer-run,#privacy){display:none}
.first footer{justify-content:center}
.drinking main{justify-content:center;padding-bottom:28px}
#bowl-strip,#shelf-strip,#later-strip,#kashi-strip,#sweet-shelf-strip{
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);
  mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
#r-parts li{display:flex;justify-content:space-between;gap:8px}
#step-next{border-color:var(--green);background:var(--green);color:#fbfaf2}
@media(hover:hover){#step-next:hover{background:#4d5c2b}}
#step-sound,#step-auto,#add-water,#sound-offer,#tap-offer,#pair-after,#gift-back{border:1px solid var(--l-c8c8b9);border-radius:999px;padding:8px 14px;
  background:var(--b-f3f0e6);text-decoration:none;min-height:44px}
.tabs{display:flex;gap:4px;margin:10px 0 6px;border-bottom:1px solid var(--l-dcdccd)}
.tabs button{flex:1;border:0;border-radius:10px 10px 0 0;background:none;padding:10px 4px;
  font-size:.875rem;letter-spacing:.06em;color:var(--t-5d6249);min-height:44px}
.tabs button[aria-selected=true]{background:var(--b-e7e4d6);color:var(--ink);box-shadow:inset 0 -2px 0 var(--green)}
#prefs .pick{display:flex;align-items:center;gap:8px;margin:0 10px;padding-left:0;border-bottom:1px solid var(--l-dcdccd)}
#prefs .pick select{flex:1}
#prefs .note{max-width:15rem;margin:6px 10px 4px;font-size:.875rem}
.drinking #prefs .pick,.drinking #prefs .note{display:none}
.tabs button::before,#closet-open .label::before{content:"";display:inline-block;width:1.15em;height:1.15em;
  margin-right:.4em;vertical-align:-.22em;background:currentColor;
  -webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
#kind-switch{--i:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M10 21l-3.6-4.4a1.5 1.5 0 0 1 2.3-1.9l1.3 1.5V8.5a1.5 1.5 0 0 1 3 0V13l4.2.8a1.8 1.8 0 0 1 1.4 2.1L17.8 21'/><path d='M7.2 7.5a4.5 4.5 0 0 1 8.6 0'/></svg>")}
#closet-open{--i:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h9M17.5 7H20M4 12h3M11.5 12H20M4 17h9M17.5 17H20'/><circle cx='15' cy='7' r='2.2'/><circle cx='9' cy='12' r='2.2'/><circle cx='15' cy='17' r='2.2'/></svg>")}
#tab-bowl{--i:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3.5 9.5h17c0 5.2-3.6 9-8.5 9s-8.5-3.8-8.5-9z'/><path d='M8.5 18.5v1.5h7v-1.5'/></svg>")}
#tab-kashi{--i:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='7.4' r='2.1'/><circle cx='16.3' cy='10.5' r='2.1'/><circle cx='14.6' cy='15.5' r='2.1'/><circle cx='9.4' cy='15.5' r='2.1'/><circle cx='7.7' cy='10.5' r='2.1'/><path d='M3.5 20h17'/></svg>")}
#tab-cloth{--i:url("data:image/svg+xml,<svg xmlns='http%3A//www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='6' width='17' height='12.5' rx='1.6'/><path d='M3.5 10.2h17M8.7 6v12.5M14.6 6v12.5'/></svg>")}
@media(max-width:340px){.tabs button::before{display:none}}
#f-colors,#f-patterns{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 10px;margin:4px -6px 0;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);
  mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
#f-colors .bowl-item,#f-patterns .bowl-item{flex:0 0 60px}
#f-colors canvas,#f-patterns canvas{width:52px;height:52px;border-radius:4px}
.prefs-head,.real-head,.pane-head{font-weight:inherit}.real-head{font-size:inherit}
.pane-head{font-size:.8125rem;letter-spacing:.1em;color:var(--t-5d6249);margin:10px 0 0}
#pane-bowl>:first-child,#pane-kashi>:first-child,#pane-cloth>:first-child{margin-top:0}
.status{margin-top:12px}
.rest-row{margin-top:24px}
.controls.later{margin-top:36px}
.reading{margin-top:32px}
@media(pointer:coarse){footer a{display:inline-flex;align-items:center;min-height:44px}}
.share a{width:44px;height:44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--t-474c37);text-decoration:none;transition:background .15s,color .15s}
@media(hover:hover){.share a:hover{background:var(--b-dce0c8)}}
.share a:focus-visible{outline:2px solid var(--t-52682f);outline-offset:3px}
@media(hover:hover){.share a[id$="-line"]:hover{color:var(--t-06c755)}}
@media(hover:hover){.share a[id$="-fb"]:hover{color:var(--t-1877f2)}}
@media(hover:hover){.share a[id$="-x"]:hover{color:var(--t-15141a)}}
.family{flex:1 0 100%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 14px;padding-bottom:6px;border-bottom:1px solid var(--l-c8c8b9);letter-spacing:.2em}
.family [aria-current]{color:var(--ink);border-bottom:1px solid var(--seal)}
.family>*{display:inline-flex;flex-direction:column;align-items:center;line-height:1.35}.family small{display:inline-block;margin-top:1px;font-size:.875rem;letter-spacing:.05em;color:var(--t-5d604f)}
@media(min-width:801px){body{display:flex;flex-direction:column}main{flex:1 0 auto;min-height:0;padding-bottom:28px}footer{flex-wrap:wrap;row-gap:8px;position:static;margin:0 4.2vw 25px}}
@media(min-width:801px) and (max-height:750px){footer{margin-bottom:14px}}
@media(prefers-contrast:more){
  :root{color:var(--t-26271f)}
  .guidance>span,.status,.note,.tip,.small,.pick,.pane-head,.eyebrow,.kicker,.roman,
  #steps,#step-sound,#kashi-other,#kashi-way,#sound-offer,#tap-offer,#pair-after,#gift-back,#r-school-change,.action-status,#custom-controls>summary,
  #recipe summary,#about summary,.real summary,footer,.share{color:var(--t-3c4030)}
  button{color:var(--t-2f3423)}
  .controls,dialog,.rest-row button,.zoom button,#steps button,.family{border-color:#8a8c79}
  .event,.unlock,.shop-link,.seal{color:var(--t-83311f)}
}
.teabako-guide{margin-top:12px;font-size:.8125rem;line-height:1.8;color:var(--t-3c4030)}
#prefs-btn{position:absolute;z-index:5;right:90px;top:20px;width:44px;height:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--t-5d604f)}
#prefs-btn::before{content:"";display:block;width:22px;height:22px;margin:auto;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat;
  --i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 1 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 1 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 1 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 1 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z'/%3E%3C/svg%3E")}
#prefs{position:absolute;inset:78px 16px auto auto;margin:0;padding:6px;border:1px solid var(--l-c8c8b9);border-radius:12px;background:var(--b-f4f1e8);color:inherit;box-shadow:0 6px 20px rgba(60,64,48,.12)}
#prefs:popover-open{display:flex;flex-direction:column}
#prefs button{min-height:44px;padding:8px 16px;border:0;background:transparent;text-align:left;font-size:.875rem;white-space:normal}
.drinking #lang-top{display:none}
html.big{font-size:118.75%}
html.big.bigger{font-size:137.5%}
.first-actions{display:none}
body.newcomer .first-actions{display:flex;justify-content:center;margin:12px auto 0}.newcomer .first-actions>:not(#first-help):not(#first-big):not(#first-kana){display:none}
#chaen{word-break:keep-all}
body:has(#latte-again:not([hidden])) #latte-new{display:none}
body.lesson :is(.today-row,.rest-row,.settings,.event-row,.journey,.reading){display:none}
body.lesson :is(#drink,#gift)[aria-disabled=true]{display:none}
body.demo :is(#ritual,#kind-switch,#save){display:none}
body[data-kind=latte] #rest{display:none}
.lesson-controls :is(#lesson-slow,#lesson-end){border-color:transparent}
body.prep :is(.status,.rest-row,.controls.later,.settings,.event-row,#journey,.reading),body.prep #more-panel>:not(#more-ready){display:none!important}
.first-bowl :is(.rest-row,.settings,.event-row,.reading,.real){display:none}
@media(max-width:800px){.first-bowl main{min-height:0}}
.replaying :is(.controls.later,#more-panel,.rest-row,.today-row,.first-actions,.settings,.event-row,.journey,.reading){display:none}
.first .first-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;max-width:390px;margin:12px auto 0}
.first-actions button{border:1px solid var(--l-a4aa8e);background:var(--b-f4f1e8);min-height:44px;font-size:.875rem;white-space:normal}
body.first .status{margin-bottom:0}
body.first .first-actions{margin-bottom:auto}
body.first.stirred .first-actions{visibility:hidden}
html.big .controls.later{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(92vw,400px);border-radius:18px}
html.big .controls.later button{white-space:normal;min-width:0}
html.big footer{font-size:.875rem}
@media(max-width:420px){.event,.journey{font-size:.8125rem}}
#score-near{display:block;margin:10px auto 0;padding-inline:28px;background:#52682f;border:1px solid var(--l-52682f);color:#fbf8ef}
#score-near:disabled{opacity:.42;background:transparent;border-color:var(--l-c8c8b9);color:var(--t-5d6249);cursor:not-allowed}
.status>*{white-space:nowrap}
#kind-tag{position:relative;min-height:32px;padding:4px 22px 4px 8px;border:1px solid var(--l-c8c8b9);border-radius:999px;font-size:.75rem;color:var(--ink);letter-spacing:.04em}
#kind-tag::before{content:'';position:absolute;inset:-7px -2px}
#kind-tag::after{content:'';position:absolute;right:9px;top:calc(50% - 3px);width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg);pointer-events:none}
.status:has(#kind-tag:not([hidden])){gap:8px}
.status:has(#kind-tag:not([hidden])) .meter{width:48px}
.ritual #phase{display:none}
.today-row{text-align:center;margin:10px 0 -6px}
#result-open{color:var(--t-52682f);text-decoration:underline;text-underline-offset:4px}
.drinking .today-row{display:none}
.rest-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
#r-title:focus{outline:none}
.ritual .rest-row{display:none}
@media(max-width:800px){.aside{top:34px}.aside p{letter-spacing:.12em}main{padding-bottom:44px}#prefs-btn{right:100px}}
.aside p{white-space:nowrap}
.settings #keep-look{display:block;box-sizing:border-box;max-width:100%;text-wrap:balance;margin:10px auto 0;min-height:44px;padding:8px 18px;border:1px solid var(--green);border-radius:999px;background:transparent;color:var(--green-hover);letter-spacing:.06em}
@media(hover:hover){.settings #keep-look:hover{background:rgba(91,106,46,.08)}}
.j-foams{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:10px 0 4px}
.j-foams>span{flex:1 0 100%;text-align:center;font-size:.8125rem;color:var(--t-4d4f43)}
.j-foams img{width:44px;height:44px;border-radius:50%;box-shadow:0 1px 3px rgba(40,36,24,.25)}
body.real>p{font-size:.875rem;line-height:1.7;margin:8px 12px}
.sekki .seat-month{display:block;font-size:.75rem;color:var(--t-4f5244)}
#recipe summary,#about summary,.real summary,footer button,footer a,.family a{min-height:44px}
.family a,footer a{display:inline-flex;align-items:center;justify-content:center}
#see-new{display:block;margin:6px auto 0;min-height:44px;padding:10px 16px;border:0;background:transparent;color:var(--green-hover);font:inherit;font-size:.9375rem;text-decoration:underline;text-underline-offset:4px}
.bowl-item{position:relative}
.bowl-item small.new{position:absolute;top:2px;right:6px;padding:0 5px;border-radius:8px;background:var(--seal);color:#fff;font-size:.75rem;line-height:1.5}
.j-key p{white-space:pre-line;margin:4px 0 0}.j-key summary{cursor:pointer;min-height:44px;display:list-item;line-height:44px}
#prefs button{margin:0 10px;padding-inline:2px;border-bottom:1px solid var(--l-dcdccd);border-radius:0}
#prefs button:last-child{border-bottom:0}
#prefs .prefs-head{margin:8px 12px 0;font-size:.75rem;letter-spacing:.1em;color:var(--t-5d6249)}
#prefs :is(#easy,#sound,#steady,#tap-pref,#hold-pref,#auto-pref,#voice,#kana,#night,#motion)::before{content:"";display:inline-block;overflow:hidden;box-sizing:border-box;font-size:.8em;line-height:1;text-align:center;padding-top:.05em;width:1.3em;height:1.3em;margin-right:.75em;vertical-align:-.19em;border:1.5px solid var(--l-6b7d3a);border-radius:3px}
#prefs :is(#easy,#sound,#steady,#tap-pref,#hold-pref,#auto-pref,#voice,#kana,#night,#motion)[aria-pressed=true]::before{content:"✓";background:#6b7d3a;color:#fff}
#prefs #easy{font-weight:600}
#prefs #big-top{position:relative;padding-right:22px}#prefs #big-top::after{content:'';position:absolute;right:8px;top:calc(50% - 4px);width:6px;height:6px;border:solid currentColor;border-width:1.5px 1.5px 0 0;transform:rotate(45deg)}
#prefs .prefs-sec{display:flex;flex-direction:column}
#prefs .prefs-kids{display:flex;flex-direction:column;margin:0 0 4px 22px;border-left:2px solid var(--l-dcdccd)}
#prefs #easy-more>button{display:block;width:calc(100% - 20px)}#prefs #easy-more>summary{min-height:44px;display:flex;align-items:center;padding:8px 16px;font-size:.875rem;color:var(--t-5d6249);cursor:pointer;list-style:none}
#prefs #easy-more>summary::-webkit-details-marker{display:none}#prefs #easy-more>summary::before{content:"\25B6";font-size:.625rem;margin-right:.6em}#prefs #easy-more[open]>summary::before{content:"\25BC"}
.drinking #prefs .prefs-tea{display:none}
.first-actions #first-guide{background:var(--green);border-color:var(--green);color:#fbfaf2}
body[data-kind=latte] #first-guide{display:none}
body[data-kind=latte] .first-actions #first-tap{background:var(--green);border-color:var(--green);color:#fbfaf2}
.first-actions button[aria-pressed=true]{background:var(--b-dce2c9);border-color:var(--green)}
.first-actions button[aria-pressed=true]::before{content:"✓ "}
.first-actions:has(#first-tap[aria-pressed=true]) #first-guide{background:var(--b-f4f1e8);border-color:var(--l-a4aa8e);color:inherit}
.first-actions::after{content:'';flex-basis:100%;order:1}.first-actions #first-help,.first-actions #first-big,.first-actions #first-kana{order:2;font-size:.8125rem}
@media(forced-colors:active){
.controls button:not(#more)::before,.tabs button::before,#closet-open .label::before,#prefs-btn::before{forced-color-adjust:none;background:ButtonText}
button[aria-pressed=true]{forced-color-adjust:none;background:Highlight!important;color:HighlightText!important}
.controls button[aria-pressed=true]:not(#more)::before{background:HighlightText}
.tabs button[aria-selected=true]{border-bottom:2px solid Highlight}
.bowl-item[aria-pressed=true]{outline:2px solid Highlight;outline-offset:-2px}
.meter{border:1px solid CanvasText}
#fill{forced-color-adjust:none;background:Highlight}
}
.drinking #closet .tabs,.drinking #closet .c-link:has(#nerikiri-link){display:none}
.drinking #closet[open]{height:fit-content;margin-block-start:auto}
main.notfound{justify-content:center;text-align:center;gap:4px;letter-spacing:.1em;line-height:1.9}main.notfound a{color:var(--t-474c37);text-underline-offset:4px}
.latte-tools{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;max-width:94vw;margin-top:12px;border:1px solid var(--l-c8c8b9);border-radius:20px;padding:4px 8px}
@media(max-width:600px){#latte-lessons[hidden]+.latte-tools{position:relative;z-index:2;margin-top:-24px}}.latte-tools>span{flex-basis:100%;text-align:center;font: .8125rem/1.6 system-ui,sans-serif;color:var(--t-5f6255);padding:2px 6px}.latte-tools button[aria-pressed=true]{box-shadow:inset 0 -2px #52682f}
.latte-techs{flex-basis:100%;display:flex;justify-content:center;gap:4px;padding-bottom:4px;border-bottom:1px solid var(--l-d8d8cb)}.latte-techs button[aria-pressed=true]{background:var(--b-e6e7d6);box-shadow:inset 0 0 0 1px #52682f}
.kata-bar{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#kata .k-set{border:0;padding:0;margin:12px 0 0;min-inline-size:0}
#kata legend{font:.8125rem/1.6 system-ui,sans-serif;color:var(--t-5d6249);padding:0;margin-bottom:6px;white-space:normal}
.k-powders{display:flex;flex-wrap:wrap;gap:6px}
.pw{display:inline-flex;align-items:center;gap:6px}
.pw::before{content:'';width:14px;height:14px;border-radius:50%;background:var(--pw);border:1px solid var(--l-0003)}
.pw-matcha{--pw:rgb(92,128,36)}.pw-hojicha{--pw:rgb(128,78,44)}.pw-kinako{--pw:rgb(206,166,98)}.pw-cocoa{--pw:rgb(78,50,36)}.pw-ichigo{--pw:rgb(218,112,136)}
.pw[aria-pressed=true],.kata-bar button[aria-pressed=true]{box-shadow:inset 0 -2px #52682f}
.k-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px}
.k-item{display:flex;flex-direction:column;align-items:center;gap:2px;width:100%;padding:6px 4px;font:.75rem/1.3 system-ui,sans-serif;min-width:0}
.k-item canvas{width:56px;height:56px;touch-action:auto;pointer-events:none}
.k-item small{color:var(--t-5d6249);font-size:.6875rem}
.k-cell{display:flex;flex-direction:column;gap:4px}
#kata[open]{max-height:88vh;overflow-y:auto}
#latte-lessons{width:min(100%,420px);margin:8px auto 12px;padding:10px;border-block:1px solid var(--l-c8c8b9)}
.lesson-picks{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 8px;margin-bottom:6px;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);
  mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.lesson-picks button{flex:0 0 92px;scroll-snap-align:start}.lesson-picks span{font-size:.8125rem;letter-spacing:0}
.lesson-picks span{max-width:100%;text-align:center;white-space:pre-line;overflow-wrap:anywhere}.lesson-picks button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 3px;border:1px solid var(--l-c8c8b9);border-radius:12px;font-size:.875rem;line-height:1.3}
.lesson-picks button::before{content:"";width:34px;height:34px;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.lesson-picks button[aria-pressed=true]{border-color:var(--l-52682f);box-shadow:inset 0 0 0 1px #52682f;background:var(--b-e6e7d6)}
.lesson-picks small{font-size:.6875rem;color:var(--t-5d6249);min-height:1.3em}
[data-lesson=heart]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 12.5V21' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M12 20.5C8.13 15.82 3.4 12.89 3.4 8.8A4.3 4.3 0 0 1 12 6.87A4.3 4.3 0 0 1 20.6 8.8C20.6 12.89 15.87 15.82 12 20.5Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson^=tulip]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 8V21' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M12 11C10.02 8.76 7.6 7.36 7.6 5.4A2.2 2.2 0 0 1 12 4.41A2.2 2.2 0 0 1 16.4 5.4C16.4 7.36 13.98 8.76 12 11Z'/%3E%3Cpath d='M5.4 6.4C5.4 11.73 9.23 14.6 12 15C14.77 14.6 18.6 11.73 18.6 6.4C17.02 10.4 14.51 12.3 12 12.8C9.49 12.3 6.98 10.4 5.4 6.4Z'/%3E%3Cpath d='M3.2 8.2C3.2 15.27 8.3 19.2 12 19.6C15.7 19.2 20.8 15.27 20.8 8.2C18.75 13.5 15.38 16.7 12 17.2C8.62 16.7 5.25 13.5 3.2 8.2Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=tulip211]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 7V21.5' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M12 8.8C10.38 7.04 8.4 5.94 8.4 4.4A1.8 1.8 0 0 1 12 3.59A1.8 1.8 0 0 1 15.6 4.4C15.6 5.94 13.62 7.04 12 8.8Z'/%3E%3Cpath d='M6.6 5.6C6.6 9.57 9.73 11.6 12 12C14.27 11.6 17.4 9.57 17.4 5.6C16.14 8.58 14.07 10 12 10.5C9.93 10 7.86 8.58 6.6 5.6Z'/%3E%3Cpath d='M5.2 7.4C5.2 11.86 9.14 14.2 12 14.6C14.86 14.2 18.8 11.86 18.8 7.4C17.26 10.75 14.63 12.6 12 13.1C9.37 12.6 6.74 10.75 5.2 7.4Z'/%3E%3Cpath d='M4 8.8C4 14.01 8.64 16.8 12 17.2C15.36 16.8 20 14.01 20 8.8C18.21 12.71 15.1 15.1 12 15.6C8.9 15.1 5.79 12.71 4 8.8Z'/%3E%3Cpath d='M2 5.4C2 14.82 7.8 20.2 12 20.6C16.2 20.2 22 14.82 22 5.4C19.83 12.47 15.92 18.7 12 19.2C8.08 18.7 4.17 12.47 2 5.4Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=tulip221]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 6.5V21.5' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M12 8.4C10.47 6.76 8.6 5.73 8.6 4.3A1.7 1.7 0 0 1 12 3.54A1.7 1.7 0 0 1 15.4 4.3C15.4 5.73 13.53 6.76 12 8.4Z'/%3E%3Cpath d='M7 5.2C7 8.8 9.9 10.6 12 11C14.1 10.6 17 8.8 17 5.2C15.86 7.9 13.93 9.3 12 9.8C10.07 9.3 8.14 7.9 7 5.2Z'/%3E%3Cpath d='M6 6.4C6 10.37 9.48 12.4 12 12.8C14.52 12.4 18 10.37 18 6.4C16.66 9.38 14.33 11.1 12 11.6C9.67 11.1 7.34 9.38 6 6.4Z'/%3E%3Cpath d='M5 7.6C5 12.06 9.06 14.4 12 14.8C14.94 14.4 19 12.06 19 7.6C17.46 10.95 14.73 13.1 12 13.6C9.27 13.1 6.54 10.95 5 7.6Z'/%3E%3Cpath d='M4 8.8C4 13.76 8.64 16.4 12 16.8C15.36 16.4 20 13.76 20 8.8C18.26 12.52 15.13 15.1 12 15.6C8.87 15.1 5.74 12.52 4 8.8Z'/%3E%3Cpath d='M2 5.4C2 14.82 7.8 20.2 12 20.6C16.2 20.2 22 14.82 22 5.4C19.83 12.47 15.92 18.7 12 19.2C8.08 18.7 4.17 12.47 2 5.4Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=tulip114]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 10V21.5 M12 9.6C10.2 8.16 8 7.26 8 6A2 2 0 0 1 12 5.1A2 2 0 0 1 16 6C16 7.26 13.8 8.16 12 9.6ZM12 8.2C10.92 7.64 9.6 7.29 9.6 6.8A1.2 1.2 0 0 1 12 6.26A1.2 1.2 0 0 1 14.4 6.8C14.4 7.29 13.08 7.64 12 8.2Z' stroke='%23000' stroke-width='.7' fill='none'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M12 11.6C9.48 9.04 6.4 7.44 6.4 5.2A2.8 2.8 0 0 1 12 3.94A2.8 2.8 0 0 1 17.6 5.2C17.6 7.44 14.52 9.04 12 11.6Z'/%3E%3Cpath d='M7 10.6C7 13.33 9.9 14.6 12 15C14.1 14.6 17 13.33 17 10.6C15.84 12.65 13.92 13.2 12 13.7C10.08 13.2 8.16 12.65 7 10.6Z'/%3E%3Cpath d='M5.6 12.6C5.6 15.7 9.31 17.2 12 17.6C14.69 17.2 18.4 15.7 18.4 12.6C16.95 14.93 14.48 15.7 12 16.2C9.52 15.7 7.05 14.93 5.6 12.6Z'/%3E%3Cpath d='M2 6.4C2 15.2 7.8 20.2 12 20.6C16.2 20.2 22 15.2 22 6.4C19.83 13 15.92 18.7 12 19.2C8.08 18.7 4.17 13 2 6.4Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=leaf]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 4V21.5' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M12 6.2C11.28 5.08 10.4 4.38 10.4 3.4A0.8 0.8 0 0 1 12 3.04A0.8 0.8 0 0 1 13.6 3.4C13.6 4.38 12.72 5.08 12 6.2Z'/%3E%3Cpath d='M9.4 4.41C9.4 6.26 10.91 7 12 7.4C13.09 7 14.6 6.26 14.6 4.41C13.95 5.8 12.98 5.85 12 6.35C11.02 5.85 10.05 5.8 9.4 4.41Z'/%3E%3Cpath d='M8.2 5.55C8.2 8.26 10.4 9.52 12 9.92C13.6 9.52 15.8 8.26 15.8 5.55C14.91 7.58 13.46 8.37 12 8.87C10.54 8.37 9.09 7.58 8.2 5.55Z'/%3E%3Cpath d='M7 6.69C7 10.26 9.9 12.04 12 12.44C14.1 12.04 17 10.26 17 6.69C15.87 9.36 13.94 10.89 12 11.39C10.06 10.89 8.13 9.36 7 6.69Z'/%3E%3Cpath d='M5.8 7.83C5.8 12.25 9.4 14.56 12 14.96C14.6 14.56 18.2 12.25 18.2 7.83C16.83 11.15 14.42 13.41 12 13.91C9.58 13.41 7.17 11.15 5.8 7.83Z'/%3E%3Cpath d='M4.6 8.97C4.6 14.25 8.89 17.08 12 17.48C15.11 17.08 19.4 14.25 19.4 8.97C17.79 12.93 14.9 15.93 12 16.43C9.1 15.93 6.21 12.93 4.6 8.97Z'/%3E%3Cpath d='M3.4 10.11C3.4 16.24 8.39 19.6 12 20C15.61 19.6 20.6 16.24 20.6 10.11C18.75 14.71 15.38 18.45 12 18.95C8.62 18.45 5.25 14.71 3.4 10.11Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=rosetta]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 3V21.5' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M9.6 3.64C9.6 5.35 10.99 6 12 6.4C13.01 6 14.4 5.35 14.4 3.64C13.8 4.92 12.9 4.9 12 5.4C11.1 4.9 10.2 4.92 9.6 3.64Z'/%3E%3Cpath d='M8.55 4.93C8.55 7.39 10.55 8.5 12 8.9C13.45 8.5 15.45 7.39 15.45 4.93C14.64 6.78 13.32 7.4 12 7.9C10.68 7.4 9.36 6.78 8.55 4.93Z'/%3E%3Cpath d='M7.5 6.22C7.5 9.43 10.11 11 12 11.4C13.89 11 16.5 9.43 16.5 6.22C15.48 8.63 13.74 9.9 12 10.4C10.26 9.9 8.52 8.63 7.5 6.22Z'/%3E%3Cpath d='M6.45 7.52C6.45 11.47 9.67 13.5 12 13.9C14.33 13.5 17.55 11.47 17.55 7.52C16.32 10.49 14.16 12.4 12 12.9C9.84 12.4 7.68 10.49 6.45 7.52Z'/%3E%3Cpath d='M5.4 8.81C5.4 13.52 9.23 16 12 16.4C14.77 16 18.6 13.52 18.6 8.81C17.16 12.34 14.58 14.9 12 15.4C9.42 14.9 6.84 12.34 5.4 8.81Z'/%3E%3Cpath d='M2.2 3.6C2.2 14.14 7.88 20.2 12 20.6C16.12 20.2 21.8 14.14 21.8 3.6C19.62 11.5 15.81 18.3 12 18.8C8.19 18.3 4.38 11.5 2.2 3.6Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=wingheart]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 9V21' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cpath d='M12 13.2C9.39 10.44 6.2 8.71 6.2 6.3A2.9 2.9 0 0 1 12 5A2.9 2.9 0 0 1 17.8 6.3C17.8 8.71 14.61 10.44 12 13.2Z'/%3E%3Cpath d='M2.2 5C2.2 14.3 7.88 19.6 12 20C16.12 19.6 21.8 14.3 21.8 5C19.55 11.98 15.78 17.1 12 17.6C8.22 17.1 4.45 11.98 2.2 5Z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=heartchain]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23000'%3E%3Cpath d='M12 8C9.5 6.4 8.5 5.2 8.5 4a1.8 1.8 0 0 1 3.5-.6A1.8 1.8 0 0 1 15.5 4c0 1.2-1 2.4-3.5 4zM12 15c-2.5-1.6-3.5-2.8-3.5-4a1.8 1.8 0 0 1 3.5-.6 1.8 1.8 0 0 1 3.5.6c0 1.2-1 2.4-3.5 4zM12 22c-2.5-1.6-3.5-2.8-3.5-4a1.8 1.8 0 0 1 3.5-.6 1.8 1.8 0 0 1 3.5.6c0 1.2-1 2.4-3.5 4z'/%3E%3C/g%3E%3Cpath d='M12 2v21' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E")}
[data-lesson=heartring]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='8' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3Cg fill='%23000'%3E%3Ccircle cx='12' cy='4' r='2.6'/%3E%3Ccircle cx='18.9' cy='8' r='2.6'/%3E%3Ccircle cx='18.9' cy='16' r='2.6'/%3E%3Ccircle cx='12' cy='20' r='2.6'/%3E%3Ccircle cx='5.1' cy='16' r='2.6'/%3E%3Ccircle cx='5.1' cy='8' r='2.6'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=flower]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='2' fill='%23000'/%3E%3Cpath d='M12 9V3M14.6 10.5l5.2-3M14.6 13.5l5.2 3M12 15v6M9.4 13.5l-5.2 3M9.4 10.5l-5.2-3'/%3E%3C/svg%3E")}
[data-lesson=hangheart]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath transform='translate(5.60 18.20) rotate(121.9)' d='M-2.90 0C-2.90 2.83 -1.16 3.91 0 4.35C1.16 3.91 2.90 2.83 2.90 0C2.03 1.52 1.01 1.96 0 2.17C-1.01 1.96 -2.03 1.52 -2.90 0Z'/%3E%3Cpath transform='translate(8.46 19.97) rotate(98.1)' d='M-2.74 0C-2.74 2.67 -1.09 3.70 0 4.11C1.09 3.70 2.74 2.67 2.74 0C1.92 1.44 0.96 1.85 0 2.05C-0.96 1.85 -1.92 1.44 -2.74 0Z'/%3E%3Cpath transform='translate(11.75 20.44) rotate(74.3)' d='M-2.57 0C-2.57 2.51 -1.03 3.48 0 3.86C1.03 3.48 2.57 2.51 2.57 0C1.80 1.35 0.90 1.74 0 1.93C-0.90 1.74 -1.80 1.35 -2.57 0Z'/%3E%3Cpath transform='translate(14.93 19.55) rotate(50.6)' d='M-2.41 0C-2.41 2.35 -0.96 3.26 0 3.62C0.96 3.26 2.41 2.35 2.41 0C1.69 1.27 0.84 1.63 0 1.81C-0.84 1.63 -1.69 1.27 -2.41 0Z'/%3E%3Cpath transform='translate(17.45 17.48) rotate(26.8)' d='M-2.25 0C-2.25 2.19 -0.90 3.04 0 3.38C0.90 3.04 2.25 2.19 2.25 0C1.57 1.18 0.79 1.52 0 1.69C-0.79 1.52 -1.57 1.18 -2.25 0Z'/%3E%3Cpath transform='translate(18.91 14.59) rotate(3.1)' d='M-2.09 0C-2.09 2.04 -0.83 2.82 0 3.13C0.83 2.82 2.09 2.04 2.09 0C1.46 1.10 0.73 1.41 0 1.57C-0.73 1.41 -1.46 1.10 -2.09 0Z'/%3E%3Cpath transform='translate(19.08 11.39) rotate(-20.7)' d='M-1.92 0C-1.92 1.88 -0.77 2.60 0 2.89C0.77 2.60 1.92 1.88 1.92 0C1.35 1.01 0.67 1.30 0 1.44C-0.67 1.30 -1.35 1.01 -1.92 0Z'/%3E%3Cpath transform='translate(17.96 8.42) rotate(-44.5)' d='M-1.76 0C-1.76 1.72 -0.71 2.38 0 2.64C0.71 2.38 1.76 1.72 1.76 0C1.23 0.93 0.62 1.19 0 1.32C-0.62 1.19 -1.23 0.93 -1.76 0Z'/%3E%3Cpath transform='translate(15.76 6.17) rotate(-44.5)' d='M-1.60 0C-1.60 1.56 -0.64 2.16 0 2.40C0.64 2.16 1.60 1.56 1.60 0C1.12 0.84 0.56 1.08 0 1.20C-0.56 1.08 -1.12 0.84 -1.60 0Z'/%3E%3Cpath d='M10.6 10.8C10.4 6.4 11.2 3.4 13.2 3.4S15.6 4.6 15.8 5.6' fill='none' stroke='%23000' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M10.6 16.6C8.8 14.9 6.4 13.6 6.4 11.6A2.1 2.1 0 0 1 10.6 10.5A2.1 2.1 0 0 1 14.8 11.6C14.8 13.6 12.4 14.9 10.6 16.6Z'/%3E%3C/svg%3E")}
[data-lesson=bear]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='%23000'%3E%3Ccircle cx='6' cy='6' r='3'/%3E%3Ccircle cx='18' cy='6' r='3'/%3E%3Cpath fill-rule='evenodd' d='M12 4a8 8 0 1 1 0 16 8 8 0 0 1 0-16zM9 10a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM15 10a1 1 0 1 0 0 2 1 1 0 0 0 0-2zM12 13a2.5 2 0 1 0 0 4 2.5 2 0 0 0 0-4z'/%3E%3C/g%3E%3C/svg%3E")}
[data-lesson=cat]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 10V3l4 4h6l4-4v7a7 7 0 0 1-14 0zM9.5 11v.5M14.5 11v.5M1 14l7 .5M1 18l7-1.5M23 14l-7 .5M23 18l-7-1.5'/%3E%3C/svg%3E")}
[data-lesson=swan]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cmask id='c'%3E%3Crect width='24' height='24' fill='%23fff'/%3E%3Cpath d='M12 14V22' stroke='%23000' stroke-width='.8'/%3E%3C/mask%3E%3Cg mask='url(%23c)'%3E%3Cg transform='rotate(22 15.6 14)'%3E%3Cpath d='M14.4 7.02C14.4 7.88 15.1 8 15.6 8.4C16.1 8 16.8 7.88 16.8 7.02C16.44 7.66 16.02 6.9 15.6 7.4C15.18 6.9 14.76 7.66 14.4 7.02Z'/%3E%3Cpath d='M13.65 8.61C13.65 10 14.78 10.45 15.6 10.85C16.42 10.45 17.55 10 17.55 8.61C17.04 9.65 16.32 9.35 15.6 9.85C14.88 9.35 14.16 9.65 13.65 8.61Z'/%3E%3Cpath d='M12.9 10.2C12.9 12.12 14.47 12.9 15.6 13.3C16.73 12.9 18.3 12.12 18.3 10.2C17.64 11.64 16.62 11.8 15.6 12.3C14.58 11.8 13.56 11.64 12.9 10.2Z'/%3E%3Cpath d='M12.15 11.78C12.15 14.24 14.15 15.35 15.6 15.75C17.05 15.35 19.05 14.24 19.05 11.78C18.24 13.63 16.92 14.25 15.6 14.75C14.28 14.25 12.96 13.63 12.15 11.78Z'/%3E%3Cpath d='M11.4 13.37C11.4 16.36 13.84 17.8 15.6 18.2C17.36 17.8 19.8 16.36 19.8 13.37C18.84 15.62 17.22 16.7 15.6 17.2C13.98 16.7 12.36 15.62 11.4 13.37Z'/%3E%3C/g%3E%3Cpath d='M12.6 19.4C8.6 17 6.2 12.6 7 8.2 7.6 5 10.4 3.6 11.4 5.6' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M11.2 10C10.34 8.7 9.3 7.89 9.3 6.75A0.95 0.95 0 0 1 11.2 6.32A0.95 0.95 0 0 1 13.1 6.75C13.1 7.89 12.05 8.7 11.2 10Z'/%3E%3Cpath d='M2 14.6C2 18.82 7.8 21 12 21.4C16.2 21 22 18.82 22 14.6C19.78 17.76 15.89 19.1 12 19.6C8.11 19.1 4.22 17.76 2 14.6Z'/%3E%3C/g%3E%3C/svg%3E")}
.lesson-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin-top:4px}.lesson-controls button{font-size:.8125rem;border:1px solid var(--l-c8c8b9);border-radius:22px;padding-inline:14px}.lesson-controls button[aria-pressed=true]:not(#lesson-play){box-shadow:inset 0 -2px #52682f;background:var(--b-e6e7d6)}.lesson-controls button.primary{border-color:var(--green);background:var(--green);color:#fbfaf3}@media(hover:hover){.lesson-controls button.primary:hover{background:var(--green-hover)}}
#latte-lessons progress{display:block;width:100%;height:4px;margin-top:8px;accent-color:var(--t-5d6249)}#lesson-time{font-size:.75rem;font-variant-numeric:tabular-nums}#latte-lessons .note{font-size:.875rem}#latte-lessons summary,#latte-lessons a{font-size:.8rem;line-height:1.6}
.latte-techs button[data-latte-tech]{display:inline-grid;grid-template-columns:auto auto;align-items:center;column-gap:.35em;line-height:1.25;text-align:left}
.latte-techs button[data-latte-tech]::before{content:"";grid-row:span 2;width:1.4em;height:1.4em;background:currentColor;-webkit-mask:var(--i) center/contain no-repeat;mask:var(--i) center/contain no-repeat}
.latte-techs small{font-size:.6875rem;color:var(--t-5f6255)}
[data-latte-tech=free]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 4h7l1.5 2L10 11H4.5z'/%3E%3Cpath d='M11.5 6l3-1.5'/%3E%3Cpath d='M14.5 4.5c1.2 3 1.2 6 .5 9'/%3E%3Cpath d='M8 15h12c0 3-2.5 5-6 5s-6-2-6-5z'/%3E%3C/svg%3E")}
[data-latte-tech=etch]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='13' r='8'/%3E%3Cpath d='M8 13c2-2.5 4 2.5 8 0'/%3E%3Cpath d='M15 10L21 3'/%3E%3C/svg%3E")}
[data-latte-tech=kata]{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='16' height='16' rx='1.5'/%3E%3Cpath d='M12 16.5s-4-2.6-4-5.2A2.2 2.2 0 0 1 12 10a2.2 2.2 0 0 1 4 1.3c0 2.6-4 5.2-4 5.2z'/%3E%3C/svg%3E")}
.family-label{flex:1 0 100%;margin:0;text-align:center;letter-spacing:.2em;color:inherit}
.lesson-picks .stars{display:block;letter-spacing:.06em;color:var(--t-7a5a12)}
.latte-acts{flex-basis:100%;display:flex;flex-wrap:wrap;justify-content:center;gap:4px;padding-top:4px;border-top:1px solid var(--l-d8d8cb)}.latte-acts:not(:has(>:not([hidden]))){display:none}
.book-grid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.book-grid button{width:100%;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;border-radius:12px;background:none;white-space:normal}
.book-grid canvas,.book-blank{width:56px;height:56px;border-radius:50%}.book-blank{border:1px dashed var(--l-a9ab98);background:#8ab03a1f}
.phase-dots{margin-inline-end:.35em;font-size:.625rem;letter-spacing:0;vertical-align:.12em;color:var(--t-6b7a3a)}
.book-grid .stars{color:var(--t-7a5a12);letter-spacing:.06em}.book-grid small{font-size:.6875rem;color:var(--t-5d6249);line-height:1.35;white-space:pre-line;text-align:center}
.r-compare{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:8px 0}.r-compare>p{flex-basis:100%;margin:0;text-align:center}.r-compare figure{margin:0;text-align:center}.r-compare canvas{display:block;width:88px;height:88px;border-radius:50%;touch-action:auto;cursor:zoom-in}.r-compare figure{cursor:zoom-in}.r-compare .cmp,.r-compare .cmp[aria-pressed=true]{display:block;min-height:0;padding:0;border-radius:50%;background:none;cursor:inherit}.r-compare figure.big{flex-basis:100%;order:-1;cursor:zoom-out}.r-compare figure.big canvas{width:min(100%,240px);height:auto;aspect-ratio:1;margin:0 auto;cursor:zoom-out}.r-compare figcaption{font-size:.8125rem;color:var(--t-5d6249);margin-top:2px}
.latte-tools:not([hidden])+.guidance{margin-top:8px}
.lesson-controls .step::before{content:attr(data-n) '. '}.lesson-controls .step.done::before{content:'✓ '}
.r-photo{display:block;width:min(64%,240px);height:auto;aspect-ratio:1;margin:0 auto 6px;touch-action:auto;cursor:default}
.unlock-bowl{display:block;width:132px;height:132px;margin:4px auto 0}.unlock-bowl[hidden]{display:none}
.qr-wrap{margin-top:8px;font-size:.875rem}.qr-wrap summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--t-4f5440)}
#g-qr{display:block;width:100%;max-width:320px;aspect-ratio:1;height:auto;margin:4px auto 0;image-rendering:pixelated;border-radius:0;touch-action:auto;cursor:default}#g-qr[hidden]{display:none}
.install button{min-height:44px}
@media (prefers-reduced-motion:no-preference){dialog[open],dialog[open]::backdrop{animation:dlg-in .15s ease-out}}
@keyframes dlg-in{from{opacity:0}}
.latte-more{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px}
.latte-more[open]{flex-basis:100%}
.latte-more>summary{font:.8125rem/1.6 system-ui,sans-serif;color:var(--t-5f6255);padding:12px 8px;cursor:pointer}
.latte-more:not(:has(>button:not([hidden]))){display:none}
.latte-acts:not(:has(>:not([hidden],.latte-more),>.latte-more>button:not([hidden]))){display:none}
.say-mean{display:block;font-size:.8125rem;letter-spacing:.02em;color:var(--t-4a4b3e)}
#more-ready{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 6h10M10 12h10M10 18h10'/%3E%3Cpath d='M3.5 6l1.5 1.5L7.5 4.5M3.5 12l1.5 1.5 2.5-3'/%3E%3Ccircle cx='5' cy='18' r='1.2'/%3E%3C/svg%3E")}
html[lang=en] footer,html[lang=en] .family,html[lang=en] .family-label{letter-spacing:.02em}
body.finished nav.family{display:none}
body.finished .family-label::after{content:'›';content:'›' / '';margin-left:.4em}
html.big footer{letter-spacing:.04em}html.big .family{flex-direction:column;gap:2px}html.big .family>*{flex-direction:row;gap:.6em;align-items:baseline}
.qr-wrap summary::-webkit-details-marker{display:none}.qr-wrap summary::before{content:"\25B6";font-size:.625rem;margin-right:.6em}.qr-wrap[open] summary::before{content:"\25BC"}
#step-next.waiting{position:relative;overflow:hidden}#step-next.waiting::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--b-fbfaf2b3);transform-origin:left;animation:say-fill var(--say-ms,3s) linear forwards}
@keyframes say-fill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){#step-next.waiting::after{display:none}}
#visit-kashi:not([hidden]){width:104px;height:104px}.visit-kashi-name{margin:0 0 6px;font-size:.8125rem;letter-spacing:.1em;color:var(--t-5d604f)}#visit-kashi[hidden]+.visit-kashi-name{display:none}
html[lang=en] .visit-kashi-name{letter-spacing:.02em}
.back-foam{display:block;margin:0 auto 4px;padding:0;width:48px;height:48px;min-height:48px;border:1px solid var(--l-c8c8b9);border-radius:50%;overflow:hidden;background:none}.back-foam[hidden]{display:none}.back-foam img{display:block;width:100%;height:100%;object-fit:cover}
.latte-techs:not(.open)>[data-latte-tech],.latte-techs.open>#tech-open{display:none}
.latte-techs:not(.open){display:contents}
#tech-open{font-size:.8125rem;border:0;background:none;color:var(--t-4f5440)}#tech-open::after{content:"";display:inline-block;width:.4em;height:.4em;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg);margin-left:.5em;vertical-align:.2em}
@media(max-height:700px){body.first .guidance{margin-top:-8px}body.first .first-actions{margin-top:4px}}
@media(orientation:landscape) and (max-height:500px){main{display:block;min-height:0;padding:60px 64px 40px calc(84px + min(80svh,40vw) + 16px)}main>.scene{position:fixed;left:84px;top:50%;translate:0 -50%;width:min(80svh,40vw)}.aside{display:none}#prefs-btn{right:12px}footer{margin-left:calc(84px + min(80svh,40vw))}}
.en-offer{display:flex;justify-content:center;align-items:center;margin:0;font:.875rem system-ui,sans-serif}html.en-offer-on:not([data-ready]) #en-offer[hidden]{display:flex!important;visibility:hidden}
.en-offer a{color:var(--t-474c37);padding:12px 4px;text-underline-offset:3px}
.en-offer button{min-height:44px;min-width:44px;padding:0 10px;font-size:1rem}
.scene.glow::after{content:"";position:absolute;inset:4%;border-radius:50%;pointer-events:none;box-shadow:0 0 0 0 rgba(236,226,170,0);animation:glow .5s ease-out}
.scene.glow.slow::after{animation-duration:.6s}
@keyframes glow{40%{box-shadow:0 0 42px 10px rgba(236,226,170,.75)}to{box-shadow:0 0 0 0 rgba(236,226,170,0)}}
@media(prefers-reduced-motion:reduce){.scene.glow::after{animation:none}}
#reset-dlg p{max-width:18rem;line-height:1.7}
#reset-device{display:block;margin:12px auto 0;color:var(--t-7a3b2e)}
.real{margin-top:12px}
:root{--b-2442412320:rgba(244,241,232,0);--b-c6ccb3:#c6ccb3;--b-dce0c8:#dce0c8;--b-dce2c9:#dce2c9;--b-e6e7d6:#e6e7d6;--b-e7e4d6:#e7e4d6;--b-e8e6d9:#e8e6d9;--b-e9e6da:#e9e6da;--b-ece7d8:#ece7d8;--b-f1ede0ee:#f1ede0ee;--b-f3f0e6:#f3f0e6;--b-f4f1e8:#f4f1e8;--b-f4f1e88c:#f4f1e88c;--b-faf7ee:#faf7ee;--b-faf7eecc:#faf7eecc;--b-faf7eee6:#faf7eee6;--b-fbf8efee:#fbf8efee;--b-fbfaf2b3:#fbfaf2b3;--b-fbfaf4:#fbfaf4;--b-fbfaf5:#fbfaf5;--l-0003:#0003;--l-52682f:#52682f;--l-697747:#697747;--l-6b7d3a:#6b7d3a;--l-71804b:#71804b;--l-a4aa8e:#a4aa8e;--l-a7aa97:#a7aa97;--l-a9a58f:#a9a58f;--l-a9ab98:#a9ab98;--l-7a7c68:#7a7c68;--l-c8c8b9:#c8c8b9;--l-cfcbb8:#cfcbb8;--l-d3cfbf:#d3cfbf;--l-d6d5c7:#d6d5c7;--l-d8d8cb:#d8d8cb;--l-dcdccd:#dcdccd;--l-e2ded0:#e2ded0;--t-06c755:#06c755;--t-15141a:#15141a;--t-1877f2:#1877f2;--t-26271f:#26271f;--t-2f3423:#2f3423;--t-34451b:#34451b;--t-3c4030:#3c4030;--t-3f4f22:#3f4f22;--t-474c37:#474c37;--t-4a4b3e:#4a4b3e;--t-4d4f43:#4d4f43;--t-4d5240:#4d5240;--t-4f5244:#4f5244;--t-4f5440:#4f5440;--t-4f5940:#4f5940;--t-52682f:#52682f;--t-5d604f:#5d604f;--t-5d604f80:#5d604f80;--t-5d6249:#5d6249;--t-5f6252:#5f6252;--t-5f6255:#5f6255;--t-63645a:#63645a;--t-67685d:#67685d;--t-686b58:#686b58;--t-697747:#697747;--t-6b7a3a:#6b7a3a;--t-6b7d3a:#6b7d3a;--t-738146:#738146;--t-76796b:#76796b;--t-7a3b2e:#7a3b2e;--t-7a5a12:#7a5a12;--t-83311f:#83311f;--t-8e5b4d:#8e5b4d}
:root.night{--b-2442412320:rgba(50,47,38,0);--b-c6ccb3:#4d4d3d;--b-dce0c8:#1c1d16;--b-dce2c9:#1b1d16;--b-e6e7d6:#202119;--b-e7e4d6:#211f19;--b-e8e6d9:#23221a;--b-e9e6da:#24221b;--b-ece7d8:#25221c;--b-f1ede0ee:rgba(44,42,33,0.933);--b-f3f0e6:#312e25;--b-f4f1e8:#322f26;--b-f4f1e88c:rgba(50,47,38,0.549);--b-faf7ee:#39362b;--b-faf7eecc:rgba(57,54,43,0.8);--b-faf7eee6:rgba(57,54,43,0.902);--b-fbf8efee:rgba(58,55,44,0.933);--b-fbfaf2b3:rgba(60,58,45,0.702);--b-fbfaf4:#3d3b2e;--b-fbfaf5:#3e3b2f;--l-0003:rgba(217,217,217,0.2);--l-52682f:#bdcda5;--l-697747:#acb694;--l-6b7d3a:#b4c091;--l-71804b:#a7b18c;--l-a4aa8e:#4a4d3d;--l-a7aa97:#4a4c3e;--l-a9a58f:#4d4b3d;--l-a9ab98:#4a4c3e;--l-7a7c68:#8a8774;--l-c8c8b9:#4d4d3d;--l-cfcbb8:#4d4a3d;--l-d3cfbf:#4d4a3d;--l-d6d5c7:#4d4c3d;--l-d8d8cb:#4d4d3d;--l-dcdccd:#4d4d3d;--l-e2ded0:#4d493d;--t-06c755:#06c755;--t-15141a:#e4e3e8;--t-1877f2:#4a90f0;--t-26271f:#e3e4df;--t-2f3423:#dbded3;--t-34451b:#d7e2c6;--t-3c4030:#cfd2c7;--t-3f4f22:#d0dbbc;--t-474c37:#c6cabb;--t-4a4b3e:#c3c4bb;--t-4d4f43:#bebfb7;--t-4d5240:#bec1b5;--t-4f5244:#bcbeb4;--t-4f5440:#bec1b3;--t-4f5940:#b9c0af;--t-52682f:#bdcda5;--t-5d604f:#b0b3a7;--t-5d604f80:rgba(176,179,167,0.502);--t-5d6249:#b4b7a6;--t-5f6252:#aeb0a4;--t-5f6255:#abada4;--t-63645a:#abaca5;--t-67685d:#abaca5;--t-686b58:#adafa2;--t-697747:#afb998;--t-6b7a3a:#b6c193;--t-6b7d3a:#b4c091;--t-738146:#b2bc95;--t-76796b:#abaca4;--t-7a3b2e:#cb9e95;--t-7a5a12:#e2cc9a;--t-83311f:#d69d90;--t-8e5b4d:#bc9d95}
:root.night{--ink:#ece6d6;--paper:#1d1b17;--seal:#e88a72;--green-hover:#b7c48e;color-scheme:dark}
#prefs-btn::after{content:attr(data-cap);position:absolute;left:50%;top:40px;translate:-50% 0;font-size:.6875rem;letter-spacing:.06em;line-height:1;white-space:nowrap;color:var(--t-5d604f,#5d604f)}
html[lang=en] #prefs-btn::after{letter-spacing:.02em}
html:not(.kana) rt.k{display:none}
:root.night .scene{background:radial-gradient(closest-side,rgba(232,170,96,.16),rgba(232,170,96,.05) 70%,transparent);border-radius:50%}
:root.night .paper{opacity:.06}
#pair{display:block;margin:4px auto 0;min-height:44px;padding:8px 12px;border:0;background:transparent;color:var(--green-hover);font:inherit;font-size:.875rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.pair-note{max-width:22rem;margin:6px auto 0;font-size:.9375rem;line-height:1.7;text-align:center}
#kashi-opts{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin:4px 0 0;font:.875rem system-ui,sans-serif;color:var(--t-5d6249)}
#kashi-opts button{min-height:44px;padding:0 6px;border:0;background:none;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px}
#kashi-other[hidden]+span,#kashi-opts span:has(+#kashi-way[hidden]){display:none}
#r-school-change{display:inline-flex;align-items:center;min-height:44px;vertical-align:middle;margin-left:6px;padding:0 4px;border:0;background:none;font:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px}
.status{flex-wrap:wrap;justify-content:center;max-width:100%;gap:8px;min-width:0;min-height:32px}
.status #phase{white-space:normal;max-width:min(100%,20rem);text-align:center}
.status .meter{flex-shrink:0}
.status #quality,.status #timer{font-variant-numeric:tabular-nums}
body.lesson .first-actions{display:none}
.lesson-controls button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
#prefs{max-width:calc(100vw - 24px);max-height:calc(100dvh - 102px);overflow-y:auto;overscroll-behavior:contain}
#kind-menu{inset:auto 0 max(12px,env(safe-area-inset-bottom)) 0;margin:0 auto;width:min(88vw,340px);max-height:80dvh;overflow:auto;padding:16px;border:1px solid var(--l-c8c8b9);border-radius:18px;background:var(--b-f4f1e8);color:var(--ink)}
#kind-menu button{display:flex;flex-direction:column;align-items:flex-start;width:100%;white-space:normal;border:1px solid var(--l-c8c8b9);margin-top:8px;border-radius:12px}
#kind-menu small{font-size:.8125rem;color:var(--t-5d6249);margin-top:3px}
.inline-actions{max-width:min(94vw,520px);margin:12px auto;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;text-align:center}
.inline-actions p,.inline-actions>span{flex-basis:100%;font-size:.875rem;line-height:1.6;margin:0}
.inline-actions button,.view-turns button{border:1px solid var(--l-c8c8b9);white-space:normal;min-height:44px}
#leave-go{background:var(--green);color:#fbfaf3}
.view-turns{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:8px auto;max-width:100%}
.view-turns button{font-size:.8125rem;padding:8px 10px}
.memory-panel{margin:14px 0;padding-top:10px;border-top:1px solid var(--l-c8c8b9);font-size:.875rem;line-height:1.7}
.memory-panel summary{min-height:44px;cursor:pointer;padding:10px 0}
.memory-list{list-style:none;padding:0;margin:8px 0}
.memory-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:10px 0;padding:8px 0;border-bottom:1px solid var(--l-c8c8b9)}
.memory-list img{width:80px;height:80px;object-fit:contain;border-radius:50%}
.memory-list .memory-copy{flex:1;min-width:0;overflow-wrap:anywhere}
.memory-list button{border:1px solid var(--l-c8c8b9);white-space:normal}
.memory-list input{max-width:100%;min-width:0;width:100%;font:inherit}
#seat-status{display:block}
#journal,#setup{max-height:90dvh;overflow-y:auto;overscroll-behavior:contain}
.learning-pair{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.learning-pair figure{margin:0;text-align:center;max-width:100%}
.learning-pair canvas{width:112px;height:112px;touch-action:auto;cursor:default}
#lesson-home ol{padding-inline-start:1.5em;font-size:.875rem;line-height:1.8}
#haiken-turns{max-width:94vw}
@media(forced-colors:active){.inline-actions button,.view-turns button,#kind-menu button{border-color:ButtonText}#leave-go{background:Highlight;color:HighlightText}}
#cup-save-near{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-4-6 4z'/%3E%3C/svg%3E")}
#cup-undo{--i:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 4L3 9l5 5M3 9h10a6 6 0 0 1 0 12'/%3E%3C/svg%3E")}
#seat-save,#seat-load{white-space:normal;max-width:100%}
.lesson-strip{display:flex;align-items:center;gap:4px;min-width:0;max-width:100%}
.lesson-strip>.lesson-picks{flex:1;min-width:0;margin-bottom:0}
.lesson-strip>button{flex:0 0 44px;width:44px;padding:8px 0;font-size:1.25rem;border:1px solid var(--l-c8c8b9)}
.recipe-controls{font-size:.875rem;line-height:1.7}
.recipe-controls button,.recipe-controls select,.memory-panel summary,.memory-panel button{min-height:44px;white-space:normal;max-width:100%}
.recipe-controls a{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-underline-offset:3px}
.recipe-controls select,#learning-pattern{width:100%;max-width:100%;min-width:0;min-height:44px;font:inherit;color:inherit;background:var(--paper);border:1px solid var(--l-7a7c68);border-radius:8px;padding:8px}
.recipe-steps{padding:12px;border:1px solid var(--l-c8c8b9);border-radius:12px}
.recipe-steps p{overflow-wrap:anywhere}
#memory-replace{padding:12px;border:1px solid var(--l-52682f);border-radius:12px}
#home-list li>p{flex:1 1 100%;margin:0}
#home-list details{flex:1;min-width:0}
#home-list textarea{font:inherit;width:100%;min-height:6em}
#draft-failure{border:1px solid var(--l-c8c8b9);padding:12px;border-radius:12px}
#season-apply{display:block;margin:0 auto;white-space:normal}
#lesson-home>summary,#latte-lessons>details>summary{min-height:44px;padding-block:10px;cursor:pointer}
#lesson-home{border-top:1px solid var(--l-c8c8b9);margin-top:8px}
#lesson-repeat-stage{border:1px solid var(--l-c8c8b9)}
@media(max-width:800px){body.lesson .scene{width:min(80vw,34svh);margin-top:100px}#latte-lessons{margin-top:0}.lesson-controls{gap:4px}.lesson-controls button{padding-inline:10px}.lesson-picks button{flex-basis:88px}.lesson-strip{gap:2px}}
@media(forced-colors:active){.recipe-steps,#memory-replace,.lesson-strip>button{border-color:ButtonText}}
@media(max-width:800px){body.first.lesson main{padding-top:0}.lesson-utility{justify-content:flex-end;margin:0 0 4px}}
.guidance>:is(#cup-save-near,#gift-offer){display:block;margin:10px auto 0;padding:8px 18px;border:1px solid var(--l-a4aa8e);border-radius:999px;background:var(--b-f4f1e8);color:var(--t-5d6249);font-size:.875rem;min-height:44px}
.gift-near .guidance>:is(#cup-save-near,#gift-offer){display:inline-block;margin:10px 4px 0;vertical-align:top}
.gift-near .controls.later #gift{display:none}
.safety-note{margin:8px 0;padding:8px 12px;border-inline-start:3px solid var(--t-7a5a12);border-radius:4px;background:var(--b-ece7d8);color:var(--ink);line-height:1.6}
.gift-privacy{line-height:1.65}
html.reduce-motion{scroll-behavior:auto}
html.reduce-motion .appear,html.reduce-motion .nudge,html.reduce-motion #kashi:not([hidden]),html.reduce-motion dialog[open],html.reduce-motion .scene.glow::after,html.reduce-motion dialog[open]::backdrop{animation:none!important}
html.reduce-motion #tea{transition:none}
html.reduce-motion #step-next.waiting::after{display:none}
@media(max-width:370px) and (max-height:600px){body.first main{padding-top:88px;padding-bottom:32px}body.first .scene{width:min(82vw,38svh)}body.first .controls{margin-top:12px}body.first .status{margin-top:10px}body.first .first-actions{margin-top:0}}
.mast .hub-home{position:absolute;inset:-34px auto auto calc(100vw - 4.2vw - 150px);transform:translateX(-100%);z-index:5;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px 12px;border:1px solid var(--l-c8c8b9);border-radius:999px;background:var(--b-f4f1e8);color:var(--t-474c37);font-size:.8125rem;letter-spacing:.03em;text-decoration:none;white-space:nowrap;writing-mode:horizontal-tb}
.mast .hub-home:focus-visible{outline:2px solid var(--t-52682f);outline-offset:3px}
#easy-note{margin:2px 0 8px 22px;max-width:32rem;font-size:.8125rem;line-height:1.55;color:var(--t-5f6255)}
#prep-hot{max-width:34rem}
@media(max-width:800px){.mast .hub-home{inset:-22px auto auto calc(50vw - 24px);transform:translateX(-50%)}}
@media(forced-colors:active){.mast .hub-home{border-color:ButtonText;color:ButtonText;background:ButtonFace}}
@media(max-width:520px){.controls.later{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(92vw,400px);border-radius:18px}.controls.later button,html[lang=en] .controls.later button{font-size:1rem;white-space:normal;min-width:0;padding:10px 8px}.controls.later button[data-cap]::after,html[lang=en] .controls.later button[data-cap]::after{font-size:.75rem}}
#first-more{margin:8px auto 0;max-width:440px;text-align:center;font-size:.875rem;line-height:1.6}#first-more>summary{min-height:44px;align-content:center;cursor:pointer}#first-more .inline-actions{justify-content:center;flex-wrap:wrap}#first-more button{font:inherit;min-height:44px;white-space:normal}
:is(.drinking,.prep,.replaying) #first-more,body[data-kind=latte]:has(#latte-lessons[data-open=true]) #first-more{display:none}
#lesson-pace{padding:12px;border:1px solid var(--t-5f6252);border-radius:16px;background:var(--paper);color:inherit;max-width:90vw}#lesson-pace:popover-open{display:flex;gap:8px;flex-wrap:wrap}#lesson-pace button{min-height:44px;font-size:1rem}#lesson-pace button[aria-pressed=true]{outline:2px solid currentColor;outline-offset:2px}
.lesson-stages{display:flex;flex-wrap:wrap;gap:4px 12px;list-style:none;padding:0;margin:4px 0;font:.75rem/1.5 system-ui,sans-serif;color:var(--t-5f6252)}.lesson-stages li:not(:last-child)::after{content:' ›';content:' ›' / '';margin-left:6px}.lesson-stages [aria-current=step]{font-weight:700;color:var(--t-474c37);text-decoration:underline;text-underline-offset:3px}.recipe-care{margin:12px 0}.recipe-care summary{min-height:44px;align-content:center;cursor:pointer}.recipe-care p{font-family:system-ui,sans-serif}
body:not(.first):not(.first-bowl) #first-more{display:none}
#usual-seat{text-align:center;margin:4px 0;font:.875rem system-ui,sans-serif}#usual-seat button{min-height:44px;font:inherit;text-decoration:underline;text-underline-offset:3px}:is(.drinking,.prep,.replaying) #usual-seat{display:none}
@media(max-width:360px){#prefs-btn{top:60px}}
@media(max-width:520px){body.offering:not(.gift-near) .controls.later #ritual{grid-column:1/-1}}
html body.drinking .controls.later{display:none}
body.finished .controls.later:not(:has(#gift[aria-disabled=true])) #more{grid-column:1/-1}
.drinking .mast .hub-home{display:none}
.memory-open{padding:0;border:0;background:none;align-self:start;border-radius:12px;min-width:80px;min-height:80px}.memory-open img{display:block;width:80px;height:80px;border-radius:12px}
.memory-enlarged{display:block;width:min(100%,360px);height:auto;aspect-ratio:1;object-fit:contain;margin:8px auto;border-radius:16px;touch-action:auto}
#memory-view{width:min(92vw,440px)}#memory-view-title{overflow-wrap:anywhere}
#draft-picture{border-radius:50%;object-fit:contain}#draft-description{flex:1;min-width:10rem}
.home-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-fields input{box-sizing:border-box;width:100%;min-width:0}.home-fields .field:last-child{grid-column:1/-1}
#prep-progress{margin:4px auto;text-align:center;font-variant-numeric:tabular-nums}#prep-progress[hidden]{display:none}
#gift-preview canvas{width:90px;height:90px;touch-action:auto}#gift-preview p{overflow-wrap:anywhere}
#home-details summary{min-height:44px;cursor:pointer}#home-details-error{color:var(--t-5d6249)}
body.newcomer .first-actions{flex-wrap:wrap}.first-actions #first-big,.first-actions #first-kana{flex-shrink:0}
.petal{position:absolute;top:-4%;z-index:3;width:10px;height:7px;border-radius:70% 0 70% 0;pointer-events:none;opacity:0;animation:petal-fall 2.6s ease-in forwards}
.petal.sakura{background:#f2c4cc}.petal.aoba{background:#8fae5e}.petal.momiji{background:#c8552f;border-radius:30% 70% 30% 70%}.petal.yuki{width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 2px rgba(80,70,50,.3)}
@keyframes petal-fall{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:.95}100%{opacity:0;transform:translate(var(--sway,12px),78vw) rotate(260deg)}}
@media(min-width:801px){@keyframes petal-fall{0%{opacity:0;transform:translate(0,0) rotate(0)}12%{opacity:.95}100%{opacity:0;transform:translate(var(--sway,12px),420px) rotate(260deg)}}}
@media(prefers-reduced-motion:reduce){.petal{display:none}}html.reduce-motion .petal{display:none}
@supports not selector(:popover-open){[popover]{display:none}[popover].open{display:block;position:fixed;z-index:20}#prefs.open{display:flex;flex-direction:column}#lesson-pace.open{display:flex;gap:8px;flex-wrap:wrap;inset:0;margin:auto;width:fit-content;height:fit-content}}
footer>.footer-run{flex:1 0 100%;display:inline-flex;flex-wrap:wrap;justify-content:center;gap:0 .5em}.footer-run>[hidden]{display:none}
.reading button{white-space:normal}
main.notfound>*{max-width:100%;overflow-wrap:anywhere}