:root{--desk:#0c1712;--paper:#f3ecdb;--paper-shade:#e7ddc6;--ink:#221d12;--ink-soft:#6d6450;--cream:#ece4d0;--cream-dim:#8d9a8f;--pos:#2c8a55;--pos-bright:#5ecf90;--neg:#b6342c;--neg-bright:#ff8074;--warn:#b07c24;--warn-bright:#e0aa45;--hairline:#ece4d029;--serif:"Fraunces", Georgia, serif;--sans:"Archivo", "Helvetica Neue", sans-serif}html,body{font-family:var(--sans);color:var(--cream);background:var(--desk);margin:0;padding:0;overflow:hidden}.money{font-variant-numeric:tabular-nums;font-weight:700}.money-pos{color:var(--pos-bright)}.money-neg{color:var(--neg-bright)}.card .money-pos{color:var(--pos)}.card .money-neg{color:var(--neg)}.tiny-label{text-transform:uppercase;letter-spacing:.14em;color:var(--cream-dim);font-size:13px}#app canvas{z-index:0;display:block;position:fixed;inset:0}.stage{z-index:1;box-sizing:border-box;flex-direction:column;width:min(1120px,100vw - 48px);height:fit-content;max-height:calc(100vh - 32px);margin:auto;padding:16px 0;display:flex;position:fixed;inset:0}.brand-row{grid-template-columns:minmax(0,1fr) minmax(max-content,auto) minmax(0,1fr);align-items:start;gap:18px;margin-bottom:16px;display:grid}.brand-left{align-items:baseline;gap:18px;display:flex}.brand-name{font-family:var(--serif);font-size:22px;font-style:italic;font-weight:600}.brand-day{color:var(--cream-dim);font-variant-numeric:tabular-nums;font-size:16px}.brand-score{text-align:center;flex-direction:column;align-items:center;gap:2px;min-width:0;display:flex}.score-value{font-family:var(--serif);color:var(--cream);font-variant-numeric:tabular-nums;font-size:38px;font-weight:600;line-height:.95}.pause-chip{letter-spacing:.08em;color:var(--warn-bright);visibility:hidden;justify-self:end;margin-left:auto;font-size:14px}.status{grid-template-columns:minmax(190px,max-content) minmax(0,1fr) minmax(190px,max-content);align-items:flex-end;gap:48px;display:grid}.status-cash,.status-hole{flex-direction:column;gap:4px;display:flex}.status-hole{text-align:right;align-items:flex-end}.cash-value,.hole-value{font-family:var(--serif);font-variant-numeric:tabular-nums;color:var(--pos-bright);font-size:76px;font-weight:600;line-height:.95}.hole-value,.cash-value.empty{color:var(--neg-bright)}.status-suspicion{flex:1;padding-bottom:8px}.suspicion-head{justify-content:space-between;align-items:baseline;display:flex}.suspicion-value{font-variant-numeric:tabular-nums;color:var(--warn-bright);font-size:20px;font-weight:700}.suspicion-track{background:#ece4d01f;border-radius:6px;height:12px;margin-top:8px;overflow:hidden}.suspicion-fill{background:var(--warn-bright);border-radius:6px;width:0;height:100%;transition:width .25s linear,background .4s}.suspicion-fill.high{background:var(--neg-bright)}@media (width<=780px){.stage{width:min(100vw - 24px,1120px);padding-top:12px}.brand-row{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.brand-score{order:-1;grid-area:1/1/auto/-1}.brand-left{grid-area:2/1}.pause-chip{grid-area:2/2}.status{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 24px}.status-suspicion{grid-area:2/1/auto/-1;padding-bottom:0}.cash-value,.hole-value{font-size:58px}}.timeline{margin:30px 0 8px}.tl-track{height:132px;position:relative}.tl-axis{background:var(--hairline);height:2px;position:absolute;top:50%;left:0;right:0}.tl-tick{background:var(--hairline);width:2px;height:10px;position:absolute;top:calc(50% - 4px)}.tl-tick span{letter-spacing:.08em;text-transform:uppercase;color:var(--cream-dim);opacity:.75;white-space:nowrap;font-size:12px;position:absolute;top:13px;left:0;transform:translate(-50%)}.tl-marker{transition:left .2s linear;position:absolute;top:50%;transform:translate(-50%,-50%)}.tl-dot{border:3px solid var(--desk);border-radius:50%;width:13px;height:13px}.tl-in .tl-dot{background:var(--pos-bright)}.tl-out .tl-dot{background:var(--neg-bright)}.tl-label{white-space:nowrap;align-items:baseline;gap:7px;font-size:17px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.tl-when{color:var(--cream-dim);font-variant-numeric:tabular-nums;font-size:13px}.tl-in .tl-label{bottom:16px}.tl-in.lane-1 .tl-label{bottom:42px}.tl-out .tl-label{top:16px}.tl-out.lane-1 .tl-label{top:42px}.tl-marker.urgent .tl-dot{animation:1s ease-in-out infinite throb}.tl-marker.urgent .tl-when{color:var(--warn-bright);font-weight:700}@keyframes throb{50%{transform:scale(1.7)}}.card-hand{background:#ece4d009;border:1px solid #ece4d029;border-radius:8px;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"collection redemption""financing investment";gap:12px;height:568px;min-height:568px;max-height:568px;padding:12px;display:grid;position:relative}.card-zone{background:#060c0942;border:1px solid #ece4d021;border-radius:8px;flex-direction:column;min-width:0;min-height:0;padding:9px;display:flex}.card-zone-collection{grid-area:collection}.card-zone-redemption{grid-area:redemption}.card-zone-financing{grid-area:financing}.card-zone-investment{grid-area:investment}.card-zone-label{text-transform:uppercase;letter-spacing:.14em;color:var(--cream-dim);opacity:.9;margin:0 0 8px;font-size:12px}.card-zone-right .card-zone-label{text-align:right}.card-lane{box-sizing:border-box;flex:0 0 224px;align-items:flex-start;gap:10px;height:224px;min-height:224px;max-height:224px;padding:1px 1px 18px;display:flex;overflow:auto hidden}.card-zone-left .card-lane{justify-content:flex-end}.card-zone-right .card-lane{justify-content:flex-start}.card{--card-width:172px;flex:0 0 var(--card-width);width:var(--card-width);min-width:var(--card-width);max-width:var(--card-width);box-sizing:border-box;background:linear-gradient(176deg, var(--paper), var(--paper-shade));height:205px;min-height:205px;max-height:205px;color:var(--ink);border-radius:8px;flex-direction:column;padding:13px 14px;display:flex;position:relative;overflow:visible;box-shadow:inset 0 1px #ffffff40,0 12px 28px #00000073}.card.from-left.enter{animation:.35s cubic-bezier(.2,.9,.3,1) backwards deal-left}.card.from-right.enter{animation:.35s cubic-bezier(.2,.9,.3,1) backwards deal-right}@keyframes deal-left{0%{opacity:0;transform:translate(-24px)rotate(-.8deg)}}@keyframes deal-right{0%{opacity:0;transform:translate(24px)rotate(.8deg)}}.card-head{border-bottom:1px solid #221d1224;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:8px;display:flex}.card h3{font-family:var(--serif);white-space:nowrap;margin:0;font-size:17px;font-weight:600}.card-meta{align-items:center;gap:6px;min-width:0;display:flex}.card-badge{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);white-space:nowrap;font-size:11px}.card-timer{--timer-progress:100%;background:conic-gradient(var(--ink-soft) var(--timer-progress), #221d1229 0);border-radius:50%;flex:0 0 17px;width:17px;height:17px;display:block;box-shadow:inset 0 0 0 1px #221d1233}.card-timer:after{content:"";background:var(--paper);border-radius:50%;width:9px;height:9px;margin:4px;display:block}.card-info{box-sizing:border-box;width:17px;height:17px;font-family:var(--sans);color:var(--ink-soft);cursor:help;z-index:4;border-radius:50%;flex:0 0 17px;place-items:center;font-size:11px;font-weight:700;line-height:1;display:inline-grid;position:relative;box-shadow:inset 0 0 0 1px #221d1247}.card-info:after{content:attr(data-tooltip);background:var(--paper);width:max-content;max-width:180px;color:var(--ink);font-family:var(--sans);letter-spacing:0;text-align:left;white-space:normal;opacity:0;pointer-events:none;border-radius:5px;padding:7px 8px;font-size:12px;font-weight:700;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);right:0;transform:translateY(-2px);box-shadow:0 10px 24px #00000057}.card-info:hover:after,.card-info:focus-visible:after{opacity:1;transform:translateY(0)}.card.overdue .card-badge{color:var(--neg);font-weight:700}.card-row{color:var(--ink-soft);white-space:nowrap;margin:3px 0;font-size:14px}.card-row .money{margin-right:3px;font-size:18px}.card-row.dim{font-size:14px}.card-row.warn{color:var(--warn);font-size:15px;font-weight:600}.card-actions{grid-template-columns:minmax(0,1fr);gap:7px;margin-top:auto;padding-top:11px;display:grid}.card-actions.split{grid-template-columns:minmax(0,1fr)}.card-action{font:inherit;letter-spacing:.04em;cursor:pointer;background:var(--ink);color:var(--paper);border:none;border-radius:6px;margin-top:0;padding:11px 0;font-size:14px;font-weight:700;transition:filter .12s}.card-action-secondary{min-width:0;color:var(--ink-soft);background:0 0;padding-inline:0;box-shadow:inset 0 0 0 1px #221d1238}.card-action:hover:not(:disabled){filter:brightness(1.5)}.card-action:disabled{opacity:.25;cursor:not-allowed}.card-collect{background:var(--pos);color:#fff}.card-redemption{background:var(--neg);color:#fff}.card-collect .card-head,.card-redemption .card-head{border-bottom-color:#ffffff3d}.card-collect .card-badge,.card-redemption .card-badge,.card-collect .card-info,.card-redemption .card-info,.card-collect .card-row,.card-redemption .card-row,.card-collect .card-row.warn,.card-redemption .card-row.warn,.card-collect .money,.card-redemption .money,.card-collect .money-pos,.card-redemption .money-pos,.card-collect .money-neg,.card-redemption .money-neg{color:#fff}.card-collect .card-info,.card-redemption .card-info{box-shadow:inset 0 0 0 1px #ffffff6b}.card-collect .card-row.dim,.card-redemption .card-row.dim{color:#ffffffb8}.card-collect .card-action,.card-redemption .card-action{box-shadow:none;background:#fff}.card-collect .card-action{color:var(--pos)}.card-redemption .card-action{color:var(--neg)}.card.exit-default{pointer-events:none;animation:.8s cubic-bezier(.28,.9,.26,1) forwards collect-default-exit;overflow:hidden}.card.exit-default:after{content:"DEFAULT";color:#fff;letter-spacing:.12em;text-shadow:0 1px #00000042;background:#b6342ceb;place-items:center;font-size:18px;font-weight:800;animation:.8s ease-out forwards default-stamp;display:grid;position:absolute;inset:0}@keyframes collect-default-exit{0%{background:var(--pos);filter:saturate();opacity:1;box-shadow:inset 0 1px #ffffff40,0 12px 28px #00000073}16%{background:var(--neg-bright);filter:saturate(1.7);box-shadow:inset 0 0 0 2px #ff8074f2,0 12px 28px #00000073}32%{background:var(--neg);filter:saturate(1.4)}58%{opacity:1}to{opacity:0;filter:saturate(.8)}}@keyframes default-stamp{0%{opacity:0;transform:scale(1.35)}20%{opacity:1;transform:scale(1)}62%{opacity:1}to{opacity:0;transform:scale(.96)}}.card.overdue{animation:1.6s ease-in-out infinite simmer}.card.overdue.from-left.enter{animation:.35s cubic-bezier(.2,.9,.3,1) backwards deal-left,1.6s ease-in-out infinite simmer}.card.overdue.from-right.enter{animation:.35s cubic-bezier(.2,.9,.3,1) backwards deal-right,1.6s ease-in-out infinite simmer}@keyframes simmer{50%{box-shadow:inset 0 1px #ffffff40,0 12px 32px #b6342c99}}.event-line{pointer-events:none;min-height:48px;margin-top:12px;font-size:15px;line-height:1.6}.log-entry{animation:.3s ease-out backwards fade-in}.log-entry:nth-child(2){opacity:.4}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}}.log-neutral{color:var(--cream-dim)}.log-good{color:var(--pos-bright)}.log-bad{color:var(--neg-bright);font-weight:700}.lil-gui.autoPlace{z-index:4;top:12px;right:12px}.game-over{z-index:3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060c09e0;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.game-over-panel{text-align:center;background:linear-gradient(176deg, var(--paper), var(--paper-shade));color:var(--ink);border-radius:10px;padding:52px 68px;box-shadow:0 30px 80px #0009}.game-over-kicker{text-transform:uppercase;letter-spacing:.16em;color:var(--ink-soft);margin:0 0 6px;font-size:13px}.game-over-panel h1{font-family:var(--serif);color:var(--neg);margin:0 0 22px;font-size:58px;font-style:italic;font-weight:600}.game-over-score{margin:0;font-size:19px;font-weight:700}.game-over-days{color:var(--ink-soft);margin:4px 0 28px;font-size:16px}.game-over-panel button{background:var(--ink);color:var(--paper);font:inherit;letter-spacing:.04em;cursor:pointer;border:none;border-radius:6px;padding:14px 38px;font-size:16px;font-weight:700}.game-over-panel button:hover{filter:brightness(1.5)}
