*{box-sizing:border-box}:root{--cream:#fff7e6;--paper:#fffdf7;--ink:#2f1b12;--muted:#755c50;--red:#b93823;--gold:#f4b942;--green:#177557;--line:rgba(92,50,26,.16)}
[hidden]{display:none!important}html,body{margin:0;min-height:100%;overflow:hidden}body{font-family:ui-rounded,"Avenir Next",Nunito,system-ui,sans-serif;background:#542416;color:var(--ink);user-select:none;-webkit-tap-highlight-color:transparent}button,a{font:inherit}button{touch-action:manipulation}.market-shell{position:relative;width:100vw;height:100dvh;min-height:540px;overflow:hidden;background:linear-gradient(#9bdaf0 0 31%,#f7d28b 31% 100%)}#marketCanvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.market-topbar{position:absolute;z-index:10;top:max(10px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left));right:max(10px,env(safe-area-inset-right));display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(255,255,255,.5);border-radius:18px;background:rgba(65,27,16,.86);box-shadow:0 8px 30px rgba(61,28,15,.24);backdrop-filter:blur(12px);color:#fff}.back-button,.icon-button{width:42px;height:42px;display:grid;place-items:center;border:0;border-radius:13px;background:rgba(255,255,255,.13);color:#fff;text-decoration:none;font-size:28px;cursor:pointer}.icon-button{font-size:16px}.market-brand{display:flex;flex-direction:column;line-height:.92;margin-right:auto}.market-brand small,.top-stat small{font-size:9px;letter-spacing:.15em;color:#ffd991}.market-brand b{font-family:Georgia,serif;font-size:20px}.top-stat{min-width:53px;display:flex;flex-direction:column;align-items:center;padding:3px 8px;border-left:1px solid rgba(255,255,255,.14)}.top-stat b{font-size:15px}.hearts{font-size:15px;letter-spacing:2px;color:#ff8d83;text-shadow:0 2px #6a1d14}
.mission-card{position:absolute;z-index:5;top:82px;left:50%;transform:translateX(-50%);width:min(760px,calc(100% - 24px));display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center;padding:12px 16px;border:2px solid rgba(255,255,255,.75);border-radius:22px;background:linear-gradient(135deg,rgba(255,253,247,.96),rgba(255,242,205,.94));box-shadow:0 12px 30px rgba(92,50,26,.22)}.customer-badge{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#f3c773;border:4px solid #fff;box-shadow:0 4px 0 #b35d2b;font-size:34px}.speech{min-width:0}.speech>small{display:block;color:var(--red);font-size:10px;font-weight:900;letter-spacing:.13em}.speech>b{display:block;font-family:Georgia,serif;font-size:clamp(16px,3vw,21px)}.order-list{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}.order-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:99px;background:#fff;border:1px solid var(--line);font-size:12px;font-weight:850}.order-chip.done{color:var(--green);background:#e9fff5}.timer{grid-column:1/-1;height:7px;border-radius:9px;background:#ead9c3;overflow:hidden;position:relative}.timer i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#22a06b,#f2b43a,#d9472e);transform-origin:left}.timer small{position:absolute;right:0;top:-17px;font-weight:900;color:var(--red)}
.play-panel{position:absolute;z-index:4;left:50%;bottom:max(12px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 192px);overflow:auto;padding:14px;border:2px solid rgba(255,255,255,.55);border-radius:24px;background:rgba(255,250,234,.95);box-shadow:0 16px 45px rgba(76,35,18,.3);scrollbar-width:none}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.panel-title span{display:flex;flex-direction:column}.panel-title small{font-size:9px;font-weight:900;letter-spacing:.14em;color:var(--red)}.panel-title b{font-family:Georgia,serif;font-size:20px}.panel-title em{font-style:normal;padding:7px 11px;border-radius:12px;background:#3a2419;color:#ffe08a;font-weight:900}
.shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px;background:linear-gradient(#9c522a 0 5px,#6f351d 5px 9px,#d58a43 9px 100%);border-radius:17px;box-shadow:inset 0 -8px rgba(91,42,19,.25)}.product{position:relative;min-height:92px;border:0;border-radius:15px;background:linear-gradient(145deg,#fff,#ffedc8);box-shadow:0 5px 0 #9b552a,0 7px 10px rgba(72,31,14,.2);color:var(--ink);cursor:pointer;transition:transform .12s}.product:active{transform:translateY(4px);box-shadow:0 1px 0 #9b552a}.product .item-icon{display:block;font-size:35px;filter:drop-shadow(0 3px 2px rgba(67,34,15,.18));transition:transform .15s}.product b{display:block;font-size:12px}.product strong{display:inline-block;margin-top:3px;padding:2px 7px;border-radius:8px;background:#6d321d;color:#fff4c4;font-size:11px}.product .in-cart{position:absolute;right:5px;top:5px;width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:900}.product.pop .item-icon{animation:itemPop .28s ease-out}.basket{display:flex;align-items:center;gap:8px;min-height:48px;margin:10px 0;padding:7px 10px;border:2px dashed #c88745;border-radius:15px;background:#fff7df}.basket-icon{font-size:28px}.basket>div{display:flex;flex:1;flex-wrap:wrap;gap:4px;align-items:center}.basket>div span{padding:3px 6px;border-radius:8px;background:#ffe6a8;font-size:16px}.basket>div small{color:var(--muted)}.basket button,.change-actions>button:first-child{border:0;background:transparent;color:var(--red);font-size:11px;font-weight:900;cursor:pointer}
.primary-button{min-height:48px;width:100%;border:0;border-bottom:4px solid #6d291a;border-radius:15px;background:linear-gradient(#d65332,#b93823);color:#fff9df;font-weight:950;letter-spacing:.04em;box-shadow:0 7px 16px rgba(130,47,27,.25);cursor:pointer}.primary-button:active{transform:translateY(2px);border-bottom-width:2px}.primary-button:disabled{filter:grayscale(.7);opacity:.48;cursor:not-allowed}.primary-button span{float:right;margin-right:15px}.big-button{max-width:400px;margin:12px auto 0;display:block}
.math-board{padding:16px;border:4px solid #8d5735;border-radius:18px;background:linear-gradient(145deg,#315849,#173c31);box-shadow:inset 0 0 0 2px rgba(255,255,255,.1),0 6px 0 #5b321d;color:#fff8d6;text-align:center}.math-board>small{font-size:10px;letter-spacing:.16em;color:#ffe08a}.math-board>p{margin:8px 0 0;font-size:11px;color:#d6eadc}.math-equation{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:10px}.equation-item{display:inline-flex;align-items:center;gap:4px;padding:7px 9px;border-radius:12px;background:rgba(255,255,255,.12);font-size:15px;font-weight:900}.equation-item i{font-style:normal;font-size:23px}.equation-plus{font-family:Georgia,serif;font-size:24px;color:#ffe176}.answer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.answer-button{min-height:64px;border:0;border-bottom:5px solid #8f541c;border-radius:15px;background:linear-gradient(#ffd766,#efa82d);color:#48280d;font-size:18px;font-weight:950;box-shadow:0 6px 13px rgba(89,47,14,.18);cursor:pointer}.answer-button:active{transform:translateY(3px);border-bottom-width:2px}.answer-button.wrong{animation:answerWrong .35s ease;background:#e66d5c;color:#fff}.answer-button.correct{animation:answerCorrect .45s ease;background:#35a879;color:#fff}
.receipt{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:7px}.receipt span{padding:9px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.receipt small{font-size:9px;color:var(--muted)}.receipt b{font-size:17px}.receipt-answer{background:#3b261d!important;color:#ffe38c}.receipt-answer small{color:#ffdca4}.change-hint{text-align:center;font-size:12px;color:var(--muted)}.money-bank{display:flex;justify-content:center;flex-wrap:wrap;gap:7px}.money{min-width:58px;height:47px;border:0;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff4a8,#e0a628 65%,#a96612 67%);border:3px solid #ffe67b;box-shadow:0 4px 0 #986015;color:#53320c;font-weight:950;cursor:pointer}.money.note{border-radius:9px;background:linear-gradient(135deg,#d9ffd8,#75bd7b);border-color:#e9ffe7;box-shadow:0 4px 0 #347642}.change-tray{position:relative;min-height:74px;margin:10px 0;padding:9px 12px;border-radius:13px;background:linear-gradient(#654333,#33231c);border:4px solid #b67a49;color:#ffe8ad}.change-tray>span{font-size:9px;letter-spacing:.12em}.change-tray>b{float:right}.change-tray div{display:flex;gap:3px;flex-wrap:wrap;margin-top:7px}.tray-coin{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#f2c94c;color:#543108;font-size:9px;font-weight:900}.change-actions{display:grid;grid-template-columns:90px 1fr;gap:8px}.change-actions>button:first-child{border-radius:13px;background:#ead9c3}.change-actions .primary-button{min-height:46px}
.toast{position:absolute;z-index:30;left:50%;top:48%;transform:translate(-50%,-50%) scale(.8);padding:12px 18px;border-radius:16px;background:#2f1b12;color:#fff8dc;font-weight:900;opacity:0;pointer-events:none;box-shadow:0 12px 35px rgba(0,0,0,.3)}.toast.show{animation:toastPop 1.15s ease both}.toast.good{background:#116b4e}.toast.bad{background:#a83226}
.screen{position:absolute;z-index:20;inset:0;display:grid;place-items:center;padding:max(72px,env(safe-area-inset-top)) 14px max(18px,env(safe-area-inset-bottom));background:rgba(47,24,14,.72);backdrop-filter:blur(8px);overflow:auto}.modal{width:min(620px,100%);padding:24px;border:2px solid #fff8dc;border-radius:26px;background:linear-gradient(145deg,#fffdf5,#ffe6ae);box-shadow:0 22px 70px rgba(31,15,8,.45);text-align:center}.modal h1,.modal h2{margin:4px 0 7px;font-family:Georgia,serif;font-size:clamp(30px,8vw,52px)}.modal h1 em{color:var(--red);font-style:normal}.modal p{max-width:500px;margin:0 auto 13px;color:var(--muted);line-height:1.45}.eyebrow{color:var(--red);font-size:10px;font-weight:950;letter-spacing:.16em}.feature-row{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.feature-row span{padding:10px 6px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.55)}.feature-row i,.feature-row b,.feature-row small{display:block}.feature-row i{font-size:26px;font-style:normal}.feature-row b{font-size:11px}.feature-row small{font-size:9px;color:var(--muted)}.level-preview{display:flex;gap:4px;justify-content:center;margin:12px 0}.level-dot{width:25px;height:25px;border-radius:8px;border:0;background:#d7b989;color:#7b5b43;font-size:10px;font-weight:900}.level-dot.open{background:#28775b;color:#fff}.level-dot.current{outline:3px solid #f6bd3e}.best-label{display:block;margin-top:9px;color:var(--muted)}.small-modal{max-width:430px}.small-modal h2{font-size:32px}.secondary-button{width:100%;margin-top:7px;padding:11px;border:0;background:transparent;color:var(--red);font-weight:900;cursor:pointer}.result-icon{display:block;font-size:54px}.star-row{font-size:39px;color:#d0b88a;letter-spacing:4px;text-shadow:0 3px #9f6c1e}.star-row[data-stars="1"]{background:linear-gradient(90deg,#f6b91d 0 32%,#cbb792 32%);background-clip:text;color:transparent}.star-row[data-stars="2"]{background:linear-gradient(90deg,#f6b91d 0 65%,#cbb792 65%);background-clip:text;color:transparent}.star-row[data-stars="3"]{color:#f6b91d}.result-stats{display:flex;justify-content:center;gap:8px;margin:10px 0}.result-stats span{min-width:100px;padding:8px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}.result-stats small{color:var(--muted)}
@keyframes itemPop{50%{transform:translateY(-10px) scale(1.25) rotate(-7deg)}}@keyframes answerWrong{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@keyframes answerCorrect{50%{transform:scale(1.12)}}@keyframes toastPop{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}15%,72%{opacity:1;transform:translate(-50%,-50%) scale(1.04)}100%{opacity:0;transform:translate(-50%,-65%) scale(.95)}}
@media(max-width:600px){.market-brand{display:none}.market-topbar{gap:4px}.top-stat{min-width:45px;padding:3px 4px}.hearts{font-size:12px}.mission-card{top:72px;padding:8px 10px;grid-template-columns:49px 1fr}.customer-badge{width:46px;height:46px;font-size:27px}.speech>b{font-size:15px}.order-chip{font-size:10px;padding:3px 6px}.play-panel{max-height:calc(100dvh - 164px);padding:10px}.shelf{grid-template-columns:repeat(4,1fr);gap:5px;padding:7px}.product{min-height:76px;border-radius:12px}.product .item-icon{font-size:28px}.product b{font-size:10px}.product strong{font-size:9px}.panel-title b{font-size:17px}.receipt{grid-template-columns:1fr 1fr}.receipt-answer{grid-column:1/-1}.feature-row{grid-template-columns:1fr}.feature-row span{display:grid;grid-template-columns:34px 1fr;column-gap:4px;text-align:left;padding:6px 9px}.feature-row i{grid-row:1/3}.modal{padding:18px 14px}.modal h1{font-size:36px}}
@media(max-height:690px){.mission-card{top:65px}.market-topbar{top:5px}.play-panel{max-height:calc(100dvh - 144px)}.product{min-height:67px}.product .item-icon{font-size:25px}.basket{margin:7px 0;min-height:39px}.hero-modal p{margin-bottom:6px}.feature-row span{padding:5px}.level-preview{margin:7px 0}.modal{padding:14px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
