.play-tabs{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:1.25rem}.play-tabs__spacer{flex:1}.play-tab{padding:.45rem 1.1rem;border-radius:999px;border:1px solid rgb(var(--border-faint));background:rgb(var(--bg-elevated));color:rgb(var(--text-muted));font-size:.85rem;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.play-tab:hover{color:rgb(var(--primary))}.play-tab.is-active{background:rgb(var(--primary) / .12);border-color:rgb(var(--primary) / .35);color:rgb(var(--primary))}.play-mute{padding:.45rem .9rem;border-radius:999px;border:1px dashed rgb(var(--border-faint));background:transparent;color:rgb(var(--text-faint));font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;letter-spacing:.12em;cursor:pointer;transition:color .2s ease}.play-mute:hover{color:rgb(var(--text-muted))}.play-toolbar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:.85rem}.play-hint{margin:0;font-size:.86rem;color:rgb(var(--text-muted))}.play-actions{display:flex;align-items:center;gap:.75rem}.play-count{font-family:JetBrains Mono,ui-monospace,monospace;font-size:.7rem;letter-spacing:.1em;color:rgb(var(--text-faint))}.play-btn{padding:.35rem .9rem;border-radius:999px;border:1px solid rgb(var(--border-faint));background:rgb(var(--bg-elevated));color:rgb(var(--text-muted));font-size:.78rem;cursor:pointer;transition:color .2s ease,border-color .2s ease}.play-btn:hover{color:rgb(var(--primary));border-color:rgb(var(--primary) / .4)}.play-btn.is-hidden,.play-panel.is-hidden{display:none}.bubble-sheet{position:relative;height:clamp(320px,52vh,440px);padding:14px;display:flex;flex-wrap:wrap;justify-content:center;align-content:center;gap:6px;overflow:hidden;border-radius:.5rem;border:1px solid rgb(var(--border-faint));background:radial-gradient(ellipse at 50% 0%,rgb(var(--primary) / .05),transparent 60%),rgb(var(--bg-elevated));box-shadow:0 4px 20px -10px #3c3c321f;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none}.bubble{width:46px;height:46px;flex:0 0 auto;border-radius:50%;border:1px solid rgb(var(--border-faint));padding:0;cursor:pointer;background:radial-gradient(circle at 34% 30%,#fffffff2,#ffffff59 26%,#fff0 44%),radial-gradient(circle at 50% 55%,#c4d2be52,#94a88e42 62%,#6e826957);box-shadow:inset 0 -3px 6px #5466502e,inset 0 2px 4px #ffffffb3,0 1px 2px #3c3c3214;transition:transform .12s ease;touch-action:none;-webkit-tap-highlight-color:transparent}.bubble.is-popped{cursor:default;transform:scale(.94);background:radial-gradient(circle at 50% 58%,rgba(120,134,116,.16) 0%,rgba(120,134,116,.05) 60%,transparent 76%);box-shadow:inset 0 2px 6px #3c463a38,inset 0 -1px 2px #ffffff59}.bubble.just-popped{animation:bubblePop .22s ease-out}@keyframes bubblePop{0%{transform:scale(1.14)}60%{transform:scale(.86)}to{transform:scale(.94)}}@media (max-width: 480px){.bubble{width:40px;height:40px}.pop-ring{width:40px;height:40px;margin:-20px 0 0 -20px}}.pop-ring{position:absolute;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;border:2px solid rgb(var(--primary) / .4);pointer-events:none;animation:popRing .36s ease-out forwards}@keyframes popRing{0%{transform:scale(.7);opacity:.9}to{transform:scale(1.5);opacity:0}}.sand-frame,.pond-frame,.rain-frame,.beach-frame,.breath-frame,.ink-frame{height:clamp(320px,50vh,430px);display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:.5rem;border:1px solid rgb(var(--border-faint));background:rgb(var(--bg-elevated));box-shadow:0 4px 20px -10px #3c3c321f}.sand-frame canvas,.pond-frame canvas,.rain-frame canvas,.beach-frame canvas,.breath-frame canvas,.ink-frame canvas{display:block;touch-action:none;border-radius:.25rem}.sand-frame canvas{cursor:crosshair}.pond-frame canvas{cursor:pointer}.beach-frame{background:#ece3d2}.beach-frame canvas{cursor:crosshair}.breath-frame{background:#f5f2ea}.breath-frame canvas{cursor:pointer}.ink-frame{background:#f5f2ea}.ink-frame canvas{cursor:crosshair}.slime-frame{height:380px;overflow:hidden;border-radius:.5rem;border:1px solid rgb(var(--border-faint));background:radial-gradient(ellipse at 50% 100%,rgb(var(--primary) / .06),transparent 55%),rgb(var(--bg-elevated));box-shadow:0 4px 20px -10px #3c3c321f}.slime-frame canvas{display:block;cursor:grab;touch-action:none}.slime-frame canvas:active{cursor:grabbing}.breath-modes{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.breath-mode{display:inline-flex;flex-direction:column;align-items:center;gap:.1rem;padding:.4rem .9rem;border-radius:.6rem;border:1px solid rgb(var(--border-faint));background:rgb(var(--bg-elevated));color:rgb(var(--text-muted));font-size:.74rem;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease}.breath-mode__use{font-size:.62rem;color:rgb(var(--text-faint))}.breath-mode:hover{color:rgb(var(--primary))}.breath-mode.is-active{background:rgb(var(--primary) / .12);border-color:rgb(var(--primary) / .35);color:rgb(var(--primary))}.page-closing{position:relative;margin:6rem auto 2rem;max-width:44rem;padding:3.5rem 1.5rem 3rem;text-align:center}.page-closing:before,.page-closing:after{content:"";display:block;width:3.2rem;height:1px;background:rgb(var(--text-faint));margin:0 auto}.page-closing:before{margin-bottom:2rem}.page-closing:after{margin-top:1.75rem}.page-closing__quote{margin:0;font-family:Fraunces,Iowan Old Style,"Noto Serif SC",Georgia,serif;font-weight:400;font-size:clamp(1.35rem,2.4vw,1.75rem);line-height:1.7;letter-spacing:.01em;color:rgb(var(--text));text-wrap:balance}.page-closing__by{margin:1.5rem 0 0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgb(var(--text-faint))}
