:root{--font-hand: "Caveat", cursive;--font-hand-clean: "Patrick Hand", cursive;--font-body: "Nunito", system-ui, sans-serif;--page-bg: #f1e7d6;--bg: #fff7e9;--surface: #fffdf6;--ink: #3e2c22;--ink-soft: #8a6a4f;--ink-faint: #b49b7e;--cream: #fff1e2;--cream-fixed: #fff1e2;--ink-fixed: #3e2c22;--orange: #c8562c;--orange-dark: #a93f1b;--orange-darker: #8a3d1e;--orange-light: #d96b3a;--rust: #b4552d;--gold: #e0a32e;--sand: #d9a05b;--leaf: #7a8c4f;--peach: #ffdbc9;--peach-bg: #ffe3d2;--gold-bg: #ffefd6;--gold-bg-soft: #fff3dc;--sky-bg: #e1eef2;--sky-ink: #1f5a66;--leaf-bg: #eff2e1;--line: #f0dbb9;--shadow-xs: 2px 3px 0 rgba(62, 44, 34, .5);--shadow-sm: 3px 4px 0 rgba(62, 44, 34, .85);--shadow-md: 4px 5px 0 rgba(62, 44, 34, .9);--shadow-lg: 5px 7px 0 rgba(62, 44, 34, .9);--shadow-hard: var(--shadow-md);--shadow-hard-lg: var(--shadow-md);--shadow-hard-sm: var(--shadow-xs);--shadow-soft: 4px 5px 0 rgba(62, 44, 34, .5);--r-xs: 6px;--r-sm: 10px;--r-md: 14px;--r-lg: 16px;--r-xl: 22px;--r-pill: 999px;--dur-fast: .12s;--dur-base: .2s;--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);color-scheme:light}:root[data-theme=dark]{--page-bg: #17110c;--bg: #211812;--surface: #2b2019;--ink: #f5e9da;--ink-soft: #c9b193;--ink-faint: #8a7259;--cream: #2b2119;--line: #3c2f24;--shadow-xs: 2px 3px 0 rgba(0, 0, 0, .45);--shadow-sm: 3px 4px 0 rgba(0, 0, 0, .6);--shadow-md: 4px 5px 0 rgba(0, 0, 0, .7);--shadow-lg: 5px 7px 0 rgba(0, 0, 0, .7);--shadow-hard: var(--shadow-md);--shadow-hard-lg: var(--shadow-md);--shadow-hard-sm: var(--shadow-xs);--shadow-soft: 4px 5px 0 rgba(0, 0, 0, .45);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}html,body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;overflow:hidden}body{margin:0;background:var(--page-bg);color:var(--ink);font-family:var(--font-body);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}body.native-camera-active,body.native-camera-active .app-shell{background:transparent!important}button{font-family:inherit}input,textarea{font-family:var(--font-body)}input:focus,textarea:focus{outline:none}.hand{font-family:var(--font-hand)}@keyframes bloom{0%{transform:scale(.3) rotate(-40deg)}60%{transform:scale(1.2) rotate(8deg)}to{transform:scale(1) rotate(0)}}@keyframes pop{0%{transform:scale(.4) rotate(-4deg)}55%{transform:scale(1.25) rotate(-4deg)}80%{transform:scale(.92) rotate(-4deg)}to{transform:scale(1) rotate(-4deg)}}@keyframes rise{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes pushOut{0%{transform:translate(0)}to{transform:translate(100%)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes bob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1.5deg)}}@keyframes fishFloat{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-9px) rotate(4deg)}}@keyframes jump{0%{transform:translateY(0)}30%{transform:translateY(-14px) rotate(-4deg)}55%{transform:translateY(0)}70%{transform:translateY(-6px) rotate(3deg)}to{transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-9px) rotate(6deg)}}@keyframes b1{to{transform:translate(24px,-20px) scale(.2);opacity:0}}@keyframes b2{to{transform:translate(-22px,-24px) scale(.2);opacity:0}}@keyframes b3{to{transform:translate(28px,8px) scale(.2);opacity:0}}@keyframes b4{to{transform:translate(-26px,12px) scale(.2);opacity:0}}@keyframes b5{to{transform:translate(5px,-30px) scale(.2);opacity:0}}@keyframes b6{to{transform:translate(-7px,26px) scale(.2);opacity:0}}@keyframes recpulse{0%,to{opacity:1}50%{opacity:.25}}@keyframes driftA{0%,to{transform:translate(0) rotate(-6deg)}50%{transform:translate(8px,-12px) rotate(8deg)}}@keyframes driftB{0%,to{transform:translate(0) rotate(4deg)}50%{transform:translate(-10px,9px) rotate(-8deg)}}.app-shell{max-width:460px;margin:0 auto;height:100vh;display:flex;flex-direction:column;position:relative;background:var(--bg);overflow:hidden}@media (orientation: landscape){.app-shell:has(.overlay-recording){max-width:none}}.home-content{display:flex;flex-direction:column;height:100%;min-height:0}.scroll-region{flex:1;min-height:0;overflow-y:auto}.motivation-fit{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}.btn{border:none;border-radius:999px;padding:15px 22px;font-size:16px;font-weight:700;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out),background var(--dur-fast) var(--ease-out);box-sizing:border-box}.btn-primary{background:var(--orange);color:var(--cream-fixed);box-shadow:var(--shadow-hard-lg)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-dark{background:var(--ink);color:var(--cream);box-shadow:var(--shadow-soft)}.btn-ghost{background:transparent;color:var(--ink-faint);box-shadow:none;border:2px solid rgba(255,241,226,.4)}textarea,input{font-size:16px;font-weight:600;color:var(--ink);background:var(--surface);border-radius:16px;padding:18px 20px;width:100%}.flyfish-older{align-self:center;margin-bottom:10px;padding:7px 16px;border:none;border-radius:var(--r-pill);background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-soft);font-size:12.5px;font-weight:600;cursor:pointer}.membership-invite{margin:0 0 8px;font-family:var(--font-hand);font-size:23px;line-height:1.2;color:var(--ink)}.membership-danger{margin-top:26px;padding-top:20px;border-top:1.5px solid var(--line)}.membership-delete{margin-top:12px;width:100%;color:var(--orange);box-shadow:inset 0 0 0 1.5px var(--orange)}.btn:active,.fab:active,.fab-flyfish:active,.mini-btn:active,.gallery-day-btn:active,.settings-option:active,.suggest-chip:active,.idea-chip:active,.task-time-chip:active,.flyfish-target-toggle button:active{transform:translate(2px,3px);box-shadow:var(--shadow-xs)}.task-card:active,.gallery-reel-card:active,.gallery-stat-card:active,.paywall-plan:active{transform:translate(1px,2px);box-shadow:var(--shadow-sm)}button:active{opacity:.6}.btn-ghost:active,.btn-ghost-dark:active,.settings-nav-row:active{transform:scale(.97);opacity:.7}button,.task-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.fab,.fab-flyfish,.mini-btn,.gallery-day-btn,.idea-chip,.task-time-chip,.paywall-plan,.settings-nav-row,.flyfish-target-toggle button{transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}:focus-visible{outline:2.5px solid var(--gold);outline-offset:2px}input:focus-visible,textarea:focus-visible{outline-offset:0;outline-width:2px}@media (prefers-reduced-motion: reduce){.btn:active,.fab:active,.fab-flyfish:active,.mini-btn:active,.gallery-day-btn:active,.settings-option:active,.suggest-chip:active,.idea-chip:active,.task-time-chip:active,.flyfish-target-toggle button:active,.task-card:active,.gallery-reel-card:active,.gallery-stat-card:active,.paywall-plan:active{transform:none}button:active{opacity:.6}}.scene{flex:1;display:flex;flex-direction:column;padding:calc(30px + env(safe-area-inset-top)) 24px calc(26px + env(safe-area-inset-bottom));position:relative;overflow:hidden;animation:rise .4s cubic-bezier(.34,1.56,.64,1)}.scene-eyebrow-wrap{display:flex;justify-content:center}.scene-eyebrow{font-size:11.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:6px 16px;border-radius:99px}.scene-underline{display:block;margin:6px auto 0}.scene-title{font-weight:700;line-height:1;text-align:center}.scene-subtitle{font-weight:700;font-size:14px;margin-top:10px;max-width:280px;margin-left:auto;margin-right:auto;text-align:center}.dot{position:absolute;border:2px solid}.dot-square{border-radius:60% 0%}.dot-square-alt{border-radius:0% 60%}.scene-motivation{background:linear-gradient(160deg,#d96b3a,#c8562c 60%,#a93f1b);color:var(--cream-fixed)}.scene-motivation .scene-eyebrow{background:#fff1e224}.scene-motivation .scene-title{font-size:44px;transform:rotate(-2deg)}.scene-motivation .scene-subtitle{opacity:.9}.scene-motivation .dot-a{top:96px;left:24px;width:11px;height:11px;background:#ffdbc973;border-color:#fff1e24d;animation:driftA 5s ease-in-out infinite}.scene-motivation .dot-b{top:150px;right:30px;width:9px;height:9px;background:#e0a32e80;border-color:#fff1e24d;animation:driftB 4.3s ease-in-out infinite}.mascot-ring{display:flex;justify-content:center;padding:8px 0 4px;position:relative}.mascot-ring-circle{width:88px;height:88px;border-radius:50%;background:#fff1e21a;border:2.5px dashed rgba(255,241,226,.4);display:flex;align-items:center;justify-content:center}.label-hand{font-family:var(--font-hand);font-weight:700;font-size:19px;color:var(--peach);margin-bottom:6px;padding-left:4px;transform:rotate(-1deg)}.tape{position:absolute;top:-6px;width:26px;height:14px;background:#fff1e280;border:1px solid rgba(62,44,34,.15);z-index:1}.tape-left{left:16px;transform:rotate(-8deg)}.tape-right{right:16px;transform:rotate(7deg)}.sticky-input-wrap{margin-top:24px;position:relative}.motivation-fit .sticky-input-wrap{margin-top:14px}.sticky-input{border:2.5px dashed var(--ink);box-shadow:4px 5px #3e2c2280;position:relative;z-index:2}.sticky-input:focus{border-color:var(--gold);border-style:solid}.love-it-badge{position:absolute;top:-13px;right:-2px;font-family:var(--font-hand);font-weight:700;font-size:18px;background:var(--ink);color:var(--cream);padding:1px 11px 3px;border-radius:99px 99px 99px 4px;animation:pop .4s cubic-bezier(.34,1.56,.64,1);z-index:3}.idea-row-label{font-family:var(--font-hand);font-weight:700;font-size:20px;color:var(--peach);transform:rotate(-1.2deg);margin-top:14px}.idea-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:10px}.idea-chip{font-size:13px;font-weight:600;padding:9px 15px;border-radius:10px;cursor:pointer;border:1.5px dashed rgba(62,44,34,.35);background:none}.scene-footer{margin-top:auto;display:flex;flex-direction:column;gap:14px;align-items:center;padding-top:22px}.scene-footer .btn{width:100%;text-align:center;box-sizing:border-box}.progress-dots{display:flex;gap:7px}.progress-dot{width:8px;height:8px;border-radius:99px;background:#fff1e266}.progress-dot.active{width:20px;background:var(--cream-fixed)}.scene-firsttask{background:var(--bg)}.scene-firsttask .dot{border:2px solid}.scene-firsttask .dot-a{top:120px;left:-18px;width:14px;height:14px;background:#7a8c4f40;border-color:#7a8c4f59;animation:driftA 5.2s ease-in-out infinite}.scene-firsttask .dot-b{top:250px;right:8px;width:10px;height:10px;background:#e0a32e4d;border-color:#e0a32e66;animation:driftB 4.6s ease-in-out infinite}.scene-firsttask .scene-eyebrow{background:var(--peach-bg);color:var(--rust);transform:rotate(-1deg)}.scene-firsttask .scene-title{font-size:42px;color:var(--orange);transform:rotate(-1.5deg);margin-top:16px}.scene-firsttask .scene-subtitle{color:var(--ink-soft)}.scene-firsttask .label-hand{color:var(--ink-soft);padding-left:6px}.scene-firsttask .tape{background:#e0a32e59;top:0}.scene-firsttask .tape-left{left:22px}.scene-firsttask .tape-right{right:22px}.today-input{border:2.5px solid var(--ink);box-shadow:4px 5px #3e2c22e6;transform:rotate(-1deg);transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;position:relative;z-index:2}.today-input:focus{border-color:var(--orange);transform:rotate(0) translateY(-2px);box-shadow:5px 8px #3e2c22e6}.suggest-row-label{font-family:var(--font-hand);font-weight:700;font-size:20px;color:var(--ink-soft);transform:rotate(-1.2deg);margin-top:22px}.suggest-chips{display:flex;flex-wrap:wrap;gap:11px;margin-top:10px}.suggest-chip{font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:14px;border:2px dashed;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.suggest-chip .hand{font-weight:700;font-size:17px}.scene-firsttask .scene-footer{padding-top:24px;align-items:stretch}.plant-hint{text-align:center;font-weight:700;font-size:12.5px;color:var(--ink-faint);margin-top:10px}.home{padding:0}.home-header{border-radius:0 0 34px 34px;padding:calc(24px + env(safe-area-inset-top)) 22px 24px;color:var(--cream-fixed);position:relative;overflow:hidden}.home-header .dot-a{top:20px;right:76px;width:13px;height:13px;background:#ffdbc980;border-color:#fff1e259;animation:driftA 5.5s ease-in-out infinite}.home-header .dot-b{top:64px;right:40px;width:9px;height:9px;background:#e0a32e99;border-color:#fff1e24d;animation:driftB 4.6s ease-in-out infinite}.header-glow-a{position:absolute;top:-34px;right:-30px;width:140px;height:140px;border-radius:50%;background:#fff1e20f}.header-glow-b{position:absolute;bottom:-24px;left:34%;width:110px;height:56px;border-radius:50%;background:#2b21181f;filter:blur(3px)}.header-top-row{display:flex;align-items:flex-start;justify-content:space-between;position:relative}.mascot-wrap{position:relative;flex:none}.mascot-wrap[role=button]{cursor:pointer}.mascot-quote-bubble{position:absolute;top:-6px;left:58px;background:var(--cream-fixed);color:var(--ink-fixed);font-family:var(--font-hand);font-weight:700;font-size:17px;padding:6px 14px 8px;border-radius:14px 14px 14px 3px;white-space:nowrap;box-shadow:var(--shadow-hard-sm);animation:pop .4s cubic-bezier(.34,1.56,.64,1);z-index:4;pointer-events:none}.mascot-shadow{position:absolute;left:7px;top:40px;width:32px;height:8px;border-radius:50%;background:#00000029;filter:blur(2px)}.mascot-img-fishfloat{animation:fishFloat 4.5s ease-in-out infinite}.mascot-img-bob{animation:bob 3.2s ease-in-out infinite}.mascot-img-celebrate{animation:jump .9s cubic-bezier(.34,1.56,.64,1) 1}.period-pill{display:flex;align-items:center;gap:6px;flex:none;background:#fff1e224;padding:5px 12px 5px 8px;border-radius:99px;margin-top:2px}.period-dot{width:8px;height:8px;border-radius:50%}.period-label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.greeting-block{margin-top:14px;position:relative}.greeting{font-family:var(--font-hand);font-weight:700;font-size:34px;line-height:1.08;transform:rotate(-1.2deg)}.greeting-name{cursor:pointer;border-bottom:2.5px dashed rgba(255,241,226,.6)}.greeting-name-input{font-family:var(--font-hand);font-weight:700;font-size:34px;color:var(--cream-fixed);background:#fff1e224;border:none;border-bottom:2.5px dashed var(--cream-fixed);width:170px;padding:0 2px}.motivation-line{font-family:var(--font-hand-clean);font-weight:400;font-size:16px;margin-top:8px;color:var(--peach);opacity:.85;transform:rotate(-1deg)}.home-body{display:flex;flex-direction:column;gap:12px;padding:24px 20px 0}.long-press-hint{font-family:var(--font-hand-clean);font-weight:400;font-size:18px;color:var(--rust);transform:rotate(-1deg);margin:-6px 0 4px 4px}.task-card{position:relative;display:flex;align-items:center;gap:14px;background:var(--surface);border:2px solid var(--ink);border-radius:16px;padding:15px 16px;box-shadow:var(--shadow-hard-lg);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:box-shadow .15s ease,transform .1s ease}.task-card-pressing{transform:scale(.98)}.task-card-menu-open{z-index:10}.check-wrap{width:30px;height:30px;flex:none;position:relative}.check-empty{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:10px;border:2.5px solid var(--ink)}.check-empty.rot{transform:rotate(45deg)}.check-done{position:absolute;top:0;right:0;bottom:0;left:0;animation:bloom .5s cubic-bezier(.34,1.56,.64,1)}.check-done-square{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:10px}.check-done-square.rot{transform:rotate(45deg)}.check-done-dot{position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;background:var(--surface)}.burst-wrap{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.burst-bit{position:absolute;top:10px;left:12px;width:7px;height:7px}.clip-badge{position:absolute;bottom:-9px;left:-9px;width:20px;height:16px;background:var(--ink);border-radius:5px;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--surface)}.clip-badge-dot{width:7px;height:7px;background:var(--gold);border-radius:50%}.task-text-wrap{flex:1;min-width:0;position:relative}.task-title{font-size:15.5px;font-weight:700;position:relative;display:inline-block;max-width:100%;overflow-wrap:break-word;word-break:break-word}.task-title-done{color:var(--ink-faint)}.task-strike-svg{position:absolute;left:0;top:50%;transform:translateY(-50%);width:100%;height:22px;overflow:visible;pointer-events:none}.task-edit-input{width:100%;border:none;border-bottom:2px solid var(--orange);background:transparent;font-size:16px;font-weight:700;color:var(--ink);padding:2px 0;border-radius:0}.task-time-chip{display:inline-block;margin-top:3px;font-size:12px;font-weight:600;color:var(--sky-ink);background:var(--sky-bg);padding:2px 8px;border-radius:8px}.task-time-input{display:block;margin-top:4px;width:auto;border:none;border-bottom:2px solid var(--sky-ink);background:transparent;font-size:16px;font-weight:700;color:var(--ink);padding:2px 0;border-radius:0}.nice-badge{position:absolute;top:-12px;right:46px;font-family:var(--font-hand);font-weight:700;font-size:19px;color:var(--cream-fixed);padding:1px 12px 3px;border-radius:99px 99px 99px 4px;animation:pop .45s cubic-bezier(.34,1.56,.64,1)}.kebab-btn{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:none;border:none;padding:0}.task-menu{position:absolute;top:44px;right:8px;background:var(--surface);border:2px solid var(--ink);border-radius:14px;box-shadow:3px 4px #3e2c22e6;z-index:20;overflow:hidden;min-width:150px}.task-menu-item{display:flex;align-items:center;gap:9px;padding:11px 15px;font-weight:700;font-size:13.5px;cursor:pointer;background:none;border:none;width:100%;text-align:left;color:var(--ink)}.task-menu-item-danger{color:var(--rust);border-top:1.5px solid var(--line)}.empty-state{text-align:center;padding:26px 20px 4px}.empty-state-mascot{width:58px;height:58px;margin:0 auto 12px;animation:bob 3.2s ease-in-out infinite}.empty-state-title{font-family:var(--font-hand);font-weight:700;font-size:24px;color:var(--ink-soft);transform:rotate(-1.5deg)}.empty-state-sub{font-weight:700;font-size:13.5px;color:var(--ink-faint);margin-top:6px;max-width:250px;margin-left:auto;margin-right:auto}.all-done-banner{text-align:center;padding:22px 20px 6px;position:relative}.all-done-spark{position:absolute;animation:floaty 3.4s ease-in-out infinite}.all-done-text{font-family:var(--font-hand);font-weight:700;font-size:30px;color:var(--leaf);transform:rotate(-2deg)}.snackbar{position:absolute;left:20px;right:20px;bottom:96px;background:var(--ink);color:var(--cream);border-radius:14px;padding:12px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;box-shadow:3px 4px #00000040;animation:rise .3s cubic-bezier(.34,1.56,.64,1);z-index:25}.snackbar-text{font-weight:700;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.snackbar-undo{font-family:var(--font-hand);font-weight:700;font-size:19px;color:var(--gold);cursor:pointer;flex:none;background:none;border:none}.add-bar-input{border:none;border-bottom:2.5px dashed var(--line);background:transparent;font-size:16px;font-weight:700;color:var(--ink);padding:10px 2px;border-radius:0;animation:rise .25s cubic-bezier(.34,1.56,.64,1)}.add-bar-input::placeholder{color:var(--ink-faint)}.fab{position:absolute;right:22px;bottom:calc(26px + env(safe-area-inset-bottom));z-index:20;width:62px;height:62px;border-radius:50% 46% 50% 48%;background:#e0a32ed1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;color:var(--ink);box-shadow:var(--shadow-hard-lg);cursor:pointer}.fab-flyfish{left:22px;right:auto;font-size:22px;box-shadow:var(--shadow-hard-lg),0 0 0 2px var(--sky-ink) inset}.combine-cta{margin:4px 0 0;width:100%}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;flex-direction:column;padding:calc(22px + env(safe-area-inset-top)) 22px calc(22px + env(safe-area-inset-bottom));animation:rise .3s cubic-bezier(.34,1.56,.64,1)}.overlay-dark{background:#2b2118;color:var(--cream-fixed)}.overlay-cream{background:var(--bg)}.overlay-push{transform:translate(100%)}.overlay-push-in{transform:none;transition:transform .28s cubic-bezier(.22,.61,.36,1)}.overlay-push-out{animation:pushOut .26s ease-in forwards}.overlay-top{display:flex;align-items:center;justify-content:space-between}.overlay-close{width:34px;height:34px;border-radius:50%;background:#fff1e21f;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;border:none;color:var(--cream-fixed)}.overlay-task-pill{font-size:13.5px;font-weight:600;padding:6px 14px;border-radius:99px;background:#fff1e21f;max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.countdown-frame{flex:1;border:3px dashed var(--gold);border-radius:28px;margin-top:18px;display:flex;align-items:center;justify-content:center}.overlay-recording{padding:0}.overlay-recording .overlay-message{padding:calc(22px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left))}.capture-frame-native,.countdown-frame-native{background:transparent!important}.overlay-recording .countdown-frame,.overlay-recording .capture-frame{position:absolute;top:0;right:0;bottom:0;left:0;margin:0}.overlay-recording .overlay-top{position:absolute;top:calc(16px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left));right:calc(16px + env(safe-area-inset-right));z-index:3}.overlay-recording .countdown-caption{position:absolute;left:calc(18px + env(safe-area-inset-left));right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:3}.overlay-recording .capture-actions{position:absolute;left:calc(18px + env(safe-area-inset-left));right:calc(18px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom));z-index:3;margin-top:0}.recording-motivation{position:absolute;top:calc(78px + env(safe-area-inset-top));left:calc(18px + env(safe-area-inset-left));right:calc(18px + env(safe-area-inset-right));z-index:2;text-align:center;font-family:var(--font-hand-clean);font-weight:400;font-size:14.5px;color:#fff1e28c;pointer-events:none}@media (orientation: landscape){.overlay-recording .overlay-top{top:calc(16px + env(safe-area-inset-top));bottom:calc(16px + env(safe-area-inset-bottom));left:calc(16px + env(safe-area-inset-left));right:auto;width:auto;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px}.overlay-recording .overlay-task-pill{max-width:170px}.overlay-recording .capture-actions{left:auto;top:50%;bottom:auto;transform:translateY(-50%);width:200px;flex-direction:column}.overlay-recording .capture-swipe-hint{left:calc(180px + env(safe-area-inset-left));right:calc(220px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom))}.overlay-recording .recording-motivation{top:auto;bottom:calc(46px + env(safe-area-inset-bottom));left:calc(180px + env(safe-area-inset-left));right:calc(220px + env(safe-area-inset-right));transform:none}}.countdown-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;font-family:var(--font-hand-clean);font-weight:400;font-size:120px;line-height:1;color:var(--gold);overflow:visible}.countdown-caption{text-align:center;font-weight:700;font-size:14px;color:#d9c3a4;margin-top:16px}.capture-top-left{display:flex;align-items:center;gap:8px}.rec-dot{width:10px;height:10px;border-radius:50%;background:var(--orange);animation:recpulse 1s infinite}.capture-frame{flex:1;border-radius:28px;margin-top:18px;position:relative;background:#fff1e20a;overflow:hidden}.capture-video{position:absolute;top:50%;left:50%;width:100%;height:100%;object-fit:cover;transform:translate(-50%,-50%)}.timelapse-badge{font-size:10.5px;font-weight:600;letter-spacing:.06em;padding:3px 8px;border-radius:99px;background:var(--gold);color:var(--ink)}.capture-corner{position:absolute;width:26px;height:26px;border-color:var(--gold);border-style:solid;border-width:0;pointer-events:none}.capture-corner-tl{top:14px;left:14px;border-top-width:3px;border-left-width:3px;border-radius:8px 0 0}.capture-corner-tr{top:14px;right:14px;border-top-width:3px;border-right-width:3px;border-radius:0 8px 0 0}.capture-corner-bl{bottom:14px;left:14px;border-bottom-width:3px;border-left-width:3px;border-radius:0 0 0 8px}.capture-corner-br{bottom:14px;right:14px;border-bottom-width:3px;border-right-width:3px;border-radius:0 0 8px}.capture-swipe-hint{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-family:var(--font-hand);font-size:15px;color:#fff1e299;pointer-events:none}.capture-actions{display:flex;gap:10px;margin-top:18px}.capture-actions .btn{flex:1;text-align:center}.clock-toggle-btn{width:34px;height:34px;border-radius:50%;background:#fff1e21f;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;border:none;color:var(--cream-fixed);flex-shrink:0}.clock-mode{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:#2b2118;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s ease}.clock-mode-active{opacity:1}.clock-mode-cards{display:flex;align-items:center;gap:16px}.clock-flip-card{position:relative;background:var(--cream-fixed);color:var(--ink-fixed);font-family:var(--font-body);font-weight:700;font-size:64px;line-height:1;border-radius:18px;padding:22px 28px;box-shadow:var(--shadow-hard-lg);min-width:1.4em;text-align:center}.clock-flip-card:before{content:"";position:absolute;top:-7px;left:24px;width:26px;height:14px;background:var(--sand);opacity:.9;transform:rotate(-6deg);border-radius:2px}.clock-colon{display:flex;flex-direction:column;gap:12px}.clock-colon:before,.clock-colon:after{content:"";display:block;width:10px;height:10px;border-radius:50%;background:#fff1e28c}.clock-mode-caption{margin-top:24px;font-size:17px;color:#fff1e2a6}.overlay-message{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;overflow-y:auto;min-height:0}.overlay-mascot-jump{width:80px;height:80px;animation:jump 1.1s cubic-bezier(.34,1.56,.64,1) infinite}.combine-title{font-family:var(--font-hand);font-weight:700;font-size:28px;color:var(--orange);transform:rotate(-1.5deg)}.combine-title-ready{font-size:34px;color:var(--leaf);transform:rotate(-2deg)}.combine-progress-track{width:220px;height:12px;border-radius:99px;background:var(--line);overflow:hidden}.combine-progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--gold),var(--orange));transition:width .2s ease}.combine-video-preview{width:100%;border-radius:16px;background:#000}.overlay-message .btn{width:100%;box-sizing:border-box}.overlay-hint{font-size:13px;color:var(--ink-soft)}.overlay-actions{display:flex;gap:10px;justify-content:center;width:100%}.overlay-card{background:var(--surface);color:var(--ink);border:2px solid var(--ink);border-radius:20px;padding:26px;box-shadow:var(--shadow-hard-lg);max-width:320px;width:100%;display:flex;flex-direction:column;gap:14px;align-items:center}.overlay-card p{margin:0;font-weight:700}.settings-btn,.gallery-btn{flex:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff1e224;border:none;color:var(--cream-fixed);margin-left:8px}.settings-panel{width:100%;max-width:340px;margin:auto;display:flex;flex-direction:column;gap:16px}.settings-shell{padding-top:calc(4px + env(safe-area-inset-top));padding-bottom:calc(14px + env(safe-area-inset-bottom))}.settings-shell .overlay-message{text-align:left;justify-content:flex-start}.settings-shell .settings-panel{margin:0 auto}.settings-shell .settings-hint{margin-top:6px;line-height:1.45;max-width:34em}.settings-top{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:340px;margin:0 auto 13px}.settings-title{font-size:30px;color:var(--orange);transform:rotate(-1.5deg)}.settings-panel-close{width:30px;height:30px;border-radius:50%;background:var(--gold-bg-soft);border:none;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;color:var(--ink-fixed)}.settings-section-label{font-family:var(--font-hand);font-weight:700;font-size:19px;color:var(--ink-soft);transform:rotate(-1deg);margin-bottom:7px}.settings-options{display:flex;flex-wrap:wrap;gap:8px}.settings-option{font-size:14px;font-weight:600;padding:10px 16px;border-radius:14px;border:2px dashed var(--line);background:var(--surface);color:var(--ink-soft);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.settings-option-active{background:var(--ink);color:var(--cream);border:2px solid var(--ink);box-shadow:3px 4px #3e2c2280}.settings-hint{font-size:12.5px;color:var(--ink-faint);margin-top:7px}.settings-reset-btn{width:100%;padding:12px 22px;color:var(--rust);border:2px solid var(--rust)}.gallery-shell{padding:0}.gallery-top{flex:none;border-radius:0 0 30px 30px;padding:calc(18px + env(safe-area-inset-top)) 22px 20px;color:var(--cream-fixed);position:relative;overflow:hidden}.gallery-top-dot-a{top:52px;right:26px;width:10px;height:10px;border-radius:0% 60%;background:#ffdbc980;border-color:#fff1e259;animation:driftA 5.5s ease-in-out infinite}.gallery-top-row{display:flex;align-items:center;justify-content:space-between;position:relative}.gallery-top-title{font-weight:700;font-size:26px;line-height:1;transform:rotate(-1.2deg)}.gallery-top-mascot{width:30px;height:30px;flex:none;animation:fishFloat 4.5s ease-in-out infinite}.gallery-top-summary{font-weight:700;font-size:12.5px;color:var(--peach);opacity:.9;text-align:center;margin-top:6px;position:relative}.gallery-scroll{flex:1;min-height:0;overflow-y:auto;padding:16px 20px 24px}.gallery-stats-row{display:flex;gap:11px;margin-bottom:14px}.gallery-stat-card{flex:1;background:var(--surface);border:2px solid var(--ink);border-radius:16px;padding:12px 13px;box-shadow:var(--shadow-hard);display:flex;align-items:center;gap:10px}.gallery-stat-icon{width:26px;height:26px;flex:none;border-radius:50%;background:var(--orange);display:flex;align-items:center;justify-content:center}.gallery-stat-icon.clips{background:var(--sky-bg);border:2px solid var(--sky-ink);border-radius:50% 50% 50% 10%}.gallery-stat-text{min-width:0}.gallery-stat-num{font-weight:700;font-size:19px;line-height:1}.gallery-stat-label{font-weight:700;font-size:10.5px;color:var(--ink-faint);margin-top:1px}.gallery-cal-card{background:var(--surface);border:2px solid var(--ink);border-radius:20px;padding:14px 12px 12px;box-shadow:var(--shadow-hard);position:relative}.gallery-cal-tape{position:absolute;top:-8px;left:32px;width:34px;height:16px;background:#e0a32e73;border:1px solid rgba(62,44,34,.15);transform:rotate(-6deg)}.gallery-cal-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.gallery-cal-month{font-weight:700;font-size:22px;line-height:1;color:var(--ink)}.gallery-cal-nav-btns{display:flex;gap:7px}.gallery-cal-nav-btn{width:30px;height:30px;border-radius:50%;background:var(--gold-bg-soft);border:2px solid var(--sand);color:var(--ink-soft);display:flex;align-items:center;justify-content:center;cursor:pointer}.gallery-cal-nav-btn:disabled{opacity:.35;cursor:default}.gallery-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.gallery-cal-weekday{text-align:center;font-weight:600;font-size:10.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);padding-bottom:6px}.gallery-cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;margin-bottom:4px}.gallery-cal-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;position:relative;border:none;font-family:inherit;font-weight:600;font-size:13.5px;cursor:default}.gallery-cal-cell:disabled{cursor:default}.gallery-cal-cell:not(:disabled){cursor:pointer}.gallery-cal-cell-pad{visibility:hidden}.gallery-cal-today-ring{position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;border:2.5px solid var(--ink)}.gallery-cal-cell-label{position:relative}.gallery-cal-legend{display:flex;align-items:center;gap:14px;margin-top:10px;padding:0 4px}.gallery-cal-legend-item{display:flex;align-items:center;gap:6px;font-weight:700;font-size:10.5px;color:var(--ink-faint)}.gallery-cal-legend-swatch{width:13px;height:13px;border-radius:5px;background:var(--orange)}.gallery-cal-legend-hint{font-weight:700;font-size:16px;color:var(--orange);margin-left:auto}.gallery-reels-title{font-weight:700;font-size:20px;color:var(--ink-soft);transform:rotate(-1deg);margin:18px 0 9px 2px}.gallery-reels-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-reel-card{background:var(--surface);border:2px solid var(--ink);border-radius:16px;padding:10px 10px 11px;box-shadow:var(--shadow-hard);cursor:pointer;text-align:left;font-family:inherit;transition:box-shadow .15s ease}.gallery-reel-card:active{transform:scale(.98)}.gallery-reel-thumb{aspect-ratio:1;border-radius:11px;background:linear-gradient(140deg,var(--gold),var(--orange) 65%,var(--orange-dark));border:2px solid var(--ink);position:relative;overflow:hidden}.gallery-reel-perf{position:absolute;left:0;right:0;height:9px}.gallery-reel-perf.top{top:0;background:repeating-linear-gradient(90deg,rgba(255,253,246,.5) 0 5px,transparent 5px 11px)}.gallery-reel-perf.bottom{bottom:0;background:repeating-linear-gradient(90deg,rgba(43,33,24,.3) 0 5px,transparent 5px 11px)}.gallery-reel-play{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.gallery-reel-play:before{content:"";position:absolute;width:30px;height:30px;border-radius:50%;background:#fffdf6eb;border:2px solid var(--ink)}.gallery-reel-play svg{position:relative}.gallery-reel-duration{position:absolute;bottom:13px;right:7px;background:#2b2118d1;color:var(--cream-fixed);border-radius:6px;padding:2px 7px;font-weight:600;font-size:10.5px}.gallery-reel-meta{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:9px}.gallery-reel-date{font-weight:700;font-size:20px;line-height:1;color:var(--orange)}.gallery-reel-count{font-weight:600;font-size:10.5px;color:var(--ink-faint);flex:none}.gallery-reel-caption{font-weight:700;font-size:11.5px;color:var(--ink-soft);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-empty-month{text-align:center;padding:30px 24px}.gallery-empty-title{font-size:22px;color:var(--orange);transform:rotate(-1.5deg)}.gallery-day-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#2b211899;z-index:45;display:flex;align-items:flex-end}.gallery-day-sheet{width:100%;background:var(--bg);border-top:2.5px solid var(--ink);border-radius:26px 26px 0 0;padding:18px 20px calc(20px + env(safe-area-inset-bottom));position:relative;max-height:88%;overflow-y:auto;animation:rise .3s cubic-bezier(.34,1.56,.64,1)}.gallery-day-tape{position:absolute;top:-9px;left:36px;width:36px;height:17px;background:#e0a32e80;border:1px solid rgba(62,44,34,.18);transform:rotate(-6deg)}.gallery-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.gallery-day-title{font-weight:700;font-size:28px;line-height:1;color:var(--orange)}.gallery-day-subtitle{font-weight:600;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);margin-top:4px}.gallery-day-close{width:32px;height:32px;flex:none;border-radius:50%;background:var(--peach-bg);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;color:var(--rust)}.gallery-day-video{margin:14px auto 0}.gallery-day-video .combine-video-preview{border-radius:18px}.gallery-day-filmstrip{display:flex;gap:7px;margin-top:12px;overflow-x:auto;padding-bottom:2px}.gallery-day-chip{width:40px;height:40px;flex:none;border-radius:9px;border:2px solid var(--ink);color:var(--cream-fixed);font-weight:600;font-size:13px;display:flex;align-items:center;justify-content:center}.gallery-day-actions{display:flex;gap:10px;margin-top:18px}.gallery-day-btn{flex:1;text-align:center;border-radius:99px;padding:14px;font-weight:600;font-size:14px;cursor:pointer;border:2px solid var(--ink)}.gallery-day-btn.ghost{background:transparent;color:var(--ink)}.gallery-day-btn.primary{background:var(--orange);color:var(--cream-fixed);font-weight:700;box-shadow:var(--shadow-hard)}.gallery-day-btn:disabled{opacity:.5;cursor:not-allowed}.gallery-day-actions-secondary{display:flex;justify-content:center;gap:18px;margin-top:10px}.gallery-delete-confirm{width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px;background:var(--surface);border:2px dashed var(--rust);border-radius:14px;color:var(--ink);font-weight:700;text-align:center;box-sizing:border-box}.gallery-delete-confirm-actions{display:flex;gap:10px;width:100%}.gallery-delete-confirm-actions .btn{flex:1}.confirm-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#2b21188c;display:flex;align-items:center;justify-content:center;padding:24px;animation:fadeIn .15s ease}.confirm-card{background:var(--cream);border-radius:22px;padding:22px;max-width:340px;width:100%;box-shadow:var(--shadow-hard-lg)}.confirm-message{margin:0 0 18px;color:var(--ink);font-size:15.5px;line-height:1.4}.confirm-actions{display:flex;gap:10px}.confirm-actions .btn{flex:1}.btn-ghost-dark{background:transparent;color:var(--ink);box-shadow:none;border:2px solid var(--line)}.flyfish-top{display:flex;align-items:center;justify-content:space-between;flex:none;padding:16px 20px 0}.icon-btn{flex:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff1e224;border:none;color:var(--cream-fixed)}.flyfish-chat-shell{padding:0}.flyfish-top-dark{background:linear-gradient(140deg,#8a3d1e,#3e2c22 55%,#2b2118);padding:calc(9px + env(safe-area-inset-top)) 18px 9px;border-radius:0 0 22px 22px;gap:10px}.flyfish-header-center{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.flyfish-header-title{font-size:19px;color:var(--cream-fixed);transform:rotate(-1deg);line-height:1.1}.flyfish-status{display:flex;align-items:center;gap:5px;font-family:var(--font-hand-clean);font-size:12.5px;color:#fff1e2bf;margin-top:1px}.flyfish-status-dot{width:6px;height:6px;border-radius:50%;flex:none}.flyfish-status-dot.leaf{background:var(--leaf)}.flyfish-status-dot.gold{background:var(--gold);animation:recpulse 1s ease-in-out infinite}.flyfish-status-dot.rust{background:var(--rust);animation:recpulse 1s ease-in-out infinite}.flyfish-target-toggle-row{flex:none;padding:8px 20px 0}.flyfish-target-toggle{display:inline-flex;gap:6px}.flyfish-target-toggle button{font-family:var(--font-body);font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:11px;border:2px dashed var(--line);background:transparent;color:var(--ink-soft);cursor:pointer}.flyfish-target-toggle button.active{background:var(--ink);color:var(--cream);border:2px solid var(--ink);box-shadow:var(--shadow-hard-sm)}.flyfish-target-hint{flex:none;font-size:12px;color:var(--ink-faint);padding:4px 20px 7px}.flyfish-messages{flex:1;min-height:0;overflow-y:auto;padding:4px 16px 12px;display:flex;flex-direction:column;gap:12px}.flyfish-msg-row{display:flex;align-items:flex-end;gap:8px;max-width:86%}.flyfish-msg-row.bot{align-self:flex-start}.flyfish-msg-row.user{align-self:flex-end;flex-direction:row-reverse}.flyfish-avatar{flex:none;width:24px;height:24px;border-radius:50%;background:var(--sky-bg);display:flex;align-items:center;justify-content:center;overflow:hidden}.flyfish-bubble{font-size:14px;line-height:1.45;padding:10px 13px;border-radius:15px;box-shadow:var(--shadow-hard-sm)}.flyfish-msg-row.bot .flyfish-bubble{background:var(--sky-bg);color:var(--sky-ink);border-bottom-left-radius:5px}.flyfish-msg-row.user .flyfish-bubble{background:var(--orange);color:var(--cream-fixed);border-bottom-right-radius:5px}.flyfish-msg-row.bot .flyfish-bubble.error{background:var(--peach-bg);color:var(--rust)}.flyfish-typing{display:flex;gap:4px;align-items:center;padding:2px 3px}.flyfish-typing span{width:6px;height:6px;border-radius:50%;background:var(--sky-ink);opacity:.5;animation:flyfishBounce 1.2s infinite ease-in-out}.flyfish-typing span:nth-child(2){animation-delay:.15s}.flyfish-typing span:nth-child(3){animation-delay:.3s}@keyframes flyfishBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion: reduce){.flyfish-typing span{animation:none;opacity:.8}.overlay-push{animation-name:fadeIn}.overlay-push-out{animation-name:fadeIn;animation-direction:reverse}}.flyfish-input-bar{flex:none;display:flex;align-items:center;gap:9px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));border-top:2px solid var(--line);background:var(--surface)}.flyfish-icon-round{flex:none;width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.flyfish-icon-round.send{background:var(--gold);color:var(--ink)}.flyfish-converse-btn{flex:none;display:flex;align-items:center;gap:6px;height:34px;padding:0 14px 0 12px;border-radius:99px;border:none;cursor:pointer;background:var(--sky-bg);color:var(--sky-ink);font-family:var(--font-hand, var(--font-body));font-size:14px;white-space:nowrap}.flyfish-icon-round:disabled{opacity:.45;cursor:not-allowed}.flyfish-text-input{flex:1;min-width:0;border:2px solid var(--line);border-radius:99px;padding:9px 15px;font-size:15px;font-family:var(--font-body);color:var(--ink);background:var(--bg)}.flyfish-text-input::placeholder{color:var(--ink-faint)}.flyfish-voice-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:calc(22px + env(safe-area-inset-top)) 28px calc(22px + env(safe-area-inset-bottom));background:linear-gradient(140deg,#8a3d1e,#3e2c22 55%,#2b2118);color:var(--cream-fixed);text-align:center}.flyfish-voice-exit{position:absolute;top:calc(16px + env(safe-area-inset-top));right:16px;width:32px;height:32px;border-radius:50%;border:none;background:#ffffff1f;color:var(--cream-fixed);display:flex;align-items:center;justify-content:center;cursor:pointer}.flyfish-voice-avatar{margin-bottom:4px}.flyfish-voice-state-label{font-family:var(--font-hand, var(--font-body));font-size:17px;opacity:.85}.flyfish-voice-state-label.listening{color:var(--gold)}.flyfish-voice-state-label.speaking{color:#9fd6c9}.flyfish-voice-caption{min-height:3.6em;max-width:320px;font-size:16px;line-height:1.4;opacity:.92}.flyfish-voice-bars{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;margin-top:6px}.flyfish-voice-bars span{display:block;width:6px;height:32px;border-radius:4px;background:var(--cream-fixed);opacity:.85;transform-origin:center}.flyfish-voice-bars.listening span{transition:transform 70ms linear}.flyfish-voice-bars.thinking span{animation:flyfishVoiceThinking 1.4s ease-in-out infinite;opacity:.6}.flyfish-voice-bars.thinking span:nth-child(2){animation-delay:.12s}.flyfish-voice-bars.thinking span:nth-child(3){animation-delay:.24s}.flyfish-voice-bars.thinking span:nth-child(4){animation-delay:.36s}.flyfish-voice-bars.thinking span:nth-child(5){animation-delay:.48s}@keyframes flyfishVoiceThinking{0%,to{transform:scaleY(.3)}50%{transform:scaleY(.6)}}.flyfish-voice-bars.speaking span{animation:flyfishVoiceSpeaking .6s ease-in-out infinite}.flyfish-voice-bars.speaking span:nth-child(2){animation-delay:.08s}.flyfish-voice-bars.speaking span:nth-child(3){animation-delay:.16s}.flyfish-voice-bars.speaking span:nth-child(4){animation-delay:.24s}.flyfish-voice-bars.speaking span:nth-child(5){animation-delay:.32s}@keyframes flyfishVoiceSpeaking{0%,to{transform:scaleY(.35)}50%{transform:scaleY(1)}}.flyfish-voice-error{font-size:13px;color:var(--gold);max-width:280px}.flyfish-voice-text-mode{margin-top:10px;background:none;border:none;color:var(--cream-fixed);opacity:.7;font-family:var(--font-hand, var(--font-body));font-size:14px;text-decoration:underline;cursor:pointer}@media (prefers-reduced-motion: reduce){.flyfish-voice-bars.thinking span,.flyfish-voice-bars.speaking span{animation:none;transform:scaleY(.6)}}.mini-btn{font-family:var(--font-body);font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:10px;border:none;cursor:pointer}.mini-btn.primary{background:var(--orange);color:var(--cream-fixed);box-shadow:var(--shadow-hard-sm)}.mini-btn.primary:disabled{opacity:.45;cursor:not-allowed}.mini-btn.ghost{background:transparent;color:var(--ink-faint);border:1.5px solid var(--line)}.flyfish-settings-section{margin-top:2px;padding:12px;border-radius:16px;border:2px solid var(--sky-ink);background:var(--sky-bg)}.flyfish-settings-section .settings-section-label{color:var(--sky-ink)}.flyfish-settings-section .settings-hint{color:#3f6b76}.flyfish-settings-section .btn-ghost-dark{color:var(--ink-fixed);border-color:#1f5a664d}.flyfish-settings-section .btn-ghost-dark:disabled{opacity:.65;cursor:not-allowed}.auth-panel{gap:12px;text-align:left}.auth-mascot{display:flex;justify-content:center;margin-bottom:2px}.auth-lead{font-size:14px;line-height:1.5;color:var(--ink-soft);text-align:center}.auth-input{width:100%;box-sizing:border-box;border:2px solid var(--line);border-radius:14px;padding:12px 15px;font-size:16px;font-family:var(--font-body);color:var(--ink);background:var(--surface)}.auth-input::placeholder{color:var(--ink-faint)}.auth-code-input{text-align:center;letter-spacing:8px;font-weight:700;font-family:Courier New,monospace}.auth-secondary{background:none;border:none;color:var(--ink-faint);font-family:var(--font-hand-clean, var(--font-body));font-size:13px;text-decoration:underline;cursor:pointer;padding:2px}.auth-error{font-size:13px;line-height:1.45;color:var(--rust);background:var(--peach-bg);border-radius:12px;padding:10px 12px}.paywall-hero{display:flex;flex-direction:column;align-items:center;gap:8px}.paywall-lead{font-size:14.5px;line-height:1.5;color:var(--ink-soft);text-align:center}.paywall-plans{display:flex;flex-direction:column;gap:10px}.paywall-plan{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:13px 15px;border-radius:16px;border:2px dashed var(--line);background:var(--surface);cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.paywall-plan-active{border:2px solid var(--ink);background:var(--ink);box-shadow:var(--shadow-hard-sm)}.paywall-plan-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.paywall-plan-name{font-size:15px;font-weight:700;color:var(--ink-soft)}.paywall-plan-price{font-size:14px;font-weight:600;color:var(--ink-soft)}.paywall-plan-meta{font-size:12.5px;color:var(--ink-faint)}.paywall-plan-active .paywall-plan-name,.paywall-plan-active .paywall-plan-price{color:var(--cream)}.paywall-plan-active .paywall-plan-meta{color:#fff1e2b3}.paywall-fineprint{line-height:1.5}.account-row{display:flex;align-items:center;gap:10px}.account-identity{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;color:var(--sky-ink)}.settings-nav-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;text-align:left;padding:13px 15px;border-radius:16px;border:2px dashed var(--line);background:var(--surface);cursor:pointer;transition:border-color .2s ease}.settings-nav-text{display:flex;flex-direction:column;gap:2px;min-width:0}.settings-nav-label{font-size:15px;font-weight:700;color:var(--ink-soft)}.settings-nav-hint{font-size:12px;color:var(--ink-faint)}.settings-nav-right{display:flex;align-items:center;gap:6px;flex:none;color:var(--ink-faint)}.settings-nav-value{font-size:13px;font-weight:700;color:var(--orange)}.subscreen-heading{display:flex;align-items:center;gap:8px;min-width:0}.subscreen-back{flex:none;width:30px;height:30px;border-radius:50%;border:none;background:var(--gold-bg-soft);color:var(--ink-fixed);display:flex;align-items:center;justify-content:center;cursor:pointer}.subscreen-title{font-size:27px}.overlay-message-wide,.settings-panel-wide{max-width:420px}.flyfish-target-toggle-row{display:flex;align-items:center;gap:10px}.style-sheet{width:100%;max-width:330px;max-height:78vh;overflow-y:auto;background:var(--bg);border-radius:22px;padding:18px;box-shadow:var(--shadow-hard-lg)}.style-sheet-title{font-size:22px;color:var(--orange);margin-bottom:2px}.style-sheet-note{font-size:12.5px;color:var(--ink-faint);margin-bottom:12px}.membership-status{display:flex;justify-content:center}.membership-badge{padding:7px 16px;border-radius:99px;font-size:13px;font-weight:600;background:var(--peach-bg);color:var(--rust)}.membership-badge-active{background:var(--sky-bg);color:var(--sky-ink)}.membership-rows,.ai-status-rows{display:flex;flex-direction:column;gap:1px}.membership-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1.5px dashed var(--line)}.membership-row:last-child{border-bottom:none}.membership-row-label{font-size:13px;color:var(--ink-faint)}.membership-row-value{font-size:13.5px;font-weight:600;color:var(--ink-soft);text-align:right}.membership-manage{display:block;width:100%;box-sizing:border-box;text-align:center;text-decoration:none}.scan-sheet{max-width:360px}.scan-rows{margin:12px 0 6px}.scan-row{display:flex;align-items:center;gap:8px;margin-bottom:7px}.scan-input{flex:1;min-width:0;padding:9px 11px;border:none;border-radius:10px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink);font-family:inherit;font-size:14px;font-weight:700}.scan-input:focus{outline:none;box-shadow:inset 0 0 0 1.5px var(--orange)}.scan-when{flex:none;font-size:11px;color:var(--ink-faint);font-variant-numeric:tabular-nums;white-space:nowrap}.scan-drop{flex:none;width:24px;height:24px;border:none;border-radius:50%;background:transparent;color:var(--ink-faint);font-size:17px;line-height:1;cursor:pointer}.scan-notes{margin:4px 0 12px;font-size:11.5px;line-height:1.5;color:var(--ink-faint)}.flyfish-icon-round.scan{background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-faint)}.tomorrow-card{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-top:4px;padding:13px 15px;border:2px dashed var(--line);border-radius:16px;background:transparent;color:var(--ink-soft);font-family:inherit;cursor:pointer}.tomorrow-card:active{transform:scale(.99)}.tomorrow-card-label{font-size:14px;font-weight:600}.tomorrow-card-meta{font-size:12.5px;color:var(--ink-faint);font-variant-numeric:tabular-nums}.tomorrow-sheet{max-width:360px}.tmr-rows{margin:12px 0 14px}.tmr-row{padding:10px 12px;margin-bottom:8px;border-radius:14px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line);transition:opacity .15s ease}.tmr-row-busy{opacity:.5;pointer-events:none}.tmr-title{width:100%;padding:0 0 7px;border:none;background:transparent;color:var(--ink);font-family:inherit;font-size:14.5px;font-weight:700}.tmr-title:focus{outline:none}.tmr-actions{display:flex;align-items:center;gap:8px}.tmr-time{flex:none;padding:3px 7px;border:none;border-radius:8px;background:var(--bg);box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-soft);font-family:inherit;font-size:12px}.tmr-pull{flex:1;padding:5px 10px;border:none;border-radius:99px;background:transparent;box-shadow:inset 0 0 0 1.5px var(--line);color:var(--ink-faint);font-family:inherit;font-size:12px;cursor:pointer}.tmr-drop{flex:none;width:26px;height:26px;border:none;border-radius:50%;background:transparent;color:var(--ink-faint);font-size:18px;line-height:1;cursor:pointer}.snackbar-view{background:none;border:none;color:var(--gold);font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:0 4px}.crash{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:28px;background:var(--bg);color:var(--ink);text-align:center}.crash-title{margin:0;font-size:30px;color:var(--orange)}.crash-note{margin:0;max-width:300px;font-size:14px;line-height:1.6;color:var(--ink-faint)}.crash-detail{max-width:100%;max-height:180px;overflow:auto;font-size:10px;text-align:left;color:var(--ink-faint);white-space:pre-wrap}.memory-list{list-style:none;margin:8px 0 12px;padding:0}.memory-list li{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;margin-bottom:7px;border-radius:12px;background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--line)}.memory-fact{flex:1;font-size:13.5px;line-height:1.5;color:var(--ink-soft)}.memory-drop{flex:none;width:22px;height:22px;border:none;border-radius:50%;background:transparent;color:var(--ink-faint);font-size:16px;line-height:1;cursor:pointer}@media (hover: hover) and (pointer: fine){.btn-primary:hover{background:var(--orange-dark)}.btn-dark:hover{background:#2b1e16}.btn-ghost:hover{background:#fff1e21a}.idea-chip:hover{border-color:var(--ink)}.suggest-chip:hover{border-style:solid;box-shadow:3px 5px #3e2c22d9}.task-card:hover{box-shadow:5px 7px #3e2c22e6}.kebab-btn:hover{background:#3e2c2214}.task-menu-item:hover{background:var(--gold-bg-soft);color:var(--ink-fixed)}.task-menu-item-danger:hover{background:var(--peach-bg)}.fab:hover{box-shadow:5px 7px #3e2c22e6}.fab-flyfish:hover{box-shadow:5px 7px #3e2c22e6,0 0 0 2px var(--sky-ink) inset}.overlay-close:hover,.clock-toggle-btn:hover{background:#fff1e233}.settings-btn:hover,.gallery-btn:hover{background:#fff1e238}.settings-panel-close:hover{background:var(--peach-bg)}.settings-option:hover{border-color:var(--orange)}.settings-reset-btn:hover{background:var(--peach-bg)}.gallery-cal-nav-btn:hover:not(:disabled){border-color:var(--ink)}.gallery-reel-card:hover{box-shadow:4px 6px #3e2c22e6}.gallery-day-close:hover{background:var(--peach)}.gallery-day-btn.ghost:hover{background:var(--gold-bg-soft)}.gallery-day-btn.primary:hover{background:var(--orange-dark)}.btn-ghost-dark:hover{background:var(--line)}.icon-btn:hover{background:#fff1e238}.settings-nav-row:hover{border-color:var(--orange)}.scan-drop:hover{color:var(--orange)}.tmr-pull:hover{color:var(--orange);box-shadow:inset 0 0 0 1.5px var(--orange)}.tmr-drop:hover,.memory-drop:hover{color:var(--orange)}}.overlay-message>.combine-video-preview{max-height:42dvh;max-width:520px;object-fit:contain;flex-shrink:0}.mascot-daily-bubble{max-width:58vw;white-space:normal;line-height:1.25}.daily-note{display:flex;align-items:center;justify-content:center;padding:24px}.daily-note-card{width:100%;max-width:420px;background:var(--surface);border:2px solid var(--line);border-radius:22px;padding:20px 20px 18px;box-shadow:var(--shadow-hard-lg)}.daily-note-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.daily-note-kicker{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.daily-note-title{margin:2px 0 0;font-size:30px;color:var(--orange);line-height:1.05}.daily-note-body{margin:0 0 14px;font-size:15.5px;line-height:1.55;color:var(--ink)}.daily-note-link{display:inline-block;margin-bottom:16px;font-size:14px;color:var(--sky-ink)}.daily-note-actions{display:flex;flex-direction:column;gap:8px}.daily-note-foot{margin-top:12px;text-align:center}
