@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#143e47;font-size:16px;--ink:#143e47;--teal:#087f86;--paper:#fffdf5;--orange:#f1744f;--line:#dfe7db}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#62c8cf}button{font:inherit;cursor:pointer;border:0;color:inherit;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid #144fbe;outline-offset:4px}button:disabled{cursor:default;opacity:.55}button:not(:disabled):active{transform:translateY(2px)}.hidden{display:none!important}#game{height:100dvh;min-height:480px;position:relative;overflow:hidden}#world{width:100%;height:100%;display:block;touch-action:none}.topbar{position:absolute;top:26px;left:34px;right:34px;display:flex;align-items:center;justify-content:space-between;gap:16px;pointer-events:none;z-index:4}.brand{display:flex;align-items:center;gap:11px;font:700 30px/1 'Outfit',sans-serif;letter-spacing:-1.3px}.brand span:not(.brand-mark){display:block;font:700 10px/1 'DM Sans',sans-serif;letter-spacing:2.1px;margin-top:8px}.brand-mark{font-size:44px;color:var(--teal)}.top-actions{display:flex;gap:10px;align-items:center;pointer-events:auto}.icon-btn,.journal-btn{background:var(--paper);box-shadow:0 4px 0 #18404d14,0 4px 14px #18404d08;border:1px solid #fff9}.icon-btn{height:46px;width:46px;border-radius:50%;font:600 22px 'Outfit'}.journal-btn{border-radius:16px;padding:13px 17px;display:flex;gap:12px;align-items:center;font-weight:700}.journal-btn>span{font-size:22px}.journal-btn b{background:#e8eee1;border-radius:7px;padding:4px 7px;font-size:13px}.welcome{position:absolute;left:6.4%;top:24%;max-width:475px;z-index:3}.eyebrow{font-weight:800;font-size:11px;letter-spacing:2.1px;color:#337076}.welcome h1{font:600 clamp(44px,5.1vw,76px)/1.04 'Outfit',sans-serif;letter-spacing:-3px;margin:22px 0}.welcome p{font-size:18px;line-height:1.6;color:#416771;margin:0 0 25px}.welcome-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:28px;font-size:15px;font-weight:600}.welcome-steps b{font:600 12px 'Outfit';display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;background:#ffffff9c;border:1px solid #dce7da;border-radius:50%;margin-right:10px;color:var(--teal)}.primary{background:var(--teal);color:white;border-radius:16px;min-height:54px;padding:15px 22px;font-size:17px;font-weight:700;box-shadow:0 5px 0 #08656c;display:inline-flex;align-items:center;justify-content:center;gap:18px}.primary:hover{background:#096b75}.welcome .primary{min-width:280px}.welcome .primary span{font-size:23px}.start-foot{font-size:11px;margin-top:22px;color:#527177}.start-foot i{margin:0 6px}.intro-note{position:absolute;right:9%;bottom:12%;display:flex;align-items:center;gap:13px;transform:rotate(-5deg);color:#20666a}.intro-note span{font-size:46px}.intro-note b{font:500 21px/1.3 'Outfit'}.location-card{position:absolute;top:108px;right:34px;display:flex;align-items:center;gap:11px;background:#fffdf5dc;backdrop-filter:blur(10px);padding:14px 18px;border-radius:16px;box-shadow:0 4px 12px #2558600a}.location-card b{display:block;font-size:14px}.location-card span:not(.location-dot){display:block;font-size:12px;color:#4d7479;margin-top:3px}.location-dot{width:9px;height:9px;border-radius:50%;background:#168e8c}.tide-symbol{font-size:36px;line-height:1;padding-left:15px;color:var(--teal)}.quest{position:absolute;left:30px;top:110px;width:268px;background:var(--paper);padding:21px 23px;border-radius:20px;box-shadow:0 5px 0 #24455212;z-index:2}.quest .eyebrow{font-size:9px;letter-spacing:1.7px}.quest h2{font:600 22px/1.15 'Outfit';margin:11px 0 9px}.quest p{font-size:14px;line-height:1.4;margin:0 0 15px}.progress-track{height:7px;background:#e8eee1;border-radius:10px;overflow:hidden}.progress-track i{height:100%;display:block;background:#ecac43;width:0;transition:width .4s}.quest>span:last-child{font-size:12px;display:block;margin-top:8px;color:#537074}.bottom-left{position:absolute;bottom:26px;left:28px;display:flex;gap:14px;align-items:flex-end}.map-wrap{background:var(--paper);border:6px solid var(--paper);border-radius:20px;box-shadow:0 5px 0 #24455212;overflow:hidden;position:relative}.map-wrap canvas{display:block;width:133px;height:133px;border-radius:14px}.map-wrap>span{position:absolute;bottom:5px;left:0;right:0;text-align:center;font-size:9px;font-weight:800;letter-spacing:2px}.pocket{background:var(--paper);border-radius:16px;padding:12px 16px;display:flex;gap:20px;align-items:center;box-shadow:0 5px 0 #24455212}.pocket>span{font-size:30px;color:var(--orange)}.pocket b{font:600 25px 'Outfit';display:block}.pocket small{font-size:11px;display:block}.action-area{position:absolute;bottom:30px;left:50%;transform:translateX(-50%);text-align:center}.action-area #hint{font-size:13px;font-weight:600;background:#fffdf5eb;padding:8px 13px;border-radius:9px;margin-bottom:12px;white-space:nowrap}.action-area .primary{min-width:240px}kbd{font:600 12px 'DM Sans';background:#fff3;border:1px solid #fff5;border-radius:5px;padding:3px 5px}.controls-note{position:absolute;right:30px;bottom:34px;text-align:right;font-size:11px;line-height:2;color:#275e67}.controls-note span{display:block}.controls-note kbd{background:#fff8;border-color:#fff8;margin-right:2px}#toast{position:absolute;left:50%;top:110px;transform:translateX(-50%) translateY(-10px);background:#143e47;color:white;padding:13px 22px;border-radius:30px;z-index:9;max-width:80%;font-size:14px;text-align:center;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.modal-layer{position:absolute;inset:0;background:#113a4d55;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:10;padding:22px}#modal{background:var(--paper);border-radius:28px;width:540px;max-width:100%;max-height:90dvh;overflow:auto;position:relative;box-shadow:0 16px 80px #133d4d40;padding:34px;text-align:center}.close-btn{position:absolute;right:15px;top:15px;border-radius:50%;height:34px;width:34px;background:#eaf0e7;font-size:25px;z-index:2}.modal-title,#modal h2{font:600 31px/1.1 'Outfit';margin:11px 0 13px;letter-spacing:-.6px}#modal p{font-size:16px;line-height:1.55;color:#4a6970;margin:12px 0 20px}.shell-stage{height:190px;width:100%;border-radius:18px;background:radial-gradient(ellipse,#e5ecd9,#f4f4e9 70%);position:relative;margin:16px 0}.shell-stage canvas{width:100%;height:100%;display:block}.chip{background:#e9eee0;color:#4b6954;border-radius:20px;padding:6px 10px;display:inline-block;font-size:12px;font-weight:700}.dig-track{height:27px;background:#e7deca;border-radius:15px;position:relative;overflow:hidden;margin:25px 10px 12px}.dig-zone{position:absolute;left:25%;width:50%;height:100%;background:#89b887}.dig-marker{position:absolute;width:6px;top:0;bottom:0;background:#133f4a;left:0;border-radius:3px}.dig-label{font-size:12px;color:#5a6d61;margin-bottom:20px}.dig-dots{display:flex;justify-content:center;gap:9px;margin:15px}.dig-dots i{width:11px;height:11px;border-radius:50%;background:#dddccc}.dig-dots i.done{background:#14878a}.secondary{background:#e8eee2;border-radius:13px;padding:13px 18px;font-weight:700;font-size:15px;min-height:46px}.choice-list{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}.choice-list button{border:2px solid #dae5d9;border-radius:13px;padding:13px;background:white;text-align:left;font-weight:600;font-size:16px}.choice-list button:hover{border-color:var(--teal);background:#e7f3ea}.feedback{min-height:24px;font-weight:700;font-size:14px;color:#087f86;line-height:1.4;margin:14px 0}.modal-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.journal-card{background:#edf0e4;border-radius:16px;padding:10px 6px;border:2px solid transparent}.journal-card.unlocked{background:#fff6df;border-color:#e7ddbc}.journal-card img{width:100%;aspect-ratio:1.2;object-fit:contain}.journal-card .unknown{height:90px;display:grid;place-items:center;font:500 48px 'Outfit';color:#a4b5a6}.journal-card b{font-size:13px;display:block}.journal-card small{font-size:11px;display:block;color:#6d7b70;margin-top:4px}.badges{display:flex;justify-content:center;gap:12px;margin:15px 0}.badge{font-size:12px;padding:10px;background:#e8ece0;border-radius:12px;flex:1;color:#718076}.badge.earned{background:#fbe1a2;color:#70501b}.badge span{display:block;font-size:24px;margin-bottom:5px}.fineprint{font-size:12px!important}.mascot{width:138px;height:138px;object-fit:contain;float:left;margin:0 10px 0 -10px}.help-lines{text-align:left}.help-lines p{margin:10px 0!important;font-size:15px!important}.help-lines b{color:var(--ink)}.graphics-error{position:absolute;inset:0;background:var(--paper);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:25px}.graphics-error p{max-width:500px;line-height:1.6}#touch-pad{display:none;position:absolute;bottom:25px;left:20px;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,46px);gap:5px}#touch-pad button{border-radius:13px;background:#fffdf5e8;box-shadow:0 3px 0 #22545d22;font-size:25px;touch-action:none}#touch-pad button:first-child{grid-column:2}#touch-pad button:nth-child(2){grid-column:1;grid-row:2}#touch-pad button:nth-child(3){grid-column:2;grid-row:2}#touch-pad button:nth-child(4){grid-column:3;grid-row:2}.read-btn{background:transparent;text-decoration:underline;font-size:13px;margin-top:16px;color:#487377}.journal-note{text-align:left;padding:14px 16px;background:#e8f0e8;border-radius:14px;font-size:13px;line-height:1.5}a{color:var(--teal)}
@media(pointer:coarse){#touch-pad{display:grid}.bottom-left{bottom:145px}.map-wrap{display:none}.controls-note{display:none}.action-area{left:auto;right:20px;transform:none;bottom:28px}.action-area #hint{max-width:220px;white-space:normal}.action-area .primary{min-width:190px}.action-area kbd{display:none}}
@media(max-width:760px){.topbar{left:18px;right:18px;top:18px}.brand{font-size:24px;gap:5px}.brand-mark{font-size:33px}.brand span:not(.brand-mark){font-size:7px;letter-spacing:1.5px}.top-actions{gap:6px}.icon-btn{height:39px;width:39px;font-size:18px}.journal-btn{font-size:0;padding:8px 10px;gap:6px;border-radius:12px}.journal-btn b{font-size:12px}.journal-btn>span{font-size:20px}.location-card{top:80px;right:18px;padding:10px 12px}.location-card b{font-size:12px}.location-card span:not(.location-dot){font-size:10px}.tide-symbol{font-size:28px;padding-left:3px}.welcome{left:7%;top:28%;max-width:87%;padding:20px;background:#fffdf5e8;border-radius:23px;backdrop-filter:blur(4px)}.welcome h1{font-size:48px;letter-spacing:-2px;margin:15px 0}.welcome>.eyebrow{font-size:8px;letter-spacing:1.3px}.welcome p{font-size:16px;margin-bottom:15px}.welcome-steps{gap:7px;margin-bottom:18px;font-size:14px}.start-foot{font-size:9px;margin-top:15px}.welcome .primary{min-width:260px}.intro-note{display:none}.quest{top:82px;left:18px;width:190px;padding:14px 16px;border-radius:15px}.quest .eyebrow{font-size:8px;letter-spacing:1px}.quest h2{font-size:19px;margin:8px 0}.quest p{font-size:12px;margin-bottom:9px}.quest>span:last-child{font-size:11px}.bottom-left{left:18px;bottom:155px}.pocket{gap:13px;padding:9px 13px}.pocket b{font-size:20px}.pocket small{font-size:10px}.pocket>span{font-size:24px}.map-wrap{display:none}.controls-note{display:none}.action-area{left:auto;right:15px;bottom:26px;transform:none}.action-area #hint{max-width:190px;font-size:11px;white-space:normal;padding:7px 10px}.action-area .primary{min-width:180px;padding:13px;font-size:15px;gap:8px}#toast{top:auto;bottom:225px;max-width:90%;width:max-content;font-size:13px}#modal{padding:28px 22px;border-radius:22px}#modal h2{font-size:28px}.shell-stage{height:160px}.journal-grid{gap:8px}.journal-card .unknown{height:65px}.journal-card b{font-size:12px}.badge{font-size:10px;padding:8px}.badges{gap:7px}#touch-pad{display:grid;left:15px;grid-template-columns:repeat(3,43px);grid-template-rows:repeat(2,43px);gap:4px}}
@media(max-height:650px){.welcome{top:19%}.welcome h1{font-size:44px;margin:12px 0}.welcome p{margin-bottom:14px}.welcome-steps{gap:6px;margin-bottom:17px}.start-foot{margin-top:12px}.quest{top:86px}.location-card{top:84px}.map-wrap{display:none}.shell-stage{height:130px}#modal p{margin:8px 0 12px}.dig-track{margin-top:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:1100px){.map-wrap,.controls-note{display:none}.quest p{font-size:14px}}
.lamb-button{position:absolute;right:34px;top:190px;display:flex;align-items:center;gap:9px;max-width:235px;background:var(--paper);border:2px solid #c5ded0;border-radius:18px;padding:8px 13px 8px 5px;text-align:left;box-shadow:0 4px 0 #29595612}.lamb-button:hover{background:#f6fae8;border-color:#73b19d}.lamb-button img{width:64px;height:70px;object-fit:contain}.lamb-button b,.story-button b{display:block;font-family:'Outfit',sans-serif;font-size:17px}.lamb-button small,.story-button small{display:block;font-size:13px;margin-top:5px;line-height:1.35}.lamb-button kbd{font-size:10px;background:#e4eddf}.lamb-aside{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:#526d65;margin-top:18px;border-top:1px solid #e3e9db;padding-top:8px}.lamb-aside img{width:43px;height:47px;object-fit:contain}.lamb-breathe{margin-top:17px;font-size:14px}.story-button{display:flex;width:100%;text-align:left;align-items:center;gap:10px;padding:8px 14px;background:#fcf0cc;border:1px solid #ebd39d;border-radius:15px;margin:20px 0}.story-button:hover{background:#fbe6ad}.story-button img{width:69px;height:76px;object-fit:contain}.story-lines{text-align:left}.story-lines p{font-size:16px!important}.story-lamb{height:135px;max-width:100%;object-fit:contain}.welcome p{max-width:460px}.welcome h1{font-size:clamp(44px,4.8vw,70px)}
@media(max-width:760px){.lamb-button{right:18px;top:150px;max-width:145px;padding:7px;gap:0;border-radius:14px}.lamb-button img{width:43px;height:59px}.lamb-button b{font-size:13px}.lamb-button small{font-size:11px}.lamb-button kbd{display:none}.welcome h1{font-size:45px}.lamb-aside{font-size:11px}.story-button b{font-size:16px}.story-button small{font-size:12px}}
@media(max-height:550px){.welcome{top:100px}.welcome h1{font-size:38px}.welcome p{font-size:15px;line-height:1.35}.welcome-steps{display:none}.welcome .primary{min-height:48px}.start-foot{margin-top:15px}.intro-note{display:none}}

#modal.rescue-modal{padding:28px 28px 24px;background:#fffaf0;border:3px solid #fff3ce}
#modal .rescue-intro{font-size:14px;margin:0 auto 16px;max-width:510px}
.rescue-stage{height:340px;position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(#c9eee7 5%,#eaf4dd 72%,#f5deaf);border:1px solid #d9e8d4}
.rescue-stage canvas{display:block;width:100%;height:100%}
.rescue-sticker{position:absolute;left:18px;top:16px;font:700 9px 'DM Sans',sans-serif;letter-spacing:1.5px;color:#4c786f;background:#fffdf4cf;border-radius:20px;padding:8px 11px;pointer-events:none}
#modal .rescue-caption{font:600 22px/1.3 'Outfit',sans-serif;color:#246c6a;min-height:58px;display:flex;align-items:center;justify-content:center;margin:16px 0 10px}
@media(max-width:600px){#modal.rescue-modal{padding:28px 14px 20px}.rescue-stage{height:280px}.rescue-sticker{top:12px;left:12px;font-size:8px}#modal .rescue-caption{font-size:20px;min-height:76px}#modal .rescue-intro{font-size:13px}}
@media(max-height:650px){.rescue-stage{height:220px}#modal.rescue-modal{padding-top:20px}#modal .rescue-caption{font-size:19px;min-height:48px;margin:10px 0}}

.rarity-chip{display:inline-block;padding:7px 12px;border-radius:20px;background:#deeee4;color:#226858;font-size:14px;font-weight:700;line-height:1.3}
.rarity-chip.super-rare{background:linear-gradient(110deg,#ffe6a0,#f9d6e8,#dce2ff);color:#614475;border:1px solid #eacde1}
.special-stage{height:240px;background:radial-gradient(ellipse at 50% 65%,#faf3d1,#e7ecf8 70%);border:1px solid #e3ddeb}
#modal .special-prompt{background:#ecf3e8;border-radius:15px;padding:15px;color:#336b5b}
.special-shelf{border-top:1px solid #e1dfce;border-bottom:1px solid #e1dfce;margin:25px 0;padding:20px 0}
.special-shelf h3{font:600 24px 'Outfit',sans-serif;margin:0;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left}
.special-shelf h3 span{font:700 14px 'DM Sans',sans-serif;background:#e6e9d5;padding:7px 10px;border-radius:10px;white-space:nowrap}
#modal .special-shelf>p{font-size:14px;line-height:1.5;text-align:left;margin:10px 0 18px}
.special-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.special-card{padding:14px 10px;background:#f0edf5;min-width:0}
.special-card.unlocked{background:linear-gradient(145deg,#fff2d3,#f3e7f5);border-color:#dac6d9}
.special-card img{height:135px;object-fit:contain;aspect-ratio:auto}.special-card .unknown{height:120px}
.special-card b{font-size:16px;margin-top:10px;overflow-wrap:anywhere}.special-card small{font-size:13px;line-height:1.4}
.special-card .rarity-chip{font-size:13px;padding:5px 9px}
#modal.discovery-modal{background:#fffaf7;border-color:#f2d9c2}
.discovery-stage{margin-top:16px;background:radial-gradient(ellipse at 50% 20%,#fcf8db,#ddedf2 65%,#ecdfef);border-color:#e5d6e6}
@media(max-width:600px){.special-shelf h3{font-size:21px}.special-grid{gap:8px}.special-card{padding:12px 7px}.special-card img{height:115px}.special-card b{font-size:15px}.special-stage{height:210px}}

.weis-return{position:relative;z-index:20;display:flex;align-items:center;min-height:44px;padding:4px 18px;background:#243cdc;color:#fff;font:700 14px/1.5 system-ui,sans-serif}.weis-return a{display:inline-flex;align-items:center;min-height:36px;color:inherit;text-decoration:none;border-radius:4px;padding:4px 8px}.weis-return a:hover{text-decoration:underline}.weis-return a:focus-visible{outline:3px solid #e7fc69;outline-offset:1px}

#game{height:calc(100dvh - 44px)}
