@import url('https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#193d36;--muted:#7d8c81;--paper:#f9f7ef;--gold:#d5ad69;--line:#e4e6dc;--green:#215c4c;--coral:#dd7b61}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Be Vietnam Pro',Arial,sans-serif;font-size:13px}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:1px solid var(--line);background:transparent;border-radius:9px;padding:11px 15px;transition:background .2s,transform .2s,box-shadow .2s}button:hover{background:#e9eee3}button:active{transform:translateY(2px)}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #d6aa60;outline-offset:3px}button:disabled{opacity:.5;cursor:wait}button[hidden]{display:none!important}header{height:94px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:20px;background:#fcfbf6}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);text-decoration:none;font-size:19px;letter-spacing:2.5px;font-weight:800}.brand small{display:block;font-size:8px;letter-spacing:2px;font-weight:500;margin-top:7px;color:#829083}.brandmark{font-family:Georgia,serif;display:grid;place-content:center;width:45px;height:49px;background:var(--green);border-radius:14px 14px 4px 4px;font-size:36px;color:#e3c184;position:relative}.brandmark span{font-size:15px;position:absolute;top:-7px;right:-5px}.edition{font-size:9px;letter-spacing:2px;color:#7b897e;display:flex;align-items:center;gap:9px}.edition>span,.live-dot,.save-dot{width:6px;height:6px;display:inline-block;background:#73a58b;border-radius:50%}nav{display:flex;align-items:center;gap:8px}nav button{border-color:transparent;font-size:16px}nav button span{font-size:11px;margin-left:5px}main{display:grid;grid-template-columns:minmax(0,1fr) 332px;max-width:1920px;margin:auto;min-height:calc(100svh - 94px)}.table-area{position:relative;min-height:720px;height:calc(100svh - 94px);overflow:hidden;background:radial-gradient(ellipse at 50% 55%,#b8d5c9 0,#d9e6d9 50%,#edf0e5 80%)}.table-heading{position:absolute;top:29px;left:36px;right:35px;display:flex;justify-content:space-between;pointer-events:none;z-index:2}.eyebrow{font-size:8px;letter-spacing:2px;color:#6b8a79;margin-bottom:12px}h1{font-family:'Playfair Display',Georgia,serif;font-size:34px;line-height:1.22;font-weight:500;letter-spacing:-.8px;margin:0}h1 i{color:#507966;font-weight:500}.round-badge{text-align:right;padding-top:5px}.round-badge>span{font-size:8px;letter-spacing:1.7px;display:block;color:#6d897b}.round-badge strong{display:block;font-family:Georgia,serif;font-weight:400;font-size:37px;line-height:1.4}.round-badge small{font-size:8px;color:#7c9182}#scene{position:absolute;inset:55px 0 105px;touch-action:none}#scene canvas{width:100%;height:100%;display:block;outline:none}#loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#658775;font-size:12px}.loader{width:35px;height:35px;border:2px solid #b6cbb7;border-top-color:#2a6652;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.view-tools{position:absolute;left:30px;right:30px;bottom:117px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}.view-tools button{background:#fbfcf4ce;border:1px solid #ffffff7a;box-shadow:0 3px 10px #315f3e08;font-size:12px;pointer-events:auto}.view-tools button span{font-size:9px;margin-left:5px}.view-tools>span{font-size:8px;color:#618272}.turn-toast{position:absolute;bottom:173px;left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none;font-size:10px;background:#214d40e8;color:#fffae9;border:1px solid #ffffff24;padding:10px 18px;border-radius:40px;box-shadow:0 5px 18px #244e3714;transition:opacity .3s}.action-dock{position:absolute;left:30px;right:30px;bottom:23px;display:flex;align-items:center;gap:20px;padding:16px 20px;background:#fffdf5;border:1px solid #ffffff;border-radius:15px;box-shadow:0 12px 30px #34544112;min-height:82px}.dice-pair{display:flex;gap:7px}.dice-pair span{width:39px;height:39px;display:grid;place-content:center;font-size:37px;line-height:1;color:#2e5b48;background:#efeee4;border-radius:8px;box-shadow:0 3px 0 #d9dbce}.dice-pair.rolling span{animation:wiggle .13s infinite alternate}@keyframes wiggle{to{transform:rotate(18deg) translateY(-4px)}}.action-copy{flex:1}.action-copy small{display:block;letter-spacing:1.4px;font-size:8px;color:#87917b;margin-bottom:7px}.action-copy strong{font-size:13px;font-weight:600}.primary{background:var(--green);color:#fff9e6;border:1px solid var(--green);padding:14px 21px;font-size:11px;box-shadow:0 4px 0 #164033;white-space:nowrap}.primary:hover{background:#33725e}.primary span{margin-left:23px;color:#e5c580}aside{border-left:1px solid var(--line);padding:28px 24px 14px;background:#fbfaf5;display:flex;flex-direction:column;gap:26px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px}.section-title h2{font-size:11px;font-weight:600;margin:0}.section-title>span{font-size:8px;color:#9ba28f;letter-spacing:1px}.player{display:flex;align-items:center;gap:11px;padding:12px;border:1px solid transparent;border-radius:11px;margin-bottom:5px;transition:background .2s}.player.active{background:#edf1e5;border-color:#dce5cf}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-content:center;background:var(--player-color);color:#fff8e5;font-family:Georgia,serif;font-size:20px;box-shadow:inset 0 -3px 0 #0000000d}.player-name{font-size:11px;font-weight:600;flex:1}.player-name small{display:block;font-size:8px;color:#89917f;font-weight:400;margin-top:5px}.player-money{text-align:right;font-size:12px;font-weight:600}.player-money small{display:block;font-size:8px;font-weight:400;color:#929784;margin-top:5px}.player.out{opacity:.4}.turn-pill{font-size:7px;color:#53784c;letter-spacing:.5px;margin-left:5px}.tag{border:1px solid #dce4d2;padding:5px 7px;border-radius:4px;font-size:7px!important}.destination{position:relative;background:#e9eee1;border:1px solid #dce5d3;border-radius:12px;overflow:hidden}.destination-art{height:106px;position:relative;overflow:hidden;background:linear-gradient(170deg,#d3e5d8,#a6c9b7);display:flex;align-items:center;justify-content:center}.destination-art:before{content:'';position:absolute;width:60px;height:60px;border-radius:50%;background:#fff1b7;right:40px;top:19px;opacity:.8}.destination-art svg{position:relative;width:100%;height:100%}.destination-content{padding:15px 16px;background:#f6f7ed}.destination-top{display:flex;justify-content:space-between;align-items:center}.destination-content h3{font-family:'Playfair Display',Georgia,serif;font-weight:500;font-size:23px;margin:0}.destination-content p{font-size:9px;line-height:1.9;color:#7f8b78;margin:9px 0 13px}.detail-stats{display:flex;justify-content:space-between;border-top:1px solid #dce1d1;padding-top:12px}.detail-stats span{font-size:8px;color:#8b947e;display:block}.detail-stats strong{font-size:12px;display:block;margin-top:5px;font-weight:600}.detail-actions{display:flex;gap:6px;margin-top:13px}.detail-actions button{flex:1;font-size:10px;padding:10px 8px}.journal{flex:1;min-height:110px}.journal ol{list-style:none;margin:0;padding:0;max-height:143px;overflow:auto;scrollbar-width:thin}.journal li{font-size:9px;line-height:1.8;padding:7px 0;border-bottom:1px solid #ebece2;color:#788470;display:flex;gap:10px}.journal li:first-child{color:#335d45}.journal li::before{content:'·';color:#c0a66c;font-size:16px;line-height:1}footer{display:flex;align-items:center;gap:5px;flex-wrap:wrap;color:#919b86;font-size:7px;border-top:1px solid var(--line);padding-top:12px}footer button{border:0;font-size:8px;padding:6px 0;margin-left:auto;color:#48705a}dialog{border:1px solid #e1e3d5;background:#fcfbf4;color:var(--ink);border-radius:18px;padding:32px;max-width:600px;width:calc(100% - 32px);max-height:85svh;box-shadow:0 30px 100px #102f3755}dialog::backdrop{background:#12362f88;backdrop-filter:blur(5px)}.modal-close{position:absolute;right:12px;top:12px;font-size:22px;border:0;padding:0 10px}dialog h2{font-family:'Playfair Display',Georgia,serif;font-size:30px;font-weight:500;margin:0 30px 18px 0}dialog h3{font-size:12px;margin-top:23px}dialog p,dialog li{font-size:12px;line-height:1.9;color:#64745e}dialog a{color:#31735c}dialog .eyebrow{margin-top:6px}dialog .setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;font-size:12px}dialog input{accent-color:var(--green)}.asset-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.asset-row strong{font-size:12px}.asset-row small{display:block;color:#85927c;font-size:9px;margin-top:5px}.asset-row button{font-size:9px;padding:8px}#notification{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#193f34;color:#fff6dc;padding:14px 23px;border-radius:10px;z-index:10;font-size:12px;max-width:90vw;transition:.3s}#notification.visible{opacity:1;transform:translate(-50%,0)}.danger{color:#b25b45;border-color:#e0bcae}.winner{font-size:60px;color:var(--gold)}@media(min-width:1600px){main{grid-template-columns:minmax(0,1fr) 370px}aside{padding:35px}.table-heading{left:45px;top:35px}h1{font-size:42px}#scene{inset:65px 0 110px}}@media(max-width:1100px){header{padding:0 24px;height:80px}.edition{display:none}main{grid-template-columns:minmax(0,1fr) 285px}.table-area{height:calc(100svh - 80px);min-height:660px}aside{padding:23px 17px;gap:20px}h1{font-size:28px}.table-heading{left:25px;right:25px}.view-tools>span{display:none}.action-dock{left:18px;right:18px;gap:12px;padding:14px}.action-copy strong{font-size:11px}.primary{padding:14px}.primary span{margin-left:8px}.dice-pair span{width:29px;height:29px;font-size:29px}}@media(max-width:760px){header{height:72px;padding:0 17px}.brand{font-size:14px;letter-spacing:1.4px;gap:10px}.brandmark{width:34px;height:38px;font-size:28px}.brand small{font-size:6px;letter-spacing:1.4px}nav{gap:0}nav button{padding:9px}nav button span{display:none}main{display:block}.table-area{height:calc(78svh - 72px);min-height:550px}.table-heading{top:22px;left:20px;right:20px}h1{font-size:25px}.eyebrow{font-size:6px;letter-spacing:1.4px}.round-badge strong{font-size:30px}.round-badge small{display:none}.round-badge>span{font-size:6px}#scene{inset:68px -12px 88px}.action-dock{left:12px;right:12px;bottom:15px;padding:13px 12px;border-radius:12px;min-height:73px;gap:11px}.action-copy small{font-size:6px;letter-spacing:1px}.action-copy strong{font-size:10px}.primary{font-size:10px;padding:13px 11px}.primary span{display:none}.dice-pair{gap:4px}.dice-pair span{width:27px;height:27px;font-size:28px}.view-tools{bottom:101px;left:15px;right:15px}.view-tools button{font-size:10px;padding:8px}.view-tools button span{font-size:8px}.turn-toast{bottom:143px;font-size:8px;padding:8px 12px;max-width:90%;white-space:normal;text-align:center}aside{border-left:0;border-top:1px solid var(--line);padding:22px 20px;display:grid;grid-template-columns:1fr 1fr;gap:23px 18px}.players-section{grid-column:1 / -1}.players-section #players{display:flex;gap:7px}.players-section .section-title{margin-bottom:10px}.player{flex:1;padding:9px 7px;gap:7px;flex-wrap:wrap;margin:0;align-content:start}.avatar{width:27px;height:27px;font-size:17px}.player-name{font-size:9px}.player-name small{font-size:7px}.player-money{width:100%;text-align:left;padding-left:34px;font-size:11px}.player-money small{font-size:7px;margin-top:3px}.turn-pill{display:none}.property-section{min-width:0}.destination-art{height:83px}.destination-content{padding:11px}.destination-content h3{font-size:20px}.destination-content p{font-size:8px}.section-title h2{font-size:10px}.section-title>span{font-size:6px}.journal ol{max-height:265px}.journal li{font-size:8px}.detail-stats strong{font-size:10px}.detail-stats span{font-size:7px}.detail-actions{flex-wrap:wrap}.detail-actions button{font-size:9px}footer{grid-column:1 / -1}dialog{padding:26px 23px}dialog h2{font-size:26px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
