:root{font-family:'Trebuchet MS',Arial,sans-serif;color:#3e301e;background:#fff9d9;--ink:#3e301e;--muted:#76613c;--yellow:#ffd43b;--orange:#ee8a35;--lilac:#b6a0df;--line:#dfcc83}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}button,a,input,textarea,select{outline-offset:5px}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #8b54bf}header,main,footer{max-width:1280px;margin:auto;padding:25px 6%}header{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{display:flex;gap:10px;align-items:center;font-size:23px;font-weight:900;letter-spacing:-1px}.logo{width:54px;height:54px;object-fit:contain;transform:rotate(-5deg)}nav{display:flex;align-items:center;gap:24px;font-size:14px}.outline{border:1px solid var(--ink);border-radius:30px;padding:11px 18px;background:transparent}.text-button{background:none;border:0;padding:10px 0}.text-button small{display:block;font-size:10px;color:var(--muted);margin-top:3px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:30px;padding:65px 0 80px;align-items:center}.hello{font-size:20px}h1{font-size:clamp(45px,5.3vw,74px);line-height:1.03;letter-spacing:-4px;margin:22px 0}.summary{font-size:17px;line-height:1.8;color:var(--muted)}.primary{display:inline-flex;gap:30px;justify-content:center;align-items:center;background:var(--yellow);color:var(--ink);border:1px solid #c29a18;border-radius:10px;padding:17px 24px;font-weight:bold;box-shadow:0 3px 0 #d2aa2b}.primary:hover{background:#ffdf62}.original{font-size:12px;margin-top:21px;color:var(--muted)}.playground{height:460px;position:relative}.mascot-sticker{position:absolute;left:85px;top:60px;width:260px;height:260px;transform:rotate(6deg);filter:drop-shadow(8px 12px 0 #e5bc4428)}.mascot-sticker img{width:100%;height:100%;object-fit:contain}.handwritten{font-family:'Comic Sans MS','Chalkboard SE',cursive;color:#84613b}.tap-note{position:absolute;top:10px;left:40px;font-size:18px;transform:rotate(-7deg)}.drawn-star{position:absolute;font-size:55px;color:#d99b1d}.star-one{right:0;top:50px}.star-two{left:30px;bottom:10px;font-size:70px}.duck{position:relative;display:block;padding:0;border:0;background:transparent;width:170px;height:170px;isolation:isolate}.duck-picture{display:block;width:100%;height:100%;background-image:url('/assets/ducks.png');background-repeat:no-repeat;background-size:300% 100%;transition:transform .18s ease}.duck:hover .duck-picture,.duck:focus-visible .duck-picture{transform:translateY(-5px) rotate(-4deg)}.duck-flat{position:absolute;left:-25px;top:210px;transform:rotate(-9deg)}.duck-flat .duck-picture{background-position:0 0}.duck-sketch{z-index:3;position:absolute;right:-10px;bottom:-20px;width:180px;height:180px;transform:rotate(6deg)}.duck-sketch .duck-picture{background-position:50% 0}.duck-pixel .duck-picture{background-position:100% 0;image-rendering:pixelated}.duck-bubble{position:absolute;left:50%;bottom:88%;transform:translateX(-50%) rotate(4deg);white-space:nowrap;background:white;border:2px solid var(--ink);padding:10px 17px;border-radius:45% 45% 45% 5%;font-size:20px;font-weight:bold;box-shadow:3px 4px 0 #3e301e18;z-index:5}.paper{position:absolute;text-align:left;padding:15px;box-shadow:0 8px 16px #573c1715;border:0;border-radius:5px;width:150px;height:170px;display:flex;flex-direction:column;justify-content:space-between}.paper>span:first-child{font-weight:bold;font-size:20px}.paper small{font-size:11px}.game{background:#f4bc43;left:100px;top:300px;transform:rotate(-5deg);height:155px}.pixels{text-align:center;line-height:.8;font-size:50px;color:var(--ink)}.art{background:#fff;left:0;top:15px;transform:rotate(-10deg);z-index:2}.art-mark{font-size:75px;line-height:1;text-align:center;color:#ef8e63}.music{background:#e8d9ff;right:-15px;top:110px;transform:rotate(9deg);z-index:2}.disc{width:85px;height:85px;border-radius:50%;margin:auto;background:repeating-radial-gradient(#3e301e 0 2px,#635034 3px 4px);display:grid;place-items:center}.disc i{background:var(--yellow);border:10px solid #dc9d2e;border-radius:50%;width:30px;height:30px}#collection{padding:30px 0 0;border-top:1px solid var(--line);scroll-margin-top:20px}.collection-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.collection-head h2{font-size:36px;letter-spacing:-1.5px;margin-bottom:6px}.collection-head h2 span{color:var(--orange)}.collection-head p{color:var(--muted);font-size:14px}.collection-note{font-size:17px;transform:rotate(3deg)}.filters{display:flex;gap:10px;margin:25px 0 30px;flex-wrap:wrap}.filters button{padding:10px 20px;background:transparent;border:1px solid var(--line);border-radius:25px}.filters .active{background:var(--yellow);border-color:#c29a18;font-weight:bold}#status{padding:40px 0;color:var(--muted);max-width:480px;line-height:1.7}.works{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.work{background:#fffef6;border-radius:12px;overflow:hidden;border:1px solid var(--line)}.work img{width:100%;height:250px;object-fit:contain;background:#fff1af}.work .body{padding:22px}.work h3{margin:8px 0}.work p{line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.work audio{width:100%;margin-top:12px}.work small{color:var(--muted)}.duck-corner{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-height:175px}.duck-corner .handwritten{font-size:15px;max-width:100px;transform:rotate(-6deg)}.little-flower{color:var(--lilac);font-size:50px;align-self:flex-end;margin-bottom:15px}footer{border-top:1px solid var(--line);display:flex;gap:30px;align-items:center;flex-wrap:wrap;padding-bottom:40px}footer p,footer small{font-size:12px;color:var(--muted)}footer small{margin-left:auto}dialog{border:0;border-radius:16px;padding:28px;max-width:530px;width:calc(100% - 30px);max-height:90vh;color:var(--ink);background:#fffdf0}dialog::backdrop{background:#382a15b8}form{display:grid;gap:15px}form p{line-height:1.5}label{display:grid;gap:7px;font-size:14px}input,select,textarea{width:100%;padding:10px;border:1px solid #b9a36a;border-radius:6px;background:white}input[type=checkbox]{width:auto}.check{display:flex;align-items:center;line-height:1.5}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-head h2{margin:0}.dialog-head button{border:0;background:transparent;font-size:22px}#game-dialog{max-width:1000px}iframe{width:100%;height:65vh;border:0;margin-top:20px}button:disabled{opacity:.6;cursor:not-allowed}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#credits{max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;padding:35px 7%;border-radius:0;background:#fff1a4;color:var(--ink);overflow:auto}#credits[open]{display:flex;flex-direction:column;justify-content:space-between;gap:20px}.credits-top{display:flex;align-items:center;justify-content:space-between}.credits-top>span{font-weight:bold;font-size:20px}.credits-center{text-align:center}.credits-center .handwritten{font-size:20px}.credits-center h2{font-size:clamp(70px,14vw,180px);letter-spacing:-.07em;margin:20px 0;font-weight:900;line-height:1.1}.credits-center img{object-fit:contain;transform:rotate(-8deg)}.credits-center p:last-child{font-size:14px}.credits-bottom{max-width:700px;width:100%;margin:0 auto}.credits-bottom>p{font-size:14px}.credits-track{height:6px;background:#c9a93e44;border-radius:9px;overflow:hidden}#credits-progress{height:100%;width:0;background:var(--orange);transition:width .25s linear}.credits-controls{display:flex;align-items:center;justify-content:space-between;margin-top:15px;gap:20px}#credits-time{font-variant-numeric:tabular-nums}#credits-audio-status{display:block;min-height:1em;margin-top:10px}.credits-running{overflow:hidden}
@media(max-width:800px){header,main,footer{padding-left:6%;padding-right:6%}.hero{grid-template-columns:1fr;padding-top:25px}h1{letter-spacing:-2px}.playground{max-width:440px;width:100%;margin:auto}.collection-head{display:block}.collection-note{display:block;margin-top:20px}.works{grid-template-columns:1fr 1fr}nav{gap:14px}nav>a{display:none}footer small{margin-left:0}.brand{font-size:20px}.outline{padding:10px 13px}.logo{width:44px;height:44px}.duck-flat{left:0}}@media(max-width:480px){header{flex-wrap:wrap;justify-content:center;padding-top:18px}header .brand{font-size:24px}nav{justify-content:center;width:100%;gap:25px}.hero{padding:20px 0 40px;gap:10px}.hello{font-size:18px}.playground{height:440px}.mascot-sticker{width:220px;height:220px;left:60px;top:75px}.duck-flat{width:140px;height:140px;left:-10px;top:210px}.duck-sketch{width:155px;height:155px;right:-5px;bottom:0}.game{left:45px;top:300px;width:130px;height:140px}.paper.art{width:120px;height:140px;top:15px}.paper.music{width:120px;height:150px;right:-5px;top:130px}.star-one{font-size:40px}.works{grid-template-columns:1fr}.filters button{padding:9px 14px}.duck-corner{gap:0}#credits{padding:22px 6%}.credits-center .handwritten{font-size:16px}.credits-center h2{font-size:70px}.credits-center img{width:75px;height:75px}.credits-controls .primary{padding:12px 16px}footer{gap:15px}.collection-note{font-size:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* Edge-to-edge game viewport. No title bar, gutters, or orientation gate. */
.game-playing{overflow:hidden}
#game-dialog{position:fixed;inset:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#000;overflow:hidden}
#game-dialog[open]{display:block}
#game-dialog #game-frame{position:absolute;inset:0;display:block;width:100%;height:100%;margin:0;border:0}
#game-dialog .game-actions{position:absolute;right:max(8px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));z-index:3;display:flex;gap:8px}
#game-dialog .game-actions button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #ffffff66;border-radius:50%;background:#101a32b8;color:#fff;font-size:18px;touch-action:manipulation}
#game-save-status{position:absolute;z-index:3;left:max(8px,env(safe-area-inset-left));bottom:calc(7px + env(safe-area-inset-bottom));padding:3px 6px;border-radius:4px;background:#101a32b8;color:#c4e3d0;font:10px Arial,sans-serif;pointer-events:none}#game-save-status:empty{display:none}#game-save-status.save-failed{color:#ffd17d;background:#492b16ed}
