:root{--ink:#40334d;--sky:#c7e7ec;--blue:#356983;--pink:#eb9ba9;--gold:#f5bb54;--paper:#fffdf5;--green:#315f4d;font-family:'Avenir Next','Trebuchet MS',sans-serif;color:var(--ink);background:var(--sky);font-synthesis:none}*{box-sizing:border-box}body{margin:0}.symbols{position:absolute;width:0;height:0;overflow:hidden}.page{max-width:1220px;margin:auto;padding:0 32px}header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid #35698344;font-size:13px}a{color:var(--ink);font-weight:700;text-underline-offset:4px}button,input{font:inherit}button{cursor:pointer;border:2px solid var(--ink);border-radius:8px;background:var(--ink);color:white;min-height:44px;padding:10px 18px;font-weight:700}button:hover:not(:disabled){background:#5d4770}button:disabled{cursor:not-allowed;opacity:.55}.quiet{color:var(--ink);background:transparent;border:0;text-decoration:underline;text-underline-offset:4px;padding:8px}button.quiet:hover{background:#ffffff60;color:var(--ink)}:focus-visible{outline:3px solid #9b2457;outline-offset:4px}h1,h2,h3,p{margin-top:0}h1{font-family:Georgia,serif;font-size:clamp(32px,4vw,49px);letter-spacing:-1.7px;margin:0;line-height:1.08}h1 span{font-family:'Avenir Next','Trebuchet MS',sans-serif;font-size:15px;font-weight:500;letter-spacing:0;display:block;margin-top:10px}h2{font-family:Georgia,serif;font-size:30px;line-height:1.12;letter-spacing:-.7px;margin-bottom:14px}h3{font-size:16px;margin-bottom:9px}p,li{line-height:1.5}.title-row{display:flex;justify-content:space-between;align-items:center;padding:28px 0 23px;gap:12px}.purse{display:grid;grid-template-columns:30px auto;align-items:center;gap:0 5px;background:var(--gold);border:2px solid var(--ink);border-radius:50% 45% 12px 12px;padding:12px 19px;transform:rotate(3deg)}.purse span{font-size:28px;color:#755023}.purse strong{font-size:30px}.purse small{grid-column:1/3;font-size:11px}.game-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:28px;align-items:start}.world{position:sticky;top:18px;text-align:center}.day-label{font-size:14px;font-weight:700;margin:9px 0 0}.shop-svg{width:100%;height:auto;display:block;max-height:430px}.days{list-style:none;display:flex;justify-content:center;gap:10px;padding:0;margin:0}.days li{display:grid;place-items:center;width:32px;height:32px;border:1px solid #35698370;border-radius:50%;font-size:13px}.days .current{background:var(--ink);color:white;border-color:var(--ink)}.days .done{background:#ffffff80}.world-note{font-size:13px;margin:13px 0 0}.desk{background:var(--paper);border:2px solid var(--ink);box-shadow:6px 6px 0 #35698344;border-radius:4px 4px 20px 4px;padding:25px;min-height:420px}.intro-note{font-size:17px}.intro-goal{border-block:1px dashed #40334d60;padding:18px 0;margin:23px 0}.intro-goal p:last-child{margin-bottom:0}.wide{width:100%}.meta{font-size:13px;margin-bottom:8px;color:#5a4d63}.customers{display:flex;gap:10px;margin:17px 0}.customer{flex:1;text-align:center;font-size:12px;background:#eaf3f2;border-radius:40px 40px 5px 5px;padding:8px 4px}.portrait{width:43px;height:48px;display:block;margin:auto}.customer strong{display:block;font-size:14px}.customer small{font-size:11px}fieldset{border:0;padding:0;margin:0 0 16px}legend{font-weight:700;font-size:14px;margin-bottom:8px}.upgrades{display:grid;grid-template-columns:1fr 1fr;gap:6px}.upgrade{display:flex;align-items:flex-start;gap:7px;border:1px solid #c2bdc7;border-radius:6px;padding:9px;font-size:12px;cursor:pointer;min-height:65px}.upgrade:has(input:checked){background:#fce5eb;border:2px solid #804260;padding:8px}.upgrade input{accent-color:#804260;margin:2px 0;flex-shrink:0}.upgrade b{display:block}.upgrade small{display:block;line-height:1.35;margin-top:3px}.upgrade.owned{background:#e4eee7;border-color:#9fbcaa}.choices{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.choices label{font-size:14px;font-weight:700}.choices input{display:block;width:100%;font-size:25px;color:var(--ink);background:white;border:1px solid #8c8394;border-radius:5px;padding:8px;margin-top:6px;min-height:48px}.forecast{background:#e9f0ea;border-left:3px solid var(--green);padding:12px;margin:14px 0;font-size:13px;line-height:1.5}.forecast p{margin:0}.forecast strong{color:var(--green)}.forecast.error{background:#fce6e5;border-color:#9b294c}.forecast.error strong{color:#9b294c}.feedback{display:flex;gap:15px;align-items:center;background:#eaf3f2;padding:15px;border-radius:5px;margin:20px 0}.feedback .portrait{flex-shrink:0;width:55px;height:65px;margin:0}.feedback p{font-size:15px;margin:0}.receipt{margin:20px 0;font-size:14px}.receipt div{display:flex;justify-content:space-between;gap:10px;margin:9px 0}.receipt .total{border-top:1px dashed #40334d88;padding-top:12px;font-weight:700;font-size:17px}.good{color:#276041}.bad{color:#9b294c}.result-mark{width:94px;height:94px;display:grid;place-content:center;background:var(--gold);border:2px solid var(--ink);border-radius:50%;margin:3px auto 22px;transform:rotate(-7deg);font-size:28px}.result-mark small{font-size:11px;text-align:center}.result{text-align:center}.stats{display:flex;justify-content:space-around;border-block:1px dashed #aaa;padding:18px 0;margin:20px 0}.stats strong{display:block;font-size:25px}.stats span{font-size:12px}.ledger{margin:28px 0 10px;background:#ffffff70;padding:20px;border-radius:4px}.ledger h2{font-size:22px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;text-align:right;font-size:13px}th,td{padding:10px 8px;border-bottom:1px solid #35698333;white-space:nowrap}th:first-child,td:first-child{text-align:left}footer{text-align:center;font-size:11px;padding:25px 0;color:#4c5260}dialog{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:12px;max-width:530px;width:calc(100% - 32px);padding:28px}dialog::backdrop{background:#26334399}dialog li{margin-bottom:10px}dialog ol{padding-left:20px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:740px){.page{padding:0 16px}header{padding:10px 0;font-size:12px}header>span{display:none}.title-row{padding:21px 0 18px}h1{font-size:33px}h1 span{font-size:12px}.purse{padding:9px 12px}.purse strong{font-size:24px}.purse span{font-size:20px}.game-layout{grid-template-columns:1fr;gap:20px}.world{position:static}.shop-svg{max-height:285px}.day-label{font-size:13px}.world-note{margin-bottom:0}.desk{padding:21px;min-height:0}.ledger{padding:14px}.days{gap:10px}.days li{width:28px;height:28px}h2{font-size:28px}.customers{margin:14px 0}.upgrade{min-height:74px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Small action feedback; the board remains the focus. */
.sound-switch { font: inherit; font-size: 13px; min-height: 40px; padding: 6px 10px; white-space: nowrap; cursor: pointer; }
.sound-switch[aria-pressed=true] { box-shadow: inset 0 0 0 2px currentColor; }
.sound-switch:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
@media(max-width: 600px) { header { flex-wrap: wrap; gap: 8px; } }

/* Small action feedback; the board remains the focus. */
.receipt-aside { font-size: 13px; color: #65445c; margin: 10px 0; }
