/* Poskad Rimba: original Flow gouache art, paper surfaces, and quiet interaction. */
.postcard-page{background:#e8eadb url('assets/rimba/forest.webp') center/cover fixed;color:#344c40}
.rimba-game{max-width:1120px;margin:auto;padding:14px 30px 24px;min-height:100svh}
.rimba-nav{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1040px;margin:auto auto 15px;height:48px}
.rimba-back{display:grid;place-items:center;width:44px;height:44px;flex-shrink:0;color:#395644;background:#fffcf1e8;border:1px solid #b9c6ad;border-radius:50%;text-decoration:none;font-size:24px;box-shadow:0 3px 0 #50644613}
.rimba-wordmark{font-family:Fredoka,sans-serif;font-size:24px;text-decoration:none;color:#395644;text-align:center}.rimba-wordmark span{display:block;font-family:'DM Sans',sans-serif;font-size:8px;letter-spacing:1.4px;margin-top:3px}
.rimba-page{font-family:Fredoka;font-size:15px;min-width:44px;text-align:right;color:#4c614d}
.postcard-book{background:#fffcf2f7;border:1px solid #dfd3b9;border-radius:9px 25px 25px 9px;box-shadow:-7px 0 0 #f2e9d6,-9px 0 0 #c7bea5,0 7px 0 #d4d9c6,0 20px 55px #314b4220;padding:23px 32px 0;position:relative}
.postcard-book:before{content:'';position:absolute;top:0;bottom:0;left:13px;width:1px;background:#ded1b97d;pointer-events:none}
.book-heading{border:0;padding:0 0 18px;display:flex;justify-content:space-between;gap:15px;align-items:center}
.rimba-eyebrow{font-size:9px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:#8b7956}
.book-heading h1{font-family:Georgia,serif;font-weight:400;font-size:39px;margin:7px 0 5px;letter-spacing:-1px;color:#365341}
.book-heading p{font-size:12px;margin:0;color:#7d795f}
.postage-mark{width:81px;height:88px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #78917c;border-radius:4px;color:#78917c;transform:rotate(8deg);flex-shrink:0}
.postage-mark>span{font-size:8px;letter-spacing:2px}.postage-mark svg{height:44px;width:44px}.postage-mark small{font-size:6px;letter-spacing:1px}
.postcards-layout{display:grid;grid-template-columns:220px 1fr;gap:38px;align-items:start}
.field-notes{border-right:1px solid #d7ceb9;padding:18px 24px 0 0;min-height:390px}
.notes-label{font-size:8px;letter-spacing:2px;color:#a58b56}.field-notes h2{font-family:Georgia,serif;font-size:22px;font-weight:400;line-height:1.25;margin:13px 0 8px;color:#4d644b}.field-notes>p{font-size:11px;line-height:1.7;color:#8b826a;margin:0 0 18px}
.friend-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.friend-stamp{aspect-ratio:1;border:1px dashed #c7c6ad;display:grid;place-items:center;border-radius:50%;overflow:hidden;color:#b5b49b;background:#f0efdf}.friend-stamp img{width:100%;height:100%;object-fit:cover}.friend-stamp.found{border:2px solid #8ca084;background:#fffaf0}.friend-stamp>span{font-family:Georgia;font-size:22px}.album-count{display:block;font-size:10px;color:#847a62;margin-top:12px;text-align:center}
.notes-tapir{display:block;width:145px;height:145px;object-fit:cover;margin:12px auto 0;mix-blend-mode:multiply;transform:rotate(-7deg);opacity:.9}
.postcard-play{min-width:0}.postcard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;max-width:590px;margin:auto}
.postcard{position:relative;width:100%;aspect-ratio:1 / 1.08;border:0;padding:0;border-radius:10px;background:transparent;perspective:1000px;box-shadow:0 4px 0 #cfc7b2;transform:rotate(-1deg);transition:transform .18s ease}
.postcard:nth-child(2),.postcard:nth-child(6){transform:rotate(1.2deg)}.postcard:nth-child(4){transform:rotate(.8deg)}.postcard:hover:not(:disabled){transform:translateY(-3px) rotate(0)}
.postcard-inner{position:absolute;inset:0;display:block;transform-style:preserve-3d;transition:transform .42s cubic-bezier(.2,.7,.2,1)}.postcard.is-open .postcard-inner{transform:rotateY(180deg)}
.postcard-back,.postcard-face{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;backface-visibility:hidden;border-radius:10px;overflow:hidden;border:1px solid #c5c9aa}
.postcard-back{background:#dce5cd;color:#6f8966;background-image:radial-gradient(#6a805013 .7px,transparent .7px);background-size:5px 5px;box-shadow:inset 0 0 0 7px #e8eddb,inset 0 0 0 8px #c1caae}
.postcard-back:after{content:'';position:absolute;inset:13px;border:1px solid #c3cbb1;border-radius:3px;pointer-events:none}
.postcard-back svg{width:53%;height:53%;opacity:.9}.back-number{position:absolute;left:17px;top:13px;font-family:Georgia,serif;font-size:10px;letter-spacing:1px;color:#849577}.back-caption{font-family:Georgia,serif;font-style:italic;font-size:13px;letter-spacing:.3px;position:absolute;bottom:20px}.postcard-corner{position:absolute;right:16px;top:13px;font-size:14px;color:#9ba885}
.postcard-face{transform:rotateY(180deg);background:#faf4df;justify-content:flex-start;border:1px solid #d5c9a9;padding:6px 6px 5px}.postcard-face img{width:100%;height:calc(100% - 25px);object-fit:contain;border-radius:5px;mix-blend-mode:multiply}.friend-name{font-size:12px;line-height:21px;font-family:Georgia,serif;color:#4b654b;text-transform:capitalize;white-space:nowrap}.postcard.is-matched{box-shadow:0 3px 0 #9db28c;outline:2px solid #93a982;outline-offset:2px}.postcard.is-matched .postcard-face{border-color:#8ca57e;background:#f0f2de}
.rimba-feedback{min-height:37px;margin:15px auto 0;font-size:12px;line-height:1.5;text-align:center;color:#607650;max-width:570px}.rimba-feedback.gentle{color:#8e7750}
.rimba-actions{min-height:45px;display:flex;justify-content:center;align-items:center;margin-top:2px}.rimba-action{border:1px solid #496c47;border-radius:12px;padding:11px 22px;min-height:44px;background:#4a704f;color:#fffced;box-shadow:0 3px 0 #365739;font-size:13px}.rimba-action:hover{background:#3b6040}.no-rush{font-size:10px;color:#a1967d;font-style:italic}
.rimba-audio-note{font-size:10px;color:#8b826a;line-height:1.4;max-width:400px;margin:7px auto;text-align:center}.rimba-audio-note:empty{display:none}
.book-footer{margin-top:15px;border-top:1px solid #e1d9c4;padding:13px 0;max-width:none;font-size:8px;letter-spacing:1px;color:#9d8c67;display:flex;justify-content:space-between}
.rimba-card-art{width:100%;height:100%;object-fit:cover;display:block}.game-card.forest .card-illustration{background:#e4e7cf}.game-card.forest{border-color:#cbd5bf}.new-game-link{display:inline-flex;gap:8px;align-items:center;font-size:11px;color:#476a47;margin-top:14px;text-decoration:none;border-bottom:1px solid #a5b494;padding-bottom:4px}.new-game-link span{font-size:8px;background:#e4ebd4;padding:3px 6px;border-radius:6px}
@media(max-width:900px){.postcards-layout{grid-template-columns:175px 1fr;gap:25px}.postcard-book{padding:21px 25px 0}.rimba-game{padding-left:25px;padding-right:25px}.field-notes{padding-right:19px}.notes-tapir{width:115px;height:115px}.postcard-grid{gap:12px}.book-heading h1{font-size:35px}}
@media(max-width:650px){.rimba-game{padding:10px 15px 20px}.rimba-nav{height:44px;margin-bottom:13px}.rimba-wordmark{font-size:20px}.rimba-wordmark span{font-size:6px;letter-spacing:1px}.rimba-page{font-size:13px}.rimba-back{width:44px;height:44px}.postcard-book{padding:19px 18px 0;border-radius:7px 18px 18px 7px;box-shadow:-4px 0 0 #f2e9d6,-5px 0 0 #c7bea5,0 6px 0 #d4d9c6}.postcard-book:before{left:8px}.book-heading{padding-bottom:17px}.book-heading h1{font-size:31px;line-height:1.1;margin:9px 0 8px}.book-heading p{font-size:11px;line-height:1.5;max-width:220px}.rimba-eyebrow{font-size:7px;letter-spacing:1px}.postage-mark{width:52px;height:66px}.postage-mark>span{font-size:6px;letter-spacing:1px}.postage-mark svg{height:33px;width:33px}.postage-mark small{font-size:5px;letter-spacing:.5px}.postcards-layout{display:block}.field-notes{display:none}.postcard-grid{gap:12px 9px}.postcard{aspect-ratio:1 / 1.15}.postcard-back{box-shadow:inset 0 0 0 5px #e8eddb,inset 0 0 0 6px #c1caae}.postcard-back:after{inset:10px}.back-number{font-size:8px;left:13px;top:10px}.postcard-corner{font-size:11px;right:12px;top:10px}.back-caption{font-size:9px;bottom:14px}.friend-name{font-size:10px;line-height:21px}.postcard-face{padding:4px}.rimba-feedback{font-size:11px;min-height:34px;margin-top:17px}.rimba-actions{min-height:46px}.rimba-action{font-size:11px;padding:10px 13px}.no-rush{font-size:9px}.book-footer{font-size:6px;letter-spacing:.6px;margin-top:10px;padding:11px 0}.rimba-audio-note{font-size:9px}.postcard-page .postcard-book{background:#fffcf2f7}.filters{flex-wrap:wrap}.filters .filter{flex-shrink:0}}
@media(max-height:650px) and (min-width:651px){.rimba-game{padding-top:9px}.rimba-nav{margin-bottom:9px}.book-heading{padding-bottom:12px}.book-heading h1{font-size:31px}.postcard-grid{max-width:420px;gap:10px}.field-notes{min-height:280px}.notes-tapir{width:100px;height:100px}.postcard{aspect-ratio:1 / 1.04}.rimba-feedback{margin-top:12px;min-height:30px}.book-footer{margin-top:6px;padding:10px 0}.postcard-book{padding-top:15px}}
@media(max-width:360px){.rimba-game{padding-left:12px;padding-right:12px}.postcard-book{padding:16px 14px 0}.book-heading h1{font-size:28px}.postcard-grid{gap:10px 8px}.postcard-face img{height:calc(100% - 22px)}.friend-name{font-size:9px}.book-footer{font-size:5.5px}.rimba-audio-note{font-size:8px}.rimba-feedback{font-size:10px}.postcard{aspect-ratio:1 / 1.16}}
@media(prefers-reduced-motion:reduce){.postcard,.postcard-inner{transition:none!important}}

.rimba-finished{background:#f5efdf}.rimba-finish-cover{display:block;width:100%;max-height:230px;object-fit:cover;border-radius:20px;margin:0 auto 24px}.rimba-finished .finish h1{font-family:Georgia,serif;font-size:36px;color:#365341}.rimba-finished .finish-pictures{flex-wrap:wrap}.rimba-finished .finish-pictures img{border:1px solid #d5c9aa;background:#fffaf0}

@keyframes postcard-reveal{from{transform:rotateY(0)}to{transform:rotateY(180deg)}}.postcard.is-turning .postcard-inner{animation:postcard-reveal .42s cubic-bezier(.2,.7,.2,1) both}@media(prefers-reduced-motion:reduce){.postcard.is-turning .postcard-inner{animation:none!important}}
@media(max-width:650px) and (max-height:600px){.rimba-game{padding-top:7px;padding-bottom:8px}.rimba-nav{margin-bottom:9px}.postcard-book{padding-top:15px}}

.standalone-card-art{position:relative;width:100%;height:100%}
.standalone-card-art .card-character{position:absolute;left:50%;top:55%;width:49%;height:70%;transform:translate(-50%,-50%);object-fit:contain;filter:drop-shadow(0 3px 2px #283b2b45)}
