@font-face{font-family:Nunito;src:local('Nunito')}
:root{color-scheme:light;--ink:#234f4b;--muted:#857655;--cream:#fff7e5;--teal:#147f80;--wood:#e8c89d;--queue-front:43px;--queue-back:32px;--queue-gap:4px;--queue-height:198px;--slot-height:55px}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden}
body{font-family:Nunito,ui-rounded,'SF Pro Rounded','Trebuchet MS',sans-serif;color:var(--ink);background:#d9b789;overscroll-behavior:none;-webkit-font-smoothing:antialiased}
button{font:inherit;cursor:pointer;border:0;user-select:none;-webkit-user-select:none}
button:disabled{opacity:.42;cursor:default}
button:focus-visible{outline:3px solid #167d82;outline-offset:4px}
.hidden{display:none!important}
#app{height:100dvh;max-width:480px;margin:auto;position:relative;overflow:hidden;isolation:isolate;background:#edcfa6;box-shadow:0 0 70px #72502e35}
.screen{position:absolute;inset:0;overflow:auto;overscroll-behavior:contain;padding-top:var(--safe-top,env(safe-area-inset-top));padding-bottom:var(--safe-bottom,env(safe-area-inset-bottom))}
.menu{display:flex;flex-direction:column;background:#fff3df}
.hero{position:relative;flex:1;min-height:0;overflow:hidden}
.hero img{width:100%;height:100%;object-fit:cover;object-position:center 44%;display:block}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,#fff6df0d 20%,transparent 42%,#2a533e14 62%,#133a30c4)}
.hero-text{position:absolute;left:8%;right:7%;bottom:7%;color:#fff9e9;text-shadow:0 3px 16px #12392fa0}
.eyebrow{font-size:10px;letter-spacing:.15em;text-transform:uppercase;font-weight:900}
.hero-text .eyebrow{font-size:9px;letter-spacing:.13em}
.hero-text h1{font-size:clamp(39px,10.5vw,59px);line-height:.98;letter-spacing:-.055em;margin:11px 0 12px;font-weight:1000}
.hero-text p{font-size:15px;line-height:1.45;font-weight:750;margin:0;max-width:300px;color:#fff6dd}
.menu-bottom{padding:19px 25px max(22px,env(safe-area-inset-bottom));background:linear-gradient(115deg,#fff9ee,#f6ead3);border-top:2px solid #fff9ef;border-radius:31px 31px 0 0;margin-top:-20px;z-index:1;box-shadow:0 -10px 35px #67452622}
.menu-copy{display:flex;justify-content:space-between;align-items:center;margin:3px 2px 18px}
.menu-copy strong{display:block;font-size:17px;letter-spacing:-.025em}
.menu-copy span:not(.mascot-dot){display:block;font-size:11px;color:#8c8469;margin-top:5px;font-weight:700}
.mascot-dot{display:grid;place-items:center;font-size:25px;color:#d9a34c;width:38px;height:38px;border-radius:50%;background:#ffe9b5;box-shadow:inset 0 2px 1px #fff8da,0 3px 0 #dab87c}
.primary{position:relative;background:linear-gradient(150deg,#37b4a4,#167d7e 65%);color:#fff9e8;border:1px solid #ffffff36;border-radius:19px;min-height:57px;width:100%;font-size:17px;font-weight:950;display:flex;align-items:center;justify-content:space-between;padding:0 22px;box-shadow:inset 0 2px 1px #a2ebce77,0 5px 0 #176764,0 11px 16px #3b6e4e28;text-shadow:0 2px 1px #0a625966;transition:transform .15s,box-shadow .15s}
.primary:active{transform:translateY(3px);box-shadow:inset 0 2px 1px #a2ebce77,0 2px 0 #176764,0 5px 8px #3b6e4e28}
.primary span{font-size:26px}
.text-button{display:flex;justify-content:space-between;width:100%;padding:22px 3px 1px;background:transparent;font-weight:850;color:#426759;font-size:13px}
.text-button span{color:#a18e6b;font-variant-numeric:tabular-nums}
/* The tabletop is deliberately continuous; the scene, nest and controls share it. */
.game{display:flex;flex-direction:column;overflow:hidden;padding-left:14px;padding-right:14px;background:radial-gradient(ellipse at 47% 28%,#fff6dd52,transparent 65%),url('./assets/tabletop-v2.png') center / cover no-repeat,#ebcda1}
.game-header{display:flex;align-items:center;gap:10px;padding-top:7px;flex:0 0 48px}
.icon-button{display:grid;place-items:center;background:linear-gradient(145deg,#fffdf0,#f2e4c9);color:#356759;width:37px;height:37px;border:1px solid #fff5da;border-radius:13px;box-shadow:inset 0 1px 0 #fff,0 3px 0 #c9ad82,0 5px 7px #84603c21;font-size:25px;line-height:1;flex:none;transition:transform .15s,box-shadow .15s}
.icon-button svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.icon-button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #fff,0 1px 0 #c9ad82}
.level-head{flex:1;min-width:0;text-align:center}
.level-head span{display:block;color:#9b805c;font-size:9px;font-weight:900;letter-spacing:.12em;line-height:1.5}
.level-head strong{display:block;font-size:18px;line-height:1.23;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#345c4c;text-shadow:0 1px 0 #fff1d8}
.progress-track{height:5px;background:#b99a7152;box-shadow:inset 0 1px 2px #88613b40,0 1px 0 #fff0d5;border-radius:10px;margin:9px 58px 3px;flex:0 0 auto;overflow:hidden}
.progress-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,#b5d379,#58ac81 65%,#2e9385);box-shadow:inset 0 1px 0 #e0fbc98a;border-radius:10px;transition:width .25s}
.board-section{flex:1 1 auto;min-height:170px;display:flex;flex-direction:column;align-items:center;position:relative}
.scene-stage{flex:1 1 auto;width:100%;min-height:0;position:relative;isolation:isolate}
.scene-stage canvas{display:block;width:100%;height:100%;object-fit:contain;touch-action:none}
.board-caption{width:100%;display:flex;justify-content:space-between;align-items:center;gap:6px;min-height:19px;flex:0 0 19px;padding:0 4px;color:#967951;font-size:10px;font-weight:800;line-height:1.2}
.board-caption span:first-child{font-variant-numeric:tabular-nums;white-space:nowrap}
.board-caption span:last-child{max-width:72%;text-align:right;color:#5b7965;font-size:10px}
.controls-section{flex:0 0 auto;display:flex;flex-direction:column;min-height:0;padding:7px 1px 10px}
.section-top{height:15px;display:flex;justify-content:space-between;align-items:center;margin:0 3px 6px;color:#947952;font-size:9px;font-weight:950;letter-spacing:.1em;line-height:1}
#slots-label{color:#537b61;letter-spacing:.06em;background:#fff5d76b;border:1px solid #f8e7c680;border-radius:7px;padding:3px 6px;font-variant-numeric:tabular-nums}
.slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;flex:0 0 auto;padding-bottom:3px}
.slot{height:var(--slot-height);border-radius:15px;border:2px solid #fff6df;background:linear-gradient(155deg,#fcf5df,#e5cfaa);box-shadow:inset 0 2px 3px #b08f5a28,inset 0 -2px 0 #fff8e766,0 4px 0 #bfa079,0 6px 9px #92653a24;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;color:#a88f68;font-size:25px;font-weight:1000;touch-action:none;transition:transform .15s,border-color .2s}
.slot:not(.filled)::after{content:"";position:absolute;inset:5px;border-radius:9px;border:1px dashed #bda78070;pointer-events:none}
.slot.filled{background:radial-gradient(ellipse at 32% -10%,#ffffff85,transparent 60%),linear-gradient(150deg,var(--card-light),var(--card) 70%);border-color:#fff6dfa1;color:var(--ink,#fff9e9);text-shadow:none;box-shadow:inset 0 2px 1px #ffffff82,inset 0 -5px 4px #092c4025,0 4px 0 color-mix(in srgb,var(--card) 60%,#64492d),0 7px 9px #77563b30}
.slot.filled::before{content:"";position:absolute;left:10px;right:10px;top:3px;height:2px;border-radius:4px;background:#ffffff38;pointer-events:none}
.slot.pending,.slot.drop-target{outline:3px solid #f1ba44;outline-offset:2px;transform:translateY(-2px)}
.slot small,.slot-ant{font-size:10px;line-height:1;height:13px;margin:0 0 1px;opacity:.95;display:flex;align-items:center;justify-content:center}
.slot-ant svg{width:12px;height:13px;display:block;fill:currentColor}
.slot .rem,.slot-count{font-size:24px;line-height:1;font-weight:1000;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.slot .remaining{font-size:8px;line-height:1;color:#fff9e1d9}
.slot-status{display:block;font-size:7px;line-height:1.1;font-weight:850;letter-spacing:.02em;margin-top:2px;opacity:.8}
.slot-plus{font-size:24px;line-height:1}
.slot.working::after{content:"";position:absolute;inset:0;border:2px solid #fff8dc;border-radius:inherit;pointer-events:none;animation:working-glow 2.4s ease-in-out infinite}
@keyframes working-glow{0%,100%{opacity:.22}50%{opacity:.75}}
.slot-progress{position:absolute;bottom:3px;left:7px;right:7px;height:2px;background:#ffffff24;border-radius:5px;overflow:hidden}
.slot-progress::after{content:"";display:block;height:100%;width:var(--work,0%);background:currentColor;opacity:.75;transition:width .15s}
.queue-heading{margin-top:12px;margin-bottom:6px}
.mini-link{display:flex;align-items:center;gap:3px;background:none;color:#577a67;font-size:10px;font-weight:900;letter-spacing:0;padding:2px 0}
.mini-link span{font-size:14px;line-height:10px}
.queues{display:grid;grid-template-columns:repeat(var(--columns,4),minmax(0,1fr));gap:8px;height:var(--queue-height);min-height:var(--queue-height);flex:0 0 var(--queue-height);overflow:hidden;padding:1px 1px 4px}
.queue{display:flex;flex-direction:column;gap:var(--queue-gap);min-width:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;border-radius:12px;padding:0 3px 2px;background:linear-gradient(#c1a16e0d,#bda07412);touch-action:pan-y;overscroll-behavior:contain}
.queue::-webkit-scrollbar{display:none}
.card{height:var(--queue-front);min-height:var(--queue-front);border-radius:12px;border:2px solid #fff9e7d9;background:radial-gradient(ellipse at 26% 0,#ffffff68,transparent 57%),linear-gradient(145deg,var(--card-light),var(--card) 70%);box-shadow:inset 0 2px 0 #ffffff38,inset 0 -4px 3px #173c3e20,0 3px 0 color-mix(in srgb,var(--card) 52%,#755432),0 4px 7px #71503026;color:var(--ink,#fff9e9);text-shadow:none;display:flex;align-items:center;justify-content:center;gap:5px;font-size:23px;font-weight:1000;flex:0 0 auto;position:relative;touch-action:none;line-height:1;letter-spacing:-.035em;transition:transform .13s,box-shadow .13s}
.card::after{content:"";position:absolute;left:8px;right:8px;top:3px;height:1px;background:#ffffff3d;border-radius:10px;pointer-events:none}
.card span{font-size:11px}
.card .card-count{font-size:inherit;line-height:1;font-variant-numeric:tabular-nums}
.card .card-color-symbol,.colour-mark{font-size:10px;color:inherit;opacity:.85;letter-spacing:0}
.card .card-depth{position:absolute;left:5px;top:50%;transform:translateY(-50%);font-size:8px;color:inherit;opacity:.6;letter-spacing:0;font-weight:800;text-shadow:none}
.card.back{height:var(--queue-back);min-height:var(--queue-back);margin-inline:2px;border-width:1px;border-color:#fff8e6a3;border-radius:9px;opacity:1;transform:none;box-shadow:inset 0 1px 0 #ffffff44,inset 0 -3px 2px #153d3d15,0 2px 0 color-mix(in srgb,var(--card) 50%,#755432),0 3px 3px #75523116;font-size:18px;touch-action:pan-y}
.card.back .card-color-symbol{font-size:8px}
.card.back::after{left:7px;right:7px;top:2px}
.card.locked{filter:saturate(.7);border-style:dashed}
.card.selected{outline:3px solid #f7c65d;outline-offset:1px}
.card:active:not(.back){transform:translateY(2px);box-shadow:inset 0 1px 0 #ffffff38,inset 0 -2px 3px #173c3e20,0 1px 0 #836940}
.empty-queue{height:var(--queue-front);min-height:var(--queue-front);border:1px dashed #bda57980;border-radius:11px;color:#a9956e;display:grid;place-items:center;background:#fff5d727;font-size:18px}
.empty-queue small{display:block;font-size:8px;line-height:1;font-weight:800}
.drag-ghost{position:fixed;pointer-events:none;z-index:30;width:63px;height:54px;min-height:54px;margin:0;transform:rotate(-5deg);opacity:.96;box-shadow:0 8px 0 #805d2d20,0 13px 22px #503b2f44}
.bottom-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;flex:0 0 auto;padding-top:9px;gap:7px}
.tool-button{border-radius:12px;border:1px solid #fff6da;background:linear-gradient(150deg,#fff9e8,#eadbbd);box-shadow:inset 0 1px 0 #fffdf2,0 3px 0 #bea47c,0 5px 8px #99734616;color:#527663;height:40px;font-size:22px;font-weight:1000;display:flex;align-items:center;justify-content:center;gap:4px;padding:0 5px;transition:transform .15s}
.tool-glyph{font-size:21px;line-height:1;letter-spacing:-.08em}
.tool-button small{font-size:8px;letter-spacing:-.015em;font-weight:850}
.tool-button:active{transform:translateY(2px)}
.tool-button.active{background:linear-gradient(150deg,#4ba48c,#2c8072);border-color:#b5d5aab0;color:#fff7de;box-shadow:inset 0 1px 0 #a7d8b780,0 3px 0 #2c6656,0 5px 8px #99734616}
.gallery{padding-left:21px;padding-right:21px;padding-top:calc(20px + var(--safe-top,env(safe-area-inset-top)));background:radial-gradient(ellipse at top,#fff8e5,#e8cba1);color:#355d4b}
.gallery header{display:flex;align-items:center;gap:15px}
.gallery .eyebrow{color:#a18458;font-size:9px}
.gallery h2{margin:3px 0 0;font-size:31px;letter-spacing:-.05em}
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px 12px;margin-top:26px;padding-bottom:40px}
.gallery-card{aspect-ratio:.86;border-radius:9px;background:#fff6de;border:5px solid #fff8e8;box-shadow:0 4px 0 #c7ad83,0 8px 11px #856d4530;overflow:hidden;position:relative;padding:0;transform:rotate(-1deg)}
.gallery-card:nth-child(3n+2){transform:rotate(1.4deg)}
.gallery-card:nth-child(5n){transform:rotate(-2deg)}
.gallery-card img{width:100%;height:100%;object-fit:cover;image-rendering:pixelated}
.gallery-card.locked img{filter:saturate(.15) brightness(.7)}
.gallery-card b{position:absolute;left:0;right:0;bottom:0;padding:7px 6px;color:#fff8df;background:linear-gradient(transparent,#204f43e8);font-size:10px;text-align:left;letter-spacing:.01em;text-shadow:0 1px 2px #22432d}
.modal{position:absolute;inset:0;background:#163f35a1;backdrop-filter:blur(7px);display:grid;place-items:center;z-index:10;padding:22px}
.modal-card{width:min(100%,370px);position:relative;background:radial-gradient(ellipse at top,#fffcef,#f6e8ce);border:2px solid #fff8e4;padding:27px 25px;border-radius:28px;box-shadow:0 7px 0 #bea481,0 18px 60px #102f3260;text-align:center;animation:open-modal .22s cubic-bezier(.2,1.2,.5,1)}
.modal-x{position:absolute;right:12px;top:8px;background:transparent;font-size:29px;color:#a28c66;font-weight:500}
.modal-icon{display:grid;place-items:center;width:63px;height:63px;margin:0 auto 13px;border-radius:50%;font-size:31px;color:#d3a242;background:linear-gradient(#fff2bc,#efd795);box-shadow:inset 0 2px 0 #fffbe8,0 3px 0 #d0ae69;text-shadow:0 2px 0 #fffae999}
.modal h2{font-size:26px;line-height:1.1;margin:8px 0;letter-spacing:-.04em;color:#305b48}
.modal p{font-size:13px;line-height:1.55;color:#7a8065;margin:10px 0 23px;white-space:pre-line}
.modal-actions{display:grid;gap:12px}
.modal-actions button{border-radius:14px;min-height:45px;background:linear-gradient(145deg,#48aa91,#25776a);box-shadow:inset 0 1px 0 #b6e5c175,0 3px 0 #256352;color:#fff7df;font-weight:900;font-size:13px;padding:10px}
.modal-actions button.secondary{background:linear-gradient(#fff7e7,#e8d9b9);color:#567660;box-shadow:inset 0 1px 0 #fffdf4,0 3px 0 #c5ad80}
#toast{position:absolute;z-index:20;left:18px;right:18px;bottom:calc(16px + var(--safe-bottom,0px));background:#245b4ef2;border:1px solid #ffffff2b;box-shadow:0 5px 20px #27422c33;color:#fff6dd;padding:12px 16px;border-radius:14px;text-align:center;font-size:12px;font-weight:800;opacity:0;transform:translateY(15px);transition:.25s;pointer-events:none}
#toast.show{opacity:1;transform:translateY(0)}
@keyframes open-modal{from{transform:translateY(15px) scale(.94);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}
@media(min-height:860px){:root{--queue-back:35px;--queue-height:210px;--slot-height:59px}.controls-section{padding-top:8px;padding-bottom:14px}.bottom-actions{padding-top:12px}.tool-button{height:43px}}
@media(max-height:740px){:root{--queue-front:40px;--queue-back:30px;--queue-gap:3px;--queue-height:184px;--slot-height:49px}.game-header{padding-top:4px;flex-basis:43px}.icon-button{width:34px;height:34px;border-radius:11px}.level-head strong{font-size:17px}.progress-track{margin-top:6px;margin-bottom:1px;height:4px}.controls-section{padding-top:4px;padding-bottom:7px}.section-top{margin-bottom:4px;height:13px;font-size:8px}.queue-heading{margin-top:8px;margin-bottom:5px}.bottom-actions{padding-top:7px}.tool-button{height:36px}.slot-count,.slot .rem{font-size:22px}.slot-ant{height:10px}.slot-ant svg{width:10px;height:11px}.board-caption{min-height:16px;flex-basis:16px;font-size:9px}.board-caption span:last-child{font-size:9px}}
@media(max-height:620px){:root{--queue-front:36px;--queue-back:26px;--queue-gap:3px;--queue-height:163px;--slot-height:43px}.game-header{flex-basis:39px}.board-section{min-height:130px}.controls-section{padding-bottom:5px}.slot-ant{height:9px}.slot-count,.slot .rem{font-size:20px}.card{font-size:21px}.card.back{font-size:16px}.tool-button{height:32px}.tool-glyph{font-size:18px}.level-head strong{font-size:15px}.level-head span{font-size:8px}}
@media(max-width:355px){.game{padding-left:9px;padding-right:9px}.slots{gap:6px}.slot{border-radius:11px}.queues{gap:4px}.card{font-size:21px}.card.back{font-size:17px}.card .card-depth{font-size:7px;left:3px}.tool-button{padding-inline:2px;gap:2px}.tool-button small{font-size:7px}.tool-glyph{font-size:19px}.section-top{font-size:8px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
/* System + Telegram chrome are measured once by telegram-layout.mjs. */
#app{height:var(--app-height,100dvh)}
.screen{padding-top:var(--safe-top,env(safe-area-inset-top,0px));padding-bottom:var(--safe-bottom,env(safe-area-inset-bottom,0px));padding-left:var(--safe-left,env(safe-area-inset-left,0px));padding-right:var(--safe-right,env(safe-area-inset-right,0px))}
.game{padding-left:calc(14px + var(--safe-left,0px));padding-right:calc(14px + var(--safe-right,0px))}
.gallery,.leaderboard{padding:calc(16px + var(--safe-top,0px)) calc(21px + var(--safe-right,0px)) calc(20px + var(--safe-bottom,0px)) calc(21px + var(--safe-left,0px))}
.menu-bottom{padding-bottom:18px}
.menu-community{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin-top:15px}
.community-link{display:flex;gap:7px;align-items:center;justify-content:center;min-height:44px;border-radius:12px;background:#ebddc18a;color:#52765f;border:1px solid #e3d2af;font-size:12px;font-weight:850;padding:7px 5px}
.community-link span{font-size:19px}
.bottom-actions{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.tool-button{min-height:44px;height:44px;flex-direction:column;gap:1px;padding:3px}
.tool-button small{font-size:8px}
.tool-glyph{font-size:19px}
.feedback-tool{background:linear-gradient(150deg,#f4efdf,#ddd8bd)}
.gallery-pagination{display:flex;align-items:center;justify-content:center;gap:20px;padding-bottom:12px;color:#65806a;font-size:13px;font-weight:900}
.gallery-pagination .secondary-action{min-width:52px;width:auto;padding:8px 18px;font-size:22px}
.gallery-grid{padding-bottom:22px}
.modal{top:var(--visual-top,0px);bottom:auto;height:var(--visual-height,var(--app-height,100dvh));padding:calc(14px + var(--safe-top,0px)) calc(16px + var(--safe-right,0px)) calc(14px + var(--safe-bottom,0px)) calc(16px + var(--safe-left,0px));overflow:hidden}
.modal-card{max-height:100%;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:thin;min-height:0}
.modal-x{width:44px;height:44px;top:4px;right:5px;display:grid;place-items:center;line-height:1;border-radius:50%;z-index:1}
.modal-x:focus-visible{outline-offset:-6px}
.feedback-modal{z-index:30}
.mechanic-modal{z-index:25}
.feedback-card,.mechanic-card{padding:30px 21px 23px}
.feedback-card>.eyebrow{display:block;padding-right:20px;font-size:9px;color:#9a815a;text-align:left}
.feedback-card>h2{font-size:24px;margin:12px 10px 18px;text-align:left;max-width:270px}
.feedback-card form{text-align:left}
.feedback-card label{display:block;font-size:12px;font-weight:900;color:#55725e;margin:17px 0 7px}
.feedback-card select,.feedback-card textarea{width:100%;border:1px solid #ccb58c;background:#fff9eb;color:#355949;border-radius:12px;box-shadow:inset 0 2px 4px #7f602410;font:inherit;font-size:16px;padding:11px 12px;line-height:1.4;touch-action:pan-y}
.feedback-card select{min-height:46px}
.feedback-card textarea{display:block;resize:vertical;min-height:116px;max-height:280px}
.feedback-card select:focus,.feedback-card textarea:focus{outline:2px solid #65a68d;outline-offset:2px}
.feedback-meta{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#8d8268;margin-top:7px;font-variant-numeric:tabular-nums}
.feedback-card .feedback-privacy{font-size:11px;line-height:1.4;margin:11px 0;color:#899075}
.feedback-card .feedback-error{color:#a84836;font-size:12px;line-height:1.45;margin:10px 0;min-height:0}
.feedback-error:empty{display:none}
.secondary-action{width:100%;min-height:46px;border:1px solid #b0cbb0;border-radius:13px;background:linear-gradient(145deg,#4aaa91,#277668);box-shadow:inset 0 1px 0 #d5efd37a,0 3px 0 #245f55;color:#fff7df;font-size:14px;font-weight:900;padding:11px 16px}
.feedback-illustration{margin:13px auto 4px;display:grid;place-items:center;width:66px;height:66px;border-radius:21px;background:linear-gradient(#e3e6b5,#c5d49d);color:#528169;box-shadow:inset 0 2px 0 #f8f7cf,0 4px 0 #a7bd80;font-size:37px;font-weight:900}
#feedback-result-title{font-size:20px;margin:17px 0 8px;color:#497559}
.mechanic-card>.eyebrow{color:#a18a61;font-size:9px}
.mechanic-card h2{font-size:24px;margin-top:12px}
.mechanic-art{margin:5px 0 8px;border-radius:20px;background:radial-gradient(ellipse,#fff7dc,#ebd9b329)}
.mechanic-art svg{display:block;width:100%;height:126px}
.mechanic-steps{padding:0;list-style:none;counter-reset:steps;text-align:left;display:grid;gap:14px;margin:16px 0 24px}
.mechanic-steps li{position:relative;counter-increment:steps;padding-left:35px;color:#6f795e;font-size:13px;line-height:1.5}
.mechanic-steps li::before{content:counter(steps);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:8px;display:grid;place-items:center;background:#dfdfbb;color:#527c60;font-size:12px;font-weight:950}
.leaderboard{background:radial-gradient(ellipse at top,#fff8e5,#e8cba1);color:#355d4b}
.community-header{display:flex;align-items:center;gap:13px}
.community-header>div{flex:1}
.community-header .eyebrow{font-size:9px;color:#a18458}
.community-header h2{font-size:30px;letter-spacing:-.05em;margin:2px 0 0}
.ranking-explainer{font-size:12px;line-height:1.55;color:#8b8264;max-width:330px;margin:20px 2px}
.community-state{display:flex;align-items:center;flex-direction:column;padding:26px 14px;text-align:center;background:#fff9e773;border:1px solid #eadbbd;border-radius:22px;margin:20px 0;gap:10px}
.community-state-icon{color:#b59b56;font-size:36px}
.community-state p{font-size:14px;line-height:1.5;color:#7d8569;max-width:280px;margin:4px 0 10px}
.leaderboard-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:24px 0}
.leaderboard-podium:empty{display:none}
.podium-player{min-width:0;text-align:center;background:linear-gradient(#fff8de,#eddfb9);border:1px solid #fef8dd;border-radius:19px;padding:11px 5px;box-shadow:0 4px 0 #cbb386}
.podium-player[data-rank="1"]{background:linear-gradient(#ffefac,#efd282);box-shadow:0 4px 0 #caab60;transform:translateY(-6px)}
.podium-medal{width:40px;height:40px;margin:auto auto 9px;display:grid;place-items:center;color:#947237;background:linear-gradient(#fff9d9,#e4c780);border:2px solid #fff3bd;border-radius:50%;font-size:27px;font-weight:900;box-shadow:0 3px 0 #c4a36b}
.player-identity{min-width:0;flex:1}
.player-identity strong{display:block;font-size:13px;line-height:1.3;overflow-wrap:anywhere}
.podium-player .player-identity strong{font-size:11px;min-height:29px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.you-label{display:block;font-size:9px;color:#669274;margin-top:4px;font-weight:850}
.player-score{text-align:right;font-variant-numeric:tabular-nums;flex:none}
.player-score strong{font-size:21px;line-height:1;display:block;color:#61896b}
.player-score>span{font-size:9px;color:#a48e63}
.podium-player .player-score{text-align:center;margin-top:9px}
.podium-player .player-score strong{font-size:24px;color:#8f7843}
.leaderboard-list{list-style:none;display:grid;gap:8px;padding:0;margin:10px 0 25px}
.leaderboard-row{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid #edddbd;background:#fff8e6ba;border-radius:15px;min-height:65px}
.leaderboard-row.is-you{background:#e8eed0;border-color:#b9cea7}
.rank-badge{flex:none;display:grid;place-items:center;width:27px;font-size:15px;font-weight:950;color:#b1945e;font-variant-numeric:tabular-nums}
.leaderboard-list-heading{display:flex;justify-content:space-between;font-size:10px;color:#9b855b;font-weight:850;margin:25px 4px 6px}
.leaderboard-me{margin-top:20px}
.leaderboard-me>.eyebrow{font-size:9px;display:block;margin:0 5px 8px;color:#8a8559}
/* Density uses the unobscured content height, so fullscreen chrome never steals rows. */
:root[data-layout-density="comfortable"]{--queue-front:39px;--queue-back:29px;--queue-gap:3px;--queue-height:178px;--slot-height:48px}
:root[data-layout-density="comfortable"] .game-header{flex-basis:43px;padding-top:4px}
:root[data-layout-density="comfortable"] .controls-section{padding-top:3px;padding-bottom:6px}
:root[data-layout-density="comfortable"] .queue-heading{margin-top:8px;margin-bottom:4px}
:root[data-layout-density="comfortable"] .bottom-actions{padding-top:7px}
:root[data-layout-density="compact"]{--queue-front:35px;--queue-back:25px;--queue-gap:2px;--queue-height:154px;--slot-height:43px}
:root[data-layout-density="compact"] .game-header{flex-basis:40px;padding-top:3px;gap:7px}
:root[data-layout-density="compact"] .icon-button{height:34px;width:34px}
:root[data-layout-density="compact"] .level-head strong{font-size:15px}
:root[data-layout-density="compact"] .level-head span{font-size:8px}
:root[data-layout-density="compact"] .progress-track{margin-top:5px;margin-bottom:1px;height:4px}
:root[data-layout-density="compact"] .board-section{min-height:126px}
:root[data-layout-density="compact"] .board-caption{min-height:14px;flex-basis:14px;font-size:8px}
:root[data-layout-density="compact"] .board-caption span:last-child{font-size:8px}
:root[data-layout-density="compact"] .controls-section{padding-top:2px;padding-bottom:4px}
:root[data-layout-density="compact"] .section-top{height:12px;font-size:8px;margin-bottom:3px}
:root[data-layout-density="compact"] .queue-heading{margin-top:5px;margin-bottom:4px}
:root[data-layout-density="compact"] .bottom-actions{padding-top:5px;gap:4px}
:root[data-layout-density="compact"] .tool-button{min-height:44px;height:44px}
:root[data-layout-density="compact"] .tool-button small{font-size:7px}
:root[data-layout-density="compact"] .card{font-size:20px}
:root[data-layout-density="compact"] .card.back{font-size:16px;border-radius:7px}
:root[data-layout-density="compact"] .slot-ant{height:9px}
:root[data-layout-density="compact"] .slot-count{font-size:20px}
:root[data-layout-density="compact"] .slot-status{font-size:6px}
:root[data-layout-density="compact"] .hero-text h1{font-size:34px}
:root[data-layout-density="compact"] .hero-text p{font-size:12px}
:root[data-layout-density="compact"] .hero-text .eyebrow{font-size:7px}
:root[data-layout-density="compact"] .menu-bottom{padding:11px 20px 10px}
:root[data-layout-density="compact"] .menu-copy{margin-bottom:10px}
:root[data-layout-density="compact"] .menu-copy strong{font-size:14px}
:root[data-layout-density="compact"] .menu-copy span:not(.mascot-dot){font-size:9px}
:root[data-layout-density="compact"] .primary{min-height:49px;font-size:15px}
:root[data-layout-density="compact"] .text-button{padding-top:15px;font-size:12px}
:root[data-layout-density="compact"] .menu-community{margin-top:10px}
@media(max-width:355px){.game{padding-left:calc(9px + var(--safe-left,0px));padding-right:calc(9px + var(--safe-right,0px))}.community-link{font-size:10px}.gallery,.leaderboard{padding-left:calc(15px + var(--safe-left,0px));padding-right:calc(15px + var(--safe-right,0px))}}

.podium-player[data-rank="2"] .podium-medal{background:linear-gradient(#f5f5df,#c8d0c5);border-color:#edf1de;box-shadow:0 3px 0 #a5afa2;color:#6e8476}
.podium-player[data-rank="3"] .podium-medal{background:linear-gradient(#f6d9b3,#d8a878);border-color:#f6d2a4;box-shadow:0 3px 0 #b88459;color:#916542}

.gallery-pagination{margin-top:20px;padding-bottom:0;gap:16px}
.gallery-grid{margin-top:19px}
/* The keeper's stall: the same physical toys, a smaller counter for useful supplies. */
.menu-shop-chip{align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:66px;min-height:52px;border:1px solid #f3d3ac;border-radius:16px;padding:6px 9px;background:linear-gradient(145deg,#fff4d6,#efd3a5);color:#946746;box-shadow:inset 0 2px 0 #fff9e5,0 3px 0 #c6a274;flex:none}
.menu-shop-chip .chip-hearts{display:flex;align-items:center;gap:4px;font-size:19px;line-height:1;color:#cb7962}
.menu-shop-chip b{font-size:17px;color:#795f45;font-variant-numeric:tabular-nums}
.menu-shop-chip small{font-size:10px;color:#886442}
.menu-shop-chip .chip-label{font-size:9px;font-weight:900;margin:0;color:#91714c}
.game-shop-chip{height:38px;min-width:47px;padding:4px 8px;border:1px solid #fff2d7;border-radius:12px;background:linear-gradient(#fff6e4,#edcdaa);box-shadow:inset 0 1px 0 #fff,0 3px 0 #c4a079;color:#bd705f;display:flex;align-items:center;justify-content:center;gap:4px;font-size:17px;flex:none;position:relative}
.game-shop-chip b{font-size:14px;font-variant-numeric:tabular-nums;color:#856744}
.game-shop-chip small{position:absolute;right:-3px;bottom:-4px;min-width:16px;border:1px solid #fff3d7;border-radius:7px;padding:1px 3px;background:#d79570;color:#fff8e7;font-size:8px;font-weight:900}
.game-header{gap:7px}
.shop{padding:calc(16px + var(--safe-top,0px)) calc(20px + var(--safe-right,0px)) calc(25px + var(--safe-bottom,0px)) calc(20px + var(--safe-left,0px));background:radial-gradient(ellipse at 25% 2%,#fff8e7,transparent 65%),url('./assets/tabletop-v2.png') center / cover,#efd8b6;color:#476450}
.shop .community-header h2{font-size:27px}
.shop .community-header .eyebrow{font-size:8px;letter-spacing:.08em}
.shop-stall{height:174px;position:relative;display:flex;align-items:center;gap:10px;margin:24px 1px 23px;padding:28px 12px 15px;border:1px solid #dac497;border-radius:10px 10px 23px 23px;background:linear-gradient(100deg,#e9d19c,#f8e9c5 65%);box-shadow:inset 0 0 20px #b6975935,0 4px 0 #c7a46f,0 9px 15px #8a694b21;isolation:isolate}
.stall-awning{position:absolute;left:-6px;right:-6px;top:-7px;height:31px;border-radius:12px 12px 8px 8px;background:repeating-linear-gradient(90deg,#5c9981 0 26px,#dbe3b9 26px 52px);box-shadow:inset 0 3px 0 #fcf8d34a,0 5px 0 #5d806153,0 9px 12px #6686632b;transform:perspective(180px) rotateX(8deg)}
.stall-awning::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:12px;background:repeating-linear-gradient(90deg,#528d74 0 26px,#d0dbab 26px 52px);border-radius:0 0 9px 9px;box-shadow:0 3px 0 #77673e15}
.shopkeeper{position:relative;align-self:flex-end;flex:none;width:101px;height:101px;border:5px solid #fbebc9;border-radius:50%;box-shadow:0 5px 0 #c6a577,0 8px 13px #805a3338;transform:rotate(-6deg);background:#cb9b68;overflow:visible}
.shopkeeper img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.keeper-pin{position:absolute;bottom:-4px;right:-2px;width:28px;height:28px;display:grid;place-items:center;border:2px solid #fff3c6;border-radius:50%;color:#a47a34;background:linear-gradient(#ffe5a0,#d6ad5c);box-shadow:0 2px 0 #b79258;font-size:17px}
.keeper-copy{align-self:center;padding-top:10px;min-width:0}
.keeper-copy .eyebrow{font-size:8px;color:#a78350;letter-spacing:.09em}
.keeper-copy h3{font-size:17px;line-height:1.18;letter-spacing:-.035em;color:#537056;margin:7px 0}
.keeper-copy p{font-size:10px;line-height:1.4;color:#9d875d;margin:0}
.stall-shelf{position:absolute;bottom:-1px;left:0;right:0;height:10px;border-radius:0 0 18px 18px;background:linear-gradient(#ebc899,#d0a571);box-shadow:inset 0 1px 0 #fff0c1}
.shop-stock{display:grid;grid-template-columns:1.5fr 1fr;gap:10px;margin-top:18px}
.stock-lives,.stock-reserve,.stock-mini{border:1px solid #fff2d5;background:linear-gradient(135deg,#fff8e8,#efe0bf);border-radius:17px;padding:13px;box-shadow:inset 0 1px 0 #fffdf0,0 3px 0 #ccb68e}
.stock-lives{grid-row:span 2}
.stock-lives>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:5px}
.stock-lives .eyebrow{font-size:8px;letter-spacing:.04em;color:#9d835b}
.stock-lives strong{color:#886e4a;font-size:14px;white-space:nowrap;font-variant-numeric:tabular-nums}
.shop-hearts{display:flex;gap:2px;margin:9px 0 7px;font-size:25px;letter-spacing:-.06em;text-shadow:0 2px 0 #af6d5230}
.heart-full{color:#d8816b}.heart-empty{color:#ddcfb2;text-shadow:inset 0 1px 0 #886b46}
.stock-lives p{font-size:10px;line-height:1.35;font-weight:850;color:#6d8a67;margin:5px 0}
.stock-lives>small{display:block;font-size:8px;line-height:1.4;color:#a48d65}
.stock-reserve{display:grid;grid-template-columns:24px 1fr;column-gap:6px;padding:10px 12px;background:linear-gradient(135deg,#f9e0c9,#efcfad)}
.stock-symbol{grid-row:span 2;font-size:23px;color:#c78762;align-self:center}
.stock-reserve strong{font-size:19px;line-height:1;color:#956b45}
.stock-reserve>span:not(.stock-symbol){font-size:8px;color:#a47951;font-weight:800}
.stock-reserve small{grid-column:1/-1;font-size:8px;color:#aa8b63;margin-top:5px}
.stock-mini{display:flex;align-items:center;gap:7px;padding:9px 12px;border-radius:13px}
.stock-mini>span:first-child{color:#b79a52;font-size:20px}.stock-mini strong{font-size:18px;color:#5e8569}.stock-mini>span:last-child{font-size:9px;color:#9b8964}
.stock-mini:last-child{grid-column:1/-1;justify-content:center}
.shop-section-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:26px 3px 13px;color:#8f7952;font-size:12px;font-weight:950}
.stars-currency{display:flex;gap:4px;align-items:center;color:#9a7d49;font-size:9px;font-weight:800}.stars-currency i{font-style:normal;font-size:15px;color:#d7a941}
.shop-products{display:grid;gap:15px}
.shop-product{display:grid;grid-template-columns:58px 1fr 60px;gap:11px;align-items:center;padding:14px 12px;border:1px solid #fff5dc;border-radius:20px;background:linear-gradient(110deg,#fff7e5,#f4e6c9);box-shadow:inset 0 1px 0 #ffffee,0 4px 0 #cdb690,0 7px 12px #9977421a}
.product-toy{position:relative;width:53px;height:56px;display:grid;place-items:center;border:2px solid #fff5dd;border-radius:14px;background:radial-gradient(ellipse at 30% 0,#fffcdf,#e9b39a);box-shadow:inset 0 2px 0 #fff2d3,0 4px 0 #c38867;color:#c76f5b;font-size:34px;text-shadow:0 2px 0 #fce3b4;transform:rotate(-6deg)}
.shop-product.hint .product-toy{background:radial-gradient(ellipse at 30% 0,#fff7c1,#e1c46e);color:#b39339;box-shadow:inset 0 2px 0 #ffffd9,0 4px 0 #bba160;transform:rotate(4deg)}
.shop-product.undo .product-toy{background:radial-gradient(ellipse at 30% 0,#eff1c7,#aac7a3);color:#669476;box-shadow:inset 0 2px 0 #f5f9d7,0 4px 0 #84a785;transform:rotate(-3deg)}
.quantity-seal{position:absolute;bottom:-8px;right:-7px;font-size:12px;line-height:1;font-weight:950;color:#896b43;background:#fff1c6;border:1px solid #fbdfa5;border-radius:9px;padding:4px 5px;box-shadow:0 2px 0 #ceb381;text-shadow:none;transform:rotate(7deg)}
.product-copy h3{font-size:14px;letter-spacing:-.035em;line-height:1.15;color:#57765b;margin:0 0 6px}
.product-copy p{font-size:10px;line-height:1.45;color:#9b8b68;margin:0}
.stars-price{min-height:55px;min-width:57px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:3px;padding:8px 5px 6px;border:1px solid #fff1bf;border-radius:13px;background:linear-gradient(150deg,#f8e2a3,#dbb765);box-shadow:inset 0 2px 0 #fff5cd,0 4px 0 #b28e45;color:#876725}
.stars-price .telegram-star{color:#bd8c26;font-size:18px;line-height:1;text-shadow:0 1px 0 #fff3af}.stars-price strong{font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.stars-price small{flex:0 0 100%;font-size:8px;line-height:1;margin-top:4px}
.stars-price:active{transform:translateY(2px);box-shadow:inset 0 2px 0 #fff5cd,0 2px 0 #b28e45}
.shop-quiet{font-size:10px;line-height:1.5;color:#a5916c;margin:15px 4px}
.shop-status{font-size:12px;line-height:1.5;padding:12px 14px;margin:14px 0;background:#fff7df;border:1px solid #ddcea5;border-radius:13px;color:#698568}
.shop-reward-section{margin:25px 0 10px;padding-top:3px;border-top:1px dashed #c6ac7e}
.optional-label{font-size:8px;color:#7e9a74;border:1px solid #c3d0a6;border-radius:7px;padding:4px 7px;background:#e8e9c9}
.shop-ad-options>p{font-size:11px;line-height:1.5;color:#9a8967;margin:0 3px 14px}.shop-ad-options>small{display:block;text-align:center;font-size:9px;color:#a5926b;margin-top:13px}
.reward-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.reward-choices button{min-height:95px;border:1px solid #fbf3d7;border-radius:15px;background:linear-gradient(#f3ecd1,#dedcaf);box-shadow:inset 0 2px 0 #fff6d6,0 3px 0 #afba86;padding:9px 5px;color:#6a8b64}
.reward-choices button>span{display:block;font-size:27px;margin-bottom:6px;color:#93a16a}.reward-choices button:first-child>span{color:#ca8f70}.reward-choices strong{display:block;font-size:10px}.reward-choices small{display:block;font-size:7px;margin-top:5px;color:#9b9870}
.shop-fair-note{font-size:10px;line-height:1.55;color:#9b9775;text-align:center;max-width:280px;margin:24px auto 0}
.lives-modal{z-index:26}.lives-card{padding-top:28px}.lives-card>.eyebrow{font-size:8px;color:#a08d62}.lives-card h2{font-size:25px}
.resting-heart{position:relative;width:90px;height:86px;margin:0 auto 16px;display:grid;place-items:center;font-size:78px;color:#d38c79;line-height:1;text-shadow:0 4px 0 #b8786340;transform:rotate(-8deg)}
.resting-heart span{position:absolute;right:-7px;top:8px;transform:rotate(8deg);font-size:14px;color:#ad9c73;font-weight:950;letter-spacing:3px}
.lives-card .lives-timer{font-size:15px;font-weight:950;color:#72936c;margin:13px 0 10px;font-variant-numeric:tabular-nums}.lives-card .lives-explanation{font-size:11px;color:#a08d68;margin:8px 0 22px}
:root[data-layout-density="compact"] .game-shop-chip{height:32px;min-width:40px;padding:3px 6px;font-size:15px}:root[data-layout-density="compact"] .game-shop-chip b{font-size:12px}:root[data-layout-density="compact"] .game-header{gap:5px}:root[data-layout-density="compact"] .level-head strong{font-size:14px}
:root[data-layout-density="compact"] .menu-shop-chip{min-height:46px;min-width:59px;padding:4px 7px}:root[data-layout-density="compact"] .menu-shop-chip .chip-hearts{font-size:17px}
@media(max-width:355px){.shop{padding-left:calc(14px + var(--safe-left,0px));padding-right:calc(14px + var(--safe-right,0px))}.shop-product{grid-template-columns:48px 1fr 53px;gap:8px;padding:13px 9px}.product-toy{width:45px;height:49px;font-size:29px}.product-copy h3{font-size:13px}.product-copy p{font-size:9px}.shopkeeper{width:85px;height:85px}.keeper-copy h3{font-size:15px}.game-shop-chip{min-width:39px;padding:4px 5px}.game-header{gap:5px}.shop-hearts{font-size:22px}}
.shop-debt-note{margin:19px 0 0;border:1px solid #d1b685;border-radius:13px;background:#faedcf;padding:12px;font-size:11px;line-height:1.5;color:#947044}

.shop-receipt{margin:10px 4px;font-size:11px;line-height:1.5;color:#927d56;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;touch-action:auto}
.shop-payment-support{min-height:44px;max-width:100%;margin:5px 0;padding:10px 4px;border:0;background:transparent;box-shadow:none;color:#76886b;font-size:11px;line-height:1.5;text-align:left;text-decoration:underline;text-underline-offset:3px}

/* A short, noninteractive boundary before the result or next attempt. */
.interstitial-note{max-width:285px;margin:12px auto;color:#827458;font-size:10px;line-height:1.5;text-align:center}
.shop-interstitial-note{margin-top:22px}
.ad-boundary{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:30px;background:#f7ecd5d9;color:#6b7457;font-size:15px;font-weight:800;text-align:center;pointer-events:none;backdrop-filter:blur(3px)}
