:root{font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:#332f2b;background:#f5f1e9;font-synthesis:none;--pink:#b73c70;--line:#d9d0c3;--ink:#353130}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer;background:#fcfaf6;color:var(--ink);border:1px solid #cfc5b7;border-radius:5px;padding:.7rem 1rem}button:hover:not(:disabled){border-color:var(--pink);background:#fbf0f4}button:focus-visible{outline:3px solid #d65789;outline-offset:3px}button:disabled{cursor:default;opacity:.48}.primary{background:var(--pink);color:white;border-color:var(--pink)}.primary:hover:not(:disabled){background:#96345e}.quiet{background:transparent;border-color:transparent}a{color:inherit}header{display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;border-bottom:1px solid var(--line);gap:20px}header .brand{font-family:Georgia,serif;font-size:24px;letter-spacing:.08em;text-decoration:none}header .brand span{display:block;font:11px/1.6 system-ui;letter-spacing:.22em;color:#887366;margin-top:3px}nav{display:flex;align-items:center;gap:12px;font-size:13px}.eyebrow{font-size:11px;letter-spacing:.22em;color:#8b6d65}.entry{min-height:calc(100vh - 100px);display:grid;grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);gap:6vw;align-items:center;padding:6vh 6vw}.entry h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(38px,4.2vw,60px);font-weight:500;line-height:1.18;margin:20px 0}.entry p{line-height:1.85;color:#78685e}.entry .entry-art{width:100%;height:60vh;object-fit:contain;filter:drop-shadow(0 22px 30px #69594035)}.entry>div{min-width:0}.entry-art-wrap{min-width:0;padding:24px;overflow:hidden}.entry-board{display:block;transform:rotate(-3deg);width:100%;height:auto;max-width:100%;box-shadow:0 15px 50px #69594030;border-radius:3px}.entry-panel{max-width:380px;background:#fffefa;border:1px solid var(--line);padding:24px;margin-top:30px;box-shadow:0 4px 14px #6f645309}.entry-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px}.entry-tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;background:none;flex:1}.entry-tabs button[aria-pressed=true]{border-bottom-color:var(--pink);color:var(--pink)}form label{display:block;font-size:12px;color:#776a62;margin-bottom:15px}input{width:100%;padding:12px;border:1px solid #d2c9bc;border-radius:4px;margin-top:7px;background:#fffefa}form>.primary{width:100%;margin-top:10px}.facts{display:flex;gap:25px;font-size:13px;color:#6a5b53}.facts b{font-family:Georgia,serif;font-size:25px;color:var(--ink);font-weight:400;margin-right:5px}.seats{display:grid;gap:8px;margin:24px 0}.seats article{display:flex;align-items:center;gap:10px;padding:12px;border-bottom:1px solid var(--line)}.seats article i{width:12px;height:12px;border-radius:50%;background:var(--player)}.seats article span{margin-left:auto;color:#847365;font-size:12px}.lobby-actions{display:flex;flex-wrap:wrap;gap:8px}.table{max-width:1660px;margin:auto;padding:18px 24px 48px}.player-strip{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px}.player-tab{flex:1;min-width:150px;text-align:left;border-top:3px solid var(--player);padding:12px 15px;background:#fffdfa}.player-tab strong{display:block;font-weight:600;font-size:14px}.player-tab span{display:block;font-size:11px;color:#7b6b60;margin-top:7px}.player-tab.current{box-shadow:inset 0 0 0 1px var(--player)}.player-tab.selected{background:#eee8dc}.action-panel{margin:4px 0 18px;border-left:3px solid #b4afa3;padding:13px 17px;background:#fffdf9}.action-panel.your-turn{border-left-color:var(--pink)}.action-panel h2{font-size:17px;margin:0 0 6px;font-weight:600}.action-panel p{font-size:12px;color:#847366;margin:4px 0 10px;line-height:1.65}.choices{display:flex;flex-wrap:wrap;gap:8px}.choices button{font-size:13px;padding:9px 12px}.choices button.selected{background:#f6dfe9;border-color:var(--pink)}.confirmation{display:flex;align-items:center;gap:8px;margin-top:12px;border-top:1px solid var(--line);padding-top:12px}.confirmation span{font-size:13px;margin-right:auto}.board-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:16px 0 8px;font-size:12px;color:#817163}.board-tools h2{font-size:15px;font-weight:500;margin:0}.board-scroll{overflow:auto;border-radius:4px;background:#e3ddd2;box-shadow:0 10px 26px #554e4220}.native-board{position:relative;min-width:930px;width:100%;aspect-ratio:6117/3764}.board-art{display:block;width:100%;height:100%;object-fit:contain}.hotspot{position:absolute;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;display:flex;align-items:center;justify-content:center;border-radius:5px;z-index:2}.hotspot:hover:not(:disabled){background:#fcf4de20;box-shadow:0 0 0 2px #fff6c8}.hotspot.selectable{outline:2px solid #b42f65;outline-offset:2px;box-shadow:0 0 15px #f8ebde}.hotspot.selected{outline:3px solid #d04981;background:#fffcdf40}.location-space{width:4.4%;height:7%;border-radius:50%}.location-space.selectable{outline-color:#fff2bc;box-shadow:0 0 0 4px #9b5370aa}.location-space span.label{position:absolute;top:105%;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:10px;background:#faf7f0e8;padding:3px 6px;border-radius:3px;color:#5b4048}.piece{width:78%;height:90%;filter:drop-shadow(1px 2px 1px #2f221d77)}.meeple{display:inline-block;width:16px;height:23px;filter:drop-shadow(1px 1px .8px #40312799);vertical-align:middle;flex:0 0 auto}.visitors{display:flex;gap:1px;justify-content:center;flex-wrap:wrap;align-items:center}.native-board .visitors{position:absolute;transform:translate(-50%,-50%);width:9%;z-index:3}.native-board .visitors .meeple{width:14%;height:auto;aspect-ratio:16/23}.original-tile{display:block;width:100%;height:100%;object-fit:contain;box-shadow:1px 2px 4px #322c293b;border-radius:4px}.sprite{width:100%;height:100%;display:block;border-radius:4px;filter:drop-shadow(1px 2px 2px #473c2d44)}.artist-tile{width:8%;height:13%;overflow:visible}.artist-tile .badge{position:absolute;bottom:-9%;left:50%;transform:translateX(-50%);min-width:80%;padding:2px 5px;background:#faf8f0ed;border-radius:4px;color:#5a443a;font-size:9px;text-align:center;white-space:nowrap}.artist-tile .bonus-icon{position:absolute;width:45%;height:45%;left:27%;top:25%;box-shadow:0 3px 6px #0004}.artist-tile .cube{position:absolute;width:10%;height:10%;background:#fffaf1;border:1px solid #c1bcb0;box-shadow:1px 2px 2px #453c3c80;transform:translate(-50%,-50%) rotate(45deg)}.fame-price{position:absolute;font-size:10px;padding:2px 5px;color:#785543;background:#fff9eeed;right:-3%;top:-3%;border-radius:50%}.art-stack{width:8%;height:13%}.art-stack .stack-count{position:absolute;right:0;bottom:-12%;font-size:9px;color:#49382e;background:#fff9eeed;padding:2px 6px;border-radius:3px}.art-stack .art-visitors{position:absolute;left:0;right:0;bottom:17%;display:flex;justify-content:center}.market-cell{width:3.05%;height:5%}.market-cell .piece{width:70%;height:95%}.contract-slot{width:5.8%;height:13.2%}.influence-disc{position:absolute;width:1.4%;aspect-ratio:1;border:2px solid #fff3;box-shadow:1px 2px 2px #1c171c70;border-radius:50%;transform:translate(-50%,-50%);z-index:4;background:var(--player);color:#fff;font-size:8px;display:grid;place-items:center}.ticket-count{position:absolute;transform:translate(-50%,-50%);font-size:14px;color:#fffaec;min-width:24px;height:24px;border-radius:20px;background:#534239;display:grid;place-items:center;box-shadow:0 1px 3px #42312f44}.board-empty{opacity:.7}.side-collections{display:flex;gap:16px;margin:14px 0;align-items:flex-start;flex-wrap:wrap}.side-collections h3{font-size:12px;font-weight:500;margin:0 0 10px;color:#7c6b5c}.easels{display:flex;gap:10px;flex:1;min-width:240px}.easels button{width:110px;padding:0;border:0;background:transparent;position:relative;padding-bottom:12px;border-bottom:7px solid #846746}.easels button:after{content:'';position:absolute;width:6px;height:13px;background:#846746;left:50%;bottom:-18px}.easels img{width:100%;border:4px solid #eadbc5;box-shadow:0 3px 8px #302a2340}.gallery-heading{display:flex;align-items:center;justify-content:space-between;margin:27px 0 10px;gap:20px}.gallery-heading h2{font:23px Georgia,"Songti SC",serif;margin:0;font-weight:500}.gallery-heading span{font-size:12px;color:#7b695a}.player-board{position:relative;width:100%;min-width:800px;aspect-ratio:3200/1345}.player-board>img{width:100%;height:100%;object-fit:fill;display:block}.player-board .display-work{width:16.4%;height:42%;top:23.8%}.player-board .contract-on-board{width:10%;height:42%;top:72.5%}.player-board .contract-on-board.fulfilled .sprite{transform:rotate(var(--rotate,0deg))}.player-board .assistant-on-contract{position:absolute;width:30%;height:30%;top:18%;right:0}.player-board .rep-on-board{width:6.5%;height:16%;}.player-board .original-tile{border-radius:3px}.player-board .work-value{position:absolute;background:#fff6e3ed;bottom:1%;right:1%;border-radius:4px;color:#6d4434;font-size:11px;padding:2px 6px}.player-board .assistants-row{position:absolute;left:80%;top:7%;width:9%;height:28%;display:flex;align-items:center;gap:3px;flex-wrap:wrap}.player-board .assistants-row .piece{width:38%;height:42%}.player-board .unemployed{position:absolute;left:1.4%;width:4.5%;height:9%;}.player-board .ticket-supply{position:absolute;left:80%;top:61%;font-size:12px;color:#654d46;line-height:2.7}.personal-info{display:flex;gap:25px;flex-wrap:wrap;margin-top:20px}.goal-card{width:112px;aspect-ratio:362/564;padding:0;border:0;background:transparent}.personal-info h3{font-size:12px;margin:0 0 10px;font-weight:500;color:#756359}.sold-art{display:flex;gap:6px;flex-wrap:wrap;max-width:500px}.sold-art button{padding:0;border:0;width:74px;background:none}.sold-art img{width:100%;border-radius:3px}.fine{font-size:11px;color:#8c7c6c;line-height:1.7}.game-log{margin-top:30px;border-top:1px solid var(--line);padding-top:16px;font-size:12px;color:#857361}.game-log li{line-height:1.7;margin:7px 0}.finished{background:#ede4d2;padding:24px;margin-bottom:20px}.finished h1{font:32px Georgia,"Songti SC",serif;font-weight:500}.scores{display:flex;gap:12px;flex-wrap:wrap}.score-row{padding:14px;background:#fffaf0;min-width:150px}.score-row strong{display:block}.score-row small{display:block;margin-top:6px;color:#756359}.score-row b{font-size:25px}.finished .lobby-actions{margin-top:18px}dialog{max-width:min(900px,92vw);max-height:88vh;border:1px solid var(--line);padding:30px;background:#fcfaf5;color:var(--ink);border-radius:7px;box-shadow:0 20px 80px #2b242b50}dialog::backdrop{background:#27252a88;backdrop-filter:blur(3px)}dialog .close{float:right;margin:0 0 15px 15px}.detail-art{max-width:440px;width:min(65vw,440px);display:block;margin:20px auto}.detail-large{width:min(80vw,1200px);max-height:65vh;object-fit:contain}.detail-card{width:230px;aspect-ratio:362/564;margin:15px auto}.detail-text{max-width:660px;line-height:1.8;font-size:14px}.aid{max-width:100%}#notice{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#50343f;color:#fff;padding:12px 20px;z-index:80;box-shadow:0 4px 20px #0003;border-radius:5px;max-width:85vw;font-size:13px}footer{font-size:10px;color:#9a8b7c;text-align:center;padding:40px 15px 10px}#invite input{min-width:min(450px,70vw)}@media(min-width:1500px){.table{padding:20px 36px}.native-board .visitors .meeple{width:15%}.artist-tile .badge{font-size:11px}.fame-price{font-size:12px}}@media(max-width:700px){header{padding:13px 16px;align-items:flex-start}header .brand{font-size:17px}header .brand span{font-size:9px}nav{gap:3px;flex-wrap:wrap;justify-content:flex-end;max-width:52%;font-size:11px}nav button{padding:6px;font-size:11px}.entry{grid-template-columns:1fr;padding:25px 23px;gap:25px}.entry h1{font-size:41px}.entry-board{width:100%;transform:none}.entry-panel{max-width:none}.entry-art-wrap{padding:10px;max-height:none}.entry-art-wrap .entry-board{max-height:240px;object-fit:contain}.entry .entry-art{height:210px}.table{padding:13px 12px 35px}.player-tab{min-width:133px;padding:9px}.player-strip{gap:6px}.player-tab span{font-size:10px}.action-panel{padding:12px}.action-panel h2{font-size:14px}.choices{gap:6px}.choices button{font-size:12px;padding:9px}.confirmation{flex-wrap:wrap}.confirmation span{width:100%}.native-board{min-width:1020px}.board-tools{font-size:10px;align-items:flex-end}.board-tools button{font-size:11px;padding:6px 9px}.gallery-heading h2{font-size:19px}.gallery-heading span{font-size:10px}.personal-info{gap:15px}.goal-card{width:96px}.easels button{width:88px}dialog{padding:20px}.fine{font-size:10px}.board-scroll{scrollbar-width:thin}}
.visitor-zone{width:10%;height:13%}.visitor-zone .visitors{position:static;width:100%;transform:none;gap:1px}.visitor-zone.plaza{width:14%;height:22%}.visitor-zone .visitors .meeple{width:15%;height:auto}.ticket-stack{width:8%;height:9%}.artist-visitor{position:absolute;right:5%;top:8%;width:25%;height:40%}.artist-visitor .meeple{width:100%;height:100%}.contract-reward{position:absolute;left:50%;bottom:5%;transform:translateX(-50%);background:#fff6e3e8;padding:2px 6px;font-size:11px;white-space:nowrap}.commission{position:absolute;left:91%;bottom:3%;font-size:9px;max-width:8%;padding:3px;background:#f5eee1dd;border:0}.sold-art>img{width:85px;height:85px;object-fit:contain}
