:root{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;color:#293d3a;background:#f2eee4;font-size:16px;font-synthesis:none;--paper:#f8f3e7;--ink:#253e3b;--muted:#788076;--line:#d9d5c5;--sea:#173f45;--brass:#aa8442;--coral:#b65e49;--easy:#728467;--medium:#b88f4c;--hard:#9f6254}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button{transition:box-shadow .18s,background .18s,transform .18s}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #bc8c41;outline-offset:3px}button,a{-webkit-tap-highlight-color:transparent}h1,h2,h3,p{margin-top:0}img{object-fit:contain;user-select:none}header{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;gap:20px;background:#f7f3e9;position:relative;z-index:2}.brand{display:flex;align-items:center;gap:12px;border:0;background:none;padding:0;color:#29453e;text-align:left;min-height:44px}.brand-mark{font-family:Georgia,serif;font-size:30px;display:flex;width:44px;height:46px;align-items:center;justify-content:center;position:relative;border:1px solid #8c9a7c;border-radius:4px 4px 15px 15px}.brand-mark>span{font-size:12px;position:absolute;bottom:-4px;background:#f7f3e9;padding:0 3px}.brand>span:last-child{font-family:'Songti SC','STSong',Georgia,serif;font-size:25px;font-weight:700;letter-spacing:5px}.brand small{font-family:Georgia,serif;font-size:9px;font-weight:400;letter-spacing:2px;display:block;margin-top:4px}.top-caption{display:flex;align-items:center;gap:10px;color:#7b816f;font-size:13px;letter-spacing:1px}header nav{display:flex;align-items:center;gap:14px}header nav button{background:none;border:0;padding:10px 4px;color:#62736a;min-height:44px;font-size:14px}header nav button:hover{color:#213d34}.edition{font-size:9px;letter-spacing:1.5px;margin-left:16px;color:#8f9587}.edition b{border:1px solid #c8c9b8;font-weight:400;padding:4px;margin-left:3px}.eyebrow{color:#9a845a;font-size:11px;letter-spacing:2px;display:flex;align-items:center;gap:9px}.eyebrow>span{height:1px;width:23px;background:#b79557}.welcome{max-width:1500px;margin:auto;display:grid;grid-template-columns:420px minmax(0,1fr);gap:64px;padding:42px 5% 32px}.welcome h1{font-family:'Songti SC','STSong',Georgia,serif;font-size:48px;line-height:1.45;letter-spacing:3px;margin:18px 0}.welcome h1 em{font-style:normal;color:#a05f42}.welcome-lead{font-size:14px;color:#7a8276;line-height:1.95;margin-bottom:28px}.setup{max-width:420px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.section-head h2{font-size:18px;letter-spacing:2px;margin:0;font-weight:600}.section-head>span{font-size:12px;color:#999584}.mode-tabs{display:flex;padding:4px;border:1px solid #d7d5c6;background:#eae8dc;border-radius:6px;gap:3px}.mode-tabs button{flex:1;min-height:42px;border:0;background:transparent;color:#828777;font-size:14px;border-radius:4px}.mode-tabs button.active{color:#29453c;background:#faf7ed;box-shadow:0 2px 5px #46524615;font-weight:600}.mode-help{font-size:12px;color:#8b8a7b;line-height:1.7;min-height:35px;margin:11px 0 12px}.setting-line{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-size:14px}.setting-line strong{font-weight:500}.setting-line small{display:block;font-size:12px;color:#959382;margin-top:5px}.stepper{display:flex;align-items:center;gap:15px}.stepper button{border:1px solid #d3d3c4;background:transparent;border-radius:4px;width:38px;height:38px;color:#345347;font-size:23px}.stepper b{font-size:16px;min-width:15px;text-align:center;font-weight:500}.ai-settings{display:flex;flex-direction:column;margin:3px 0 9px}.ai-settings label{display:flex;align-items:center;gap:10px;font-size:13px;padding:7px 0;border-top:1px solid #e1dfd2}.ai-settings select{margin-left:auto;background:#f7f5eb;border:1px solid #d1d4c4;padding:7px 11px;border-radius:4px;font-size:13px;color:#697763;min-height:35px}.crest{--player:#b65e49;display:inline-flex;align-items:center;justify-content:center;background:var(--player);color:#fff9e9;width:30px;height:32px;border-radius:4px 4px 10px 10px;font:bold 17px Georgia,serif;flex-shrink:0;box-shadow:inset 0 0 0 2px #fff5cf30}.seed-details{font-size:12px;color:#8c8b7b;margin:9px 0 12px}.seed-details summary{cursor:pointer;padding:7px 0}.seed-details label{display:flex;align-items:center;gap:8px;margin-bottom:10px}.seed-details input{max-width:145px;border:1px solid #c9cebf;padding:8px;border-radius:4px;background:#fbf8ef;font-size:13px}.primary{border:1px solid #294f45;background:#2f5549;color:#fff6de;padding:12px 18px;min-height:44px;font-size:14px;font-weight:500;border-radius:5px;box-shadow:0 2px 0 #173b35}.primary:hover:not(:disabled){background:#416656}.secondary{background:#fcf7eb;border:1px solid #c5c9b6;border-radius:5px;color:#536451;padding:11px 17px;min-height:44px;font-size:14px}.start-button{width:100%;display:flex;align-items:center;justify-content:space-between;letter-spacing:2px;font-size:16px;padding:15px 18px}.start-button>span{color:#d7bd7b;font-size:21px}.continue-button{border:1px solid #c9cdbc;background:transparent;border-radius:5px;display:flex;justify-content:space-between;width:100%;min-height:44px;align-items:center;padding:10px 14px;margin-top:10px;font-size:14px;color:#52644f}.continue-button>span{font-size:12px;color:#8c907c}.local-note{font-size:11px;color:#a3a08c;text-align:center;margin-top:13px;letter-spacing:1px}.local-note>span{padding:0 10px}.welcome-table{position:relative;background:#1e4749 url('/assets/sea-mat.webp') center/cover;border:9px solid #907655;border-radius:120px 120px 12px 12px;box-shadow:inset 0 0 0 2px #b69b74,0 20px 40px #42452920;align-self:center;min-height:640px;padding:28px 20px 24px;overflow:hidden}.table-note{text-align:center;color:#c9c9a782;font-family:Georgia,serif;font-size:10px;letter-spacing:4px}.welcome-ports{height:418px;max-width:560px;position:relative;margin:24px auto 0}.preview-port{position:absolute;width:210px;height:220px;filter:drop-shadow(0 6px 2px #0f292b70)}.hex-art{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);width:100%;height:100%;background:#f1e3c6;position:relative}.preview-port .hex-art{padding:5px}.hex-art img{width:100%;height:100%;object-fit:cover;clip-path:inherit}.preview-port>span{position:absolute;left:50%;bottom:29px;transform:translateX(-50%);background:#f2e7cf;padding:5px 19px;border-radius:2px;white-space:nowrap;font-size:14px;font-weight:600;box-shadow:0 2px 5px #253e3b30}.port-0{left:4%;top:0;transform:rotate(-9deg)}.port-1{right:0;top:5%;transform:rotate(9deg)}.port-2{left:0;top:49%;transform:rotate(-7deg)}.port-3{right:2%;top:51%;transform:rotate(7deg)}.preview-letter{position:absolute;left:calc(50% - 48px);top:154px;width:96px;height:138px;border:5px solid #d9c99d;background:#f6edda;transform:rotate(-7deg);z-index:2;box-shadow:0 5px 16px #19313366;text-align:center}.preview-letter img{height:68px;width:100%;margin:5px 0}.preview-letter>span{font-size:12px;display:block;color:#a18455}.preview-letter b{font-family:'Songti SC',serif;display:block;font-size:14px;margin-top:6px}.preview-ship{position:absolute;width:79px;height:64px;z-index:3;filter:drop-shadow(0 5px 3px #10272677)}.ps-0{left:31%;top:31%;transform:rotate(-12deg)}.ps-1{right:1%;top:44%;transform:rotate(10deg)}.ps-2{left:-4%;top:65%}.ps-3{right:27%;bottom:-3%;transform:rotate(10deg)}.welcome-materials{display:flex;justify-content:center;gap:10px;margin:27px 0 20px}.welcome-materials>div{position:relative;width:58px;height:82px;background:#f2e8d3;border:3px double #ccb38b;border-radius:4px;box-shadow:0 3px 0 #b9ac87,0 5px 9px #001c2a60;transform:rotate(-6deg);text-align:center}.welcome-materials>div:nth-child(even){transform:rotate(5deg)}.welcome-materials img{width:100%;height:54px;display:block}.welcome-materials span{font-size:11px;color:#716948}.welcome-materials .mini-gold{transform:rotate(9deg);margin-left:15px;background:#e9d69f}.mini-gold b{position:absolute;top:17px;left:0;width:100%;font:bold 22px Georgia,serif;color:#76521e}.table-caption{display:flex;justify-content:center;gap:17px;color:#c9cdad;font-size:11px;letter-spacing:1px}.table-caption i{font-style:normal;color:#b59c63}footer{border-top:1px solid #d9dacb;padding:18px 5%;font-size:10px;letter-spacing:2px;color:#969b89;display:flex;justify-content:space-between}.round-medallion{font:bold 27px Georgia,serif;color:#705c37;letter-spacing:0}.round-medallion small{font-size:16px;color:#a8a58b}.turn-strip{display:flex;align-items:center;gap:18px;background:#edeade;padding:9px 24px;border-bottom:1px solid #d9dacb;min-height:70px}.phase-track{display:flex;align-items:center;gap:17px;flex-shrink:0}.phase-track>span{color:#a3a696;font-size:14px;display:flex;gap:6px;align-items:center;position:relative}.phase-track b{font-family:Georgia,serif;font-size:12px;font-weight:400}.phase-track .current{color:#48634f;font-weight:600}.phase-track .current:after{content:'';height:3px;background:#718466;border-radius:4px;position:absolute;bottom:-13px;left:0;right:0}.opponents{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;width:100%}.merchant-chip{display:flex;align-items:center;gap:8px;min-width:0;border:1px solid transparent;background:transparent;padding:6px 8px;border-radius:5px;text-align:left;position:relative}.merchant-chip.active{background:#f9f6eb;border-color:#c6caae;box-shadow:0 2px 4px #243b2810}.merchant-chip strong{display:block;font-size:13px;font-weight:500;white-space:nowrap}.merchant-chip small{display:block;font-size:11px;color:#8e9281;margin-top:4px;white-space:nowrap}.merchant-chip .crest{width:25px;height:28px;font-size:15px}.first-marker{font-size:10px;font-style:normal;border:1px solid #cbbb83;background:#e9dbac;color:#8a743c;display:inline-block;margin-left:5px;padding:0 2px;border-radius:50%}.turn-label{display:none}.game-layout{padding:0 18px 14px;max-width:1680px;margin:auto}.play-surface{display:grid;grid-template-columns:minmax(0,1fr) 278px;gap:16px;height:calc(100vh - 346px);min-height:418px;max-height:590px;padding-top:13px}.board-section{background:#244c50 url('/assets/sea-mat.webp') center/cover;border:5px solid #9a815d;box-shadow:inset 0 0 0 1px #e0c394,0 3px 6px #42422917;border-radius:8px;position:relative;overflow:hidden;min-width:0}.board-heading{position:absolute;left:18px;top:12px;right:18px;display:flex;justify-content:space-between;align-items:flex-start;z-index:1;pointer-events:none}.board-heading .eyebrow{font-family:Georgia,serif;letter-spacing:2.5px;font-size:8px;color:#b5bea490}.board-heading h2{color:#d2d2b5;font-family:'Songti SC',serif;font-weight:500;letter-spacing:4px;font-size:16px;margin:5px 0}.board-key{color:#c2c7aa9c;display:flex;align-items:center;gap:5px;font-size:10px}.board-key>span{color:#c2c7aa45;margin:0 5px}.flag-key{font:10px Georgia,serif;display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid #a9b096;border-radius:50%}.board-window{position:relative;width:100%;height:100%;overflow:hidden}.board{position:absolute;width:740px;height:520px;transform-origin:top center;top:0}.port-tile{position:absolute;width:146px;height:166px;transform:translate(-50%,-50%);filter:drop-shadow(0 4px 1px #0d272a88)}.port-tile .hex-art{padding:5px;background:var(--port-owner)}.port-tile img{clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%)}.port-name{position:absolute;bottom:27px;left:16px;right:16px;display:flex;align-items:center;justify-content:center;gap:7px;background:#f5ead5ed;padding:7px 3px;box-shadow:0 2px 5px #3c422e22;pointer-events:none}.port-name>span{font-size:10px;font-family:Georgia,serif;color:#a89169}.port-name strong{font-family:'Songti SC','STSong',serif;font-size:17px;letter-spacing:1px;white-space:nowrap}.monopoly-label{position:absolute;top:162px;left:50%;transform:translateX(-50%);background:var(--port-owner);border:1px solid #ddd3ac;color:#ffefd7;padding:4px 6px;border-radius:3px;white-space:nowrap;font-size:11px;font-weight:500}.berth{position:absolute;transform:translate(-50%,-50%);width:120px;height:65px;background:#ebdfc7;border:1px solid #c2b38e;border-radius:5px;padding:4px 6px;color:#5b604b;box-shadow:0 3px 0 #aa9c79,0 6px 9px #092b2f55;text-align:left;display:flex;flex-direction:column;gap:1px}.berth:not(:disabled):active{transform:translate(-50%,-49%)}.berth:hover{background:#fff2d6;box-shadow:0 3px 0 #bfb088,0 0 0 2px #f3e4af77}.berth-top{display:flex;align-items:center;justify-content:space-between;height:13px}.berth-top>b{font-size:11px;font-weight:500;color:#8f815f}.property-flag{font:11px Georgia,serif;color:#fff8e3;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--owner);box-shadow:0 0 0 1px #aa997155}.property-flag.unowned{background:transparent;color:#928568;box-shadow:none}.ship-slot{height:25px;position:relative;display:flex;gap:1px;align-items:center}.ship-slot svg{width:43px;height:23px;color:#a79f80}.ship-slot img{width:49px;height:36px;margin-top:-3px}.ship-slot small{font-size:10px;color:#8c8368;white-space:nowrap}.berth-costs{font-size:10px;display:flex;gap:12px;border-top:1px solid #c2b78f66;padding-top:3px}.berth-costs b{font:bold 12px Georgia,serif;margin-left:3px;color:#756b4c}.berth.dockable{border:2px solid #f3e7a4;box-shadow:0 3px 0 #a99364,0 0 0 3px #ede3a438}.berth.buyable .property-flag{background:#edd8a1;box-shadow:0 0 0 2px #d6b76370}.berth.selected{box-shadow:0 3px 0 #a28e64,0 0 0 3px #dabe7e}.berth.occupied{background:#e7dcc6}.sea-separator{position:absolute;left:0;width:100%;top:246px;text-align:center;pointer-events:none;color:#b5c4aa55;font-size:12px}.sea-separator span{font:9px Georgia,serif;letter-spacing:4px;margin:0 15px}.market{background:#eae5d8;border:1px solid #d6ceba;border-radius:6px;padding:10px 11px;overflow:auto;scrollbar-width:thin}.market-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d1c9b7;padding:0 0 8px}.market-title h2{font-family:'Songti SC',serif;font-size:18px;letter-spacing:2px;margin:0}.market-title>span{font-size:10px;color:#99917a}.market-tier{margin-top:8px}.tier-heading{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:#8e836e;margin-bottom:6px;height:20px}.tier-heading>span:first-child{display:flex;align-items:center;gap:6px}.tier-dot{width:5px;height:5px;border-radius:50%;display:inline-block}.tier-dot.easy{background:var(--easy)}.tier-dot.medium{background:var(--medium)}.tier-dot.hard{background:var(--hard)}.deck-count{display:flex;align-items:center;gap:5px;font-size:10px}.card-back{display:inline-flex;width:13px;height:19px;align-items:center;justify-content:center;color:#e4d5b2;font-size:10px;font-style:normal;background:#64725e;border:2px double #d9d0b9;border-radius:1px;box-shadow:2px 1px #b9b29e}.card-back.medium{background:#997947}.card-back.hard{background:#995f4c}.order-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}.order-card{--tier:#75846b;background:#fcf7e9;border:1px solid #c9bf9e;border-top:4px solid var(--tier);border-radius:4px;box-shadow:0 2px 0 #cac2ad,0 3px 7px #5b563512;min-width:0;position:relative;transition:transform .2s,box-shadow .2s}.order-card.medium{--tier:#b28f57}.order-card.hard{--tier:#a16652}.order-card.selected{box-shadow:0 0 0 2px #bda361,0 4px 8px #68603e26}.order-card.ready{border-color:#84976a;box-shadow:0 0 0 1px #8fa378}.order-main{border:0;background:transparent;width:100%;padding:7px 7px 6px;color:#554d38;text-align:center;min-height:102px}.card-tier{font-size:9px;color:var(--tier);letter-spacing:1px;display:flex;align-items:center;justify-content:center;gap:4px}.card-tier i{width:3px;height:3px;background:var(--tier);transform:rotate(45deg)}.recipe{display:flex;justify-content:center;gap:1px;min-height:34px;align-items:center;margin:4px 0 2px;flex-wrap:wrap}.ingredient{display:flex;align-items:center;gap:0;white-space:nowrap}.ingredient img{width:22px;height:25px;object-fit:contain}.ingredient b{font:600 14px Georgia,serif;color:#5c6046}.ingredient.shortage b{color:#a96b45}.recipe:has(.ingredient:nth-child(3)){display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:90px;margin-left:auto;margin-right:auto;min-height:34px}.recipe:has(.ingredient:nth-child(3)) .ingredient{justify-content:center}.recipe:has(.ingredient:nth-child(3)) img{width:18px;height:18px}.card-reward{display:flex;align-items:baseline;justify-content:center;gap:3px}.card-reward b{font:600 27px Georgia,serif;color:#967640;line-height:1.05}.card-reward>span{font-size:9px;color:#a18f6b}.card-name{display:block;font-size:9px;color:#9b947d;margin-top:4px}.ready-note{font-size:10px;color:#84916c;display:block;margin-top:3px}.deliver-button{font-size:11px;border:none;border-top:1px solid #91a879;background:#dae4c6;color:#426045;width:100%;min-height:31px;border-radius:0 0 3px 3px}.empty-order{border:1px dashed #b4b49b;border-radius:4px;min-height:113px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#a6a58d}.action-area{padding-top:10px}.action-bar{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#e5e7d7;border:1px solid #cdd2ba;border-radius:5px;padding:9px 12px}.turn-prompt{display:flex;gap:10px;align-items:center;min-width:0}.turn-prompt strong{font-size:14px;font-weight:600}.turn-prompt strong>span{font-size:12px;color:#788269;font-weight:400;margin-left:9px}.turn-prompt p{font-size:12px;color:#7f876f;margin:5px 0 0;line-height:1.5}.turn-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.speed-control,.pause-control{min-height:40px;border:1px solid #c4cbb1;color:#7c876e;background:transparent;padding:8px 10px;border-radius:4px;font-size:12px}.speed-control.on{background:#d6dbc2}.end-button{min-height:42px;border:1px solid #4d6451;background:#526c54;color:#fff9e8;padding:10px 17px;border-radius:4px;font-size:13px}.selection-panel{background:#fcf6e7;border:1px solid #c9bd9d;border-radius:5px;margin-bottom:7px;padding:10px 42px 10px 13px;position:relative;box-shadow:0 4px 12px #5b563514}.selection-copy{display:grid;grid-template-columns:1fr auto;gap:3px 15px;align-items:center}.selection-copy>strong{font-size:14px;grid-column:1}.selection-copy>p{grid-column:1;font-size:12px;color:#8b8069;margin:1px 0 0;line-height:1.6}.selection-copy>button,.selection-note{grid-column:2;grid-row:1/3;white-space:nowrap}.selection-copy .primary,.selection-copy .secondary{padding:8px 14px;min-height:39px;font-size:13px}.selection-note{font-size:13px;color:#8b9574}.close-selection{position:absolute;right:5px;top:5px;width:30px;height:30px;min-height:0;border:0;background:none;color:#9b927d;font-size:23px}.tutorial-note{background:#f5edce;border:1px solid #d7cba3;color:#8d7b4d;padding:9px 12px;font-size:12px;line-height:1.7;margin-top:6px;border-radius:4px}.personal{border:1px solid #d3ccbb;background:#faf5e9;border-radius:6px;margin-top:9px;box-shadow:0 3px 5px #4d493e08;overflow:hidden}.personal-label{display:flex;align-items:center;gap:8px;height:30px;padding:0 12px;border-bottom:1px solid #ded8c6;background:#f0ebdc}.personal-label .crest{width:20px;height:21px;font-size:12px;border-radius:2px 2px 6px 6px}.personal-label>strong{font-size:12px;font-weight:500}.personal-label>span:not(.crest){font-size:10px;color:#a19b82}.personal-label .worth{margin-left:auto;letter-spacing:1px}.worth b{font-family:Georgia,serif;font-size:14px;color:#8b7753;margin-left:4px}.personal-content{display:grid;grid-template-columns:1.05fr 1.15fr .65fr 1fr;gap:20px;padding:10px 16px 13px;align-items:start}.area-heading{font-size:11px;color:#8a8067;display:flex;justify-content:space-between;align-items:center;gap:6px;margin-bottom:7px}.area-heading>span{font-size:9px;color:#b0a68b}.hand-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hand-empty{height:89px;border:1px dashed #d9cfb6;border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#b9ae8c;gap:5px;background:#f3eddd}.hand-empty>span{font-size:24px}.hand-empty small{font-size:10px}.hand-area .order-main{min-height:85px;padding:4px 4px 3px}.hand-area .recipe{min-height:24px;margin:1px 0}.hand-area .card-reward b{font-size:21px}.hand-area .card-name{display:none}.hand-area .ingredient img{width:22px;height:22px}.hand-area .recipe:has(.ingredient:nth-child(3)){display:flex;flex-wrap:wrap;gap:0;max-width:100%}.hand-area .recipe:has(.ingredient:nth-child(3)) .ingredient img{width:16px}.hand-area .ingredient b{font-size:12px}.material-stacks{display:flex;gap:9px;justify-content:space-between}.material-card{width:65px;height:88px;position:relative;border:1px solid #c7bfa3;border-top:3px solid #8a9170;background:#f6efda;border-radius:4px;box-shadow:2px 2px 0 #e7dfc8,3px 3px 0 #bfb99d;display:flex;flex-direction:column;align-items:center;padding:5px 3px}.material-card.good-1{border-top-color:#85979e}.material-card.good-2{border-top-color:#b07b6e}.material-card.good-3{border-top-color:#b29254}.material-card>span{font-size:10px;color:#817757}.material-card img{width:51px;height:49px;margin-top:1px}.material-card>b{font:bold 19px Georgia,serif;background:#f3e6c4;border:1px solid #cabb90;border-radius:50%;width:26px;height:26px;display:flex;align-items:center;justify-content:center;position:absolute;bottom:-5px;right:4px;color:#5d644a;box-shadow:0 1px 2px #74654522}.cash-display{display:flex;gap:6px;align-items:baseline;float:left;padding-top:6px}.cash-display strong{font:32px Georgia,serif;color:#89703c}.cash-display>span{font-size:10px;color:#ac9a70}.money-cards{display:flex;position:relative;gap:5px;clear:both;padding-top:5px}.money-card{height:40px;width:36px;border:1px solid #bdab70;background:#ead99f;border-radius:3px;position:relative;box-shadow:1px 2px 0 #cabb8c}.money-card img{position:absolute;inset:0;width:100%;height:100%;opacity:.65}.money-card>b{font:16px Georgia,serif;position:absolute;left:0;top:6px;width:100%;text-align:center;color:#7c5d2d}.money-card>span{position:absolute;bottom:-4px;right:-6px;border:1px solid #cebc8e;background:#f8edd0;border-radius:8px;padding:0 3px;font-size:9px;color:#84734d}.dock-ships{display:flex;gap:3px;align-items:center;height:61px}.dock-ship{display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:1px solid transparent;border-bottom:2px solid #cbb78d;border-radius:5px;padding:0 2px;min-width:50px;height:61px}.dock-ship img{height:44px;width:54px;filter:drop-shadow(0 3px 2px #71533633)}.dock-ship>span{font-size:10px;color:#9c8561}.dock-ship.selected{background:#e9deb9;border:1px solid #b59755}.dock-ship.selected>span{color:#725e32}.no-ships{font-size:12px;color:#9b9581}.more-ships{font:bold 19px Georgia,serif;color:#a58b58}.building-ship{font-size:10px;color:#ad9974;display:flex;align-items:center;gap:3px}.building-ship img{height:25px;width:30px;opacity:.65}.boat-button{border:1px solid #c4c2a3;background:#ebe8d2;color:#6c795d;font-size:11px;min-height:30px;width:100%;padding:6px;border-radius:3px;margin-top:4px}.mobile-tabs{display:none}.results{text-align:center;max-width:1000px;margin:50px auto;padding:0 25px}.results>.eyebrow{justify-content:center;color:#a28a5e}.result-seal{width:90px;height:90px;margin:10px auto 0}.results h1{font:36px 'Songti SC',serif;letter-spacing:2px;margin:8px 0 20px}.winner-line{color:#7a785e;font-size:16px}.winner-line b{color:#a0813e;margin-left:8px}.results-table{background:#fbf7e9;border:1px solid #d6cfb6;border-radius:8px;padding:4px 16px;margin:35px 0 20px;box-shadow:0 6px 24px #534b2a0b}.result-row{display:grid;grid-template-columns:2fr repeat(4,1fr);align-items:center;padding:20px 8px;border-bottom:1px solid #e2dac2}.result-row:last-child{border:0}.result-row>span:first-child{display:flex;align-items:center;gap:12px;text-align:left}.result-row small{font-size:11px;background:#e6d6a0;padding:3px 5px;color:#8b703a;border-radius:3px}.result-heading{font-size:13px;color:#9a8d71;padding:14px 8px}.result-row>strong{font:30px Georgia,serif;color:#9b7940}.result-row.winner{background:#f3eedb}.results>p:not(.winner-line){font-size:13px;color:#9b927b}.result-actions{display:flex;justify-content:center;gap:12px;margin:30px 0}.result-seed{margin-top:20px;font-size:11px!important}dialog{width:min(610px,92vw);max-height:86vh;border:1px solid #c6bc9b;border-radius:9px;background:#faf6e9;color:#384d3d;padding:27px;box-shadow:0 30px 100px #001a2288}dialog::backdrop{background:#102e38a6;backdrop-filter:blur(3px)}dialog h2{font-family:'Songti SC',serif;font-size:25px;letter-spacing:1px;margin-right:22px;margin-bottom:23px}dialog p{font-size:14px;color:#7c806a;line-height:1.85}dialog h3{font-size:15px;color:#576d50;margin:23px 0 8px}dialog>.primary{margin-top:8px}.modal-close{float:right;width:36px;height:36px;font-size:26px;color:#979880;border:0;background:none;margin:-9px -10px 0 0}.rules-content{max-height:56vh;overflow:auto;padding-right:9px}.rule-intro{color:#978150}.motion-setting{font-size:14px;color:#7b866c;display:flex;align-items:center;gap:8px;min-height:44px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.log-list{max-height:65vh;overflow:auto;padding-right:8px}.log-list p{font-size:13px;border-bottom:1px solid #e4dfcd;padding:10px 0;margin:0;line-height:1.65}.log-list p:first-child{color:#597951}.goods-detail{display:flex;align-items:center;gap:30px}.goods-detail>img{width:140px;height:130px}.goods-detail p{margin:5px 0}.quantity-label{display:flex;align-items:center;gap:14px;font-size:14px;margin:15px 0}.quantity-label input{width:90px;padding:9px 12px;border:1px solid #b7bea9;background:#fffaf0;color:#4c644b;border-radius:5px}.player-goods{display:flex;gap:17px;flex-wrap:wrap}.player-goods>span{display:flex;align-items:center;font-size:12px;gap:3px}.player-goods img{width:35px;height:35px}.handoff{text-align:center}.handoff .crest{width:55px;height:60px;font-size:30px}.handoff h3{font-family:'Songti SC',serif;font-size:22px}.handoff button{margin-top:7px}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);z-index:20;background:#294b42;color:#fcf4df;padding:13px 22px;border:1px solid #8b9c78;border-radius:7px;font-size:14px;box-shadow:0 7px 20px #092b2f44;opacity:0;pointer-events:none;transition:.2s;max-width:90vw;text-align:center}#toast.show{opacity:1;transform:translate(-50%,0)}.reduce-motion *{transition:none!important;animation:none!important}@media(min-width:1550px){.personal-content{padding-left:30px;padding-right:30px;gap:30px}.market{padding:14px}.play-surface{grid-template-columns:minmax(0,1fr) 310px}}@media(max-width:1200px){.turn-strip{gap:12px;padding:9px 15px}.phase-track{gap:10px}.phase-track>span{font-size:12px}.merchant-chip{padding:6px 4px;gap:5px}.merchant-chip strong{font-size:12px}.merchant-chip small{font-size:10px}.play-surface{grid-template-columns:minmax(0,1fr) 256px;gap:10px}.personal-content{gap:14px;padding:10px 12px 13px;grid-template-columns:1fr 1.1fr .65fr .9fr}.material-stacks{gap:6px}.material-card{width:58px}.welcome{gap:34px;grid-template-columns:365px 1fr;padding-left:4%;padding-right:4%}.welcome-table{padding:28px 10px 24px}.preview-port{width:177px;height:190px}.welcome-ports{height:380px}.preview-letter{left:calc(50% - 40px);top:144px;width:80px;height:122px}.preview-letter img{height:57px}.welcome h1{font-size:43px}.top-caption{font-size:12px}.edition{display:none}.turn-actions{gap:5px}.turn-prompt p{font-size:11px}.dock-ship img{width:48px}}@media(max-width:899px){header{height:65px;padding:0 16px;gap:12px}.brand>span:last-child{font-size:23px}.brand small{font-size:8px;letter-spacing:1px}.brand-mark{width:36px;height:40px;font-size:27px}header nav{gap:10px}header nav button{font-size:12px;padding:9px 0}.top-caption{display:none}.welcome{grid-template-columns:1fr;max-width:630px;padding:27px 6% 32px;gap:28px}.welcome-copy{max-width:440px;margin:auto;width:100%}.welcome h1{font-size:40px;line-height:1.25;margin:14px 0}.welcome h1 br{display:none}.welcome h1 em{margin-left:8px}.welcome-lead{font-size:13px;margin-bottom:22px}.welcome-table{min-height:510px;width:100%;max-width:440px;margin:auto;border-width:7px;order:1}.welcome-ports{height:340px;margin-top:15px}.preview-port{width:170px;height:180px}.preview-letter{top:120px}.welcome-materials{margin:10px 0 20px}.table-caption{font-size:10px}.welcome .eyebrow{font-size:10px}.setup{max-width:none}.turn-strip{flex-direction:column;align-items:stretch;gap:15px;padding:8px 12px 10px}.phase-track{justify-content:center;gap:35px}.phase-track .current:after{bottom:-6px}.opponents{gap:5px}.merchant-chip{flex-direction:column;text-align:center;gap:5px;padding:7px 2px}.merchant-chip strong{font-size:11px}.merchant-chip small{font-size:9px}.merchant-chip .crest{height:23px;width:23px}.first-marker{font-size:8px;padding:0 1px}.game-layout{padding:0 10px 12px}.mobile-tabs{display:flex;gap:8px;padding:12px 0 6px}.mobile-tabs button{border:1px solid #c9cfb7;color:#899374;border-radius:4px;background:#e7e9da;padding:9px 18px;min-height:42px;font-size:14px;flex:1}.mobile-tabs button.active{background:#f9f6e8;color:#526e4d;border-color:#b8c4a1}.play-surface{display:block;height:auto;min-height:0;padding-top:2px}.board-section{height:534px;width:100%;overflow:auto}.board-window{min-width:740px;width:740px;height:520px;overflow:visible}.board{position:relative;left:0!important;transform:none!important}.board-heading{display:none}.board-section:after{content:'左右滑动，查看全部港口';position:sticky;bottom:5px;left:10px;color:#f3e8c999;font-size:10px}.market{display:none;height:auto;max-height:none}.show-market .market{display:block;padding:13px}.show-market .board-section{display:none}.market-title h2{font-size:21px}.market-title>span{font-size:12px}.market-tier{margin-top:14px}.tier-heading{font-size:13px;margin-bottom:8px}.order-main{min-height:145px;padding:10px}.card-tier,.card-name{font-size:12px}.recipe{min-height:40px}.ingredient img{width:34px;height:34px}.ingredient b{font-size:18px}.recipe:has(.ingredient:nth-child(3)){max-width:160px;min-height:40px}.recipe:has(.ingredient:nth-child(3)) img{width:24px;height:24px}.card-reward b{font-size:35px}.card-reward>span{font-size:12px}.action-bar{flex-direction:column;align-items:stretch;padding:10px;gap:9px}.turn-prompt{align-items:flex-start}.turn-prompt strong{font-size:14px}.turn-prompt p{font-size:12px}.turn-actions{justify-content:flex-end;flex-wrap:wrap}.turn-actions button{font-size:12px;min-height:44px}.turn-actions .end-button{margin-left:auto}.personal-content{grid-template-columns:1fr 1fr;gap:20px 16px;padding:12px 13px 19px}.area-heading{font-size:12px}.area-heading>span{font-size:10px}.hand-area .order-main{min-height:100px}.hand-area .ingredient b{font-size:12px}.hand-area .card-tier{font-size:10px}.material-card{width:59px;height:95px}.material-card img{width:48px;height:60px}.material-card>span{font-size:11px}.material-stacks{gap:7px}.cash-display strong{font-size:40px}.money-card{width:42px;height:46px}.dock-ship{height:70px;min-width:55px}.dock-ship img{width:55px;height:50px}.dock-ships{height:70px}.dock-ship>span{font-size:11px}.personal-label{height:35px}.personal-label>strong{font-size:13px}.selection-copy{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.selection-copy>strong{width:100%}.selection-copy>p{font-size:13px;width:100%}.selection-copy>button{min-height:44px}.selection-panel{padding:13px 38px 13px 13px}.close-selection{width:36px;height:36px}.results{padding:0 12px;margin-top:30px}.results h1{font-size:28px}.result-row{grid-template-columns:1.6fr repeat(4,1fr);font-size:13px;padding:15px 0}.result-row>span:first-child{gap:5px}.result-row .crest{width:22px;height:25px;font-size:13px}.result-row small{display:none}.result-row>strong{font-size:25px}.result-heading{font-size:11px}.results-table{padding:3px 10px}.winner-line{font-size:14px;line-height:1.8}.result-actions{gap:7px;flex-wrap:wrap}.result-actions button{font-size:13px}.goods-detail{gap:12px}.goods-detail>img{width:100px}.board-section::-webkit-scrollbar{height:7px}.board-section::-webkit-scrollbar-thumb{background:#718c7b;border-radius:8px}}@media(max-width:520px){.personal-content{grid-template-columns:1fr;gap:18px}.hand-cards{grid-template-columns:1fr 1fr;max-width:320px}.hand-area .order-main{min-height:125px}.hand-area .card-tier{font-size:12px}.hand-area .card-reward b{font-size:28px}.hand-area .ingredient img{width:29px;height:29px}.hand-area .ingredient b{font-size:15px}.hand-empty{height:120px}.material-stacks{max-width:330px}.material-card{width:68px;height:104px}.material-card>span{font-size:12px}.material-card img{width:61px;height:66px}.material-card>b{font-size:21px;width:28px;height:28px}.inventory-area .area-heading{max-width:330px}.cash-area{display:grid;grid-template-columns:1fr 1fr;align-items:center}.cash-area .area-heading{grid-column:1/-1}.cash-display{padding:0}.money-cards{clear:none;padding:0;justify-content:flex-end;gap:8px}.dock-area{border-top:1px solid #ddd7c3;padding-top:12px}.dock-ships{height:85px}.dock-ship{height:80px;min-width:72px}.dock-ship img{width:70px;height:58px}.dock-ship>span{font-size:12px}.boat-button{min-height:44px;font-size:13px}.personal-label>span:not(.crest){font-size:9px}.turn-prompt strong>span{margin-left:4px;font-size:11px}.opponents .merchant-chip small{font-size:8px;letter-spacing:-.3px}.opponents .merchant-chip strong{font-size:10px}.merchant-chip .crest{width:22px;height:23px;font-size:13px}.brand small{font-size:7px}.brand>span:last-child{font-size:21px}.brand{gap:8px}.brand-mark{width:32px;height:36px;font-size:24px}header nav{gap:8px}header nav button{font-size:11px}.welcome h1{font-size:33px}.welcome h1 em{margin-left:5px}.welcome-table{min-height:450px;padding:24px 8px 18px;border-radius:70px 70px 8px 8px}.preview-port{width:143px;height:160px}.welcome-ports{height:306px}.preview-letter{top:117px;width:65px;height:103px;left:calc(50% - 32px)}.preview-letter img{height:44px;margin:1px 0}.preview-letter>span{font-size:9px}.preview-letter b{font-size:11px}.preview-port>span{font-size:12px;padding:4px 11px;bottom:20px}.preview-ship{width:60px;height:50px}.welcome-materials{gap:8px;margin-bottom:15px}.welcome-materials>div{width:43px;height:67px}.welcome-materials img{height:44px}.welcome-materials span{font-size:9px}.mini-gold b{font-size:18px;top:14px}.table-caption{font-size:9px;gap:8px;letter-spacing:0}.welcome .eyebrow{font-size:9px;letter-spacing:1px}footer{font-size:8px;letter-spacing:1px}.stepper button{width:44px;height:44px}.ai-settings select{min-height:44px}.ai-settings label{font-size:14px}.mode-tabs button{min-height:44px;font-size:14px}.setting-line{font-size:15px}.start-button{min-height:50px}.modal-actions{flex-direction:column}.results h1{font-size:24px}.result-row{font-size:11px}.result-row>span:first-child{font-size:10px}.result-row>strong{font-size:22px}.result-heading{font-size:10px}.result-heading span:first-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Keep the whole tabletop and balances visible at the desktop target sizes. */
@media(min-width:900px){header{height:64px}.turn-strip{min-height:64px;padding-top:6px;padding-bottom:6px}.play-surface{height:calc(100vh - 391px);min-height:399px}.action-area{position:relative}.selection-panel{position:absolute;bottom:calc(100% - 5px);left:10px;right:10px;z-index:5;box-shadow:0 8px 24px #0e30274a}.board{height:560px}}
.board{height:560px}.berth-top>b{font-size:13px}.berth-costs{font-size:12px;gap:9px}.berth-costs b{font-size:15px}.ship-slot small{font-size:11px}.berth{height:67px}.berth-costs{padding-top:1px}.sea-separator{top:273px}.card-tier,.card-name{font-size:10px}.market-title>span{font-size:11px}.ingredient img{width:26px;height:26px}.ingredient b{font-size:16px}.recipe:has(.ingredient:nth-child(3)) img{width:23px;height:21px}.recipe:has(.ingredient:nth-child(3)){max-width:100px}.card-reward>span{font-size:10px}.area-heading{font-size:12px}.area-heading>span{font-size:10px}.hand-area .card-tier{font-size:10px}.material-card>span{font-size:12px}.personal-label>strong{font-size:13px}.personal-label>span:not(.crest){font-size:11px}.turn-prompt p{font-size:13px}.merchant-chip small{font-size:12px}.merchant-chip strong{font-size:14px}
@media(max-width:1200px) and (min-width:900px){.merchant-chip small{font-size:10px}.merchant-chip strong{font-size:12px}.turn-prompt p{font-size:12px}}
@media(max-width:899px){.board-section{height:574px}.board-window{height:560px}.card-tier,.card-name{font-size:12px}.recipe:has(.ingredient:nth-child(3)){max-width:160px}.merchant-chip small{font-size:10px}.merchant-chip strong{font-size:12px}.area-heading{font-size:13px}.turn-prompt p{font-size:13px}.berth{min-height:67px}.personal-label>span:not(.crest){font-size:10px}}
@media(max-width:520px){.merchant-chip small{font-size:9px}.merchant-chip strong{font-size:11px}.hand-area .card-tier{font-size:12px}.personal-label>span:not(.crest){font-size:9px}}
@media(min-width:900px){.game-layout{padding-bottom:8px}}
@media(min-width:900px) and (max-height:850px){.market{padding:8px 10px}.market-title{padding-bottom:5px}.market-title h2{font-size:16px}.market-tier{margin-top:6px}.tier-heading{height:14px;margin-bottom:4px}.market .order-main{min-height:84px;padding:4px}.market .card-tier{font-size:9px;line-height:10px}.market .recipe{min-height:32px;margin:2px 0 1px}.market .recipe:has(.ingredient:nth-child(3)){min-height:32px}.market .ingredient img{width:22px;height:22px}.market .recipe:has(.ingredient:nth-child(3)) img{width:18px;height:16px}.market .ingredient b{font-size:14px}.market .card-reward b{font-size:24px}.market .card-name{font-size:9px;margin-top:2px}.market .card-reward>span{font-size:9px}}
@keyframes arrive-ship{from{transform:translate(-15px,-14px) rotate(-12deg);opacity:.2}to{transform:translate(0,0) rotate(0);opacity:1}}
@keyframes arrive-card{from{transform:translateY(-10px);filter:brightness(1.25)}to{transform:translateY(0);filter:brightness(1)}}
@keyframes receive-money{from{transform:translateX(18px);opacity:.2}to{transform:translateX(0);opacity:1}}
@keyframes pay-money{50%{opacity:.4;transform:translateY(-5px)}to{opacity:1;transform:none}}
.new-ship img{animation:arrive-ship .3s ease-out}.new-card{animation:arrive-card .3s ease-out}.cash-gain .money-card{animation:receive-money .3s ease-out}.cash-paid .money-card{animation:pay-money .3s ease-out}
.dock-ship:disabled{opacity:.72;cursor:default}
@media(min-width:900px) and (max-height:850px){.market .recipe,.market .recipe:has(.ingredient:nth-child(3)){min-height:28px}.market .recipe:has(.ingredient:nth-child(3)) .ingredient{height:14px}.market .recipe:has(.ingredient:nth-child(3)) img{height:14px}.market .recipe:has(.ingredient:nth-child(3)) b{line-height:14px}.market .card-name{line-height:10px}.market .recipe{margin-bottom:0}}
@media(max-width:899px){.play-surface.show-personal{display:none}.mobile-tabs button{padding:9px 10px}.mobile-tabs{position:sticky;top:0;z-index:6;background:#f2eee4}}
@media(max-width:899px){.mobile-tabs button{min-height:44px}}
@media(min-width:900px){.market{display:flex;flex-direction:column}.market-title{flex-shrink:0}.market-tier{display:flex;flex-direction:column;flex:1;min-height:0}.tier-heading{flex-shrink:0}.market .order-pair{flex:1;min-height:0}.market .order-card{min-height:0}.market .order-main{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;line-height:1.15;padding-top:4px;padding-bottom:4px}.market .card-tier{line-height:12px}.market .card-name{line-height:12px}.market .recipe{flex-shrink:0}}
/* One continuous tabletop. Costs are shown only when choosing an action. */
.port-group{position:absolute}.port-cluster{position:relative}
.berth{height:63px;padding:7px 8px;gap:5px}.berth-top{height:15px}.berth-top>b{font-size:12px}.ship-slot{height:28px}.ship-slot small{font-size:11px}
.property-token{display:inline-flex;width:28px;height:30px;flex-shrink:0;color:var(--owner);filter:drop-shadow(0 2px 0 #553d2d60)}.property-token svg{width:100%;height:100%;overflow:visible}.property-token text{fill:#fff7e4;font:bold 17px Georgia,serif}.berth .property-token{position:absolute;right:5px;top:-13px}.unowned-token{font-size:10px;color:#928568;border:1px dashed #b6a983;border-radius:3px;padding:1px 4px}.board-key{color:#e0dfc9;align-items:center}.board-key .property-token{width:22px;height:24px}.board-key>span.property-token{color:var(--owner);margin:0}
.coin-balance{display:flex;align-items:center;gap:7px;min-height:85px;color:#8d7039}.coin-balance img{width:54px;height:58px}.coin-balance>span{font-size:20px;color:#ae9762}.coin-balance strong{font:38px Georgia,serif}.coin-balance.cash-gain{animation:receive-money .3s ease-out}.coin-balance.cash-paid{animation:pay-money .3s ease-out}.asset-detail{margin-left:auto;border:0;background:transparent;font-size:11px;color:#7f8069;min-height:28px;padding:4px 0 4px 12px}.dock-ship{border:0;cursor:default}.area-heading{margin-bottom:5px}.cash-area{display:block}.personal-content{grid-template-columns:1.15fr 1.1fr .65fr .85fr}
.action-area{position:relative;padding-top:10px}.selection-panel{position:relative;bottom:auto;left:auto;right:auto;margin:0 0 7px;box-shadow:0 3px 8px #0e302719}.play-surface{padding-top:10px}.action-bar{min-height:61px}.tutorial-note{margin-bottom:0}
@media(min-width:900px){.game-layout:has(.selection-panel) .play-surface{height:calc(100vh - 461px);min-height:399px}}
@media(max-width:899px){
 .game-layout{display:flex;flex-direction:column}.action-area{position:sticky;top:0;z-index:6;background:#f2eee4;padding-bottom:7px}.action-bar{gap:6px}.turn-prompt strong>span{display:inline}.turn-prompt p{font-size:12px}.turn-actions{gap:5px}.turn-actions .speed-control,.turn-actions .pause-control{font-size:11px;padding:7px}.play-surface{display:flex;flex-direction:column;gap:12px;max-height:none;padding-top:3px}
 .board-section{height:auto;overflow:hidden;padding:50px 5px 5px}.board-section:after{display:none}.board-heading{display:flex;left:12px;right:12px;top:10px;align-items:center}.board-heading .eyebrow{display:none}.board-heading h2{font-size:15px}.board-key{font-size:10px}.board-window{min-width:0;width:100%;height:auto;overflow:visible}.board{position:relative;width:100%;height:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));top:auto}.port-group{position:relative;left:auto!important;top:auto!important;height:280px;min-width:0}.port-cluster{position:absolute;left:calc(50% + 28px);top:50%;width:0;height:0}.sea-separator{display:none}
 .market{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px;overflow:visible}.market-title{grid-column:1/-1}.market-title h2{font-size:18px}.market-title>span{font-size:11px}.market-tier{margin:0;min-width:0}.market .order-pair{grid-template-columns:1fr;gap:8px}.market .order-main{min-height:135px;padding:8px 3px}.market .card-tier,.market .card-name{font-size:10px}.market .card-reward b{font-size:28px}.market .recipe{min-height:40px}.market .ingredient img{width:27px;height:27px}.market .ingredient b{font-size:15px}.market .recipe:has(.ingredient:nth-child(3)){max-width:90px}.market .recipe:has(.ingredient:nth-child(3)) img{width:20px;height:20px}.tier-heading{font-size:11px}.deck-count{font-size:9px;gap:3px}.card-back{width:10px;height:15px}
 .personal-content{grid-template-columns:1fr 1fr;gap:17px 12px}.hand-area,.inventory-area{grid-column:1/-1}.hand-cards,.material-stacks{max-width:none}.hand-area .order-main{min-height:100px}.hand-empty{height:100px}.material-card{width:22%;max-width:100px;height:95px}.material-card img{height:57px}.dock-area{border:0;padding:0}.coin-balance{min-height:74px;gap:3px}.coin-balance img{width:45px;height:50px}.coin-balance strong{font-size:34px}.dock-ships{height:66px;gap:0}.dock-ship{min-width:40px;height:62px;padding:0}.dock-ship img{width:46px;height:46px}.dock-ship>span{font-size:10px}.building-ship{font-size:9px}.boat-button{min-height:44px}.selection-panel{padding:9px 36px 9px 12px}.selection-copy{gap:4px}.selection-copy>p{font-size:12px}.selection-copy>button{width:100%;margin-top:4px}
}
@media(max-width:649px){.board{grid-template-columns:1fr}.port-group{height:265px}.port-cluster{transform:scale(.95)}.board-key{gap:2px}.board-key>span{margin:0 2px}.market{gap:8px;padding:10px}.tier-heading .card-back{display:none}}
@media(max-width:380px){.port-group{height:240px}.port-cluster{left:calc(50% + 24px);transform:scale(.82)}.market{gap:5px;padding:8px}.market .card-tier{letter-spacing:0}.market .card-name{font-size:9px}.turn-prompt strong{font-size:12px}.turn-prompt strong>span{font-size:10px}.coin-balance strong{font-size:30px}.coin-balance img{width:35px}.dock-ship img{width:39px}.board-key{font-size:9px}}

@media(min-width:900px){.play-surface{height:calc(100vh - 401px)}}
@media(max-width:899px){.top-caption:has(.round-medallion){display:flex;margin-left:auto}.top-caption:has(.round-medallion)>span:last-child{display:none}.round-medallion{font-size:20px}.round-medallion small{font-size:12px}header:has(.round-medallion) .brand small{display:none}}

.market.order-reminder-highlight{outline:3px solid #ffe09b;outline-offset:2px}
