/* A quiet, character-led opening scene; the game screens keep their own styles. */
.library-page{--paper:#fff8e9;--ink:#284d42;--muted:#586d5d;--line:#e6ddc6;background:var(--paper)}
.library-page .library{max-width:none;padding:0}
.library-page .brand>span>span{color:#cc613e}
.library-page .hero-header{position:absolute;inset:0 0 auto;z-index:5;max-width:none;padding:26px 4%;border:0;pointer-events:none;gap:15px}
.hero-header .brand,.hero-tools{pointer-events:auto}
.hero-header .brand{font-size:25px}.hero-header .brand img{width:36px;height:36px}.hero-header .brand small{display:none}
.hero-tools{display:flex;align-items:center;gap:9px}
.hero-header .parent-link,.world-pause{min-height:44px;padding:10px 15px;border:1px solid #d6d3bccc;border-radius:24px;color:#375a4a;background:#fffaf0d9;font-size:11px;backdrop-filter:blur(10px)}
.hero-header .parent-link{font-weight:600}
.library-page .play-world{position:relative;isolation:isolate;overflow:hidden;height:100svh;min-height:360px;background:radial-gradient(ellipse at 55% 55%,#f3e4c7 0%,#fff3df 70%,#fff7e9 100%)}
.play-world-art{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:center;transition:opacity .7s}
.play-world:has(.world-ready) .play-world-art{opacity:0}
.live-world{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .8s}
.live-world.world-ready{opacity:1}
.live-world canvas{display:block;width:100%;height:100%}
.hero-entry{position:absolute;bottom:calc(30px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);z-index:2}
.play-start{display:flex;gap:30px;align-items:center;justify-content:center;min-width:190px;min-height:60px;padding:15px 28px;border:1px solid #205344;border-radius:22px;background:#286652;color:#fff;font-family:Fredoka,sans-serif;font-weight:500;font-size:21px;box-shadow:0 5px 0 #17483d,0 10px 30px #2f543825;transition:transform .18s,box-shadow .18s,background .18s;white-space:nowrap}
.play-start span{font-family:'DM Sans',sans-serif;font-size:24px;line-height:1;transition:transform .2s}
.play-start:hover{background:#215849;transform:translateY(-2px);box-shadow:0 7px 0 #17483d,0 12px 30px #2f543825}
.play-start:hover span{transform:translateY(3px)}
.play-start:active{transform:translateY(3px);box-shadow:0 2px 0 #17483d}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.library-page .game-library{max-width:1264px;margin:auto;padding:57px 28px 0;scroll-margin-top:25px}
.library-heading .eyebrow{color:#84704b;font-size:9px;letter-spacing:1.6px}
.library-page .library-toolbar h2{font-size:34px;margin:6px 0 0;letter-spacing:-.5px}
.library-page .age-filter{font-size:12px}
.library-page .age-filter select{background:#fffdf7;border-color:#dfd4b9;font-size:12px;min-height:46px}
.library-page .filters{gap:10px;margin:23px 0 26px}
.library-page .filter{background:#fffcf3;border-color:#e1d7bf;color:#566b5c;font-size:13px;padding:11px 18px;transition:transform .16s,background .16s}
.library-page .filter:hover{transform:translateY(-2px);background:#f0e9d6}
.library-page .filter.active{background:#326c59;color:white;border-color:#326c59;box-shadow:0 3px 0 #20503f}
.library-page .game-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.library-page .game-card{background:#fffdf6;border:1px solid #e4d7b8;border-radius:24px;box-shadow:0 6px 0 #e9ddbf;transition:transform .25s cubic-bezier(.2,.9,.3,1.4),box-shadow .25s}
.library-page .game-card:hover{transform:translateY(-7px) rotate(-.6deg);box-shadow:0 12px 0 #e9ddbf}
.library-page .game-card:nth-child(even):hover{transform:translateY(-7px) rotate(.6deg)}
.library-page .card-illustration{height:190px}
.library-page .peach .card-illustration{background:#f9deba}
.library-page .mint .card-illustration{background:#dce9c4}
.library-page .lavender .card-illustration{background:#dce9ea}
.library-page .card-copy{padding:20px 18px}
.library-page .card-copy h3{font-size:27px}
.library-page .card-copy p{font-size:12px;min-height:41px}
.library-page .card-category{color:#7c6843}
.library-page .card-bottom{margin-top:17px;color:#38604f}
.library-page .card-arrow{background:#edf0d9;border:0}
.library-page .word-art img{width:113px;height:113px}
.library-page .art-book{left:19px}
.library-page .art-shirt{right:12px}
.library-page .parent-note{background:#eef0d8;border:1px solid #dfe2c2;margin-top:35px}
.library-page footer{max-width:1264px;font-size:11px;margin-top:10px}

.library-page .parent-note{max-width:1208px;margin:35px auto}
.library-page footer{padding-left:28px;padding-right:28px}
@media(min-width:651px) and (max-width:1050px){
 .library-page .game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-page .card-illustration{height:225px}.library-page .word-art img{width:140px;height:140px}.library-page .art-book{left:40px}.library-page .art-shirt{right:35px}.library-page .parent-note{margin:32px 28px}
}
@media(max-width:650px){
 .library-page .hero-header{padding:20px;gap:10px}.hero-header .brand{font-size:21px;gap:8px}.hero-header .brand img{width:32px;height:32px}.hero-tools{gap:6px}.hero-header .parent-link{font-size:9px;padding:10px 11px}.world-pause{font-size:0;padding:0;width:42px;min-height:42px}.world-pause:before{content:'Ⅱ';font-size:15px}.world-pause[aria-pressed=true]:before{content:'▷'}
 .hero-entry{bottom:calc(25px + env(safe-area-inset-bottom,0px))}.play-start{min-height:56px;min-width:178px;padding:13px 24px;font-size:20px}.play-world-art{object-position:61% center}
 .library-page .game-library{padding:35px 20px 0}
 .library-page .game-library{padding-top:37px}.library-heading .eyebrow{font-size:7px;letter-spacing:1px}.library-page .library-toolbar{gap:10px;align-items:flex-end}.library-page .library-toolbar h2{font-size:27px;line-height:1.1;max-width:210px}.library-page .age-filter{font-size:0}.library-page .age-filter select{font-size:10px;max-width:118px;padding:9px}
 .library-page .filters{gap:7px;flex-wrap:wrap;margin:21px 0}.library-page .filter{padding:8px 12px;font-size:11px;min-height:44px}.library-page .game-grid{grid-template-columns:1fr;gap:20px}.library-page .game-card{grid-template-columns:40% 60%;min-height:194px;border-radius:22px}.library-page .card-illustration{height:100%;min-height:194px}.library-page .card-copy{padding:22px 17px 18px}.library-page .card-copy h3{font-size:26px}.library-page .card-copy p{font-size:11px;min-height:37px}.library-page .card-bottom{margin-top:14px;font-size:11px}.library-page .word-art img{width:93px;height:93px}.library-page .art-book{left:0}.library-page .art-shirt{right:-4px}.library-page .parent-note{margin:29px 0}.library-page footer{font-size:10px;padding:18px 20px 25px}
 .library-page .parent-note{margin:29px 20px}.library-page footer{padding:20px}
}
@media(max-width:360px){.library-page .hero-header{padding:18px 16px}.hero-header .brand{font-size:18px;gap:6px}.hero-header .brand img{width:29px;height:29px}.hero-header .parent-link{font-size:8px;padding:9px}.world-pause{width:36px;min-height:40px}.library-page .library-toolbar h2{font-size:24px}.library-page .age-filter select{max-width:106px}.library-page .card-copy{padding:22px 13px 16px}.library-page .card-copy h3{font-size:23px}}
@media(max-height:500px){.library-page .hero-header{padding-top:15px}.hero-entry{bottom:18px}.play-start{min-height:48px;min-width:164px;font-size:18px;padding:10px 20px}}
@media(prefers-reduced-motion:reduce){.live-world,.play-world-art{transition:none}.library-page .game-card:hover,.library-page .game-card:nth-child(even):hover,.library-page .filter:hover,.play-start:hover,.play-start:hover span{transform:none}}
