:root{--paper: #ffffff;--grey-fill: #f3f3f2;--grey-soft: #ededec;--ink: #1a1a1a;--ink-soft: #7b7b78;--line: #e4e4e2;--shadow: 0 10px 30px rgba(0, 0, 0, .1);--font-display: "Fraunces", Georgia, serif;--font-body: "Nunito Sans", -apple-system, system-ui, sans-serif;--t-instant: .1s;--t-fast: .16s;--t-base: .24s;--t-slow: .36s;--t-world: 1s;--e-out: cubic-bezier(.2, .8, .2, 1);--e-in: cubic-bezier(.4, 0, 1, 1);--e-inout: cubic-bezier(.45, .05, .55, .95);--e-toss: cubic-bezier(.34, .45, .6, 1);--e-sink: cubic-bezier(.5, 0, .8, .6)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;overflow:hidden}.handdrawn{filter:url(#handdrawn)}.hd-filter{position:absolute;width:0;height:0}.app{position:relative;height:100%;width:100%;overflow:hidden;background:#fff}.sky{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;transition:background var(--t-world) var(--e-inout);z-index:0}.sea{position:absolute;left:0;right:0;top:55%;bottom:0;z-index:1;overflow:hidden}.sea-front{position:absolute;left:0;right:0;top:50%;height:15%;z-index:3;pointer-events:none;overflow:hidden}.sea-svg{display:block;width:100%;height:100%}.wave-drift{animation:waveDrift linear infinite}.wave-drift.slow{animation-duration:26s}.wave-drift.med{animation-duration:18s}.wave-drift.fast{animation-duration:12s}@keyframes waveDrift{0%{transform:translate(0)}to{transform:translate(-400px)}}.app.evening{color:#f2f2f2}.app.evening .sky{background:#171717}.app.evening .sea-whisper{color:#cfcfcd}.app.evening .pill{background:#262626;color:#f2f2f2;border-color:#3a3a3a}.app.evening .brand-name{color:#f2f2f2}.app.evening .drifter-motion{filter:drop-shadow(0 4px 14px rgba(255,250,235,.28))}.topbar{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:18px 22px}.brand{display:flex;align-items:center;gap:9px}.brand-mark{display:flex;align-items:center;color:var(--ink)}.brand-name{font-family:var(--font-display);font-weight:600;font-size:19px;color:var(--ink);letter-spacing:.2px}.topbar-actions{display:flex;gap:8px;flex-wrap:wrap}.pill{font-family:var(--font-body);font-size:13px;font-weight:700;background:var(--paper);color:var(--ink);border:1.5px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;transition:transform var(--t-fast) var(--e-out),background var(--t-fast) var(--e-out)}.pill:hover{transform:translateY(-1px);background:var(--grey-soft)}.pill:active{transform:scale(.97);transition-duration:var(--t-instant)}.sea-whisper{position:absolute;top:19%;left:50%;transform:translate(-50%);z-index:2;text-align:center;font-family:var(--font-display);font-weight:400;font-size:20px;line-height:1.5;color:#3d3d3b;margin:0;text-wrap:balance;pointer-events:none}.scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2}.drifter{position:absolute;border:none;background:none;padding:0;cursor:pointer;transform-origin:center bottom;will-change:transform;transition:filter var(--t-fast) var(--e-out)}.drifter:after{content:"";position:absolute;left:50%;bottom:-3px;width:54%;height:7px;transform:translate(-50%);background:radial-gradient(ellipse,rgba(0,0,0,.12),transparent 70%);border-radius:50%;pointer-events:none}.drifter:hover{filter:brightness(1.05)}.drifter-motion{display:inline-block;will-change:transform;filter:drop-shadow(0 5px 8px rgba(0,0,0,.12));animation-name:drift;animation-timing-function:var(--e-inout);animation-iteration-count:infinite}@keyframes drift{0%{transform:translate(calc(var(--sway) * -.6)) rotate(calc(var(--rot) * -1))}25%{transform:translate(calc(var(--sway) * -.1),calc(var(--bob) * -.7)) rotate(0)}50%{transform:translate(var(--sway),calc(var(--bob) * -1)) rotate(var(--rot))}75%{transform:translate(calc(var(--sway) * .5),calc(var(--bob) * -.35)) rotate(calc(var(--rot) * .5))}to{transform:translate(calc(var(--sway) * -.6)) rotate(calc(var(--rot) * -1))}}.catch-hand{position:absolute;bottom:24%;left:50%;transform:translate(-50%);z-index:4;font-family:var(--font-display);font-size:18px;color:#3d3d3b;background:#ffffffd9;padding:8px 16px;border-radius:999px;animation:pulse 1.8s var(--e-inout) infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.dock{position:absolute;bottom:0;left:0;right:0;z-index:5;display:flex;gap:12px;justify-content:center;padding:20px 20px 102px}.btn-primary,.btn-outline{font-family:var(--font-body);font-weight:700;font-size:15px;border-radius:999px;padding:13px 24px;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:transform var(--t-fast) var(--e-out),background var(--t-fast) var(--e-out);border:1.5px solid transparent}.btn-primary:active:not(:disabled),.btn-outline:active{transform:scale(.97);transition-duration:var(--t-instant)}.hc-icon{display:block;flex-shrink:0}.btn-primary{background:var(--ink);color:#fff;box-shadow:var(--shadow)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);background:#000}.btn-primary:disabled{opacity:.45;cursor:default}.btn-outline{background:var(--paper);color:var(--ink);border-color:var(--ink)}.btn-outline:hover{transform:translateY(-2px);background:var(--grey-soft)}.big{padding:15px 30px;font-size:16px}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0a1a2673;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn var(--t-base) var(--e-out) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.sheet{position:relative;background:var(--paper);border:1.5px solid var(--line);border-radius:24px;box-shadow:var(--shadow);padding:26px;width:100%;max-width:480px;max-height:88vh;overflow-y:auto;animation:rise var(--t-slow) var(--e-out) both}@keyframes rise{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet-close{position:absolute;top:14px;right:16px;border:none;background:none;font-size:26px;line-height:1;color:var(--ink-soft);cursor:pointer}.card-head{display:flex;gap:14px;align-items:center;margin-bottom:16px}.card-title{font-family:var(--font-display);font-weight:600;font-size:22px;margin:0;color:var(--ink)}.card-sub{font-size:13px;color:var(--ink-soft);margin:4px 0 0}.card-section{margin-top:16px}.card-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-bottom:8px}.card-steps{font-size:14.5px;line-height:1.6;color:#3d3d3b;margin:0}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{font-size:13px;padding:5px 12px;border:1.5px solid var(--line);border-radius:999px;color:var(--ink);background:var(--grey-fill)}.card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}.btn-soft{font-family:var(--font-body);font-weight:700;font-size:14px;background:var(--paper);border:1.5px solid var(--line);border-radius:999px;padding:9px 15px;cursor:pointer;color:var(--ink);transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out),transform var(--t-instant) var(--e-out)}.btn-soft:active{transform:scale(.97)}.btn-soft:hover{background:var(--grey-soft)}.btn-soft.on{background:var(--ink);border-color:var(--ink);color:#fff}.btn-ghost{font-family:var(--font-body);font-weight:700;font-size:14px;background:none;border:none;color:var(--ink);cursor:pointer;padding:9px 12px;text-decoration:underline;text-underline-offset:3px}.btn-ghost:hover{color:#000}.btn-ghost.sm{font-size:13px;padding:6px 2px}.sniff{border-radius:14px;padding:12px 14px;font-size:13.5px;line-height:1.5;margin-top:4px;background:var(--grey-fill)}.sniff-icon{margin-right:4px}.sniff-clear{background:var(--grey-fill);color:#4a4a48}.sniff-caution{background:var(--grey-fill);border-left:3px solid var(--ink-soft);color:#333}.sniff-avoid{background:#f0f0ef;border-left:4px solid var(--ink);color:#1a1a1a;font-weight:600}.sniff-lead{font-weight:700;margin-bottom:6px}.sniff-list{margin:0;padding-left:20px;font-weight:400}.sniff-list li{margin:3px 0}.compose-title{font-family:var(--font-display);font-weight:600;font-size:22px;margin:0 0 4px}.compose-hint{font-size:13px;color:var(--ink-soft);margin:0 0 16px}.field{margin-bottom:16px}.field label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-weight:700;margin-bottom:8px}.field-row{display:flex;gap:12px}.field.grow{flex:1}input,textarea{width:100%;font-family:var(--font-body);font-size:15px;color:var(--ink);background:#fcfcfc;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;outline:none;transition:border-color var(--t-fast) var(--e-out)}input:focus,textarea:focus{border-color:var(--ink)}textarea{resize:vertical;line-height:1.5}.ing-row{display:flex;gap:8px;align-items:center;margin-bottom:8px}.ing-remove{flex-shrink:0;width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:#fcfcfc;color:var(--ink-soft);font-size:18px;cursor:pointer}.ing-remove:hover{border-color:var(--ink);color:var(--ink)}.avatar-picker{display:flex;gap:8px;flex-wrap:wrap}.avatar-opt{padding:3px;border:2px solid transparent;border-radius:50%;background:none;cursor:pointer;line-height:0}.avatar-opt.on{border-color:var(--ink)}.hue-picker{display:flex;gap:8px;margin-top:10px}.hue-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--line);cursor:pointer}.hue-dot.on{border-color:var(--ink)}.compose-actions{margin-top:8px;display:flex;justify-content:flex-end}.shelf-grid{display:flex;flex-direction:column;gap:10px;margin-top:12px}.shelf-item{display:flex;align-items:center;gap:12px;text-align:left;background:var(--grey-fill);border:1.5px solid var(--line);border-radius:16px;padding:10px 12px;cursor:pointer;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-out)}.shelf-item:hover{background:var(--grey-soft);transform:translate(2px)}.shelf-title{font-family:var(--font-display);font-weight:600;font-size:15.5px}.shelf-sub{font-size:12px;color:var(--ink-soft)}.toast{position:fixed;bottom:100px;left:50%;transform:translate(-50%);z-index:60;background:var(--ink);color:#fff;font-size:14px;font-weight:600;padding:11px 20px;border-radius:999px;box-shadow:var(--shadow);animation:rise var(--t-base) var(--e-out) both}.catch-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:#ffffffdb;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;animation:sceneIn var(--t-base) var(--e-out) both}.app.evening .catch-scene{background:#101010e6}@keyframes sceneIn{0%{opacity:0}to{opacity:1}}.catch-stage{position:relative;width:min(360px,86vw);height:380px;display:flex;align-items:center;justify-content:center}.catch-bottle{position:absolute;top:34px;animation:catchRise .8s var(--e-out) both,catchBottleExit .55s var(--e-in) 1.05s both}.catch-paper{position:absolute;top:92px;width:min(320px,82vw);transform-origin:top center;animation:paperUnfurl .8s var(--e-out) 1.15s both}.catch-paper-sheet{background:#fdfcf9;border:1.5px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow);text-align:center;transform:rotate(-1.2deg)}.catch-vibe{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:8px;animation:fadeUp .36s var(--e-out) 1.55s both}.catch-dare{font-family:var(--font-display);font-weight:500;font-size:21px;line-height:1.42;color:var(--ink);margin:0;text-wrap:balance;animation:fadeUp .36s var(--e-out) 1.65s both}.catch-tap{margin-top:24px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);animation:fadeUp .36s var(--e-out) 2s both}.app.evening .catch-paper-sheet{background:#201f1d;border-color:#3a3a3a}.app.evening .catch-dare{color:#f4ecdf}@keyframes catchRise{0%{transform:translateY(46vh) scale(.42) rotate(-10deg);opacity:0}55%{opacity:1}78%{transform:translateY(-8px) scale(1.05) rotate(2deg)}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}@keyframes catchBottleExit{to{transform:translateY(18px) scale(.66);opacity:0}}@keyframes paperUnfurl{0%{transform:scaleY(.03);opacity:0}35%{opacity:1}72%{transform:scaleY(1.06)}to{transform:scaleY(1);opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.dare-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:5px;align-items:center}.tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--ink);color:#fff}.tag.ghost{background:transparent;color:var(--ink-soft);border:1.5px solid var(--line);letter-spacing:.02em;text-transform:none;font-weight:600}.tag.type-truth{background:transparent;color:var(--ink);border:2px solid var(--ink)}.tag.type-dare{background:var(--ink);color:#fff;border:2px solid var(--ink)}.type-toggle{display:flex;gap:6px;background:var(--grey-fill);border-radius:999px;padding:4px;margin-bottom:18px}.type-opt{flex:1;font-family:var(--font-body);font-weight:800;font-size:14px;letter-spacing:.04em;padding:9px 0;border:none;border-radius:999px;background:transparent;color:var(--ink-soft);cursor:pointer;transition:background var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out)}.type-opt.on{background:var(--ink);color:#fff}.catch-type{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;padding:4px 12px;border-radius:999px;margin-bottom:12px;animation:fadeUp .36s var(--e-out) 1.55s both}.catch-type.type-truth{border:2px solid var(--ink);color:var(--ink)}.catch-type.type-dare{background:var(--ink);color:#fff}.app.evening .catch-type.type-truth{border-color:#f4ecdf;color:#f4ecdf}.app.evening .catch-type.type-dare{background:#f4ecdf;color:#171717}.cast-pill{font-weight:800}.dare-text{font-family:var(--font-display);font-weight:500;font-size:23px;line-height:1.4;margin:16px 0;color:var(--ink);text-wrap:balance}.chip-picker{display:flex;flex-wrap:wrap;gap:8px}.pick-chip{font-family:var(--font-body);font-size:13.5px;font-weight:700;padding:8px 13px;border-radius:999px;border:1.5px solid var(--line);background:#fcfcfc;color:var(--ink);cursor:pointer;display:inline-flex;align-items:baseline;gap:6px;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),color var(--t-fast) var(--e-out),transform var(--t-instant) var(--e-out)}.pick-chip:active{transform:scale(.97)}.pick-chip:hover{border-color:var(--ink-soft)}.pick-chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}.pick-hint{font-size:11px;font-weight:600;opacity:.6}.pick-chip.on .pick-hint{opacity:.85}.opt{font-weight:600;color:var(--ink-soft);text-transform:none;letter-spacing:0;font-size:11px}.sniff-creed{list-style:none;margin-left:-20px;margin-bottom:5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:11px;color:var(--ink-soft)}.dog-avatar,.bottle-glyph{display:block}@media (max-width: 560px){.sea-whisper{font-size:17px;top:15%}.field-row{flex-direction:column;gap:0}.dock{flex-direction:column;align-items:center}.dock .big{width:100%;max-width:320px}}:root{--font-hand: "Patrick Hand", "Shantell Sans", cursive;--card: #ffffff;--card-line: #d8e6ee;--card-inner: #f6fafc;--card-inner-line: #d8e6ee}.handtext{font-family:var(--font-hand)}.app.dusk{background:linear-gradient(180deg,#0d2438,#14384f 45%,#1d5573);color:#e8eef2}.app.dusk .sky{background:transparent}.app.dusk .sea-svg{filter:invert(.88) hue-rotate(175deg) saturate(1.6) opacity(.45)}.app.dusk .brand-name{color:#e8eef2}.brand-wavey{margin-bottom:-4px}.app.dusk .pill{background:#0d202eb3;color:#cfe2ec;border-color:#2e5670}.app.dusk .pill:hover{background:#183448e6}.app.dusk .catch-hand{background:#0d2438e0;color:#bfe2f2}.app.dusk .drifter:after{background:radial-gradient(ellipse,rgba(234,247,252,.18),transparent 70%)}.app.dusk .drifter-motion{filter:drop-shadow(0 4px 14px rgba(200,230,245,.22))}.app .btn-primary{background:#5fb4d9;color:#10293a;box-shadow:0 10px 30px #00000047}.app .btn-primary:hover:not(:disabled){background:#79c4e3}.app.dusk .btn-outline{background:transparent;color:#cfe2ec;border-color:#7fa8bf}.app.dusk .btn-outline:hover{background:#7fa8bf26}.shore{position:absolute;top:8%;left:50%;transform:translate(-50%);z-index:2;text-align:center;width:min(92vw,560px);pointer-events:none}.shore-greeting{display:flex;align-items:flex-end;justify-content:center;gap:10px}.bubble{background:color-mix(in srgb,var(--card) 96%,transparent);color:#2c3a44;border-radius:14px 14px 14px 4px;padding:8px 15px;font-size:21px;line-height:1.25;text-align:left}.tide-prompt{margin-top:14px;display:inline-block;background:#5fb4d91f;border:none;border-radius:999px;padding:6px 15px;font-size:13px;color:#bfe2f2}.tide-prompt .handtext{font-size:18px}.wavey{animation:waveybob 4.4s var(--e-inout) infinite}.wavey-glow{filter:drop-shadow(0 0 14px rgba(255,207,138,.8))}@keyframes waveybob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.app .sheet{background:var(--card);border-color:var(--card-line);color:#2c3a44}.app .sheet input,.app .sheet textarea{background:var(--card-inner);border-color:var(--card-inner-line);color:#2c3a44}.app .sheet input:focus,.app.dusk .sheet textarea:focus{border-color:#5fb4d9}.app .compose-hint,.app .field label,.app.dusk .card-label{color:#6f8b9b}.app .pick-chip{background:#fff;border:2px solid #243b4a;color:#243b4a}.app .pick-chip.on{background:#3d7fa3;border-color:#3d7fa3;color:#f2f9fc}.app .btn-soft{background:#fff;border:2px solid #243b4a;color:#243b4a}.app .btn-soft.on{background:#3d7fa3;border-color:#3d7fa3;color:#f2f9fc}.app .btn-ghost{color:#5b7e8f}.app .sheet .btn-primary{box-shadow:none}.app .sheet-close{color:#6f8b9b}.throw-head{display:flex;gap:12px;align-items:center;margin-bottom:12px}.throw-text{font-size:21px;line-height:1.4}.water-pick{display:flex;gap:9px}.water-opt{flex:1;text-align:left;font-family:inherit;cursor:pointer;border:1.5px solid var(--card-inner-line);border-radius:12px;background:var(--card-inner);padding:10px 12px;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out)}.water-opt b{display:block;font-size:13.5px;color:#2c3a44}.water-opt span{display:block;font-size:11.5px;color:#6f8b9b;line-height:1.35;margin-top:3px}.water-opt.on{border-color:#5fb4d9;background:#eef8fc}.sniff-ps{margin:8px 0 0;font-size:12px;color:#6a6152;font-weight:400}.bottle-meta{font-size:11px;font-weight:700;letter-spacing:.06em;color:#7d97a6}.bottle-feeling{font-weight:700}.bottle-text{font-size:25px;line-height:1.35;color:#2c3a44;margin:14px 0 16px;text-wrap:balance}.stamp-row{display:flex;gap:7px;flex-wrap:wrap}.stamp{font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;border:2px solid #243b4a;background:#fff;color:#243b4a;border-radius:999px;padding:7px 13px;transition:background var(--t-fast) var(--e-out),border-color var(--t-fast) var(--e-out),transform var(--t-fast) var(--e-out)}.stamp:active:not(:disabled){transform:scale(.97);transition-duration:var(--t-instant)}.stamp:hover:not(:disabled){border-color:#5fb4d9;background:#eaf6fb;transform:translateY(-1px)}.stamp:disabled{opacity:.4;cursor:default}.stamp.chosen{background:#d9eef8;border-color:#3d7fa3;color:#1d4258;opacity:1}.stamp.got{cursor:default;background:#d9eef8;border-color:#9fcde4;color:#1d4258;display:inline-flex}.sendoff{font-size:15.5px;font-weight:700;color:#4a6f5d;margin:20px 0 8px;text-align:center}.dissolve-note{margin:14px 0 0;font-size:11.5px;color:#7d97a6;text-align:center}.care-head{display:flex;gap:14px;align-items:center;margin-bottom:10px}.care-body{font-size:14.5px;line-height:1.65;color:#3d5666}.current-bottle{background:var(--card-inner);border:1.5px solid var(--card-line);border-radius:12px;padding:12px 14px;margin-top:10px}.current-text{font-size:19px;line-height:1.35;margin:0 0 8px;color:#2c3a44}.app .shelf-item{background:var(--card-inner);border-color:var(--card-line)}.shelf-item.still{cursor:default}.shelf-item.still:hover{transform:none;background:var(--card-inner)}.shelf-title.handtext{font-size:18px;font-weight:500}.drift-toast{position:fixed;bottom:104px;left:50%;transform:translate(-50%);z-index:60;background:color-mix(in srgb,var(--card) 97%,transparent);color:#2c3a44;font-size:14px;font-weight:700;padding:11px 20px;border-radius:999px;box-shadow:0 10px 30px #0000004d;animation:rise var(--t-base) var(--e-out) both}.app.dusk .catch-scene{background:#091824eb}.app .catch-paper-sheet{background:var(--card);border-color:var(--card-line)}.app .catch-dare{color:#2c3a44;font-family:var(--font-hand);font-size:24px}.app .catch-vibe{color:#7d97a6}.app.dusk .catch-tap{color:#a8c3d4}@media (max-width: 560px){.shore{top:10%}.bubble{font-size:18px}.water-pick{flex-direction:column}}.app.day{background:linear-gradient(180deg,#f2f8fb,#dcecf3,#b7d7e6);color:#2c3a44}.app.day .sky{background:transparent}.app.day .sea-svg{opacity:.55}.app.day .brand-name{color:#2c3a44}.app.day .pill{background:#ffffffc7;color:#33566b;border-color:#b8d3e0}.app.day .pill:hover{background:#fff}.app.day .tide-prompt{background:#5fb4d91a;color:#33566b}.app.day .catch-hand{background:#ffffffe0;color:#33566b}.app.day .btn-outline{background:transparent;color:#33566b;border-color:#6d98ad}.app.day .btn-outline:hover{background:#6d98ad26}.app.day .catch-scene{background:#f0f7faeb}.app.day .catch-tap{color:#5c7a8a}.app.day .drifter:after{background:radial-gradient(ellipse,rgba(30,60,80,.15),transparent 70%)}.app.day .drifter-motion{filter:drop-shadow(0 5px 8px rgba(20,50,70,.18))}.bubble{font-size:18px}.tide-prompt .handtext{font-size:15.5px}.throw-text{font-size:18px}.bottle-text{font-size:21px}.current-text{font-size:17px}.app .catch-dare{font-size:21px}.shelf-title.handtext{font-size:16px}.pill{display:inline-flex;align-items:center;gap:6px}.tide-prompt{display:inline-flex;align-items:center;gap:7px}.stamp{display:inline-flex;align-items:center;gap:6px}.water-opt b{display:flex;align-items:center;gap:6px}.compose-actions .btn-primary{display:inline-flex;align-items:center;gap:8px}.throw-scene{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;pointer-events:none}.ts-arc{position:absolute;left:50%;top:47%;animation:tsToss .95s var(--e-toss) forwards}@keyframes tsToss{0%{transform:translate(-50%,46vh) rotate(0) scale(1.15);opacity:1}55%{transform:translate(-52%,-16vh) rotate(150deg) scale(1)}to{transform:translate(-50%,-8px) rotate(340deg) scale(.9);opacity:1}}.ts-ripple{position:absolute;left:50%;top:47%;width:90px;height:26px;border-radius:50%;border:2px solid rgba(234,247,252,.85);transform:translate(-50%,-50%) scale(.15);opacity:0}.app.day .ts-ripple{border-color:#3a6c8a80}.ts-ripple.r1{animation:tsRipple .9s var(--e-out) .88s forwards}.ts-ripple.r2{animation:tsRipple 1.1s var(--e-out) 1.02s forwards}@keyframes tsRipple{0%{transform:translate(-50%,-50%) scale(.15);opacity:.9}to{transform:translate(-50%,-50%) scale(2.4);opacity:0}}.ts-carry{position:absolute;left:50%;top:47%;display:flex;align-items:flex-end;transform:translate(-50%,-58%);opacity:0;animation:tsCarry 1.6s var(--e-in) 1s forwards}.ts-carry-bottle{margin-left:-34px;margin-bottom:30px;transform:rotate(-12deg)}@keyframes tsCarry{0%{opacity:0;transform:translate(-50%,-58%) scale(1)}14%{opacity:1}to{opacity:0;transform:translate(110%,-86%) scale(.4)}}.ts-sinkwrap{position:absolute;left:50%;top:47%;transform:translate(-50%)}.ts-sink{animation:tsSink 1.9s var(--e-sink) .1s forwards}@keyframes tsSink{0%{transform:translateY(-14px) rotate(0);opacity:1}25%{transform:translateY(4vh) rotate(-10deg);opacity:.9}to{transform:translateY(36vh) rotate(-24deg);opacity:0}}.ts-bub{position:absolute;left:20px;top:10px;width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(234,247,252,.9);opacity:0}.app.day .ts-bub{border-color:#3a6c8a8c}.ts-bub.b1{animation:tsBub 1.1s var(--e-out) .6s forwards}.ts-bub.b2{left:4px;animation:tsBub 1.2s var(--e-out) .95s forwards}.ts-bub.b3{left:32px;animation:tsBub 1s var(--e-out) 1.3s forwards}@keyframes tsBub{0%{transform:translateY(10px) scale(.5);opacity:.9}to{transform:translateY(-48px) scale(1.1);opacity:0}}.ts-dip{position:absolute;left:calc(50% + 46px);top:47%;transform:translateY(-72%);animation:tsDip 2.1s var(--e-inout) forwards}@keyframes tsDip{0%{transform:translateY(-72%);opacity:0}18%{transform:translateY(-72%);opacity:1}48%{transform:translateY(-26%)}76%{transform:translateY(-40%)}to{transform:translateY(-72%);opacity:1}}.shore-greeting .shore-wavey,.shore-greeting .bubble{transition:transform var(--t-slow) var(--e-out),opacity var(--t-base) var(--e-out)}.shore-greeting.away .shore-wavey,.shore-greeting.away .bubble{transition-timing-function:var(--e-in)}.shore-greeting.away .shore-wavey{transform:translateY(46px) scale(.75);opacity:0}.shore-greeting.away .bubble{transform:translateY(10px);opacity:0}.wordless{color:#7d97a6}.bottle-feeling{display:inline-flex;align-items:center;gap:4px}.app .sheet input::placeholder,.app .sheet textarea::placeholder{color:#a9bfcc;opacity:1}.sendoff-zone{text-align:center}.addnote{display:inline-block;margin-top:2px}.note-row{display:flex;gap:8px;margin-top:10px}.note-row input{flex:1;font-size:17px}.note-nudge{margin:8px 0 0;font-size:12.5px;color:#a06a5a;text-align:center}.sendoff.small{font-size:13.5px;margin-top:10px}.note-folded{display:block;width:100%;margin-top:9px;cursor:pointer;text-align:left;font-family:inherit;font-size:12.5px;font-weight:700;color:#3d5666;background:#eef6fa;border:1.5px dashed #9fcde4;border-radius:10px;padding:9px 12px}.note-folded:hover{background:#e2f0f7}.note-open{margin-top:9px;background:#f6fafc;border:1.5px solid #d8e6ee;border-radius:10px;padding:10px 12px}.note-text{margin:0 0 6px;font-size:17px;line-height:1.35;color:#2c3a44}.note-washed{margin:9px 0 0;font-size:12px;color:#7d97a6;font-style:italic}@media (prefers-reduced-motion: reduce){.wave-drift,.drifter-motion,.wavey,.catch-hand{animation:none}.catch-hand{opacity:1}.sheet,.toast,.drift-toast,.sheet-backdrop,.catch-scene{animation:fadeIn var(--t-fast) var(--e-out) both}.shore-greeting .shore-wavey,.shore-greeting .bubble{transition:opacity var(--t-fast) var(--e-out)}.shore-greeting.away .shore-wavey,.shore-greeting.away .bubble{transform:none}.pill:active,.btn-primary:active:not(:disabled),.btn-outline:active,.btn-soft:active,.pick-chip:active,.stamp:active:not(:disabled){transform:none}.shelf-item:hover{transform:none}.stamp:hover:not(:disabled){transform:none}.catch-bottle,.catch-paper,.catch-vibe,.catch-dare,.catch-tap,.catch-type{animation-duration:1ms!important;animation-delay:0ms!important}.catch-bottle{display:none}.catch-paper{transform:none}.ts-arc,.ts-ripple,.ts-carry,.ts-sink,.ts-bub,.ts-dip{animation:none;opacity:0}.sky{transition-duration:var(--t-fast)}}.glyph-wrap{position:relative;display:inline-block}.glyph-wrap>svg{position:relative;z-index:1;display:block}.lens{position:absolute;pointer-events:none}.lens-circle{border-radius:50%}.lens-blob{border-radius:55% 60% 46% 50%/74% 78% 34% 38%}.lens.lg{background:radial-gradient(75% 75% at 50% 40%,#fff3,#ffffff0a 60%,#ffffff24),var(--lens-tint);border:1px solid rgba(255,255,255,.38);box-shadow:inset 0 1px 2px #fff9,inset 0 -2px 6px #ffffff38,0 6px 18px #06142040}.glyph-wrap:has(>.lens.lg) .bottle-glyph .disc{opacity:.14}.wavey-wrap{animation:waveybob 4.4s var(--e-inout) infinite}.wavey-wrap .wavey{animation:none}.water-glow{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none}.glyph-wrap:has(>svg.wavey-glow):before{content:"";position:absolute;left:50%;top:44%;width:112%;aspect-ratio:1;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 66%,rgba(255,179,92,0) 70%,rgba(255,179,92,.85) 84%,rgba(255,218,160,.95) 88%,transparent 96%);-webkit-mask:radial-gradient(closest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));mask:radial-gradient(closest-side,transparent calc(100% - 7px),#000 calc(100% - 6px));animation:haloSpin 3.6s linear infinite;filter:blur(.4px)}@keyframes haloSpin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@media (prefers-reduced-motion: reduce){.glyph-wrap:has(>svg.wavey-glow):before{animation:none;transform:translate(-50%,-50%) rotate(200deg)}}.app.mono{background:#fff;color:var(--ink)}.app.mono .sky{background:transparent}.app.mono .sea-svg{opacity:.95}.app.mono .sea-svg path:not([fill=none]){fill:#fff}.app.mono .brand-name{color:var(--ink)}.app.mono .sea-whisper{color:#3d3d3b}.app.mono .tide-prompt{background:transparent;color:var(--ink);margin-top:50px}.app.mono .bottle-glyph .disc{fill:#ededeb}.app.mono .lens{--lens-tint: rgba(26, 26, 26, .04) !important}.app.mono .wv-body,.app.mono .wv-crest{fill:#f4f4f38c}.app.mono .drifter-motion{filter:drop-shadow(0 5px 8px rgba(0,0,0,.1))}.app.mono .btn-primary{background:var(--ink);color:#fff;box-shadow:var(--shadow)}.app.mono .btn-primary:hover:not(:disabled){background:#000}.app.mono .btn-outline{background:var(--paper);color:var(--ink);border-color:var(--ink)}.app.mono .btn-outline:hover{background:var(--grey-soft)}.app.mono .bubble{background:#f7f7f6;color:var(--ink)}.splash{position:absolute;width:0;height:0;pointer-events:none}.sp-drop{position:absolute;left:0;bottom:0;border-radius:50% 50% 58% 55%;background:#fff;border:2px solid #1a1a1a;opacity:0;transform:translate(-50%,4px) scale(.3);animation-name:spDrop;animation-fill-mode:forwards}@keyframes spDrop{0%{opacity:0;transform:translate(-50%,4px) scale(.3);animation-timing-function:var(--e-toss)}10%{opacity:1}55%{transform:translate(calc(-50% + var(--dx) * .85),var(--peak)) scale(1);animation-timing-function:var(--e-sink)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(var(--peak) * .25 + 12px)) scale(.8)}}.sp-foam{position:absolute;bottom:-6px;border-radius:50%;background:#fff;border:2px solid #1a1a1a;opacity:0;transform:translate(-50%) scale(0);animation:spFoam .62s var(--e-out) forwards}@keyframes spFoam{0%{opacity:0;transform:translate(-50%) scale(0)}30%{opacity:.95}70%{transform:translate(-50%,-5px) scale(1.05)}to{opacity:0;transform:translate(-50%,-10px) scale(1.18)}}.ts-splash{left:50%;top:47%;--sp-delay: .88s}.ts-splash-sink{--sp-delay: .42s}.catch-splash{left:50%;top:235px;--sp-delay: 60ms}@media (prefers-reduced-motion: reduce){.sp-drop,.sp-foam{animation:none;opacity:0}}.app.sim .drifter-motion{animation:none}.app.mono .scene{z-index:4}.app.mono .drifter{clip-path:inset(-90% -90% var(--crop, 20%) -90%)}.app.mono .drifter:after{display:none}.app.mono .drifter-motion{filter:none}.colophon{position:absolute;bottom:12px;left:0;right:0;z-index:5;display:flex;gap:8px;justify-content:center;align-items:center;font-size:12px;font-weight:600;color:var(--ink-soft)}.colophon a{color:inherit;text-decoration:none}.colophon a:hover{color:var(--ink);text-decoration:underline}.app.dusk .colophon{color:#7fa8bf}.colophon-brand{display:inline-flex;align-items:center;gap:6px}
