@font-face{font-family:local;src:local('Segoe UI')}*{box-sizing:border-box}body{margin:0;background:#f6f4e9;color:#153f49;font-family:local,system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #c4d6cf;background:#fffdf5;border-radius:12px;min-height:44px;padding:10px 15px;font-weight:650}button:hover{background:#e7f1e9}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #dc9c3c;outline-offset:3px}.shell{max-width:1200px;margin:auto;display:flex;align-items:center;gap:20px;padding:18px 32px;border-bottom:1px solid #dbe2d7}.shell>a{margin-right:auto}.preview{font-size:10px;letter-spacing:2px}.preview b{display:block;letter-spacing:0;font-size:12px;font-weight:500;margin-top:3px}main{max-width:1140px;margin:auto;padding:20px 32px 40px}.intro{display:flex;align-items:center;justify-content:space-between;padding:22px 0 32px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:#4c7a77}h1{font-size:58px;letter-spacing:-2px;line-height:1.05;margin:14px 0}h1 span{display:block;font-family:Georgia,serif;font-size:34px;font-style:italic;font-weight:400;color:#619589;letter-spacing:-1px;margin-top:9px}.dek{color:#5e7778;font-size:15px;line-height:1.6}.hero-art{width:290px;height:190px;position:relative;border-radius:50%;background:radial-gradient(ellipse,#d8ece2,transparent 70%)}.hero-art canvas{position:absolute;inset:5px 5px;width:260px;height:175px;transform:rotate(-8deg)}.bubble{position:absolute;border:1px solid #85bdb4;border-radius:50%;width:14px;height:14px;right:25px;top:30px}.b2{width:8px;height:8px;right:6px;top:3px}.hero-art .big{position:absolute;left:38px;bottom:15px;width:24px;height:24px}.play-layout{display:grid;grid-template-columns:minmax(0,650px) minmax(250px,1fr);gap:28px;align-items:start}.game{background:#fffdf7;border:1px solid #d0dfd6;border-radius:24px;padding:24px;box-shadow:0 12px 35px #2c534808}.game-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.game-top h2{font-size:23px;margin:6px 0;letter-spacing:-.5px}.game-top .eyebrow{font-size:9px}.mode-switch{display:flex;background:#edf2e9;padding:3px;border-radius:12px;flex-shrink:0}.mode-switch button{border:0;background:none;padding:8px 11px;font-size:12px;min-height:38px}.mode-switch button[aria-pressed=true]{background:#137f82;color:white;box-shadow:0 2px 3px #1233}.stats{display:flex;gap:32px;padding:16px 0}.stats span{display:flex;gap:7px;align-items:baseline}.stats b{font-size:21px;font-variant-numeric:tabular-nums}.stats small{font-size:12px;color:#647e7c}.board{position:relative;width:100%;aspect-ratio:1;background:linear-gradient(155deg,#cee7e0,#acd3d0);border:8px solid #e5eee4;border-radius:20px;overflow:hidden;touch-action:none;user-select:none}.cells{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,1fr)}.cell{border:1px solid #ffffff2b;border-radius:0;background:transparent;padding:0;min-height:0;min-width:0;position:relative;display:grid;place-items:center;font-size:30px;font-weight:400;z-index:2}.cell:hover{background:#fff3}.cell.visited{background:#ffffff14}.cell.start:after{content:'';width:10px;height:10px;border-radius:50%;background:#227c7a}.cell.rock:before{content:'';width:66%;height:57%;border-radius:44% 45% 30% 32%;background:linear-gradient(140deg,#789e98,#507e79);box-shadow:inset -4px -5px 0 #37645d20,0 4px 0 #537b7133;transform:rotate(-8deg)}.cell.home{color:#ce8971;text-shadow:1px 2px #a66f5533;font-size:42px}.cell.current{color:#4e8f90;font-size:26px}.pearl{display:inline-block;width:17px;height:17px;border-radius:50%;background:radial-gradient(circle at 35% 30%,white 10%,#fff6d9 50%,#d3b874 100%);box-shadow:0 2px 5px #46665528,0 0 0 4px #ffffff1c}.cell .pearl{width:29%;height:auto;aspect-ratio:1}.cell.collected .pearl{opacity:.2;transform:scale(.6)}.line-layer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}polyline{fill:none;stroke:#208e91;stroke-width:21;stroke-linecap:round;stroke-linejoin:round}#guide{display:none}#guide.visible{display:block}#guideLine{stroke:#fff9dc;stroke-width:9;stroke-dasharray:8 17;opacity:.95}#swimmer{position:absolute;width:19%;height:13.3%;z-index:3;pointer-events:none;transform:translate(-50%,-50%);transition:left .12s ease,top .12s ease;filter:drop-shadow(0 3px 2px #12444133)}.status{min-height:42px;font-size:13px;line-height:1.5;color:#52716f;margin:15px 0 8px}.controls{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px}.controls button{font-size:13px}.controls button[aria-pressed=true]{background:#fff0c7;border-color:#d8b765}.win{display:flex;justify-content:space-between;align-items:center;background:#e9f1dc;border:1px solid #d4e1c4;border-radius:14px;padding:18px;margin-top:18px;gap:12px}.win[hidden]{display:none}.win h3{margin:6px 0}.win p{margin:0;font-size:12px}.win span{letter-spacing:3px;color:#bb8422;font-size:24px}.primary{background:#137f82;color:white;border-color:#137f82}.primary:hover{background:#0b686c}details{border-top:1px solid #dce5d9;margin-top:18px;padding-top:16px;font-size:13px;line-height:1.6}summary{cursor:pointer;font-weight:650;min-height:30px}details p,details li{color:#55716e}.journey-card{border-radius:24px;background:#e9eee1;padding:25px}.journey-card h2{font-size:27px;line-height:1.25;margin:15px 0;letter-spacing:-.7px}.journey-card>p:not(.eyebrow){color:#648075;font-size:13px}.progress{height:5px;background:#d3dfcd;border-radius:5px;margin:16px 0 24px;overflow:hidden}.progress i{display:block;height:100%;background:#308f86;width:0}.levels{display:grid;grid-template-columns:repeat(6,1fr);gap:7px}.level{padding:6px 0;border-radius:10px;min-width:0;font-size:14px;background:#fffdf5}.level small{display:block;font-size:9px;letter-spacing:-1px;color:#ac801d;min-height:11px}.level.active{background:#137f82;color:white;border-color:#137f82}.chapter-label{grid-column:1/-1;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#608074;padding:10px 0 3px}.legend{display:flex;justify-content:space-between;font-size:11px;margin-top:25px;color:#607a70;gap:8px}.legend span{display:flex;align-items:center;gap:6px}.legend .pearl{width:12px;height:12px}.note{display:flex;gap:15px;padding:25px 5px}.note>span{font-size:35px;color:#659c8c}.note h3{font-size:15px;margin:0 0 8px}.note p,.privacy{font-size:13px;color:#637c76;line-height:1.6;margin:0}.privacy{border-top:1px solid #d4dfd4;padding-top:15px}footer{text-align:center;padding:20px 24px 35px;font-size:12px;color:#73887f}@media(max-width:900px){.play-layout{grid-template-columns:minmax(0,1fr) 260px;gap:18px}.game{padding:17px}.game-top{align-items:flex-start;flex-direction:column}.hero-art{width:230px}.journey-card{padding:20px}.levels{grid-template-columns:repeat(3,1fr)}.chapter-label{padding-top:15px}}@media(max-width:680px){.shell{padding:12px 18px;gap:12px}.shell button{font-size:12px;padding:8px 10px}.preview{display:none}main{padding:4px 14px 25px}.intro{padding:18px 6px 20px}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:40px;margin:10px 0}h1 span{font-size:24px}.dek{font-size:13px;margin-bottom:0}.hero-art{width:100px;height:100px;flex-shrink:0}.hero-art canvas{width:125px;height:84px;left:-15px;top:8px}.hero-art .big{width:15px;height:15px;left:10px;bottom:0}.bubble{right:0;width:8px;height:8px}.b2{display:none}.play-layout{display:block}.game{padding:15px;border-radius:20px}.game-top{flex-direction:row;align-items:center;gap:6px}.game-top h2{font-size:19px}.mode-switch button{font-size:11px;padding:7px}.stats{gap:24px;padding:13px 0}.stats b{font-size:19px}.stats small{font-size:11px}.board{border-width:5px;border-radius:15px}.controls button{padding:9px 6px}.journey-card{margin-top:22px}.journey-card h2 br{display:none}.journey-card h2{font-size:23px}.levels{grid-template-columns:repeat(6,1fr)}.level{min-height:46px}.status{min-height:40px;margin-top:12px}.win{padding:13px}.win button{font-size:12px}aside .note{padding:20px 5px}.cell.home{font-size:33px}}@media(max-width:360px){h1{font-size:35px}.hero-art{width:80px}.game-top{flex-wrap:wrap}.stats{gap:18px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;scroll-behavior:auto!important}}
