.library-intro{margin-bottom:27px}.library-intro h1{font:normal clamp(2.2rem,4.4vw,3.7rem)/1.13 var(--serif);letter-spacing:-1px;margin:8px 0 12px}.library-intro>p:last-child{font-size:19px;color:var(--muted);margin:0}.library-resume{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:25px 30px;border:1px solid #c6d2b8;border-radius:18px;background:#eaf0df;margin:0 0 30px}.resume-kicker{font-size:16px;color:#426046;margin:0 0 5px}.library-resume h2{font:normal 31px var(--serif);margin:0 0 8px}.library-resume p:not(.resume-kicker){font-size:17px;margin:0 0 15px;color:var(--muted)}.library-resume a{display:inline-block;text-decoration:none;font-size:17px}.resume-preview{flex-shrink:0;display:flex;align-items:center;justify-content:center;transform:rotate(5deg);padding:12px}.resume-preview svg{width:115px;height:115px}.resume-preview .letter-display{display:flex;gap:4px}.library-types{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.library-type{border:1px solid var(--line);background:transparent;min-height:46px;border-radius:24px;padding:9px 16px;font-size:17px;display:flex;align-items:center;gap:9px;white-space:nowrap}.library-type span{font-size:14px;opacity:.8}.library-type.selected{color:white;background:var(--path-green);border-color:var(--path-green)}.library-type:not(.selected):hover{background:var(--green-pale)}.library-filters{display:flex;align-items:flex-end;gap:18px;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--line)}.library-filters label{display:flex;flex-direction:column;gap:6px;font-size:16px}.library-filters select{font-size:17px;min-width:180px;min-height:46px;background:#fffdf7}.library-count{margin:0 0 10px auto;font-size:17px;color:var(--muted)}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.library-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .15s,border-color .15s}.library-card:hover{transform:translateY(-3px);border-color:#89987c}.library-card .card-picture{height:188px;min-height:188px;flex:none}.library-card .card-picture svg{width:132px;height:132px;max-height:none}.library-card .card-picture.cross svg{transform:rotate(-3deg)}.library-card .card-picture.scramble .letter-display{display:flex;gap:5px}.library-pace{position:absolute;bottom:10px;right:10px;border:1px solid #d4d8c9;background:#fffdf5;border-radius:15px;padding:3px 10px;font-size:14px}.library-card-copy{padding:19px 20px;display:flex;flex-direction:column;flex:1}.library-kind{font-size:14px;color:var(--muted);margin:0 0 7px}.library-card h2{font:normal 26px/1.18 var(--serif);margin:0 0 10px}.library-detail{font-size:16px;color:var(--muted);margin:0 0 16px}.library-action{font-size:17px;font-weight:600;color:#3c623b;display:flex;justify-content:space-between;margin-top:auto}.library-empty{text-align:center;border:1px dashed #bdc8b0;border-radius:14px;padding:40px 24px}.library-empty h2{font:normal 31px var(--serif);margin:0 0 12px}.library-empty p{font-size:18px;color:var(--muted)}.library-empty a{display:inline-block;text-decoration:none;font-size:17px}.library-footnote{font-size:16px;color:var(--muted);margin:28px 0 0}.next-puzzle-card{text-decoration:none}.completion-options a{text-decoration:none}.next-puzzle-card .next-label{text-align:center;line-height:1.3}
@media(max-width:950px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-resume{padding:23px}.library-types{gap:8px}.library-type{font-size:16px;padding:9px 13px}}
@media(max-width:560px){body[data-view=collection] main{padding:22px 15px 30px}.library-intro h1{font-size:37px}.library-intro>p:last-child{font-size:18px}.library-resume{padding:18px;gap:10px;position:relative}.library-resume h2{font-size:26px}.resume-kicker{font-size:15px}.library-resume p:not(.resume-kicker){font-size:16px}.resume-preview{display:none}.library-resume a{font-size:17px}.library-types{flex-wrap:nowrap;overflow:auto;padding:3px 3px 10px;margin:0 -3px 12px;scrollbar-width:thin}.library-type{font-size:17px;min-height:45px}.library-filters{gap:10px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:14px}.library-filters label{flex:1;min-width:0;font-size:16px}.library-filters select{width:100%;min-width:0;font-size:16px;padding:8px}.library-count{width:100%;margin:0;font-size:16px}.library-grid{gap:13px}.library-card .card-picture{height:138px;min-height:138px}.library-card .card-picture svg{height:95px;width:95px}.library-card .card-picture.scramble .letter-display{gap:3px}.library-card .card-picture.scramble .letter-display span{width:23px;height:34px;font-size:20px}.library-pace{font-size:13px;bottom:7px;right:7px;padding:2px 8px}.library-card-copy{padding:14px 12px}.library-kind{font-size:14px;line-height:1.4}.library-card h2{font-size:24px}.library-detail{font-size:16px;line-height:1.4;margin-bottom:14px}.library-action{font-size:17px}.library-footnote{font-size:16px}.library-empty{padding:28px 18px}}
@media(max-width:360px){.library-grid{grid-template-columns:1fr}.library-card{display:grid;grid-template-columns:105px 1fr;align-items:stretch}.library-card .card-picture{height:100%;min-height:180px}.library-card .card-picture svg{width:82px;height:82px}.library-card .card-picture.scramble .letter-display{gap:1px}.library-card .card-picture.scramble .letter-display span{width:17px;height:29px;font-size:17px}.library-card h2{font-size:25px}.library-kind{font-size:14px}}

body[data-view=collection] main{padding-top:24px}.library-intro h1{font-size:clamp(2.1rem,3.5vw,2.9rem)}.library-intro{margin-bottom:20px}.library-resume{padding:18px 24px;margin-bottom:22px}.library-resume>div:first-child{display:grid;grid-template-columns:1fr auto;column-gap:24px;align-items:center;flex:1}.library-resume .resume-kicker{grid-column:1/-1}.library-resume h2{grid-column:1}.library-resume p:not(.resume-kicker){grid-column:1;margin:0}.library-resume a{grid-column:2;grid-row:2/4}.resume-preview{padding:6px}.resume-preview svg{width:90px;height:90px}
@media(max-width:560px){.library-resume{padding:16px}.library-resume>div:first-child{column-gap:12px}.library-resume h2{font-size:26px}.library-resume a{font-size:17px;padding:9px 12px}.library-intro h1{font-size:35px}.library-intro{margin-bottom:18px}}
/* Collection progress, continuing games, and readable large mazes. */
.resume-queue{border:1px solid #c6d2b8;border-radius:16px;background:#edf1e5;margin:8px 0 20px;padding:18px 22px}.resume-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}.resume-title h2{font:normal 24px var(--serif);margin:0}.resume-title>span{font-size:16px;color:var(--muted);white-space:nowrap}.resume-item{display:flex;align-items:center;gap:20px;text-decoration:none;padding:12px 0;min-height:84px}.resume-item>span:nth-child(2){flex:1;min-width:0}.resume-item strong{font:normal 27px/1.2 var(--serif);display:block}.resume-item small{display:block;font-size:17px;color:var(--muted);margin-top:6px}.resume-picture{width:66px;height:66px;display:flex;align-items:center;justify-content:center;flex:none}.resume-picture svg{width:64px;height:64px}.resume-picture .letter-display{display:flex;gap:2px}.resume-picture .letter-display span{font-size:14px;width:13px;height:25px}.resume-arrow{font-size:28px;color:#426f42}.resume-more summary{padding:12px 0 4px;font-size:17px;cursor:pointer;color:#365637}.resume-more .resume-item{border-top:1px solid #d1dbc5}.resume-more .resume-item:first-of-type{margin-top:12px}.collection-progress{display:block;margin:0 0 23px;padding:17px 20px;border:1px solid var(--line);border-radius:14px;background:#f5f3e9}.collection-meter strong{font-size:18px;font-weight:600}.collection-meter{display:flex;align-items:center;gap:24px;justify-content:space-between;font-size:18px}.collection-meter progress{width:35%;height:10px;accent-color:#547848;border:0;border-radius:10px;overflow:hidden}.collection-meter progress::-webkit-progress-bar{background:#e0e2d3}.collection-meter progress::-webkit-progress-value{background:#547848;border-radius:10px}.achievement-drawer summary{font-size:17px;color:#426046;cursor:pointer;padding-top:13px}.achievement-drawer summary span{font-size:15px;color:var(--muted);margin-left:8px}.collection-note{font-size:17px;color:var(--muted)}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.achievement{display:flex;gap:12px;align-items:center;padding:14px;border:1px dashed #ccd0bf;border-radius:12px}.achievement>span{font-size:30px;color:#858c7b}.achievement.earned{background:#e5edda;border-style:solid;border-color:#a7bd93}.achievement.earned>span{color:#47723f}.achievement strong{font-size:17px;font-weight:600;display:block}.achievement small{display:block;font-size:16px;margin-top:4px;color:var(--muted)}.reward-note{padding:18px 0 0;font-size:18px}.reward-note p{font-size:17px;margin:8px 0}.reward-note a{font-size:17px}.card-stamp{display:block;color:#476b3e;font-size:15px;margin-top:7px}.completion-reward{font-size:18px;color:#42663e;margin:0 0 18px}.completion-reward span{display:block;font-size:16px;margin-top:6px}.maze-layout .board-wrap{min-width:0;width:100%;max-width:470px}.maze-viewport{position:relative;width:100%;height:min(380px,max(270px,calc(100svh - 470px)));overflow:auto;border:2px solid #718165;border-radius:8px;background:#fffdf3;overscroll-behavior:contain;scrollbar-width:thin}.maze-viewport .maze-board{position:relative;display:grid;grid-template-columns:repeat(var(--maze-size),30px);grid-template-rows:repeat(var(--maze-size),30px);width:calc(var(--maze-size)*30px);height:calc(var(--maze-size)*30px);max-width:none;aspect-ratio:auto;margin:0;border:0}.maze-viewport.whole-map{height:auto;aspect-ratio:1;overflow:hidden}.maze-viewport.whole-map .maze-board{width:100%;height:100%;grid-template-columns:repeat(var(--maze-size),1fr);grid-template-rows:repeat(var(--maze-size),1fr)}.maze-viewport .maze-cell{min-width:0;min-height:0;padding:0;border-radius:0}.maze-viewport .maze-cell.player:after{inset:22%}.maze-help{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.maze-help .button{font-size:16px;padding:8px 10px;min-height:44px}.maze-layout .board-caption{margin:8px 0 12px;font-size:16px}.maze-layout .maze-pad{margin:12px auto 0}.maze-help .button:disabled{opacity:.65;cursor:default}
@media(max-width:700px){.achievement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-meter{display:block}.collection-meter progress{display:block;width:100%;margin-top:10px}}
@media(max-width:560px){.resume-queue{padding:15px}.resume-title{align-items:flex-start}.resume-title h2{font-size:22px;max-width:190px}.resume-title>span{font-size:15px}.resume-item{gap:12px}.resume-item strong{font-size:23px}.resume-item small{font-size:16px}.resume-picture{width:48px;height:48px}.resume-picture svg{width:48px;height:48px}.resume-arrow{font-size:23px}.collection-progress{padding:15px}.achievement-grid{grid-template-columns:1fr}.achievement{padding:12px}.library-filters{margin-bottom:16px}.maze-layout .side-note{margin-top:14px}.maze-viewport{height:min(300px,max(220px,calc(100svh - 550px)))}.maze-help{gap:6px}.maze-help .button{font-size:15px;padding:8px}.maze-layout .board-caption{font-size:15px}.library-intro h1{font-size:32px}}

.maze-layout .board-caption{display:block}.maze-help #reset{font-size:16px;min-height:44px;padding:8px 12px}.maze-layout .side-note p{display:block}@media(max-width:560px){.maze-layout .side-note p{font-size:17px}.maze-layout .side-note p:not(:last-child){display:none}body[data-view=maze] .toolbar label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}}
