:root{--ink:#332a22;--paper:#fff6df;--cream:#f6e9c8;--gold:#d2aa34;--red:#c9472b;--pink:#e5a7b6;--blue:#276b83;--line:#d9c6a0;--green:#447b50;font-family:'Trebuchet MS',Arial,sans-serif;color:var(--ink);background:#eee1c4;font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at top,#fff9e9 0,#eee1c4 70%);min-height:100vh}button,input,select{font:inherit}button{cursor:pointer;border:1px solid #c6ac83;color:var(--ink);background:#fff8e8;border-radius:9px;padding:11px 15px;min-height:44px;font-weight:700;transition:background .15s,transform .15s}button:hover{background:#f7e6bb;transform:translateY(-1px)}button:disabled{cursor:not-allowed;opacity:.45;transform:none}button.primary{background:var(--red);border-color:var(--red);color:#fff8e8;box-shadow:0 4px 0 #983822}button.primary:hover{background:#b53f27}button.secondary{background:var(--blue);color:white;border-color:var(--blue)}button.small{font-size:.875rem;padding:8px 10px;min-height:40px}button.danger{color:#a02c24}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #22798e;outline-offset:3px}input,select{padding:10px;border:1px solid #bba884;border-radius:7px;background:#fffbf1;color:var(--ink);min-width:0;min-height:44px;width:100%}input[type=checkbox]{width:20px;min-height:20px}label{display:block;font-size:.9rem;font-weight:700}label input,label select{margin-top:7px}a{color:#974222}.topbar{max-width:1600px;margin:auto;padding:18px 30px;display:flex;align-items:center;gap:25px;border-bottom:1px solid var(--line)}#brand{font:900 3rem/1 Arial,sans-serif;letter-spacing:-3px;text-decoration:none;color:var(--red)}.brand-dot{font:400 .8rem Arial;vertical-align:top;letter-spacing:0}.edition{font-size:.875rem;font-weight:900;letter-spacing:2px}.edition span{display:block;font-weight:400;font-size:.8rem;letter-spacing:0;margin-top:5px}.topbar nav{margin-left:auto;display:flex;gap:8px}.topbar nav button{font-size:.875rem;background:transparent;border-color:transparent}.topbar nav button:hover{background:#f7e5be}main{max-width:1550px;padding:25px 30px;margin:auto}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Georgia,serif}h1{font-size:2.7rem;line-height:1.07;letter-spacing:-1px}h2{font-size:1.65rem}h3{font-size:1.05rem}p{line-height:1.55}.muted{color:#77674f}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:.78rem;font-weight:900}.setup{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(400px,1fr);max-width:1150px;margin:20px auto;gap:55px;align-items:center}.setup-art{position:relative;padding:35px 25px 20px;border:2px solid #aa8723;background:var(--gold);box-shadow:7px 9px 0 #b08b2859,0 20px 50px #5b39101a;border-radius:20px;text-align:center;overflow:hidden}.setup-art .title{font:900 clamp(4rem,7vw,7rem)/1 Arial,sans-serif;color:var(--red);letter-spacing:-6px;text-shadow:0 3px var(--paper);background:var(--paper);border-radius:16px;padding:25px 10px;margin:30px 0 22px}.emblems{display:flex;gap:10px;justify-content:center}.emblem{flex:1;color:#fff8e3;border:3px solid #fff3d4;border-radius:70px 70px 15px 15px;background:#657b4d;padding:20px 3px 12px;font-weight:700}.emblem:nth-child(1){background:#78558c}.emblem:nth-child(3){background:#c6543d}.emblem b{display:block;font:3.4rem Georgia;line-height:1.2;margin-bottom:8px}.setup-art .caption{font:1.4rem Georgia;color:#483719}.mini-dice{font-size:4rem;letter-spacing:16px;color:var(--paper);text-shadow:2px 3px #83681e}.setup-form{padding:5px}.mode-toggle{display:flex;gap:8px;margin:20px 0}.mode-toggle button{flex:1}.selected{background:var(--blue)!important;color:#fff!important;border-color:var(--blue)!important}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:15px 0}.player-row{display:grid;grid-template-columns:30px 1fr 155px;align-items:center;gap:10px;margin:10px 0}.token-dot{width:26px;height:26px;border-radius:50%;background:var(--token);box-shadow:inset 0 2px 2px #ffffff77,0 2px 0 #0002;display:inline-grid;place-items:center;color:white;font-size:.75rem;font-weight:bold;border:2px solid #fff7e0}.setup-form .primary{width:100%;margin:20px 0 13px}.inline-check{display:flex;gap:10px;align-items:center;font-weight:400}.table-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:22px;align-items:start}.board-wrap{background:#c7a033;border-radius:15px;padding:9px;box-shadow:0 5px 0 #8b6c22,0 15px 35px #68502723;position:relative}.board-tools{display:flex;align-items:center;gap:8px;margin-bottom:12px}.board-tools .hint{margin-left:auto;font-size:.875rem;color:#736145}.board-scroll{overflow:auto;border-radius:9px}.board{display:block;width:100%;min-width:580px;border-radius:7px;background:#d5b342}.board .cell{cursor:pointer}.board .cell:hover rect,.board .cell:focus rect{stroke:#452f1d;stroke-width:4}.board text{pointer-events:none;user-select:none}.board .cell:focus{outline:none}.token{transition:transform .22s cubic-bezier(.3,.7,.3,1);pointer-events:none}.token circle{stroke:#fff9ec;stroke-width:3;filter:drop-shadow(0 3px 2px #0005)}.token text{fill:#fff;font:bold 16px Arial}.token.active circle{stroke:#292419;stroke-width:4}.board-legend{display:flex;gap:18px;justify-content:center;padding:15px 0;font-size:.875rem}.board-legend i{display:inline-block;height:9px;width:9px;border-radius:50%;margin-right:6px}.side{display:flex;flex-direction:column;gap:15px}.panel{background:#fff7e5;border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 0 #d7c5a74f;overflow:hidden}.panel-body{padding:18px}.turn-banner{padding:17px 18px;background:var(--player-color);color:#fff;display:flex;align-items:center;gap:12px}.turn-banner h2{font-family:'Trebuchet MS',Arial;font-size:1.3rem;margin:4px 0 0}.turn-banner .eyebrow{font-size:.75rem;letter-spacing:1.7px}.turn-banner .turn{margin-left:auto;font-size:.8rem}.stats{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8px;margin:0 0 14px}.stat{padding:12px 4px;border-bottom:2px solid #dbcca9}.stat .label{display:block;font-size:.78rem;color:#746047;margin-bottom:5px}.stat strong{font-size:1.2rem}.stat.fame strong{color:#956617}.stat.happy strong{color:#a3475c}.salary{display:flex;justify-content:space-between;font-size:.875rem;margin:8px 0 17px}.location{background:#efdfb94f;border-left:3px solid #b39a61;padding:12px;font-size:.875rem;margin:12px 0}.location strong{display:block;font-size:1rem;margin-bottom:4px}.dice-tray{display:flex;gap:12px;align-items:center;min-height:70px;padding:5px 0 15px}.die{display:inline-block;border-radius:10px;width:53px;height:53px;background:#fffaf0;box-shadow:2px 4px 0 #d8c5a1;border:1px solid #dfcfae;font:48px/.98 Arial;text-align:center;color:var(--red);padding-top:2px}.dice-note{font-size:.875rem;color:#74654d}.rolling{animation:diceRoll .15s infinite}.action-list{display:flex;flex-direction:column;gap:10px}.action-list button{text-align:left}.action-list .primary{text-align:center}.aux-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}.status-list{display:flex;flex-direction:column}.score-row{padding:13px 16px;display:flex;align-items:center;gap:9px;border-bottom:1px solid #e6d7b7;font-size:.875rem}.score-row:last-child{border-bottom:0}.score-row.active{background:#eee0bd}.score-row strong{overflow-wrap:anywhere}.score-row .score-numbers{margin-left:auto;text-align:right;line-height:1.5;font-size:.8rem;white-space:nowrap}.score-row .score-numbers span{display:block}.section-label{display:flex;align-items:center;justify-content:space-between;padding:15px 17px 0;font-size:.78rem;letter-spacing:1.6px;font-weight:bold}.log{max-height:220px;overflow:auto;padding:12px 17px}.log p{margin:0 0 10px;font-size:.875rem;padding-left:11px;border-left:2px solid #d8b859}.card-group{margin-top:18px}.card-group summary{cursor:pointer;font-weight:bold;padding:10px 0;font-size:.9rem}.hand-cards{display:grid;gap:7px}.hand-card{display:flex;justify-content:space-between;text-align:left;align-items:center;background:#f7dfa0;border-color:#d6bc72;font-size:.875rem}.hand-card.experience{background:#f2c0ad;border-color:#d69377}.card-count{font-size:.8rem;color:#725a35}.private-summary{background:#f8edcf;padding:13px;border-radius:9px;margin:10px 0}.goal-line{display:grid;grid-template-columns:1fr auto;gap:8px;margin:13px 0}.goal-line progress{width:100%;height:9px;grid-column:1/-1;accent-color:var(--red)}.modal-backdrop{position:fixed;inset:0;background:#231b16b0;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;padding:22px;z-index:100;overflow:auto}.modal{background:#fff7e3;border:1px solid #bca16e;border-radius:20px;padding:28px;width:min(600px,100%);max-height:90vh;overflow:auto;box-shadow:0 20px 100px #1c15064f;position:relative}.modal.wide{width:min(840px,100%)}.modal h2{padding-right:25px}.modal .close{position:absolute;right:15px;top:13px;padding:5px 11px;background:transparent;border:0;font-size:1.5rem}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}.modal .actions button{flex:1}.formula-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.formula-fields input{font-size:1.7rem;font-weight:700;text-align:center}.formula-fields label{text-align:center}.formula-total{text-align:center;font-size:1.1rem;background:#e7d7ac;padding:12px;border-radius:9px}.preset-row{display:flex;gap:6px;flex-wrap:wrap;margin:15px 0}.cover-icon{font:4rem Georgia;text-align:center;color:#c34d32}.center{text-align:center}.pass-name{font:2.6rem Georgia;color:var(--red);margin:22px 0}.error{color:#a62926;font-size:.9rem;margin:12px 0}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.help-grid h3{margin-bottom:7px}.help-grid p{font-size:.9rem}.fineprint{font-size:.8rem;color:#78674c;line-height:1.55}.route-spaces{display:grid;grid-template-columns:1fr 1fr;gap:10px}.route-space{padding:15px;background:#efdfba66;border-radius:10px;border-left:3px solid var(--route-color)}.route-space p{font-size:.875rem;margin:7px 0 0}.pill{display:inline-block;background:#e6d8b5;padding:5px 8px;border-radius:5px;font-size:.78rem;margin:3px}.toast{display:none;position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:13px 22px;border-radius:9px;background:#332a22;color:white;box-shadow:0 5px 20px #0003;z-index:200;max-width:90vw}.toast.visible{display:block}footer{text-align:center;color:#7b6a51;font-size:.75rem;padding:22px}.win-symbols{font:4rem Georgia;color:var(--red);letter-spacing:15px}.trade-cols{display:grid;grid-template-columns:1fr 1fr;gap:20px}.trade-cols label{margin:12px 0}.trade-summary{padding:18px;background:#ecdeb9;border-radius:10px}.rule-note{padding:13px;border:1px solid var(--line);border-radius:8px;font-size:.85rem;line-height:1.5}.paused-tag{background:#e9d495;padding:12px;text-align:center;border-radius:9px}@keyframes diceRoll{50%{transform:translateY(-5px) rotate(12deg)}}@media(min-width:1200px){.side{position:sticky;top:15px}.board{min-width:0}}@media(max-width:1100px){.table-layout{grid-template-columns:minmax(0,1fr) 310px;gap:16px}main{padding:20px}.topbar{padding:17px 20px}.edition{display:none}.setup{gap:30px}.setup-art{padding:20px 16px}.board-legend{gap:10px}}@media(max-width:820px){.table-layout{grid-template-columns:1fr}.side{display:grid;grid-template-columns:1fr 1fr;align-items:start}.turn-panel{grid-column:1/-1}.turn-panel .panel-body{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.turn-panel .stats,.turn-panel .salary,.turn-panel .location,.turn-panel .dice-tray{grid-column:1}.turn-panel .action-list{grid-column:2;grid-row:1/5;justify-content:center}.turn-panel .aux-actions,.turn-panel .card-group{grid-column:auto}.setup{grid-template-columns:1fr;max-width:570px;gap:25px}.setup-art{display:none}h1{font-size:2.2rem}.board{min-width:0}.topbar nav{gap:0}.topbar nav button{padding:10px}.board-tools .hint{font-size:.8rem}}@media(max-width:480px){main{padding:15px 12px}.topbar{padding:15px 12px;gap:8px}#brand{font-size:2.35rem}.topbar nav button{padding:7px;font-size:.78rem}.board-tools .hint{display:none}.player-row{grid-template-columns:25px 1fr 112px;gap:7px}.side{display:flex}.turn-panel .panel-body{display:block}.formula-fields{gap:7px}.formula-fields label{font-size:.8rem}.formula-fields input{font-size:1.5rem}.modal{padding:25px 20px}.modal-backdrop{padding:12px}.route-spaces,.help-grid,.trade-cols{grid-template-columns:1fr}.setup{margin:12px 0}.board-legend{font-size:.78rem}.board-wrap{padding:5px}.board-tools{flex-wrap:wrap}.form-row{gap:10px}.edition{display:none}.stats .stat strong{font-size:1.05rem}.modal .actions{flex-wrap:wrap}.panel-body{padding:15px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

.payment-receipt{grid-column:1/-1;padding:14px;margin:10px 0;border:2px solid #b2583d;border-radius:9px;background:#fff0d4;line-height:1.5}.payment-receipt strong{display:block;font-size:1rem}.payment-receipt span{display:block;font-size:.875rem;margin-top:5px}
