:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#26362f;background:#f5f4ef;font-synthesis:none;font-size:15px;--green:#145c49;--muted:#728079;--line:#dfe4dc;--mint:#dff1c4;--purple:#75678d}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:13px;padding:12px 17px;color:inherit;font-weight:600;transition:background .15s}button:hover{background:#edf2e9}button:disabled{opacity:.45;cursor:wait}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#20765e}.soft{background:var(--mint);border-color:var(--mint)}.danger{color:#aa4343}.quiet{background:transparent}.full{width:100%}input,select{background:#fff;border:1px solid #cad5c9;border-radius:10px;padding:12px;width:100%;color:inherit}input:focus,select:focus{outline:2px solid #8bb78e;outline-offset:2px}label{display:block;font-size:13px;color:#52645a;margin:12px 0}label input,label select{margin-top:6px}input[type=checkbox]{width:auto;margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(34px,5vw,62px);line-height:1.07;letter-spacing:-2px;font-weight:650}h2{font-size:25px;letter-spacing:-.7px}h3{font-size:17px}p{line-height:1.65}.muted,small{color:var(--muted)}small{font-size:12px}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:750}.shell{max-width:1220px;margin:auto;padding:24px 32px 105px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:750;letter-spacing:-1px}.mark{display:grid;place-items:center;background:var(--green);color:var(--mint);height:37px;width:37px;border-radius:12px;letter-spacing:-6px;padding-right:5px}.topmeta{display:flex;gap:9px;align-items:center;font-size:12px}.pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:20px;background:#e8ede4;color:#49614f;font-size:11px;font-weight:650}.dot{width:6px;height:6px;background:#55a46c;border-radius:50%}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding:38px 0}.hero p{max-width:460px;color:#64726a}.landing-cards{display:grid;gap:18px}.panel{background:#fff;border:1px solid var(--line);border-radius:22px;padding:25px}.panel h3{margin-bottom:6px}.intro-art{position:relative;height:230px;margin-top:32px}.art-card{position:absolute;width:260px;border-radius:20px;border:1px solid #bfd0b4;background:var(--mint);padding:25px;transform:rotate(-7deg)}.art-card strong{font-size:37px;display:block;margin:15px 0}.art-small{position:absolute;left:185px;top:80px;transform:rotate(7deg);background:#eae2f1;padding:24px;border-radius:18px;width:185px;font-size:14px}.art-small strong{display:block;font-size:25px;margin-top:8px}.notice{padding:13px 17px;border-radius:13px;background:#eeece2;color:#6d6950;font-size:12px;line-height:1.6}.dashboard-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.dashboard-head h1{font-size:32px;letter-spacing:-1px;margin:8px 0}.grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}.stack{display:grid;gap:18px;align-content:start}.balance{background:var(--green);color:#fff;position:relative;overflow:hidden}.balance:after{content:'↗';position:absolute;right:24px;top:20px;color:#ffffff0c;font-size:160px;line-height:1;pointer-events:none}.balance .eyebrow{color:#adcfbd}.cash{font-size:clamp(40px,6vw,62px);font-weight:650;letter-spacing:-2px;margin:13px 0 22px}.balance-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff25;padding-top:15px;color:#c2dbce;font-size:13px}.balance-footer b{color:#fff;font-size:19px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{border:1px solid var(--line);background:#fff;padding:17px;border-radius:16px}.metric span{font-size:12px;color:var(--muted);display:block}.metric b{font-size:22px;display:block;margin-top:10px}.metric.passive{background:var(--mint)}.actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions button{min-height:55px}.progress{height:8px;background:#e7ebe3;border-radius:20px;overflow:hidden;margin:15px 0}.progress>i{display:block;height:100%;background:#80aa5b;border-radius:inherit}.row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0e9}.row:last-child{border-bottom:0}.row strong{white-space:nowrap}.avatar{display:grid;place-items:center;width:35px;height:35px;border-radius:50%;background:#eae4f0;color:#75628b;font-weight:700;flex-shrink:0}.person{display:flex;align-items:center;gap:10px}.person-button{width:100%;text-align:left;border:0;background:none;padding:11px 0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf0e9}.person-button small{display:block;font-weight:400;margin-top:3px}.nav{display:flex;gap:5px;margin:0 0 25px;border-bottom:1px solid var(--line);padding-bottom:10px}.nav button{border:0;background:transparent;color:#768278;font-size:13px}.nav button.active{background:#e2ebdb;color:#245741}.card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.game-card{padding:20px;border-radius:17px;text-align:left;min-height:160px;display:flex;flex-direction:column;align-items:start;background:#fff;gap:12px}.game-card .title{font-size:16px;line-height:1.4}.game-card small{margin-top:auto}.tag-small,.tag-big{background:#dff1c4}.tag-market{background:#dceefa}.tag-doodad{background:#fae2dc}.searchbar{display:grid;grid-template-columns:1fr 180px auto;gap:10px}.ledger{font-size:13px}.ledger time{font-size:11px;color:var(--muted);display:block;margin-bottom:4px}.ledger .undone{text-decoration:line-through;opacity:.5}.invite img{width:142px;height:142px;display:block;margin:16px auto}.invite code{word-break:break-all;font-size:12px}.setup-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.setup-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}.setup-fields label{font-size:12px}.empty{text-align:center;padding:50px 20px;color:var(--muted)}.empty b{display:block;color:#536859;margin-bottom:10px}.chart{width:100%;height:110px}.chart polyline{fill:none;stroke:#5c9478;stroke-width:2.5}.chart circle{fill:#145c49}.chart-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}a{color:var(--green)}dialog{width:min(560px,calc(100% - 28px));max-height:90dvh;border:1px solid var(--line);border-radius:22px;padding:26px;color:inherit;box-shadow:0 25px 100px #193c3533}dialog::backdrop{background:#1d342d66;backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.modal-head button{padding:6px 11px}.modal-head h2{margin:0;font-size:23px}.modal-body{margin-top:20px}.modal-foot{display:flex;gap:10px;justify-content:end;margin-top:20px}.modal-error{color:#a03d31;font-size:13px;margin:12px 0}#toasts{position:fixed;right:22px;bottom:24px;display:grid;gap:10px;z-index:1000;max-width:calc(100% - 44px)}.toast{background:#203e32;color:white;padding:16px 20px;border-radius:15px;box-shadow:0 8px 35px #183e3325;font-size:14px;max-width:400px}.toast.error{background:#874537}.connection{font-size:11px;color:#6c786e}.winner{background:var(--mint);padding:22px;border-radius:20px;margin-bottom:20px}.amount-neg{color:#b55748}.receipt{background:#f5f6f0;border-radius:14px;padding:18px}.status-text{font-size:12px;color:#7d6b45;margin:12px 0}.inline{display:flex;gap:10px}.inline>*{flex:1}.file-label{display:block;cursor:pointer;text-align:center;background:#e8efdf;padding:14px;border-radius:12px;color:#355543;font-weight:600}.file-label input{display:none}footer{font-size:11px;color:#879085;margin-top:35px;line-height:1.6}details{margin:15px 0}summary{cursor:pointer;font-size:13px;color:#617362}.subtle-button{padding:7px 10px;font-size:12px}
@media(max-width:850px){.shell{padding:20px 18px 100px}.hero{gap:25px}.grid{grid-template-columns:1fr}.sidebar{grid-template-columns:1fr 1fr}.hero h1{font-size:45px}.art-small{left:110px}.setup-grid{grid-template-columns:1fr}.topbar{margin-bottom:24px}}
@media(max-width:580px){.hero{grid-template-columns:1fr;padding-top:20px;gap:18px}.hero h1{font-size:47px}.intro-art{display:none}.hero p{font-size:14px}.panel{padding:20px;border-radius:19px}.topmeta .pill{display:none}.dashboard-head h1{font-size:26px}.dashboard-head{align-items:center}.metrics{gap:8px}.metric{padding:13px 10px}.metric b{font-size:18px}.metric span{font-size:10px}.sidebar{grid-template-columns:1fr}.nav{position:fixed;bottom:0;left:0;right:0;justify-content:space-around;background:#f8f9f3f5;backdrop-filter:blur(15px);padding:12px 4px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);border-bottom:0;margin:0;z-index:10}.nav button{padding:10px;font-size:12px}.card-list{grid-template-columns:1fr}.searchbar{grid-template-columns:1fr 115px}.searchbar button{grid-column:1/-1}.topbar .quiet{padding:8px;font-size:11px}.cash{font-size:49px}.game-card{min-height:130px}#toasts{bottom:88px}.setup-fields{gap:0 10px}.status-text{font-size:11px}.dashboard-head .pill{font-size:10px}.balance-footer b{font-size:17px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:580px){.brand .pill{display:none}.topmeta{white-space:nowrap}.dashboard-head>.pill{max-width:100px}}
/* Financial statement follows the physical CASHFLOW 101 form. */
.report-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 14px}.report-toolbar .inline{flex:0 1 300px}.paper-sheet{background:#fffef9;color:#252924;border:1px solid #cdd0c5;border-radius:6px;padding:35px;max-width:1050px;margin:0 auto;font-family:Georgia,'Times New Roman',serif}.sheet-head{display:grid;grid-template-columns:1fr 1fr;gap:25px}.sheet-head>div{display:flex;gap:12px;border-bottom:1px solid #454a40;padding-bottom:5px}.sheet-head b{background:#26362f;color:#fff;padding:4px 10px;font-style:italic}.sheet-head span{padding:4px;font-weight:700}.sheet-goal{font-size:12px;line-height:1.4;margin:14px 0 18px}.sheet-section-title{text-align:center;font-style:italic;font-weight:600;font-size:24px;margin:22px 0 14px;letter-spacing:0}.sheet-main{display:grid;grid-template-columns:1.08fr 1fr;gap:30px}.sheet-band{background:#26362f;color:#fff;text-align:center;font-style:italic;letter-spacing:.5px;padding:5px;font-size:19px;font-weight:600;margin:0 0 8px}.sheet-left section+section{margin-top:22px}.sheet-line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #9fa69b;min-height:29px;padding:6px 0 3px;font-size:14px;align-items:baseline}.sheet-line span{min-width:0;overflow-wrap:anywhere}.sheet-line strong{white-space:nowrap;font-family:ui-sans-serif,system-ui;font-size:12px;font-weight:600}.sheet-column-labels{display:flex;justify-content:space-between;font-style:italic;font-size:13px;margin:8px 0}.paper-sheet h4{font-size:14px;text-decoration:underline;margin:16px 0 3px}.sheet-summary{display:flex;flex-direction:column;justify-content:space-between;gap:28px}.sheet-auditor{text-align:center;font-size:17px;margin:10px 0 20px}.sheet-auditor small{display:block;font:11px/1.5 ui-sans-serif,system-ui;max-width:260px;margin:8px auto;color:#666d61}.sheet-passive{padding:8px 0}.sheet-passive>b{font-size:18px;display:block;margin-bottom:10px}.sheet-passive>strong{font:600 25px ui-sans-serif,system-ui;border-bottom:1px solid #7a8374;display:block;padding-bottom:8px}.sheet-passive p{font-size:14px;max-width:230px;margin:12px 0 30px}.sheet-total{font-size:17px;border-bottom:2px solid #303c2e;padding-top:15px}.sheet-total strong{font-size:17px}.sheet-children{border:1px solid #434d3b;padding:15px;max-width:280px}.sheet-children .sheet-line:first-child{border:0;min-height:0;padding:0}.child-count{font:600 24px ui-sans-serif,system-ui;display:block;margin:8px 0}.sheet-children small{font-size:11px;display:block}.flow-total{margin-top:22px}.sheet-bottom-totals>small{display:block;font-size:11px;text-align:right;margin-top:6px}.sheet-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}.balance-columns{margin-top:5px}.sheet-table{width:100%;border-collapse:collapse;font-size:12px;margin-top:12px}.sheet-table th{font-weight:400;font-style:italic;border-bottom:1px solid #65715d;padding:4px 3px;text-align:left}.sheet-table th:not(:first-child),.sheet-table td:not(:first-child){text-align:right}.sheet-table td{border-bottom:1px solid #a6aea0;padding:8px 3px;overflow-wrap:anywhere}.sheet-table td:not(:first-child){font:11px ui-sans-serif,system-ui;white-space:nowrap}.sheet-table tr.blank{height:45px}.sheet-note{display:block;font:10px/1.5 ui-sans-serif,system-ui;margin-top:7px}.trade-result{display:block;text-align:left;width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:14px 3px}.trade-result small{display:block;margin-top:5px}.rules-page{max-width:900px;margin:auto}.rules-page>h2{margin-top:15px}.rules-page details{border-bottom:1px solid var(--line);padding:10px 0}.rules-page summary{font-size:16px;font-weight:650;line-height:1.5}.rules-page details p{margin:14px 0;color:#50604f;font-size:14px}.active-offer .inline{flex-wrap:wrap}dialog:has(.paper-sheet){width:min(1100px,calc(100% - 20px))}.fast-sheet>h2{text-align:center}.fast-sheet>p{text-align:center}
@media(max-width:650px){.paper-sheet{padding:18px 14px}.sheet-head{grid-template-columns:1fr;gap:12px}.sheet-main,.sheet-columns{grid-template-columns:1fr;gap:24px}.sheet-summary{display:grid;grid-template-columns:1fr;gap:20px}.sheet-children{max-width:none}.sheet-passive p{max-width:none;margin-bottom:10px}.sheet-section-title{font-size:21px}.sheet-line{font-size:13px}.sheet-total{font-size:16px}.report-toolbar{align-items:stretch;flex-direction:column}.report-toolbar .inline{flex:auto}.sheet-head span{font-size:14px}.paper-sheet h4{margin-top:20px}.sheet-table td:not(:first-child){font-size:10px}.sheet-auditor{margin-bottom:10px}}
@media print{.topbar,.nav,.report-toolbar,footer,.dashboard-head{display:none!important}.shell{padding:0}.paper-sheet{border:0;padding:0}.sheet-main{grid-template-columns:1.08fr 1fr}.sheet-columns{grid-template-columns:1fr 1fr}.sheet-head{grid-template-columns:1fr 1fr}.sheet-summary{display:flex}.sheet-table,.sheet-line{break-inside:avoid}}

/* Long player/card names must wrap rather than widen the phone or financial form. */
.dashboard-head>div,.grid>*,.stack>*,.person,.person>span:last-child,
.sheet-head>div,.sheet-main>*,.sheet-columns>*,.sheet-summary>*{min-width:0}
.dashboard-head h1,.person>span:last-child,.sheet-head span,.sheet-auditor,
.ledger,.modal-body,.winner,.sheet-goal{overflow-wrap:anywhere}
.person-button{gap:10px}.person-button>strong{flex-shrink:0;white-space:nowrap}
.sheet-head>div{flex-wrap:wrap}.sheet-head span{min-width:0}
dialog{overflow-y:auto;overscroll-behavior:contain}
.trade-actions{margin-top:16px}
.modal-head button{min-width:44px;min-height:44px;flex-shrink:0}
.modal-head h2{min-width:0;overflow-wrap:anywhere}
button:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
input,select{min-width:0;max-width:100%}
@media(max-width:580px){input,select{font-size:16px}.sheet-table{table-layout:fixed}.sheet-table th{overflow-wrap:anywhere}.sheet-table th:first-child{width:44%}.sheet-table td:not(:first-child){white-space:normal;overflow-wrap:anywhere}}
@media(max-width:360px){.shell{padding-right:14px;padding-left:14px}.topbar{flex-wrap:wrap}.topmeta{flex:1;justify-content:space-between}.dashboard-head{align-items:start;gap:10px}.dashboard-head>.pill{flex-shrink:0;max-width:82px}.actions{grid-template-columns:repeat(2,minmax(0,1fr))}.actions button{padding:12px 8px}.metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.metric b{font-size:16px}.cash{font-size:44px}dialog{padding:18px}.sheet-total strong{font-size:14px}}
