:root{color-scheme:dark;font-family:Noto Sans SC,IBM Plex Sans,PingFang SC,Microsoft YaHei,ui-sans-serif,sans-serif;color:#fffdf8;background:#211b16;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #fbf5ea;--surface: #fffdf8;--ink: #2e2418;--line: rgb(93 64 28 / 16%);--brand: #d96d30;--brand-strong: #c25518;--brand-deep: #a84708;--sea: #168c78;--sea-bright: #65d6ad;--sun: #e99a2d;--gold: #c8942f;--gold-tint: rgb(200 148 47 / 13%);--midnight: #211b16;--deep-sea: #173a34;--foam: #fffdf8;--seafoam: var(--sea-bright);--amber: var(--sun);--muted: #c9b8a5;--hairline: rgb(246 230 213 / 18%);--radius-control: 10px;--radius-card: 14px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgb(8 5 3 / 16%), 0 2px 10px rgb(8 5 3 / 20%);--shadow-raised: 0 6px 18px rgb(8 5 3 / 28%);--shadow-float: 0 20px 56px rgb(8 5 3 / 42%);--motion-press: .12s;--motion-state: .16s;--motion-sheet: .2s;--motion-hover: .38s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.3, .64, 1);--ease-magnetic: cubic-bezier(.16, 1, .3, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--midnight)}body{margin:0;min-width:0;min-height:100vh;background:var(--midnight)}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}a{color:inherit;text-decoration:none}:where(p,span,strong,small,blockquote,h1,h2,h3,a,button,label){overflow-wrap:anywhere}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--amber);outline-offset:3px}::selection{background:#168c786b;color:#fff}.modal-open{overflow:hidden}.modal-open .bottom-nav{opacity:0;pointer-events:none;visibility:hidden}.sea-scene{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 77% 11%,rgb(233 154 45 / 18%),transparent 9%),radial-gradient(ellipse at 50% 94%,rgb(22 140 120 / 22%),transparent 48%),linear-gradient(180deg,#211913,#26342e 52%,#1f302c 72%,#17130f)}.sea-scene-dawn{background:radial-gradient(circle at 78% 13%,rgb(217 109 48 / 32%),transparent 18%),linear-gradient(180deg,#38281f,#3b5147 48%,#203b35 72%,#211b16)}.sea-scene-day{background:radial-gradient(circle at 78% 13%,rgb(255 253 248 / 20%),transparent 15%),linear-gradient(180deg,#29463f,#286558 48%,#1e4a41 72%,#211b16)}.sea-scene-dusk{background:radial-gradient(circle at 78% 13%,rgb(233 154 45 / 34%),transparent 18%),linear-gradient(180deg,#38251c,#514034 48%,#293b35 72%,#211b16)}.sea-scene-dawn .moon,.sea-scene-day .moon{opacity:.2}.sky-grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.27;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.8) 0 .6px,transparent .8px),radial-gradient(circle,rgba(121,199,180,.5) 0 .5px,transparent .7px);background-size:91px 91px,137px 137px;background-position:11px 17px,61px 43px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 72%);mask-image:linear-gradient(to bottom,black,transparent 72%)}.constellation{position:absolute;z-index:-1;opacity:.55;pointer-events:none}.constellation:before,.constellation:after{content:"";position:absolute;width:3px;height:3px;border-radius:50%;background:var(--foam);box-shadow:34px 20px 0 -1px var(--foam),81px -8px 0 -1px var(--foam),119px 28px 0 -1px var(--foam),55px 67px 0 -1px var(--foam)}.constellation:after{width:110px;height:70px;border:1px solid rgba(232,239,232,.16);border-color:transparent transparent rgba(232,239,232,.16) transparent;transform:rotate(14deg);box-shadow:none}.constellation-one{top:15%;left:8%;transform:rotate(-9deg)}.constellation-two{top:23%;right:17%;transform:scale(.7) rotate(18deg)}.moon{position:absolute;z-index:-1;top:9.5%;right:13%;width:72px;height:72px;border-radius:50%;border:1px solid rgba(232,239,232,.18);box-shadow:0 0 70px #e8efe814;opacity:.8}.moon span{position:absolute;top:12px;right:9px;bottom:12px;left:21px;border-radius:50%;box-shadow:-8px 0 0 1px #e8efe89e;transform:rotate(-18deg)}.horizon{position:absolute;z-index:-1;top:63vh;left:-10%;right:-10%;height:1px;background:linear-gradient(90deg,transparent,rgba(121,199,180,.25),transparent)}.wave{position:absolute;z-index:-1;left:-10%;right:-10%;border-radius:50%;pointer-events:none}.wave-back{top:64vh;height:30vh;background:linear-gradient(180deg,#133b4540,#05151db3);transform:rotate(-2deg)}.wave-front{top:72vh;height:38vh;background:linear-gradient(180deg,#0b303b73,#040f16f5);transform:rotate(3deg)}.sea-light{position:absolute;z-index:-1;top:56vh;left:48%;width:22%;height:45vh;transform:perspective(300px) rotateX(63deg) translate(-50%);background:linear-gradient(180deg,rgba(233,184,111,.18),transparent);filter:blur(18px)}.site-header{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px clamp(22px,5vw,76px)}.brand{display:inline-flex;align-items:center;gap:11px;color:var(--foam)}.brand>span:last-child{display:grid;gap:1px}.brand strong{font-family:Iowan Old Style,Baskerville,Georgia,serif;font-size:18px;letter-spacing:.045em;font-weight:600;line-height:1}.brand small{color:var(--muted);font-size:10px;letter-spacing:.3em;text-transform:uppercase}.brand-mark{display:block;width:34px;height:34px;border-radius:10px;box-shadow:var(--shadow-card)}.site-header nav{display:flex;align-items:center;gap:27px;font-size:13px;color:var(--muted)}.site-header nav a:hover{color:var(--foam)}.header-tool{display:inline-flex;align-items:center;gap:7px;min-height:44px;border:0;padding:0 2px;background:transparent;color:var(--muted);cursor:pointer;transition:color var(--motion-state) var(--ease-out)}.header-tool:hover{color:var(--foam)}.header-throw{display:inline-flex;align-items:center;gap:8px;border:1px solid rgb(246 230 213 / 28%);border-radius:var(--radius-pill);background:#2e24187a;padding:10px 16px;cursor:pointer;transition:border-color var(--motion-state) var(--ease-out),background-color var(--motion-state) var(--ease-out),transform var(--motion-press) var(--ease-out)}.header-throw:hover{border-color:var(--gold);background:var(--gold-tint)}.hero{position:relative;min-height:100svh;display:grid;align-items:center;padding:118px clamp(24px,8vw,130px) 85px}.sea-touch-ripple{position:absolute;z-index:4;width:32px;height:12px;border:1px solid rgb(101 214 173 / 70%);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);animation:sea-touch-ripple .85s var(--ease-out) both}@keyframes sea-touch-ripple{0%{opacity:.9;scale:.5}to{opacity:0;scale:9}}.hero-copy{position:relative;z-index:12;width:min(720px,58vw)}.hero-kicker,.section-kicker{display:flex;align-items:center;gap:11px;margin:0 0 23px;color:var(--seafoam);text-transform:uppercase;font-size:11px;letter-spacing:.2em;font-weight:600}.hero-kicker span{width:29px;height:1px;background:var(--seafoam)}.hero h1,.how-it-works h2,.wish-copy h1,.empty-state h1,.echo-card h1{margin:0;font-family:Iowan Old Style,Baskerville,Songti SC,STSong,Georgia,serif;font-weight:400}.hero h1{max-width:720px;font-size:clamp(45px,4.5vw,70px);line-height:1.08;letter-spacing:-.035em}.hero h1 em{color:var(--amber);font-style:italic;font-weight:400}.hero-lead{margin:25px 0 30px;max-width:530px;color:var(--muted);font-size:clamp(14px,1.2vw,17px);line-height:1.9;letter-spacing:.02em}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.draw-button{display:flex;align-items:center;gap:14px;min-width:248px;border:0;border-radius:var(--radius-control);padding:13px 22px 13px 14px;color:#fff;background:var(--brand-strong);cursor:pointer;box-shadow:var(--shadow-raised);transition:transform var(--motion-hover) var(--ease-magnetic),box-shadow var(--motion-hover) var(--ease-magnetic),background-color var(--motion-state) var(--ease-out)}.draw-button:hover:not(:disabled){background:var(--brand-deep);transform:translateY(-2px);box-shadow:var(--shadow-float)}.draw-button:disabled{opacity:.75;cursor:wait}.draw-button-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius-control);background:#ffffff26;color:#fff}.draw-button>span:last-child{display:grid;text-align:left;gap:3px}.draw-button strong{font-size:14px;letter-spacing:.03em}.draw-button small{font-size:10px;color:#ffffffc2}.throw-link{border:0;background:transparent;padding:10px 0;color:var(--foam);font-size:13px;cursor:pointer;border-bottom:1px solid rgba(232,239,232,.22)}.throw-link span{color:var(--amber);margin-left:6px}.sea-proof{display:flex;gap:24px;margin-top:30px;color:#e8efe885;font-size:11px}.sea-proof span{display:flex;align-items:center;gap:7px}.hero-sea{position:absolute;z-index:1;right:5.5%;top:24%;width:33%;height:39%;display:grid;place-items:center;color:#e8efe847}.hero-compass{position:relative;width:min(22vw,260px);aspect-ratio:1;border:1px solid rgba(232,239,232,.12);border-radius:50%}.hero-compass:before,.hero-compass:after{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:1px dashed rgba(121,199,180,.14);border-radius:50%}.hero-compass:after{top:49%;right:-12%;bottom:49%;left:-12%;height:1px;border:0;border-top:1px solid rgba(232,239,232,.08);border-radius:0}.hero-compass span{position:absolute;left:50%;top:-25px;font-family:monospace;font-size:10px;letter-spacing:.15em}.hero-compass i{position:absolute;width:2px;height:34%;top:29%;left:50%;background:linear-gradient(var(--amber),transparent);transform:rotate(33deg);transform-origin:bottom}.hero-sea p{position:absolute;bottom:-17px;font-family:monospace;font-size:9px;letter-spacing:.22em}.hero-sea b{color:var(--amber)}.scroll-cue{position:absolute;z-index:14;left:50%;bottom:24px;transform:translate(-50%);display:flex;align-items:center;gap:7px;color:#e8efe885;font-size:10px;letter-spacing:.12em}.bottle-field{position:absolute;z-index:5;top:80px;right:2%;bottom:7%;left:2%;pointer-events:none}.sea-filter-status{position:absolute;z-index:13;left:50%;bottom:49px;max-width:calc(100% - 32px);margin:0;transform:translate(-50%);padding:7px 12px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:#2e2418e0;color:var(--muted);font-size:11px;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sea-bottle{--bottle-x: 50%;--bottle-y: 50%;--bottle-r: 0deg;--bottle-delay: 0s;--bottle-scale: 1;position:absolute;left:var(--bottle-x);top:var(--bottle-y);width:31px;height:61px;border:0;background:transparent;padding:0;pointer-events:auto;cursor:pointer;transform:translate(-50%,-50%) rotate(var(--bottle-r)) scale(var(--bottle-scale));opacity:.55;transition:opacity var(--motion-state) var(--ease-out),filter var(--motion-state) var(--ease-out);animation:bottle-drift 7s cubic-bezier(.45,0,.55,1) var(--bottle-delay) infinite alternate}.sea-bottle:hover,.sea-bottle:focus-visible{opacity:1;filter:drop-shadow(0 0 11px rgba(121,199,180,.32));z-index:4}.sea-bottle.has-story{opacity:.78;filter:drop-shadow(0 0 8px rgba(233,184,111,.16))}.sea-bottle.has-story .bottle-glass{transform:scale(1.08);transform-origin:bottom}.bottle-glass{position:absolute;top:13px;right:4px;bottom:0;left:4px;display:grid;place-items:center;border:1px solid rgba(188,226,217,.55);border-radius:5px 5px 9px 9px;background:linear-gradient(135deg,#79c7b414,#e8efe805);box-shadow:inset 3px 0 #e8efe812}.bottle-glass:before{content:"";position:absolute;top:4px;right:4px;width:2px;height:22px;border-radius:9px;background:#e8efe830}.bottle-glass span{display:grid;place-items:center;width:16px;height:20px;background:#e9b86f9e;color:#16303a;font-size:9px;transform:rotate(-5deg)}.bottle-cork{position:absolute;z-index:2;left:11px;top:3px;width:10px;height:13px;border:1px solid rgba(233,184,111,.6);background:#5e472bbf;border-radius:2px 2px 1px 1px}.bottle-tag{position:absolute;left:50%;top:67px;transform:translate(-50%) rotate(calc(var(--bottle-r) * -1));width:max-content;max-width:110px;padding:4px 7px;border:1px solid rgba(232,239,232,.12);border-radius:2px;color:#e8efe8c7;background:#061721c7;font-size:8px;opacity:0;transition:opacity var(--motion-state) var(--ease-out);white-space:nowrap}.sea-bottle:hover .bottle-tag,.sea-bottle:focus-visible .bottle-tag{opacity:1}.sea-bottle-snow .bottle-glass{border-color:#d7ebf19e}.sea-bottle-island .bottle-glass,.sea-bottle-gonow .bottle-glass{border-color:#79c7b4a8}.sea-bottle-fireworks .bottle-glass,.sea-bottle-olddream .bottle-glass{border-color:#e9b86f99}@keyframes bottle-drift{0%{translate:0 -3px}to{translate:4px 7px}}.how-it-works{position:relative;z-index:8;min-height:90vh;padding:120px clamp(24px,10vw,160px);background:linear-gradient(180deg,#211b16f0,#211b16 23%,#2e2418);border-top:1px solid rgb(246 230 213 / 9%)}.how-it-works:before{content:"";position:absolute;top:0;right:7%;width:1px;height:100%;background:linear-gradient(transparent,rgba(121,199,180,.13),transparent)}.section-kicker{margin-bottom:18px}.how-it-works h2{max-width:760px;font-size:clamp(36px,4.3vw,62px);line-height:1.15}.rule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(25px,5vw,80px);margin:90px 0 70px}.rule-grid article{position:relative;padding-top:26px;border-top:1px solid var(--hairline)}.rule-grid article:before{content:"";position:absolute;left:0;top:-1px;width:48px;height:1px;background:var(--amber)}.rule-grid span{color:var(--amber);font-family:monospace;font-size:11px}.rule-grid h3{margin:21px 0 12px;font-family:Iowan Old Style,serif;font-size:24px;font-weight:500}.rule-grid p{margin:0;color:var(--muted);line-height:1.8;font-size:13px}.bottom-cta{display:inline-flex;align-items:center;gap:38px;border:0;border-bottom:1px solid rgba(232,239,232,.3);padding:12px 0;background:transparent;color:var(--foam);font-family:Iowan Old Style,serif;font-size:18px;cursor:pointer}.bottom-cta span{color:var(--amber)}.site-footer{position:relative;z-index:8;display:flex;align-items:center;gap:30px;padding:32px clamp(24px,5vw,76px);border-top:1px solid rgb(246 230 213 / 10%);background:#17130f;color:var(--muted);font-size:11px}.site-footer p{margin:0 auto 0 0}.site-footer>span{font-family:monospace;opacity:.7}.modal-layer{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px;background:#140e0ac7;-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);animation:modal-in var(--motion-sheet) var(--ease-out) both}.modal-panel{width:min(650px,100%);max-height:min(90svh,860px);overflow:auto;border:1px solid rgb(246 230 213 / 20%);border-radius:var(--radius-card);background:linear-gradient(145deg,#372a20fa,#211b16fc);box-shadow:var(--shadow-float);animation:dialog-in var(--motion-sheet) var(--ease-out) both}.modal-topline{position:sticky;z-index:6;top:0;display:flex;align-items:center;justify-content:space-between;min-height:61px;padding:15px 18px 14px 24px;border-bottom:1px solid rgb(246 230 213 / 11%);background:#2e2418f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modal-topline h2{margin:0;color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.19em;font-weight:600}.icon-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid transparent;border-radius:var(--radius-control);background:transparent;color:var(--muted);cursor:pointer;transition:color var(--motion-press) var(--ease-out),background-color var(--motion-press) var(--ease-out),transform var(--motion-press) var(--ease-out)}.icon-button:hover{color:#f4c761;border-color:transparent;background:var(--gold-tint)}@keyframes modal-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.wish-card{position:relative;overflow:hidden;padding:clamp(24px,5vw,42px);min-height:500px}.wish-card-wash{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.42;pointer-events:none;background:radial-gradient(circle at 82% 4%,rgba(121,199,180,.24),transparent 34%)}.wish-card-wash[data-sea=fireworks],.wish-card-wash[data-sea=olddream]{background:radial-gradient(circle at 82% 4%,rgba(233,184,111,.22),transparent 34%)}.wish-card-wash[data-sea=snow]{background:radial-gradient(circle at 82% 4%,rgba(210,235,239,.22),transparent 34%)}.wish-card-header{position:relative;display:flex;align-items:flex-start;justify-content:space-between}.sea-seal{display:flex;align-items:center;gap:10px}.sea-seal>span{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(121,199,180,.38);border-radius:50%;color:var(--amber)}.sea-seal div{display:grid;gap:2px}.sea-seal small,.wish-date{color:var(--muted);font-size:9px;letter-spacing:.12em}.sea-seal strong{font-family:Iowan Old Style,serif;font-size:14px;font-weight:500}.wish-copy{position:relative;padding:49px 0 40px;text-align:center}.eyebrow{margin:0 0 7px;color:var(--seafoam);font-size:10px;letter-spacing:.24em}.wish-copy h1{color:var(--foam);font-size:clamp(46px,9vw,70px);letter-spacing:-.03em}.wish-note{min-height:24px;margin:16px auto 0;color:var(--amber);font-family:Iowan Old Style,Songti SC,serif;font-size:17px;line-height:1.65}.wish-note.is-quiet{color:var(--muted);font-size:13px;font-style:italic}.wish-current{position:relative;display:flex;justify-content:space-between;padding:10px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);color:var(--muted);font-size:10px}.wish-current span{display:flex;align-items:center;gap:7px}.wish-current i{width:5px;height:5px;border-radius:50%;background:var(--seafoam)}.ripple-area{position:relative;padding-top:22px}.ripple-label{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.ripple-label span{font-family:Iowan Old Style,serif;font-size:15px}.ripple-label small{color:var(--muted);font-size:9px}.ripple-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.ripple-button{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:1px 6px;min-width:0;min-height:58px;padding:8px;border:1px solid rgb(246 230 213 / 14%);border-radius:var(--radius-control);background:#fffdf80a;color:var(--muted);cursor:pointer;text-align:left;transition:border-color var(--motion-state) var(--ease-out),background-color var(--motion-state) var(--ease-out),color var(--motion-state) var(--ease-out),transform var(--motion-press) var(--ease-out)}.ripple-button:hover:not(:disabled),.ripple-button.is-selected{border-color:#79c7b4a6;background:#79c7b417;color:var(--foam)}.ripple-button:disabled{cursor:wait;opacity:.68}.ripple-glyph{grid-row:1 / 3;display:grid;place-items:center;font-family:serif;font-size:20px;color:var(--amber)}.ripple-button>span:nth-child(2){font-size:10px;line-height:1.25}.ripple-button strong{color:var(--foam);font-family:monospace;font-size:10px}.reef-form{margin-top:10px;padding:12px;border-left:2px solid var(--amber);background:#03111747}.reef-form label{display:block;margin-bottom:8px;color:var(--muted);font-size:10px}.reef-form>div{display:flex;gap:8px}.reef-form input{flex:1;min-width:0;border:1px solid rgba(232,239,232,.16);border-radius:3px;padding:9px 10px;background:#00000029;color:var(--foam);font-size:12px}.small-button,.text-button{border:0;padding:7px 10px;background:var(--brand-strong);color:#fff;cursor:pointer;border-radius:var(--radius-control);font-size:10px}.text-button{background:transparent;color:var(--muted)}.wish-actions{display:flex;gap:8px;margin-top:18px;flex-wrap:wrap}.action-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:1;min-width:120px;border:1px solid rgb(246 230 213 / 16%);border-radius:var(--radius-control);padding:10px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer;transition:border-color var(--motion-state) var(--ease-out),background-color var(--motion-state) var(--ease-out),color var(--motion-state) var(--ease-out),transform var(--motion-press) var(--ease-out)}.action-button:hover,.action-button.is-active{color:var(--foam);border-color:#e9b86f80}.action-button:disabled{opacity:.6;cursor:wait}.echo-created-link{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:12px;padding:9px 10px;border:1px solid rgba(121,199,180,.24);border-radius:3px;background:#79c7b40f;color:var(--seafoam);font-size:10px}.report-form{display:grid;gap:8px;margin-top:12px;padding:13px;border-left:2px solid rgba(233,184,111,.7);background:#03111747}.report-form label{color:var(--muted);font-size:10px}.report-form select,.report-form textarea{width:100%;border:1px solid rgba(232,239,232,.16);border-radius:3px;padding:9px 10px;background:#00000029;color:var(--foam);font-size:11px}.report-form textarea{min-height:68px;resize:vertical}.report-form>div{display:flex;gap:8px}.wish-permalink,.copy-url{display:flex;align-items:center;justify-content:center;gap:6px;margin:14px auto 0;border:0;background:transparent;color:#e8efe873;font-size:9px;cursor:pointer}.ripple-legend{position:absolute;right:-23px;bottom:20%;display:grid;gap:15px;color:#e8efe80d;font-size:34px;transform:rotate(-7deg)}.throw-modal{width:min(710px,100%)}.step-meter{display:flex;align-items:center;justify-content:center;padding:22px 24px 5px}.step-meter span{position:relative;display:grid;place-items:center;width:25px;height:25px;border:1px solid rgba(232,239,232,.18);border-radius:50%;color:var(--muted);font:9px monospace}.step-meter span:not(:last-child){margin-right:70px}.step-meter span:not(:last-child):after{content:"";position:absolute;left:24px;top:11px;width:71px;height:1px;background:#e8efe821}.step-meter span.is-active{border-color:var(--seafoam);color:var(--foam);background:#79c7b41a}.throw-step{min-height:400px;padding:34px clamp(23px,7vw,70px) 22px}.step-kicker{margin:0 0 10px;color:var(--seafoam);font:10px monospace;letter-spacing:.13em}.throw-step h3{margin:0 0 31px;font-family:Iowan Old Style,Songti SC,serif;font-size:clamp(27px,5vw,38px);font-weight:400}.field-label{display:flex;justify-content:space-between;margin:18px 0 8px;color:var(--muted);font-size:11px}.field-label b{font:9px monospace;font-weight:400}.input-with-icon{display:flex;align-items:center;gap:10px;border-bottom:1px solid rgba(232,239,232,.22);color:var(--amber)}.input-with-icon input{flex:1;border:0;background:transparent;padding:14px 0;color:var(--foam);font-family:Iowan Old Style,Songti SC,serif;font-size:22px}.input-with-icon input:focus{outline:0}.throw-step textarea{width:100%;min-height:82px;resize:vertical;border:1px solid rgba(232,239,232,.15);border-radius:4px;padding:12px;background:#00000024;color:var(--foam);line-height:1.6}.check-row{display:flex;align-items:center;gap:9px;margin-top:14px;color:var(--muted);font-size:10px}.check-row input{accent-color:var(--seafoam)}.sea-picker{display:grid;grid-template-columns:1fr 1fr;gap:9px}.sea-option{display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center;min-height:67px;border:1px solid rgba(232,239,232,.12);border-radius:4px;padding:10px;background:#0000001a;color:var(--muted);cursor:pointer;text-align:left}.sea-option>span{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(233,184,111,.3);border-radius:50%;color:var(--amber)}.sea-option div{display:grid;gap:4px}.sea-option strong{color:var(--foam);font-family:Iowan Old Style,serif;font-size:14px;font-weight:500}.sea-option small{font-size:9px}.sea-option:hover,.sea-option.is-selected{border-color:var(--seafoam);background:#79c7b414}.bottle-preview{position:relative;display:grid;place-items:center;min-height:265px;padding:28px;border:1px solid rgba(232,239,232,.16);background:radial-gradient(circle at 50% 120%,rgba(121,199,180,.2),transparent 52%),#03111738;text-align:center;overflow:hidden}.bottle-preview:before,.bottle-preview:after{content:"";position:absolute;width:420px;height:60px;border:1px solid rgba(121,199,180,.14);border-radius:50%;bottom:-36px}.bottle-preview:after{bottom:-22px;width:300px}.preview-sea{color:var(--seafoam);font-size:10px;letter-spacing:.12em}.bottle-preview p{margin:25px 0 5px;color:var(--muted);font-size:10px}.bottle-preview strong{font-family:Iowan Old Style,Songti SC,serif;font-size:42px;font-weight:400}.bottle-preview blockquote{margin:13px 0 0;color:var(--amber);font-family:Iowan Old Style,Songti SC,serif;font-size:14px}.safety-note{margin:13px 0 0;color:#e8efe86e;font-size:9px;line-height:1.6}.throw-footer{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:12px;padding:17px 24px;border-top:1px solid rgba(232,239,232,.1);background:#071b24f5}.primary-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;border:0;border-radius:var(--radius-control);padding:0 20px;background:var(--brand-strong);color:#fff;font-size:11px;cursor:pointer;box-shadow:var(--shadow-card);transition:background-color var(--motion-state) var(--ease-out),border-color var(--motion-state) var(--ease-out),color var(--motion-state) var(--ease-out),transform var(--motion-press) var(--ease-out)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{border:1px solid rgb(246 230 213 / 22%);background:#fffdf80a;color:var(--foam);box-shadow:none}.toast{position:fixed;z-index:200;left:50%;bottom:88px;transform:translate(-50%);width:max-content;max-width:calc(100vw - 32px);padding:11px 16px;border:1px solid rgb(246 230 213 / 22%);border-radius:var(--radius-control);background:#2e2418f7;color:var(--foam);box-shadow:var(--shadow-float);font-size:11px;transition:opacity var(--motion-state) var(--ease-out),transform var(--motion-state) var(--ease-out)}@starting-style{.toast{opacity:0;transform:translate(-50%,8px)}}.turnstile-slot{position:fixed;z-index:300;right:18px;bottom:18px;width:1px;height:1px;overflow:visible}.detail-header{position:relative}.back-link{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.back-link:hover{color:var(--foam)}.detail-main{position:relative;z-index:4;display:grid;place-items:center;min-height:calc(100svh - 88px);padding:40px 20px 75px}.wish-card-standalone{width:min(610px,100%);border:1px solid rgb(246 230 213 / 18%);border-radius:var(--radius-card);background:linear-gradient(145deg,#342a20f0,#211b16fa);box-shadow:var(--shadow-float)}.loading-buoy{color:var(--muted);font-family:Iowan Old Style,serif;font-size:18px}.empty-state{display:grid;justify-items:center;max-width:480px;text-align:center}.empty-state>span{color:var(--amber);font:13px monospace;letter-spacing:.16em}.empty-state h1{margin:18px 0 10px;font-size:clamp(34px,6vw,52px)}.empty-state p{color:var(--muted);line-height:1.7}.empty-state a{margin-top:18px;padding-bottom:4px;border-bottom:1px solid var(--amber);color:var(--foam);font-size:12px}.echo-card{position:relative;width:min(620px,100%);min-height:530px;display:grid;place-items:center;align-content:center;overflow:hidden;padding:50px;border:1px solid rgba(232,239,232,.16);background:radial-gradient(circle at center,rgba(121,199,180,.1),transparent 54%),#071c25e6;text-align:center}.echo-orbit{position:absolute;top:50%;right:50%;bottom:50%;left:50%;pointer-events:none}.echo-orbit i{position:absolute;left:50%;top:50%;width:280px;height:280px;transform:translate(-50%,-50%);border:1px solid rgba(121,199,180,.11);border-radius:50%}.echo-orbit i:nth-child(2){width:390px;height:390px}.echo-orbit i:nth-child(3){width:510px;height:510px}.echo-kicker{position:relative;display:flex;align-items:center;gap:8px;color:var(--seafoam);font-size:10px;letter-spacing:.1em}.echo-glyph{position:relative;margin:25px 0 9px;color:var(--amber);font-size:48px;font-family:serif}.echo-card h1{position:relative;font-size:clamp(42px,8vw,68px)}.echo-line{position:relative;max-width:380px;color:var(--muted);line-height:1.8;font-size:13px}.echo-card blockquote{position:relative;color:var(--amber);font-family:Iowan Old Style,serif;font-size:18px}.echo-wish-link{position:relative;margin-top:27px;padding-bottom:5px;border-bottom:1px solid rgba(232,239,232,.25);font-size:11px}.echo-wish-link span{margin-left:9px;color:var(--amber)}@media(max-width:820px){.site-header{padding:20px}.site-header nav>a{display:none}.site-header nav{gap:10px}.header-throw{padding:9px 12px}.hero{align-items:start;padding:118px 23px 85px}.hero-copy{width:100%}.hero h1{font-size:clamp(42px,12vw,61px)}.hero-lead{max-width:92%;font-size:14px}.hero-sea{top:53%;right:8%;width:48%;height:24%;opacity:.6}.hero-compass{width:160px}.bottle-field{top:300px;right:0;bottom:7%;left:0;opacity:.84}.sea-bottle:nth-child(n+19){display:none}.sea-proof{flex-direction:column;gap:8px;margin-top:23px}.scroll-cue{display:none}.rule-grid{grid-template-columns:1fr;margin:60px 0 50px}.how-it-works{padding:90px 24px}.site-footer{flex-wrap:wrap;gap:16px}.site-footer p{width:100%;order:3}.detail-header .brand small{display:none}}@media(max-width:560px){.brand strong{font-size:16px}.brand-mark{width:27px;transform:scale(.88);transform-origin:left}.header-throw{font-size:0;width:39px;height:39px;justify-content:center;padding:0}.header-throw svg{width:17px;height:17px}.hero{min-height:760px}.hero h1{font-size:clamp(39px,12.5vw,52px)}.desktop-only{display:none}.hero-actions{align-items:stretch;flex-direction:column;gap:10px}.draw-button{width:100%;min-width:0}.throw-link{align-self:flex-start}.hero-sea{top:60%;right:4%}.bottle-field{top:430px;right:-3%;bottom:1%;left:-3%}.sea-bottle:nth-child(n+14){display:none}.moon{right:8%;top:14%;width:52px;height:52px;opacity:.45}.modal-layer{align-items:end;padding:0}.modal-panel{width:100%;max-height:94svh;border-radius:12px 12px 0 0;border-bottom:0}.wish-card{padding:23px 18px 28px}.wish-copy{padding:38px 0 32px}.wish-copy h1{font-size:clamp(43px,14vw,61px)}.ripple-grid{grid-template-columns:1fr 1fr}.ripple-label{align-items:flex-start;flex-direction:column;gap:4px}.wish-actions{display:grid;grid-template-columns:1fr 1fr}.action-button{min-width:0}.action-button:last-child{grid-column:1 / -1}.reef-form>div{flex-wrap:wrap}.reef-form input{flex-basis:100%}.throw-step{min-height:430px;padding:27px 19px 18px}.sea-picker{grid-template-columns:1fr}.step-meter span:not(:last-child){margin-right:52px}.step-meter span:not(:last-child):after{width:53px}.throw-footer{padding:14px 18px}.detail-main{padding:25px 12px 50px;align-items:start}.wish-card-standalone{border-radius:6px}.echo-card{min-height:500px;padding:30px 20px}.back-link{font-size:0;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--hairline);border-radius:50%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,*:before,*:after{min-width:0}html,body,#root{width:100%;max-width:100%;overflow-x:clip}body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}:where(h1,h2,h3,p,blockquote,strong,small,span,a,button,label,li,time){overflow-wrap:anywhere;word-break:break-word}:where(button,input,textarea,select){max-width:100%}:where(button,a,input,textarea,select){touch-action:manipulation}.site-header{padding-top:calc(20px + env(safe-area-inset-top,0px))}.sea-scene{overflow:clip}.hero{min-height:calc(100svh - 70px)}.sea-promise{position:absolute;z-index:14;left:50%;bottom:22px;width:min(92vw,580px);margin:0;transform:translate(-50%);color:#e8efe88f;text-align:center;font-size:12px;line-height:1.5}.header-text-link{display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:13px}.header-text-link:hover{color:var(--foam)}.app-loading{min-height:100svh;display:grid;place-items:center;background:var(--midnight);color:var(--muted)}.bottom-nav{position:fixed;z-index:80;left:50%;bottom:max(10px,env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));width:min(340px,calc(100vw - 24px));min-height:60px;padding:5px;border:1px solid rgba(232,239,232,.16);border-radius:18px;transform:translate(-50%);background:#051720e6;box-shadow:0 14px 45px #0000005c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;border-radius:13px;color:var(--muted);font-size:12px;line-height:1}.bottom-nav-item.is-active{background:#79c7b41f;color:var(--foam)}.bottom-nav-item svg{color:var(--seafoam)}.collection-main{position:relative;z-index:5;width:min(980px,100%);min-height:calc(100svh - 78px);margin:0 auto;padding:62px clamp(18px,4vw,42px) 120px}.page-heading{max-width:680px;margin-bottom:38px}.page-heading h1,.wave-hero h1{margin:0;font:400 clamp(42px,8vw,72px)/1.1 "Iowan Old Style","Songti SC",serif;letter-spacing:-.035em}.page-heading>p:not(.section-kicker){max-width:620px;margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.8}.notify-button{margin-top:22px;min-height:46px}.tide-list{display:grid;gap:12px}.tide-card{overflow:hidden;border:1px solid rgba(232,239,232,.16);border-radius:8px;background:#081f29c2}.tide-card.is-read{opacity:.75}.tide-card-summary{display:grid;grid-template-columns:minmax(70px,.7fr) minmax(0,3fr) 18px 22px;align-items:center;gap:16px;width:100%;min-height:82px;padding:16px 18px;border:0;background:transparent;text-align:left;cursor:pointer}.tide-date{color:var(--seafoam);font:13px monospace}.tide-message{display:grid;gap:5px}.tide-message strong{color:var(--foam);font:500 18px/1.35 Iowan Old Style,Songti SC,serif}.tide-message small{color:var(--muted);font-size:12px}.tide-card-summary>i{width:8px;height:8px;border-radius:50%;background:var(--amber)}.tide-card-detail{display:grid;gap:8px;padding:0 18px 18px}.tide-wish{display:flex;justify-content:space-between;gap:16px;min-height:44px;align-items:center;padding:10px 12px;border-left:2px solid rgba(121,199,180,.44);background:#03111747}.tide-wish strong{color:var(--amber);font:13px monospace}.tide-empty{margin:70px auto 0}.tide-empty h2,.empty-state h2{margin:15px 0 7px;font:400 clamp(30px,7vw,46px)/1.2 "Iowan Old Style","Songti SC",serif}.voyage-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.voyage-stats article{display:grid;grid-template-columns:28px 1fr;align-items:center;min-height:92px;padding:17px;border:1px solid rgba(232,239,232,.14);background:#081f29b8}.voyage-stats svg{grid-row:1 / 3;color:var(--amber)}.voyage-stats strong{font:500 27px/1 monospace;color:var(--foam)}.voyage-stats span{color:var(--muted);font-size:12px}.annual-map-panel{background:radial-gradient(circle at 100% 0,rgba(233,184,111,.13),transparent 38%),#081f29c2}.annual-map-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.annual-map-metrics p{display:grid;gap:6px;margin:0;min-height:76px;padding:13px;border:1px solid rgba(232,239,232,.09);background:#0311173d}.annual-map-metrics strong{color:var(--amber);font:600 24px/1 monospace}.annual-map-metrics span,.annual-map-note{color:var(--muted);font-size:12px;line-height:1.55}.annual-map-note{margin:14px 0 0}.map-panel,.detail-panel,.wave-wishes{margin-top:18px;padding:clamp(18px,4vw,28px);border:1px solid rgba(232,239,232,.14);border-radius:8px;background:#081f29b8}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.panel-heading h2{display:flex;align-items:center;gap:9px;margin:0;font:500 clamp(20px,4vw,27px)/1.3 "Iowan Old Style","Songti SC",serif}.panel-heading>span{flex:0 1 45%;color:var(--muted);font-size:12px;text-align:right}.sea-ledger{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.sea-ledger-item{display:grid;place-items:center;gap:8px;min-height:88px;padding:9px 5px;border:1px solid rgba(232,239,232,.08);opacity:.36;text-align:center}.sea-ledger-item.is-lit{border-color:#e9b86f73;background:#e9b86f0f;opacity:1}.sea-ledger-item>span{color:var(--amber);font-size:22px}.sea-ledger-item strong{font-size:11px;font-weight:500}.compact-wish-list{display:grid;gap:8px}.compact-wish-list a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:50px;padding:10px 12px;background:#0311174d}.compact-wish-list a>span{color:var(--amber)}.compact-wish-list a strong{font-size:14px}.compact-wish-list a small{color:var(--muted);font-size:11px;text-align:right}.panel-empty{margin:0;color:var(--muted);line-height:1.7}.panel-empty a{display:inline-block;margin-top:12px;padding-bottom:3px;border-bottom:1px solid var(--amber);color:var(--foam)}.wave-hero{position:relative;overflow:hidden;padding:clamp(30px,7vw,66px);border:1px solid rgba(232,239,232,.15);background:radial-gradient(circle at 86% 0,rgba(233,184,111,.16),transparent 36%),#081f29d1}.wave-hero>p:first-child{display:flex;align-items:center;gap:8px;margin:0 0 18px;color:var(--seafoam);font-size:12px;letter-spacing:.08em}.wave-hero blockquote{max-width:660px;margin:25px 0 0;color:var(--amber);font:italic 19px/1.8 Iowan Old Style,Songti SC,serif}.wave-report{margin-top:32px;padding-top:22px;border-top:1px solid var(--hairline)}.wave-report strong{color:var(--seafoam);font-size:12px}.wave-report p{max-width:680px;margin:8px 0 0;color:var(--muted);line-height:1.8}.wave-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wave-grid a{display:grid;align-content:start;min-height:180px;padding:18px;border:1px solid rgba(232,239,232,.1);background:#03111747}.wave-grid span{color:var(--seafoam);font-size:11px}.wave-grid strong{margin-top:25px;font:500 clamp(24px,4vw,34px)/1.15 "Iowan Old Style","Songti SC",serif}.wave-grid p{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.7}.wish-detail-main{align-items:start}.wish-detail-stack{width:min(680px,100%)}.reef-note-list,.wish-timeline,.echo-notes{margin:0;padding:0;list-style:none}.reef-note-list{display:grid;gap:8px}.reef-note-list li{padding:12px 14px;border-left:2px solid var(--amber);background:#03111747;color:var(--foam);line-height:1.65}.echo-summary-panel blockquote{margin:0;color:var(--amber);font:italic 18px/1.8 Iowan Old Style,Songti SC,serif}.echo-summary-panel>a{display:inline-flex;gap:12px;margin-top:16px;padding-bottom:4px;border-bottom:1px solid rgba(232,239,232,.24);font-size:12px}.wish-timeline{display:grid;gap:0}.wish-timeline li{position:relative;display:flex;justify-content:space-between;gap:20px;padding:12px 12px 12px 25px;border-left:1px solid rgba(121,199,180,.3)}.wish-timeline li:before{content:"";position:absolute;left:-4px;top:19px;width:7px;height:7px;border-radius:50%;background:var(--seafoam)}.wish-timeline strong{font-size:13px}.wish-timeline time{color:var(--muted);font-size:11px;text-align:right}.rare-bottle{display:flex;align-items:center;justify-content:center;gap:6px;margin:0 auto 17px;color:var(--amber);font-size:12px;letter-spacing:.08em}.same-frequency{display:flex;align-items:center;justify-content:center;gap:7px;margin:12px 0 0;padding:9px 12px;background:#79c7b40f;color:var(--seafoam);font-size:12px;line-height:1.5;text-align:center}.wish-copy h1,.wish-note{max-width:100%}.share-card-modal{width:min(620px,100%)}.share-card-preview{display:grid;align-content:center;gap:18px;width:min(340px,calc(100% - 36px));margin:26px auto;padding:32px;border:1px solid rgba(155,196,203,.3);background:radial-gradient(circle at 70% 70%,rgba(155,196,203,.16),transparent 45%),#0b2230;box-shadow:0 20px 60px #0000004d}.share-card-preview-portrait{aspect-ratio:3 / 4}.share-card-preview-square{aspect-ratio:1}.share-card-preview span{color:var(--seafoam);font-size:12px}.share-card-preview strong{color:var(--foam);font:500 clamp(32px,8vw,52px)/1.1 "Iowan Old Style","Songti SC",serif}.share-card-preview blockquote{display:-webkit-box;max-height:8.2em;margin:0;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical;color:var(--amber);font:italic 16px/1.65 Iowan Old Style,Songti SC,serif}.share-card-preview small{align-self:end;color:var(--muted);font-size:11px}.summary-card-preview>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.summary-card-preview>div p{display:grid;gap:3px;margin:0}.summary-card-preview>div b{font:600 22px monospace}.summary-card-preview>div small{align-self:auto}.tide-share-button{justify-self:start;display:inline-flex;align-items:center;gap:7px;margin-top:4px}.share-card-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:18px 24px calc(18px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--hairline)}.segmented-control{display:flex;flex:1 1 190px;min-height:44px;padding:3px;border:1px solid var(--hairline);border-radius:5px}.segmented-control button{flex:1;min-height:36px;border:0;background:transparent;color:var(--muted);font-size:12px}.segmented-control button.is-active{background:#79c7b41f;color:var(--foam)}.sea-tools-modal{width:min(590px,100%)}.sea-tools-body{display:grid;gap:22px;padding:clamp(20px,5vw,32px)}.sea-search-field{display:grid;gap:10px}.sea-search-field>span,.sea-filter-fieldset legend{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}.sea-search-field input{width:100%;min-height:48px;border:1px solid var(--hairline);border-radius:var(--radius-control);padding:0 14px;background:#fffdf80d;color:var(--foam);outline:none}.sea-search-field input:focus{border-color:var(--sea-bright)}.sea-search-field input::placeholder{color:#c9b8a5a6}.sea-filter-fieldset{min-width:0;margin:0;padding:0;border:0}.sea-filter-fieldset legend{margin-bottom:10px}.sea-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.sea-filter-chips button{min-height:40px;border:1px solid var(--hairline);border-radius:var(--radius-pill);padding:0 12px;background:#fffdf80a;color:var(--muted);font-size:12px;cursor:pointer}.sea-filter-chips button.is-active{border-color:#c8942f99;background:var(--gold-tint);color:var(--foam)}.sea-tools-settings{display:grid;border-top:1px solid var(--hairline)}.sea-setting-row,.wave-discovery-link{display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:70px;border:0;border-bottom:1px solid var(--hairline);padding:12px 0;background:transparent;color:var(--foam);text-align:left;cursor:pointer}.sea-setting-row>svg,.wave-discovery-link>svg{color:var(--seafoam)}.sea-setting-row>span,.wave-discovery-link>span{display:grid;min-width:0;gap:4px}.sea-setting-row strong,.wave-discovery-link strong{font-size:13px;font-weight:600}.sea-setting-row small,.wave-discovery-link small{color:var(--muted);font-size:11px;line-height:1.5}.sea-setting-row>b,.wave-discovery-link>b{color:var(--amber);font-size:11px;font-weight:600;white-space:nowrap}.wave-discovery-link{min-height:78px;border:1px solid rgb(200 148 47 / 28%);border-radius:var(--radius-control);padding:13px 14px;background:var(--gold-tint)}.wave-share-button,.resonance-share-button{margin-top:22px}.preference-switch{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:center;gap:18px;width:100%;border:0;padding:6px 0 0;background:transparent;text-align:left;cursor:pointer}.preference-switch>span{display:grid;gap:6px}.preference-switch strong{color:var(--foam);font-size:13px}.preference-switch small{color:var(--muted);font-size:11px;line-height:1.6}.preference-switch>i{position:relative;display:block;width:46px;height:26px;border:1px solid var(--hairline);border-radius:var(--radius-pill);background:#fffdf812;transition:background-color var(--motion-state) var(--ease-out),border-color var(--motion-state) var(--ease-out)}.preference-switch>i b{position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform var(--motion-state) var(--ease-spring),background-color var(--motion-state) var(--ease-out)}.preference-switch[aria-checked=true]>i{border-color:var(--sea);background:#168c7852}.preference-switch[aria-checked=true]>i b{transform:translate(20px);background:var(--sea-bright)}.preference-switch:disabled{opacity:.6;cursor:wait}.throw-success{display:grid;justify-items:center;padding:clamp(36px,8vw,72px) clamp(20px,7vw,70px);text-align:center}.throw-success-motion{position:relative;display:grid;place-items:center;width:110px;height:110px;margin-bottom:25px;color:var(--amber)}.throw-success-motion i{position:absolute;width:90px;height:28px;bottom:9px;border:1px solid rgba(121,199,180,.32);border-radius:50%;animation:success-wave 1.5s var(--ease-out) both}.throw-success-motion i:last-child{animation-delay:.2s}@keyframes success-wave{0%{transform:scale(.4);opacity:.8}to{transform:scale(1.5);opacity:0}}.throw-success h3{max-width:520px;margin:0;font:400 clamp(30px,6vw,46px)/1.25 "Iowan Old Style","Songti SC",serif}.throw-success blockquote{max-width:100%;margin:20px 0 0;color:var(--amber);font:italic 20px/1.6 Iowan Old Style,Songti SC,serif}.throw-success>p:not(.step-kicker){max-width:510px;margin:20px 0 0;color:var(--muted);font-size:13px;line-height:1.8}.throw-success-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:26px}.throw-success-actions button{min-height:46px}.field-help,.sea-suggestion{color:var(--muted);font-size:12px;line-height:1.6}.field-help{margin:13px 0 0}.sea-suggestion{display:flex;align-items:flex-start;gap:8px;margin:-15px 0 15px}.sea-suggestion svg{flex:0 0 auto;margin-top:2px;color:var(--seafoam)}.echo-card-generated{align-content:start;width:min(760px,100%);min-height:0;padding:clamp(30px,6vw,54px)}.echo-card-generated h1{margin-top:28px;font-size:clamp(36px,7vw,58px)}.echo-counts{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin:22px 0;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline)}.echo-counts span{display:grid;gap:4px;padding:13px 6px;color:var(--muted);font-size:11px}.echo-counts strong{color:var(--foam);font:500 18px monospace}.echo-card-generated blockquote{max-width:570px;margin:6px auto 20px;line-height:1.8}.echo-notes{position:relative;display:grid;width:100%;gap:7px;text-align:left}.echo-notes li{padding:10px 12px;border-left:2px solid var(--amber);background:#0311174d;color:var(--muted);font-size:12px;line-height:1.6}.echo-ripple-section{position:relative;width:100%;margin-top:24px;padding-top:19px;border-top:1px solid var(--hairline);text-align:left}.echo-ripple-section>p{margin:0;color:var(--seafoam);font-size:12px}.echo-actions{position:relative;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:15px;margin-top:23px}.echo-actions .echo-wish-link{margin:0;min-height:44px;display:inline-flex;align-items:center}.icon-button,.back-link,.header-throw,.small-button,.text-button,.action-button,.ripple-button,.primary-button,.secondary-button,.copy-url,.wish-permalink{min-height:44px}.sea-bottle{width:44px;height:72px}.bottle-glass{inset-inline:10px}.bottle-cork{left:17px}.bottle-tag{top:75px;max-width:min(150px,40vw);overflow:hidden;text-overflow:ellipsis;font-size:11px}.modal-topline h2{font-size:11px;line-height:1.4}.sea-seal small,.wish-date,.eyebrow,.ripple-label small,.field-label b,.step-kicker,.safety-note{font-size:max(11px,.6875rem)}.ripple-button>span:nth-child(2),.ripple-button strong,.action-button,.wish-permalink,.copy-url,.small-button,.text-button{font-size:12px}.sea-option small{font-size:11px;line-height:1.35}.primary-button,.secondary-button{min-height:44px;font-size:12px}.bottom-nav{border-color:#f6e6d533;border-radius:calc(var(--radius-card) + 4px);background:#2e2418eb;box-shadow:var(--shadow-float)}.bottom-nav-item{border-radius:var(--radius-control);transition:color var(--motion-state) var(--ease-out),background-color var(--motion-state) var(--ease-out),transform var(--motion-press) var(--ease-out)}.bottom-nav-item.is-active{background:var(--gold-tint);color:var(--foam)}.bottom-nav-item.is-active svg{color:#f4c761}.tide-card,.voyage-stats article,.map-panel,.detail-panel,.wave-wishes,.wave-hero,.echo-card{border-color:#f6e6d529;border-radius:var(--radius-card);background-color:#2e2418b8;box-shadow:var(--shadow-card)}.annual-map-panel{background:radial-gradient(circle at 100% 0,rgb(217 109 48 / 16%),transparent 38%),#2e2418c2}.wave-hero{background:radial-gradient(circle at 86% 0,rgb(217 109 48 / 18%),transparent 36%),#2e2418cc}.echo-card{background:radial-gradient(circle at center,rgb(22 140 120 / 12%),transparent 54%),#2e2418d6}.annual-map-metrics p,.compact-wish-list a,.wave-grid a,.reef-note-list li,.echo-notes li,.tide-wish,.reef-form,.report-form,.bottle-preview{border-color:#f6e6d521;background-color:#fffdf80b}.wave-grid a,.compact-wish-list a,.annual-map-metrics p,.sea-ledger-item,.bottle-preview{border-radius:var(--radius-control)}.sea-ledger-item.is-lit{border-color:#c8942f85;background:var(--gold-tint)}.same-frequency,.echo-created-link{background:#168c781c}.reef-form input,.report-form select,.report-form textarea,.throw-step textarea,.input-with-icon{border-color:#f6e6d52e;border-radius:var(--radius-control);background:#fffdf80d}.reef-form input:focus,.report-form select:focus,.report-form textarea:focus,.throw-step textarea:focus,.input-with-icon:focus-within{border-color:var(--sea-bright)}.sea-option{border-color:#f6e6d526;border-radius:var(--radius-control);background:#fffdf80a;transition:border-color var(--motion-state) var(--ease-out),background-color var(--motion-state) var(--ease-out),color var(--motion-state) var(--ease-out),transform var(--motion-press) var(--ease-out)}.sea-option:hover,.sea-option.is-selected,.ripple-button:hover:not(:disabled),.ripple-button.is-selected{border-color:#168c78bd;background:#168c781f}.segmented-control{border-radius:var(--radius-control)}.segmented-control button{border-radius:calc(var(--radius-control) - 3px);transition:color var(--motion-state) var(--ease-out),background-color var(--motion-state) var(--ease-out),transform var(--motion-press) var(--ease-out)}.segmented-control button.is-active{background:var(--gold-tint);color:var(--foam)}.share-card-preview{border-color:#f6e6d53b;border-radius:var(--radius-card);background:radial-gradient(circle at 70% 70%,rgb(22 140 120 / 18%),transparent 45%),#2e2418;box-shadow:var(--shadow-float)}.bottle-tag{border-radius:var(--radius-control);background:#2e2418f0}.primary-button:hover:not(:disabled),.small-button:hover:not(:disabled){background:var(--brand-deep)}.secondary-button:hover:not(:disabled){border-color:#c8942f99;background:var(--gold-tint);color:var(--foam)}.action-button:hover,.action-button.is-active{border-color:#c8942f99;background:var(--gold-tint);color:var(--foam)}:where(.draw-button,.header-throw,.icon-button,.primary-button,.secondary-button,.small-button,.text-button,.action-button,.ripple-button,.sea-option,.segmented-control button,.bottom-nav-item):active:not(:disabled){transform:scale(.98);transition-duration:var(--motion-press)}@media(hover:none){.draw-button:hover:not(:disabled){background:var(--brand-strong);transform:none;box-shadow:var(--shadow-raised)}}@media(max-width:720px){.collection-main{padding-top:45px}.sea-ledger{grid-template-columns:repeat(4,minmax(0,1fr))}.wave-grid{grid-template-columns:1fr 1fr}.tide-card-summary{grid-template-columns:68px minmax(0,1fr) 16px 20px;gap:10px}}@media(max-width:560px){body{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}.site-header{padding:calc(14px + env(safe-area-inset-top,0px)) 14px 14px}.header-tool span{display:none}.header-tool{width:44px;justify-content:center;padding:0}.hero{min-height:calc(100svh - 72px);padding:calc(94px + env(safe-area-inset-top,0px)) 18px 82px}.hero-lead{max-width:100%}.hero h1{font-size:clamp(38px,12vw,50px)}.hero-kicker{font-size:11px;line-height:1.5}.sea-proof{max-width:85%}.sea-proof span{line-height:1.5}.sea-promise{bottom:16px;font-size:11px}.bottom-nav{bottom:max(6px,env(safe-area-inset-bottom,0px));width:calc(100vw - 16px)}.collection-main{padding:42px 14px 112px}.page-heading{margin-bottom:28px}.page-heading h1{font-size:clamp(38px,12vw,54px)}.page-heading>p:not(.section-kicker){font-size:13px}.voyage-stats{grid-template-columns:1fr;gap:8px}.voyage-stats article{min-height:68px}.annual-map-metrics{grid-template-columns:1fr}.sea-ledger{grid-template-columns:repeat(2,minmax(0,1fr))}.sea-ledger-item:last-child{grid-column:1 / -1}.wave-grid{grid-template-columns:1fr}.wave-grid a{min-height:150px}.panel-heading{align-items:flex-start}.compact-wish-list a{grid-template-columns:28px minmax(0,1fr)}.compact-wish-list a small{grid-column:2;text-align:left}.tide-card-summary{grid-template-columns:minmax(0,1fr) 16px 20px;min-height:92px;gap:10px}.tide-date,.tide-message{grid-column:1}.tide-card-summary>i,.tide-card-summary>svg{grid-row:1 / 3}.wish-current{gap:10px}.wish-current span:last-child{justify-content:flex-end;text-align:right}.wish-actions{grid-template-columns:1fr 1fr}.action-button:last-child{grid-column:auto}.modal-layer{padding-bottom:env(safe-area-inset-bottom,0px)}.modal-panel{max-height:calc(96svh - env(safe-area-inset-top,0px));animation-name:sheet-in}.share-card-preview{width:min(300px,calc(100% - 28px));padding:24px}.share-card-controls{padding-inline:14px}.share-card-controls>.primary-button,.share-card-controls>.secondary-button{flex:1 1 120px}.share-card-controls .segmented-control{flex-basis:100%}.sea-tools-body{padding-inline:14px}.throw-step{min-height:380px}.throw-step h3{margin-bottom:24px}.sea-option{min-height:64px}.echo-counts{grid-template-columns:1fr 1fr}.echo-counts span:nth-child(odd){border-right:1px solid var(--hairline)}.echo-counts span:nth-child(-n+2){border-bottom:1px solid var(--hairline)}.echo-card-generated{padding-inline:16px}.wish-timeline li{flex-direction:column;gap:4px}.wish-timeline time{text-align:left}}@keyframes sheet-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(max-width:390px){.brand small{display:none}.site-header nav>a{display:none}.hero{padding-inline:14px}.hero h1{font-size:clamp(35px,11.5vw,45px)}.draw-button{padding-right:14px}.draw-button small{font-size:11px;line-height:1.35}.hero-sea{opacity:.38}.bottle-field{inset-inline:0}.sea-bottle{left:clamp(24px,var(--bottle-x),calc(100% - 24px))}.wish-card{padding-inline:14px}.wish-copy h1{font-size:clamp(37px,13vw,52px);line-height:1.12}.wish-note{font-size:15px}.ripple-grid{gap:6px}.ripple-button{grid-template-columns:20px minmax(0,1fr);min-height:62px;padding:7px}.ripple-glyph{font-size:18px}.action-button{padding-inline:7px}.throw-step,.throw-footer{padding-inline:14px}.throw-footer .primary-button,.throw-footer .secondary-button{padding-inline:13px}.step-meter span:not(:last-child){margin-right:42px}.step-meter span:not(:last-child):after{width:43px}.map-panel,.detail-panel,.wave-wishes{padding-inline:14px}.wave-hero{padding-inline:20px}}@media(max-width:340px){.brand{gap:6px}.brand-mark{width:25px}.site-header{padding-inline:10px}.site-header nav{gap:4px}.header-throw,.hero{padding-inline:11px}.hero h1{font-size:36px}.hero-lead{line-height:1.7}.draw-button{gap:9px;padding-left:9px}.draw-button-icon{width:40px;height:40px}.ripple-button{grid-template-columns:18px minmax(0,1fr);column-gap:4px}.action-button{font-size:11px}.tide-card-summary{padding-inline:12px}.bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-nav-item{font-size:11px}}@media(prefers-reduced-motion:reduce){:root{--motion-press: 0ms;--motion-state: 0ms;--motion-sheet: 0ms;--motion-hover: 0ms}.throw-success-motion i{display:none}.modal-layer,.modal-panel{animation:none}:where(.draw-button,.header-throw,.icon-button,.primary-button,.secondary-button,.small-button,.text-button,.action-button,.ripple-button,.sea-option,.segmented-control button,.bottom-nav-item):active:not(:disabled){transform:none}}
