:root{--paper:#fffaf2;--cream:#efe4d2;--ink:#241c14;--muted:#7a6d60;--wood:#24302c;--wood-deep:#1b2623;--brass:#e2ae3a;--brass-deep:#8a5a12;--good:#1c6b45;--bad:#f0c7a2;color-scheme:light}*{box-sizing:border-box}html{color-scheme:light}body{margin:0;min-height:100vh;padding:28px 16px 56px;background:radial-gradient(900px 420px at 8% -10%,rgba(255,248,230,.95),transparent 58%),radial-gradient(720px 480px at 110% 0,rgba(226,174,58,.18),transparent 46%),var(--cream);color:var(--ink);font-family:Readex Pro,Segoe UI,Tahoma,sans-serif;font-size:15px;line-height:1.45}button{font:inherit;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline:2px solid var(--brass);outline-offset:3px}::selection{background:var(--brass);color:var(--ink)}.coach,.counter,.top{width:min(1080px,100%);margin-left:auto;margin-right:auto}.top{flex-wrap:wrap;gap:16px 28px;margin-bottom:16px}.brand,.top{display:flex;align-items:center}.brand{gap:12px}.brand h1{margin:0;font-family:Fraunces,Palatino,Palatino Linotype,serif;font-size:34px;font-weight:560;letter-spacing:-.03em;line-height:1}.brand p{margin:3px 0 0;color:var(--muted);font-size:13px}.logo{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f8e7b2,#e2ae3a 42%,#a87416);box-shadow:inset 0 0 0 3px rgba(255,255,255,.35),inset 0 0 0 5px rgba(90,50,8,.25)}.levels{display:flex;gap:6px;padding:4px;background:rgba(36,28,20,.06);border-radius:999px}.levels button{border:0;background:transparent;color:var(--ink);border-radius:999px;height:36px;padding:0 14px;cursor:pointer}.levels button.on{background:var(--ink);color:var(--paper)}.stats{-webkit-margin-start:auto;margin-inline-start:auto;display:flex;align-items:center;gap:18px}.stats div{display:flex;flex-direction:column;align-items:flex-end}.stats dt{margin:0;font-size:13px;color:var(--muted)}.stats dd{margin:0;font-family:Fraunces,Palatino,serif;font-size:28px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.textbtn{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:6px 0;text-decoration:underline;text-underline-offset:3px}.coach{display:flex;gap:16px;align-items:center;justify-content:space-between;margin-bottom:14px;padding:14px 16px;background:var(--paper);-webkit-border-start:4px solid var(--brass);border-inline-start:4px solid var(--brass);border-radius:14px;box-shadow:0 10px 24px rgba(60,40,10,.06)}.coach[hidden]{display:none}.coach p{margin:0;font-size:14.5px}.coach button{flex:none;border:0;background:var(--ink);color:var(--paper);border-radius:999px;height:38px;padding:0 14px;cursor:pointer}.counter{background:linear-gradient(180deg,rgba(255,255,255,.05),transparent 90px),var(--wood);border-radius:28px;padding:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 24px 50px rgba(48,32,12,.16)}.scene{display:grid;grid-template-columns:minmax(280px,440px) 1fr;grid-gap:14px;gap:14px}.receipt{background:linear-gradient(180deg,rgba(255,255,255,.7),transparent 42px),var(--paper);color:var(--ink);border-radius:18px;padding:16px 18px 18px;box-shadow:0 12px 28px rgba(0,0,0,.14)}.ticket-top{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:#8a7b6c}.ticket-top strong{color:var(--ink)}.ticket-no{margin:8px 0 0;text-align:center;color:#8a7b6c;font-size:12px;letter-spacing:.08em}.math{display:flex;flex-direction:column;gap:4px;margin-top:16px}.math div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.math span{font-size:14px;color:var(--muted)}.math b{font-family:Fraunces,Palatino,serif;font-weight:560;font-size:clamp(32px,5vw,44px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:-.03em;line-height:1}.math .result{border-top:1.5px solid var(--ink);margin-top:6px;padding-top:8px}.math .result b{font-size:clamp(42px,7vw,60px)}.math .ask{color:var(--brass-deep)}.math .known{color:var(--good)}.answer-field input,.math b,.paid-total b,.steps{direction:ltr;unicode-bidi:-webkit-isolate;unicode-bidi:isolate}.math small{-webkit-margin-start:6px;margin-inline-start:6px;font-family:Readex Pro,Segoe UI,Tahoma,sans-serif;letter-spacing:.08em}.astuce,.math small{font-size:13px;color:var(--muted)}.astuce{margin:16px 0 0}.cash{display:flex;flex-direction:column;border-radius:18px;padding:16px;background:rgba(0,0,0,.18)}.box h2,.cash h2,.drawer h2{margin:0;font-size:15px;font-weight:600;color:#e7d7bf}.pile{display:flex;flex:1 1;flex-wrap:wrap;gap:14px;align-items:center;align-content:center;min-height:120px;margin-top:16px}.pile .bill{width:176px;height:92px}.pile .bill .face{font-size:42px}.pile .coin{width:100px;height:100px}.pile .coin .face{font-size:34px}.loose{display:inline-flex}.paid-total{margin:18px 0 0;color:#f4ecdf;font-size:32px;line-height:1}.paid-total b{font-family:Fraunces,Palatino,serif;font-weight:560;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.paid-total small{font-size:14px;-webkit-margin-start:6px;margin-inline-start:6px}.paid-total span{display:block;margin-bottom:4px;font-size:13px;color:#cbbba6}.bill,.coin{display:block;position:relative;color:white;-webkit-user-select:none;-moz-user-select:none;user-select:none}.bill{width:128px;height:68px;border-radius:8px;overflow:hidden;box-shadow:inset 0 0 0 2px rgba(255,255,255,.28),0 8px 14px rgba(0,0,0,.18)}.bill:before{inset:0 auto 0 0;width:14px;background:rgba(0,0,0,.16)}.bill:after,.bill:before{content:"";position:absolute}.bill:after{width:28px;height:28px;left:24px;top:28px;border:2px solid rgba(255,255,255,.28);border-radius:50%}.bill .corner{position:absolute;top:6px;left:20px;z-index:1;font-size:12px;font-weight:600;letter-spacing:.02em}.bill .face,.coin .face{font-family:Fraunces,Palatino,serif;font-weight:650;line-height:1}.bill .face{position:absolute;right:10px;bottom:4px;z-index:1;font-size:30px}.b20{background:linear-gradient(145deg,#8a68b8,#543884)}.b50{background:linear-gradient(145deg,#3c9668,#1c5c3c)}.b100{background:linear-gradient(145deg,#d48945,#8a4e22)}.b200{background:linear-gradient(145deg,#4d78c2,#1d3f78)}.coin{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 4px rgba(255,255,255,.35),inset 0 0 0 7px rgba(0,0,0,.12),0 8px 14px rgba(0,0,0,.2)}.coin .corner{display:none}.coin .face{font-size:26px}.c10{background:radial-gradient(circle at 35% 30%,#f8e7b2,#e1b84a 46%,#a87416);color:#5a3b08}.c5{background:radial-gradient(circle at 35% 30%,#f6d7a4,#d59a45 50%,#8d5a22);color:#5a320f}.c2{background:radial-gradient(circle at 35% 30%,#f7f8fa,#c5ccd4 48%,#7e8792);color:#243040}.c1{background:radial-gradient(circle at 35% 30%,#f0c2a0,#c47b52 50%,#7a4128);color:#4d2416}.c05{background:radial-gradient(circle at 35% 30%,#f3f4f6,#b7c0ca 52%,#6d7682);color:#243040}.box{margin-top:14px;padding:16px;border-radius:20px;background:var(--wood-deep);box-shadow:inset 0 2px 12px rgba(0,0,0,.28)}.box.solved{box-shadow:inset 0 0 0 1px rgba(140,190,150,.45),inset 0 2px 12px rgba(0,0,0,.28)}.box.shake{animation:shake .36s ease}.box-copy p{margin:4px 0 0;color:#cbbba6;font-size:13px}.tray{display:flex;flex-wrap:wrap;gap:10px;align-items:center;min-height:96px;margin-top:14px;padding:10px;border-radius:14px;background:rgba(0,0,0,.2)}.tray .bill{width:96px;height:52px}.tray .bill .face{font-size:22px}.tray .coin{width:54px;height:54px}.tray .coin .face{font-size:18px}.empty{margin:0;color:#b7a894;font-size:14px}.piece{position:relative}.times{position:absolute;top:-7px;right:-7px;z-index:2;min-width:22px;padding:2px 6px;border-radius:999px;background:var(--brass);color:#2a1c08;font-size:12px;font-weight:600;text-align:center}.answer-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px}.answer-row label{color:#e7d7bf;font-size:15px}.answer-field{display:flex;align-items:baseline;gap:8px;min-width:min(100%,260px);padding:8px 16px 8px 18px;border-radius:16px;background:var(--paper)}.answer-field:focus-within{box-shadow:0 0 0 3px rgba(226,174,58,.55)}.answer-field input{width:100%;border:0;padding:0;background:transparent;color:var(--ink);font-family:Fraunces,Palatino,serif;font-size:clamp(42px,8vw,64px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.answer-field input:focus{outline:none}.answer-field input::placeholder{color:#c8b8a4}.unit{color:var(--muted);letter-spacing:.12em}.note,.unit{font-size:13px}.note{min-height:1.3em;margin:8px 0 0;color:var(--bad)}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.ghost,.primary{border-radius:999px;cursor:pointer}.primary{height:54px;padding:0 26px;border:0;background:var(--brass);color:#2a1c08;font-weight:600;font-size:17px}.primary:hover{background:#f0c15c}.ghost{height:42px;padding:0 14px;border:1px solid rgba(243,234,223,.28);background:transparent;color:#f3eadf}.ghost:hover{background:rgba(255,255,255,.06)}.quiet{opacity:.8}.keyhint{color:#b7a894;font-size:12px}.feedback.bad{margin-top:14px;padding:12px 14px;border-radius:14px;background:#6e2e24;color:#f8e4da}.solution{margin-top:14px;padding:16px 18px 18px;border-radius:18px;background:var(--paper);color:var(--ink)}.solution h2{margin:0;font-family:Fraunces,Palatino,serif;font-size:28px;font-weight:560;letter-spacing:-.03em}.exact-note,.give,.method,.mine{margin:8px 0 0}.exact-note,.method{color:#5e5348}.steps{list-style:none;margin:12px 0 0;padding:0}.steps li{display:grid;grid-template-columns:minmax(70px,1fr) minmax(70px,auto) minmax(70px,1fr);grid-gap:10px;gap:10px;align-items:baseline;padding:3px 0;font-family:Fraunces,Palatino,serif;font-size:clamp(22px,4vw,30px);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.steps li span:nth-child(2){color:var(--brass-deep)}.give{font-weight:600}.drawer{margin-top:16px;padding-top:14px;border-top:1px solid rgba(226,174,58,.35)}.drawer-head p{margin:4px 0 0;color:#cbbba6;font-size:13px}.drawer-groups{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:14px}.drawer-group h3{margin:0 0 8px;color:#cbbba6;font-size:14px;font-weight:600}.row{display:flex;flex-wrap:wrap;gap:10px}.cashimg{display:block;object-fit:cover;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cashimg.bill{width:148px;height:78px;border-radius:8px}.cashimg.bill,.cashimg.coin{box-shadow:0 8px 14px rgba(0,0,0,.22)}.cashimg.coin{width:86px;height:86px;border-radius:50%}.pile .cashimg.bill{width:210px;height:112px}.pile .cashimg.coin{width:118px;height:118px}.tray .cashimg.bill{width:112px;height:60px}.tray .cashimg.coin{width:64px;height:64px}.moneybtn{padding:0;border:0;border-radius:12px;background:none;cursor:pointer;line-height:0;transition:transform .15s ease}.moneybtn:hover{transform:translateY(-5px)}.moneybtn:active{transform:translateY(-1px) scale(.98)}.moneybtn:disabled:active,.moneybtn:disabled:hover{transform:none}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.arrive{animation:rise .4s ease}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}@media (max-width:800px){.scene{grid-template-columns:1fr}.stats{margin-left:0}}@media (max-width:640px){body{padding:16px 12px 40px}.coach{align-items:stretch;flex-direction:column}.bill,.cashimg.bill{width:120px;height:64px}.bill .face{font-size:24px}.cashimg.coin,.coin{width:72px;height:72px}.coin .face{font-size:22px}.pile .cashimg.bill{width:168px;height:90px}.pile .cashimg.coin{width:96px;height:96px}}@media (pointer:coarse){.keyhint{display:none}}@media (prefers-reduced-motion:reduce){.arrive,.box.shake,.moneybtn{animation:none;transition:none}}