.mode-panel{max-height:100%;font-size:13px}.mode-panel-body{flex-direction:column;gap:6px;padding:6px 8px;display:flex;overflow-y:auto}.mode-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.mode-row-label{min-width:22px;font-weight:700}.mode-count{background:#fff;border:2px solid #e2cf9f;border-radius:8px;align-items:center;gap:3px;padding:0 5px;display:inline-flex}.mode-count.me{border-color:var(--ink)}.mode-dot{border:2px solid var(--ink);vertical-align:middle;border-radius:50%;width:10px;height:10px;margin-inline-end:3px;display:inline-block}.mode-ok{color:var(--green);font-weight:700}.mode-bad{color:var(--red);font-weight:700}.mode-hint{border:2px solid var(--ink);background:#fff3c4;border-radius:10px;padding:4px 8px}.mode-track{gap:2px;display:flex}.mode-step{background:var(--sea);border:2px solid var(--sea-dark);border-radius:6px;flex:1;place-items:center;height:24px;font-size:15px;display:grid}.mode-step.land{background:#f6e3b4;border-color:#a8884c}.mode-step.ship{border-color:var(--ink);background:#ffb3a8}.mode-coms{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mode-com{border:2px solid var(--ink);background:#fff;border-radius:10px;padding:1px 7px;font-size:15px}.mode-tracks{flex-direction:column;gap:3px;display:flex}.mode-track-row{border-inline-start:6px solid var(--tc);grid-template-columns:1fr auto auto;align-items:center;gap:6px;padding-inline-start:6px;display:grid}.mode-track-name{font-weight:700}.mode-pips{gap:3px;display:inline-flex}.mode-pip{border:2px solid var(--ink);background:#fff;border-radius:3px;width:11px;height:11px}.mode-pip.on{background:var(--tc)}.mode-pip.ability{border-radius:50%}.mode-progress{flex-wrap:wrap;gap:4px;display:flex}.mode-pcard{border:3px solid var(--ink);border-top:8px solid var(--tc);cursor:pointer;background:#fffaf0;border-radius:8px;padding:3px 6px;font-size:12px;font-weight:700;box-shadow:0 2px #3b241059}.mode-pcard:hover{transform:translateY(-2px)}.mode-choices{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.mode-dice-row{align-items:center;gap:4px;margin:4px 0;display:flex}.mode-dice-row>span{width:70px}.mode-die{border:3px solid var(--ink);cursor:pointer;background:#fff;border-radius:8px;width:32px;height:32px;font-weight:800}.mode-die.red.on{color:#fff;background:#e84a3c}.mode-die.yellow.on{background:#f2c641}.mode-com-selector{justify-content:center;gap:10px;margin:6px 0;display:flex}.mode-com-col{flex-direction:column;align-items:center;gap:3px;display:flex}.mode-com-card{border:3px solid var(--ink);background:#fff;border-radius:10px;padding:6px 10px;font-size:18px}.mode-com-card.dim{opacity:.45}.mode-pickbar{z-index:7;background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:8px;max-width:calc(100% - 24px);padding:6px 10px;font-weight:700;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}@media (width<=900px),(orientation:landscape) and (height<=520px){.mode-pickbar{bottom:76px}}[dir=rtl] .mode-count,[dir=rtl] .mode-com,[dir=rtl] .mode-die{unicode-bidi:isolate}.home.main-menu{align-items:flex-start;padding:24px 16px}.main-menu .mm-col,.main-menu .mm-wide{margin:auto}.main-menu .menu-backdrop:after{content:"";pointer-events:none;background:radial-gradient(#0b1a2e80,#0b1a2e2e 75%);position:absolute;inset:0}.main-menu .mm-col{flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:440px;display:flex}.main-menu .mm-logo-box{text-align:center;background:radial-gradient(#0b1a2e80,#0b1a2e00 70%);align-self:center;width:max-content;max-width:calc(100vw - 32px);padding:6px 8px 4px}.main-menu .mm-logo{overflow-wrap:normal;font-size:clamp(34px,9vw,76px)}.main-menu .title-sub{background:#0b1a2e80;border-radius:999px;margin-top:10px;padding:3px 14px;font-size:16px;display:inline-block}.main-menu .mm-panel{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:4px solid var(--ink);background:#fff8e7f2;border-radius:24px;flex-direction:column;gap:14px;width:100%;padding:18px;display:flex;box-shadow:0 8px #3b241073,0 18px 40px #0000004d}.main-menu .mm-wide{max-width:600px}.main-menu h3{margin:0;font-size:17px}.main-menu .mm-name{font-size:14px}.main-menu .mm-name input{padding:8px 12px;font-size:18px}.main-menu .mm-name.warn input{border-color:var(--red);animation:.35s mm-shake}.main-menu .mm-warn{color:var(--red);font-size:13px}@keyframes mm-shake{25%{transform:translate(-5px)}75%{transform:translate(5px)}}.main-menu .mm-invite{padding:10px 12px;box-shadow:0 3px #3b241059}.main-menu .mm-invite>div{flex:180px;min-width:0}.main-menu .mm-buttons{flex-direction:column;gap:12px;display:flex}.main-menu .mm-btn{border:4px solid var(--ink);width:100%;font:inherit;color:var(--ink);text-align:start;cursor:pointer;border-radius:18px;align-items:center;gap:14px;padding:10px;padding-inline-end:16px;font-size:22px;font-weight:700;transition:transform 80ms,box-shadow 80ms,filter .15s;display:flex;box-shadow:0 6px #3b241073}.main-menu .mm-btn:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 8px #3b241073}.main-menu .mm-btn:active{transform:translateY(4px);box-shadow:0 2px #3b241073}.main-menu .mm-btn:focus-visible{outline-offset:2px;outline:4px solid #fff}.main-menu .mm-btn.quick{background:linear-gradient(#ffe07a,#ffb703)}.main-menu .mm-btn.create{background:linear-gradient(#b4f0bd,#5cc878)}.main-menu .mm-btn.join{background:linear-gradient(#bfe6ff,#5cb9f2)}.main-menu .mm-btn-icon{border:3px solid var(--ink);background:#fff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font-size:28px;display:grid;box-shadow:inset 0 -3px #3b241026}.main-menu .mm-btn-text{flex-direction:column;min-width:0;line-height:1.15;display:flex}.main-menu .mm-btn-sub{opacity:.8;margin-top:2px;font-size:13px;font-weight:500}.main-menu .mm-recent{border-top:2px dashed #d8c59a;flex-direction:column;gap:6px;padding-top:12px;display:flex}.main-menu .mm-recent h3{color:#8a6d4c;font-size:14px}.main-menu .recent-row{font-size:14px}.main-menu .mm-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.main-menu .mm-title{overflow-wrap:anywhere;min-width:0;margin:0;font-size:26px;line-height:1.1}.main-menu .mm-form{flex-direction:column;gap:14px;display:flex}.main-menu .mm-toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-weight:600;display:flex}.main-menu .mm-toggle input{opacity:0;width:1px;height:1px;position:absolute}.main-menu .mm-switch{border:3px solid var(--ink);background:#e2d3ad;border-radius:14px;flex:none;width:50px;height:28px;transition:background .15s;position:relative}.main-menu .mm-switch:after{content:"";top:2px;border:2px solid var(--ink);background:#fff;border-radius:50%;width:18px;height:18px;transition:inset-inline-start .15s;position:absolute;inset-inline-start:2px}.main-menu .mm-toggle.on .mm-switch{background:var(--green)}.main-menu .mm-toggle.on .mm-switch:after{inset-inline-start:24px}.main-menu .mm-toggle input:focus-visible+.mm-switch{outline:3px solid var(--accent);outline-offset:2px}.main-menu .mm-submit{white-space:normal;justify-content:center;padding:12px 20px;font-size:22px}.main-menu .mm-browser{flex-direction:column;gap:10px;display:flex}.main-menu .mm-browser-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.main-menu .mm-refresh-icon{font-size:16px;line-height:1;display:inline-block}.main-menu .mm-refresh.spin .mm-refresh-icon{animation:.6s linear spin}.main-menu .mm-search{width:100%;max-width:none;padding:9px 12px;font-size:16px}.main-menu .mm-rooms{gap:8px;min-height:120px;max-height:min(46vh,420px);padding:4px 2px 6px}.main-menu .mm-room{border-width:3px;flex-shrink:0;padding:8px 10px;box-shadow:0 3px #3b241040}.main-menu .mm-room.is-full{opacity:.7}.main-menu .mm-room-icon{flex:none;font-size:22px}.main-menu .room-meta{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.main-menu .room-count{white-space:nowrap;flex:none}.main-menu .mm-room .btn{flex:none}.main-menu .mm-rooms .empty{padding:18px}.main-menu .mm-empty{text-align:center;background:#fff9;border:3px dashed #d8c59a;border-radius:16px;flex-direction:column;align-items:center;gap:8px;padding:18px 14px;display:flex}.main-menu .mm-empty p{margin:0;font-weight:600}.main-menu .mm-empty-icon{font-size:36px}.main-menu .mm-code{border-top:2px dashed #d8c59a;flex-direction:column;gap:6px;padding-top:12px;display:flex}.main-menu .mm-code-label{font-weight:700}.main-menu .join-row{flex-wrap:wrap}.main-menu .join-row .code-input{flex:140px}.main-menu .join-row .btn{flex:auto;justify-content:center}@media (width<=600px){.home.main-menu{padding-top:60px}.main-menu .mm-panel{border-radius:20px;padding:14px}.main-menu .mm-btn{gap:12px;font-size:19px}.main-menu .mm-btn-icon{width:44px;height:44px;font-size:23px}.main-menu .mm-title{font-size:22px}.main-menu .mm-submit{font-size:19px}.main-menu .mm-room{gap:8px}.main-menu .mm-room-icon{font-size:18px}}:root{--ink:#3b2410;--paper:#fff8e7;--paper-2:#f7e9c6;--wood:#b07a43;--wood-dark:#7a5326;--sea:#2f8fd6;--sea-dark:#1d5f99;--accent:#ffb703;--green:#2fb35a;--red:#e84a3c;--shadow:0 4px 0 #3b241059;--radius:16px;color:var(--ink);font-family:Fredoka,"Baloo 2",Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(at top,#6fcaf5 0%,#2f8fd6 55%,#1d5f99 100%) fixed;overflow:hidden}button{color:inherit;font-family:inherit}input{color:var(--ink);font-family:inherit;font-size:16px}.muted{color:#8a6d4c}.small{font-size:12px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:3px solid var(--ink);cursor:pointer;box-shadow:var(--shadow);white-space:nowrap;background:#fff;border-radius:12px;align-items:center;gap:6px;padding:7px 12px;font-size:15px;font-weight:600;transition:transform 80ms,box-shadow 80ms,background .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px #3b241059}.btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #3b241059}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:linear-gradient(#ffd24d,#ffb703)}.btn.end{color:#fff;text-shadow:0 1px #00000059;background:linear-gradient(#7ee08f,#2fb35a)}.btn.big{padding:11px 20px;font-size:18px}.btn.small{border-width:2px;padding:4px 9px;font-size:13px;box-shadow:0 2px #3b241059}.btn.build.on{background:linear-gradient(#9fd8ff,#4fb3f0)}.btn .cost{letter-spacing:-2px;font-size:13px}.mini{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:8px;width:26px;height:22px;font-weight:700;line-height:1}.mini:disabled{opacity:.3;cursor:default}.pulse-btn{animation:1.1s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.tabs{gap:6px;margin-bottom:10px;display:flex}.tab{border:2px solid var(--ink);background:var(--paper-2);cursor:pointer;border-radius:10px;padding:5px 12px;font-weight:600}.tab.active{background:var(--accent)}.tab:disabled{opacity:.4}.home{justify-content:center;align-items:center;height:100%;min-height:100%;padding:16px;display:flex;overflow:auto}.home-card,.lobby-card{background:var(--paper);border:4px solid var(--ink);border-radius:24px;flex-direction:column;gap:14px;width:100%;max-width:420px;padding:24px;display:flex;box-shadow:0 8px #3b241066}.lobby-card{max-width:900px;max-height:calc(100vh - 32px);overflow:auto}.home-logo{text-align:center}.home-logo h1{color:#e07a1f;text-shadow:3px 3px 0 var(--ink);-webkit-text-stroke:1.5px var(--ink);margin:4px 0;font-size:40px}.big-emoji{font-size:64px;animation:2s ease-in-out infinite bob;display:inline-block}.field{flex-direction:column;gap:4px;font-weight:600;display:flex}.field input{border:3px solid var(--ink);background:#fff;border-radius:12px;padding:9px 12px}.field.inline{flex-direction:row;align-items:center;gap:8px}.field.inline input[type=number]{width:70px;padding:5px 8px}.field.check input{width:20px;height:20px}.or{text-align:center;color:#8a6d4c}.join-row{gap:8px;display:flex}.code-input::placeholder{letter-spacing:normal;text-transform:none;font-size:16px;font-weight:500}.code-input{border:3px solid var(--ink);text-transform:uppercase;letter-spacing:6px;text-align:center;border-radius:12px;flex:1;min-width:0;padding:9px 12px;font-size:22px;font-weight:700}.lobby-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.lobby-head h2{margin:0;font-size:28px}.lobby-cols{grid-template-columns:1fr 1.6fr;gap:20px;display:grid}.lobby-cols h3{margin:6px 0 8px}.seat-list{flex-direction:column;gap:6px;display:flex}.seat{border:3px solid var(--ink);border-left:10px solid var(--pc);background:#fff;border-radius:12px;align-items:center;gap:8px;padding:6px 10px;font-weight:600;display:flex}.seat-name{flex:1}.offline{color:var(--red);font-size:12px}.kick-btn{border:2px solid var(--ink);cursor:pointer;width:24px;height:24px;color:var(--red);background:#fff;border-radius:50%;padding:0;font-size:12px;font-weight:800;line-height:18px}.kick-btn:hover{background:#ffe1dc}.color-row{flex-wrap:wrap;gap:8px;display:flex}.color-dot{border:3px solid var(--ink);cursor:pointer;width:34px;height:34px;box-shadow:var(--shadow);border-radius:50%}.color-dot.chosen{outline:4px solid var(--accent);outline-offset:2px}.scenario-list{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.scenario{text-align:left;border:3px solid var(--ink);cursor:pointer;background:#fff;border-radius:14px;padding:8px 10px;box-shadow:0 3px #3b24104d}.scenario:disabled{cursor:default}.scenario.chosen{outline:3px solid var(--accent);background:linear-gradient(#fff3c4,#ffe08a)}.sc-name{font-weight:700}.sc-desc{color:#6e5235;margin:2px 0;font-size:12px}.sc-players{color:var(--sea-dark);font-size:12px;font-weight:600}.lobby-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.home-page,.lobby-page{background:var(--paper);border:4px solid var(--ink);border-radius:24px;flex-direction:column;gap:14px;width:100%;margin:auto;padding:22px 24px;display:flex;box-shadow:0 8px #3b241066}.home-page{max-width:560px}.home-page h3,.lobby-page h3{margin:0 0 6px}.name-field input{font-size:18px}.invite-card{border:3px solid var(--ink);background:linear-gradient(#fff3c4,#ffe08a);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-weight:600;display:flex}.code-badge{border:2px solid var(--ink);letter-spacing:2px;background:#fff;border-radius:8px;padding:0 6px;font-weight:800;display:inline-block}.home-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-tile{white-space:normal;text-align:center;flex-direction:column;justify-content:center;padding:12px 8px}.action-tile.on{background:linear-gradient(#9fd8ff,#4fb3f0)}.tile-icon{font-size:30px;line-height:1.1}.tile-sub{opacity:.8;font-size:12px;font-weight:500}.create-box{border:3px dashed var(--ink);background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:12px 14px;display:flex}.browser{flex-direction:column;gap:6px;display:flex}.browser-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.search,.link-row input,.pw-input{border:3px solid var(--ink);background:#fff;border-radius:12px;min-width:0;padding:7px 10px}.search{flex:1;max-width:260px}.room-list{flex-direction:column;gap:6px;max-height:260px;padding:2px;display:flex;overflow:auto}.room-list .empty{border:2px dashed #d8c59a;border-radius:12px;padding:14px}.room-row{border:2px solid var(--ink);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;display:flex}.room-main{flex:1;min-width:0}.room-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.room-count{font-weight:700}.room-count.full{color:var(--red)}.recent{flex-direction:column;gap:6px;display:flex}.recent-row{align-items:center;gap:8px;display:flex}.recent-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.pw-form{flex-direction:column;gap:8px;display:flex}.error-text{color:var(--red);font-weight:700}.modal-actions.gap{gap:8px}.lobby{height:100%;min-height:100%;padding:16px;display:flex;overflow:auto}.lobby-page{max-width:1000px;padding-bottom:0}.invite{border:3px solid var(--ink);background:#fff;border-radius:16px;flex-wrap:wrap;align-items:stretch;gap:16px;padding:10px 14px;display:flex}.invite-code{text-align:center}.code-big{letter-spacing:8px;color:#e07a1f;-webkit-text-stroke:1.5px var(--ink);text-shadow:2px 2px 0 var(--ink);font-size:40px;font-weight:800}.invite-link{flex-direction:column;flex:1;gap:6px;min-width:240px;display:flex}.link-row{gap:8px;display:flex}.link-row input{flex:1;font-size:14px}.small-check{font-size:13px;font-weight:500}.online{color:var(--green);font-size:12px;font-weight:600}.seat.empty{background:0 0;border-style:dashed;border-left-width:3px;border-left-color:#b9a47a;font-weight:500}.pc-avatar.ghost{color:#8a6d4c;text-shadow:none;box-shadow:none;background:#e9dcbc}.color-dot:disabled{opacity:.25;cursor:not-allowed}.lobby-page .lobby-actions{z-index:2;background:linear-gradient(#fff8e700, var(--paper) 18%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;padding:16px 0 18px;display:flex;position:sticky;bottom:0}.btn.huge{border-width:4px;border-radius:16px;padding:14px 34px;font-size:24px}.waiting{align-items:center;gap:10px;margin:0 auto;font-size:18px;font-weight:700;display:flex}.spinner{border:3px solid var(--ink);vertical-align:-3px;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=700px){.home-page,.lobby-page{padding:14px}.lobby{padding:6px}.lobby-cols{grid-template-columns:1fr!important}.lobby-page .lobby-actions .btn.huge{justify-content:center;width:100%}}.game{grid-template:"top top""players board"minmax(0,1fr)"hand hand"/250px minmax(0,1fr);gap:8px;height:100dvh;padding:8px;display:grid}.topbar{flex-wrap:wrap;grid-area:top;justify-content:space-between;align-items:center;gap:10px;display:flex}.logo{color:#fff;text-shadow:2px 2px 0 var(--ink);-webkit-text-stroke:1px var(--ink);font-size:24px;font-weight:700}.topinfo{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:2px 10px;font-size:13px}.chip-btn{background:var(--paper);border:2px solid var(--ink);cursor:pointer;border-radius:999px;padding:3px 12px;font-size:14px;font-weight:600;position:relative;box-shadow:0 2px #3b241059}.chip-btn.on{background:var(--accent)}.unread{background:var(--red);color:#fff;border:2px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 4px;font-size:11px;display:flex;position:absolute;top:-8px;right:-8px}.pc-avatar{background:radial-gradient(circle at 35% 30%, #fff8 0 18%, transparent 19%), var(--pc);border:3px solid var(--ink);color:#fff;width:34px;height:34px;text-shadow:0 1px 0 var(--ink), 0 -1px 0 var(--ink), 1px 0 0 var(--ink), -1px 0 0 var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:inline-flex;box-shadow:0 2px #3b241059}.trade-card:disabled{opacity:1;box-shadow:none;background:linear-gradient(160deg,#f4f1ea,#d9d4c8);border-color:#9c9182}.trade-card:disabled .res-emoji{filter:grayscale();opacity:.45}.board-wrap{flex-direction:column;grid-area:board;min-height:0;display:flex;position:relative}.board-stage{border:3px solid var(--ink);box-shadow:inset 0 0 40px #00000059, var(--shadow);background:#1f66a6;border-radius:18px;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.board{-webkit-user-select:none;user-select:none;touch-action:none;cursor:grab;flex:1;width:100%;height:100%;min-height:0}.board:active{cursor:grabbing}.token-move{transition:transform .9s cubic-bezier(.5,-.4,.4,1.4)}.zoom-ctl{z-index:3;flex-direction:column;gap:6px;display:flex;position:absolute;top:8px;right:8px}.zoom-btn{border:3px solid var(--ink);background:var(--paper);cursor:pointer;width:38px;height:38px;box-shadow:var(--shadow);border-radius:12px;font-size:20px;font-weight:800;line-height:1}.zoom-btn:disabled{opacity:.4;cursor:default}.status-area{z-index:4;pointer-events:none;flex-direction:column;align-items:center;gap:4px;width:min(640px,100% - 110px);display:flex;position:absolute;top:6px;left:50%;transform:translate(-50%)}.status{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow);text-align:center;border-radius:999px;align-items:center;gap:8px;padding:6px 18px;font-size:16px;font-weight:700;display:inline-flex}.status.mine{background:linear-gradient(#fff3c4,#ffd24d);animation:1.6s ease-in-out infinite bob}.ticker{pointer-events:none;flex-direction:column;align-items:center;gap:2px;display:flex}.ticker-item{text-overflow:ellipsis;white-space:nowrap;background:#fff8e7c7;border-inline-start:5px solid #d8c59a;border-radius:8px;max-width:100%;padding:1px 10px;font-size:12.5px;animation:4.5s ease-in forwards ticker-life;overflow:hidden}@keyframes ticker-life{0%{opacity:0;transform:translateY(-4px)}6%,80%{opacity:.9;transform:none}to{opacity:0;visibility:hidden}}.dice-box{border:3px solid var(--ink);box-shadow:var(--shadow);z-index:3;background:#fff8e7f2;border-radius:16px;align-items:center;gap:6px;padding:6px 10px;display:flex;position:absolute;top:8px;right:56px}.dice-box.seven{background:linear-gradient(#ffd6cf,#ff9c8f)}.dice-roll{gap:4px;animation:.7s ease-out roll;display:flex}@keyframes roll{0%{transform:translate(var(--roll-from,-120px), 60px) rotate(-320deg) scale(.5);opacity:0}70%{transform:rotate(15deg)scale(1.2)}to{opacity:1;transform:rotate(0)scale(1)}}.dice-sum{text-align:center;min-width:36px;font-size:28px;font-weight:800}.route-toggle{z-index:3;gap:6px;display:flex;position:absolute;bottom:8px;left:8px}.target{cursor:pointer}.dim-layer{fill:#0b1a2e;opacity:.3;pointer-events:none;animation:.2s fadein}.hex-target{fill:#ffffff14;stroke:none}.hex-target-g:hover .hex-target{fill:#ffe14d61}.vertex-vis,.edge-vis{transform-box:fill-box;transform-origin:50%;filter:drop-shadow(0 0 5px #fff0aae6);animation:1.1s ease-in-out infinite ghost}.vertex-target:hover .vertex-vis,.edge-target:hover .edge-vis{filter:drop-shadow(0 0 7px #ffe14d);animation:none;transform:scale(1.25)}.hex-hot{fill:#fff09652;stroke:#ffe14d;stroke-width:7px;stroke-linejoin:round;pointer-events:none;filter:drop-shadow(0 0 6px #ffe14d)drop-shadow(0 0 12px #ffc828cc);animation:.9s ease-in-out 4 forwards hot-glow}@keyframes hot-glow{0%,to{opacity:.45}50%{opacity:1}}.hot-ring{filter:drop-shadow(0 0 4px #ffe14d)}@keyframes ghost{0%,to{transform:scale(.92)}50%{transform:scale(1.08)}}@keyframes fadein{0%{opacity:0}}@keyframes dash{to{stroke-dashoffset:-20px}}.pulse{animation:1.2s ease-in-out infinite glow}@keyframes glow{0%,to{opacity:.35}50%{opacity:.95}}.selected-piece{filter:drop-shadow(0 0 3px #fff)drop-shadow(0 0 6px #ffe14d)}.drawer{z-index:6;width:min(340px,100% - 70px);display:flex;position:absolute;top:60px;bottom:8px;right:54px}.drawer .panel{flex:1}.panel{background:var(--paper);border:3px solid var(--ink);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel-title{background:var(--paper-2);border-bottom:2px solid var(--ink);justify-content:space-between;align-items:center;padding:6px 10px;font-weight:700;display:flex}.log-list,.chat-list{flex:1;padding:6px 8px;font-size:13px;overflow-y:auto}.log-item{border-inline-start:4px solid #d8c59a;margin:3px 0;padding:1px 6px}.chat-item{word-wrap:break-word;margin:3px 0}.chat-name{-webkit-text-stroke:.3px var(--ink)}.chat-form{border-top:2px solid var(--ink);gap:4px;padding:6px;display:flex}.chat-form input{border:2px solid var(--ink);border-radius:10px;flex:1;min-width:0;padding:4px 8px;font-size:14px}@keyframes bump{40%{transform:translateY(-14px)scale(1.12)}}.build-btn{border:3px solid var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:12px;grid-template-columns:auto auto;grid-template-areas:"icon label""icon cost";align-items:center;column-gap:6px;padding:4px 9px 4px 6px;transition:transform 80ms;display:grid;box-shadow:0 3px #3b241059}.build-btn:hover:not(.off){transform:translateY(-2px)}.build-btn.on{background:linear-gradient(#9fd8ff,#4fb3f0)}.build-btn.off{opacity:.5;cursor:help;box-shadow:none}.build-icon{grid-area:icon;font-size:24px}.build-label{grid-area:label;font-size:13px;font-weight:700;line-height:1.1}.build-btn .cost{letter-spacing:-2px;grid-area:cost;font-size:12px}.dev-card{border:3px solid var(--ink);cursor:pointer;background:linear-gradient(#efe3ff,#b79cf0);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;width:70px;height:96px;padding:2px;transition:transform .1s;display:flex;position:relative;box-shadow:0 5px #3b241066}.dev-card:hover:not(.off){transform:translateY(-6px)rotate(-2deg)}.dev-card.off{cursor:help;filter:saturate(.4);opacity:.7}.dev-icon{font-size:30px}.dev-name{text-align:center;font-size:10px;font-weight:700;line-height:1.05}.hint-bubble{background:var(--ink);color:#fff;z-index:20;text-align:center;cursor:pointer;border-radius:12px;max-width:90vw;padding:7px 14px;font-size:14px;font-weight:600;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)}.res-card{border:3px solid var(--ink);background:linear-gradient(160deg, #fff 0%, var(--rc) 70%);border-radius:10px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:76px;display:flex;position:relative;box-shadow:0 3px #3b241059}.res-card.small{border-width:2px;border-radius:7px;width:34px;height:44px}.res-card.small .res-emoji{font-size:17px}.res-card.small .res-count{min-width:18px;height:18px;font-size:11px;top:-7px;right:-7px}.res-card.clickable{cursor:pointer;transition:transform .1s}.res-card.clickable:hover{transform:translateY(-4px)}.res-card.dim{opacity:.45}.res-emoji{filter:drop-shadow(0 1px #0000004d);font-size:28px}.res-label{background:#ffffffd9;border-radius:5px;padding:0 3px;font-size:9.5px;font-weight:700}.res-count{border:2px solid var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:24px;height:24px;padding:0 4px;font-size:14px;font-weight:700;display:flex;position:absolute;top:-9px;right:-9px}.res-row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.res-line{vertical-align:middle;flex-wrap:wrap;gap:4px;display:inline-flex}.res-chip{background:var(--rc);border:1.5px solid var(--ink);border-radius:8px;padding:0 6px;font-size:15px;font-weight:700}.res-selector{justify-content:center;gap:10px;display:flex}.res-sel-col{flex-direction:column;align-items:center;gap:4px;display:flex}.res-sel-max{color:#8a6d4c;font-size:11px}.ratio{font-size:13px;font-weight:800}.trade-dock{z-index:7;background:var(--paper);border:3px solid var(--ink);border-radius:var(--radius);flex-direction:column;gap:6px;width:min(430px,100% - 70px);max-height:calc(100% - 70px);padding:10px 12px 12px;display:flex;position:absolute;bottom:8px;right:54px;overflow:auto;box-shadow:0 6px #3b241066}.dock-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.dock-head .tabs{flex-wrap:wrap;margin:0}.trade-label{margin-top:4px;font-size:13px;font-weight:700}.trade-row{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.trade-cell{border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:3px 0;display:flex}.trade-cell.picked{background:#ffe9a8}.trade-card{aspect-ratio:3/4;border:3px solid var(--ink);background:linear-gradient(160deg, #fff 0%, var(--rc) 70%);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:100%;max-width:64px;padding:0;transition:transform 80ms;display:flex;position:relative;box-shadow:0 3px #3b241059}.trade-card:hover:not(:disabled){transform:translateY(-3px)}.trade-card:disabled{opacity:.35;cursor:not-allowed}.trade-cell-foot{align-items:center;gap:4px;display:flex}.dock-actions{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.trade-dock .dock-actions{z-index:1;background:var(--paper);margin:6px -12px -12px;padding:8px 12px 12px;position:sticky;bottom:-12px}.offer-box{border-top:2px dashed #d8c59a;flex-direction:column;align-items:flex-start;gap:6px;margin-top:6px;padding-top:8px;display:flex}.trade-title{font-weight:700}.trade-responses{flex-direction:column;gap:4px;width:100%;display:flex}.trade-resp{align-items:center;gap:6px;display:flex}.resp-name{flex:1}.resp-no{color:var(--red);font-weight:600}.trade-pill{z-index:6;border:3px solid var(--ink);cursor:pointer;box-shadow:var(--shadow);background:linear-gradient(#fff3c4,#ffd24d);border-radius:999px;padding:7px 14px;font-weight:700;position:absolute;bottom:8px;right:54px}.incoming-offer{z-index:7;background:var(--paper);border:3px solid var(--ink);border-top:8px solid var(--pc);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;min-width:300px;padding:10px 16px 12px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%);box-shadow:0 6px #3b241066}.offer-sides{align-items:center;gap:14px;display:flex}.offer-arrow{font-size:22px;font-weight:800}.center{text-align:center;justify-content:center}.dot{border:2px solid var(--ink);border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.modal-backdrop{z-index:50;background:#0a1e3c73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border:4px solid var(--ink);border-radius:22px;width:100%;max-width:560px;max-height:calc(100vh - 32px);padding:16px 20px 20px;overflow:auto;box-shadow:0 8px #3b241073}.modal-title{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:22px;font-weight:700;display:flex}.close-btn{border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:50%;flex-shrink:0;width:32px;height:32px;font-weight:700}.close-btn.small{width:26px;height:26px;font-size:12px}.hint{margin:8px 0}.modal-actions{justify-content:flex-end;margin-top:14px;display:flex}.steal-list{flex-direction:column;gap:8px;display:flex}.player-btn{border-left:12px solid var(--pc);justify-content:space-between}.pop-in{animation:.25s cubic-bezier(.3,1.6,.5,1) popin}@keyframes popin{0%{opacity:0;scale:.7}to{opacity:1;scale:1}}.gameover{text-align:center}.gameover h2{margin:4px 0}.trophy{font-size:64px;line-height:1.1;animation:1.5s ease-in-out infinite bob}.final-list{flex-direction:column;gap:6px;margin:12px 0 18px;display:flex}.final-row{border:2px solid var(--ink);border-left:10px solid var(--pc);text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;padding:5px 10px;display:flex}.final-row.winner{background:linear-gradient(#fff8d6,#ffe08a);border-width:3px 3px 3px 12px}.final-name{flex:1;font-weight:700}.final-parts{flex-wrap:wrap;gap:8px;font-weight:400;display:flex}.final-row b{font-size:18px}.fx-layer{pointer-events:none;z-index:40;position:fixed;inset:0}.fx-flight{filter:drop-shadow(0 3px 2px #00000073);opacity:0;font-size:30px;animation:.95s cubic-bezier(.45,0,.3,1) forwards fly;position:fixed;translate:-50% -50%}@keyframes fly{0%{opacity:0;transform:translate(0)scale(.4)}15%{opacity:1;transform:translateY(-26px)scale(1.35)}85%{opacity:1;transform:translate(var(--dx), var(--dy)) scale(1)}to{opacity:0;transform:translate(var(--dx), var(--dy)) scale(.6)}}.fx-banner{flex-direction:column;align-items:center;animation:1.7s ease-in-out forwards banner;display:flex;position:fixed;top:42%;left:50%;translate:-50% -50%}.fx-banner-robber{filter:drop-shadow(0 6px #00000059);font-size:110px;animation:.35s ease-in-out 3 shake}.fx-banner-text{color:#ff5a4a;-webkit-text-stroke:4px var(--ink);text-shadow:0 6px 0 var(--ink);font-size:90px;font-weight:800;line-height:.9}.fx-banner-sub{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:999px;margin-top:10px;padding:4px 18px;font-size:22px;font-weight:700}@keyframes banner{0%{opacity:0;scale:.3}15%{opacity:1;scale:1.1}25%,80%{opacity:1;scale:1}to{opacity:0;scale:.9}}@keyframes shake{25%{rotate:-12deg}75%{rotate:12deg}}.fx-toasts{flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:150px;left:50%;translate:-50%}.fx-toast{background:var(--ink);color:#fff;border-radius:12px;padding:8px 16px;font-weight:600;box-shadow:0 4px #0000004d}.toast{border:3px solid var(--ink);z-index:100;box-shadow:var(--shadow);cursor:pointer;border-radius:14px;max-width:calc(100vw - 32px);padding:8px 16px;font-weight:600;animation:.25s popin;position:fixed;top:12px;left:50%;transform:translate(-50%)}.toast.error{background:#ffd6cf}.toast.warn{background:#fff1b8}@media (width<=900px){.game{grid-template:"top""players""board"minmax(0,1fr)"hand"/minmax(0,1fr);gap:6px;padding:6px}.pc-avatar{width:26px;height:26px;font-size:13px}.lobby-cols,.scenario-list{grid-template-columns:1fr}.logo{font-size:19px}.hide-sm{display:none}.status{padding:4px 12px;font-size:13px}.ticker{display:none}.dice-box{--roll-from:120px;padding:3px 6px;inset:auto auto 8px 8px}.dev-card{width:50px;height:74px}.dev-icon{font-size:22px}.dev-name{font-size:8px}.build-btn{padding:3px 6px 3px 4px}.build-icon{font-size:18px}.build-label{font-size:11px}.btn.big{padding:8px 12px;font-size:15px}.trade-dock,.drawer{width:auto;left:6px;right:6px}.incoming-offer{width:calc(100% - 16px);min-width:0}}@media (width<=520px){.build-btn .cost{display:none}.res-card{width:46px;height:62px}.res-emoji{font-size:22px}.res-selector{gap:4px}.lobby-actions{background:var(--paper);padding:8px 0;position:sticky;bottom:0}}.table-cards{z-index:3;pointer-events:none;align-items:flex-end;gap:10px;display:flex;position:absolute;bottom:10px;left:10px}.table-cards>*{pointer-events:auto}.deck{cursor:pointer;background:0 0;border:none;width:62px;height:84px;padding:0;position:relative}.deck:disabled{opacity:.4;cursor:default}.deck-card{border:3px solid var(--ink);background:repeating-linear-gradient(45deg,#8f6ad8 0 6px,#7a55c4 6px 12px);border-radius:10px;position:absolute;inset:0;box-shadow:0 3px #00000059}.deck-card.c3{transform:translate(-6px,-6px)rotate(-6deg)}.deck-card.c2{transform:translate(-3px,-3px)rotate(-3deg)}.deck-card.c1{background:linear-gradient(#efe3ff,#b79cf0);flex-direction:column;justify-content:center;align-items:center;transition:transform .12s;display:flex}.deck.can:hover .deck-card.c1{transform:translateY(-6px)rotate(2deg)}.deck.can .deck-card.c1{box-shadow:0 0 0 3px #ffe14d,0 3px #00000059}.deck-icon{font-size:26px}.deck-count{border:2px solid var(--ink);background:#fff;border-radius:999px;padding:0 7px;font-size:15px;font-weight:800}.cost-card{border:3px solid var(--ink);box-shadow:var(--shadow);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff8e7f2;border-radius:12px;padding:5px 9px;font-size:12.5px}.cost-title{text-transform:uppercase;letter-spacing:.5px;color:#8a6d4c;font-size:12px;font-weight:800}.cost-row{grid-template-columns:22px auto auto;justify-content:start;align-items:center;gap:4px 6px;display:grid}.cost-row .cost{letter-spacing:-2px;font-size:13px}.cost-label{white-space:nowrap;font-weight:600}.vertex-target.soft .vertex-vis,.edge-target.soft .edge-vis{opacity:.85;filter:drop-shadow(0 0 3px #ffffffe6);animation-duration:1.8s}.vertex-target.soft:hover .vertex-vis,.edge-target.soft:hover .edge-vis{opacity:1;filter:drop-shadow(0 0 7px #ffe14d)}.menu-wrap{position:relative}.menu{z-index:30;background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:14px;flex-direction:column;min-width:230px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}.menu button{text-align:left;cursor:pointer;background:0 0;border:none;padding:10px 14px;font-size:15px;font-weight:600}.menu button:hover{background:#ffe9a8}.menu button+button{border-top:2px solid #ecdcb5}.skip-btn{justify-content:center;width:100%;margin-top:6px}@media (width<=900px){.table-cards{bottom:6px;left:auto;right:6px}.cost-card.closed+*,.cost-row .cost-label{font-size:11px}}@media (width<=1300px){.board-wrap:has(>.trade-dock) .cost-card{visibility:hidden}}.home{position:relative}.menu-backdrop{z-index:0;background:#1f66a6;position:fixed;inset:0;overflow:hidden}.menu-board{filter:saturate(1.05);width:110%;height:110%;margin:-5%;animation:40s ease-in-out infinite alternate drift}@keyframes drift{0%{transform:scale(1.05)translate(-1.5%,-1%)}to{transform:scale(1.15)translate(1.5%,1%)}}.home>:not(.menu-backdrop):not(.modal-backdrop):not(.lang-picker){z-index:1;position:relative}.title-screen{justify-content:center;align-items:center;display:flex}.title-box{text-align:center;background:radial-gradient(#0b1a2e8c,#0b1a2e00 70%);flex-direction:column;align-items:center;gap:18px;min-width:0;max-width:100%;padding:28px 36px 34px;display:flex}@media (width<=520px){.title-box{padding:56px 8px 24px}}.title-logo{overflow-wrap:anywhere;color:#ffb703;-webkit-text-stroke:3px var(--ink);max-width:100%;text-shadow:0 6px 0 var(--ink), 0 12px 24px #00000073;letter-spacing:1px;margin:0;font-size:clamp(30px,10vw,96px);line-height:1.05}.title-sub{color:#fff;text-shadow:0 2px 0 var(--ink), 0 0 12px #0009;margin:0;font-size:18px;font-weight:700}.play-btn{border-radius:22px;padding:18px 56px;font-size:clamp(24px,4vw,34px);animation:1.6s ease-in-out infinite bob;box-shadow:0 8px #3b241080,0 16px 30px #00000059}.home-top{align-items:center;gap:12px;display:flex}.menu-logo{color:#e07a1f;-webkit-text-stroke:1.5px var(--ink);text-shadow:2px 2px 0 var(--ink);margin:0;font-size:30px}.home-page{max-height:calc(100dvh - 32px);overflow:auto}@media (width<=900px){.chip-btn .lbl,.topinfo .chip:first-child{display:none}.topbar{flex-wrap:nowrap}.incoming-offer{gap:4px;padding:6px 10px 8px}}.lang-picker{background:var(--paper);border:2px solid var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:4px;padding:3px 6px 3px 8px;font-weight:600;display:inline-flex;box-shadow:0 2px #3b241059}.lang-picker select{font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:none;max-width:150px;padding:2px 0;font-size:14px}.lang-picker select:focus{outline:none}.lang-picker:focus-within{outline:3px solid var(--accent)}.lang-picker.corner{top:14px;z-index:3;position:absolute;inset-inline-end:14px}.home-top .lang-picker{margin-inline-start:auto}.menu .menu-lang{border-top:2px solid #ecdcb5;padding:8px 12px}.menu .menu-lang .lang-picker{width:100%;box-shadow:none}.menu .menu-lang select{flex:1;max-width:none}[dir=rtl] .menu{left:0;right:auto}[dir=rtl] .menu button{text-align:right}[dir=rtl] .code-badge,[dir=rtl] .code-big,[dir=rtl] .code-input,[dir=rtl] .link-row input,[dir=rtl] .dice-box,[dir=rtl] .fx-float.gain,[dir=rtl] .cost{direction:ltr}.home-top{flex-wrap:wrap;row-gap:6px}.show-sm{display:none}.players .mode-side{flex-direction:column;flex-shrink:0;margin-top:2px;display:flex}.mode-side .mode-panel{max-height:none}.mode-drawer{max-height:calc(100% - 68px);bottom:auto}.mode-drawer .mode-panel{max-height:100%}.mode-drawer .mode-panel-body{flex:1;min-height:0}.mode-panel .panel-title{justify-content:space-between;align-items:center;gap:6px;display:flex}@media (width<=900px){.show-sm{display:inline-block}.players .mode-side{display:none}}.event-die{border:2.5px solid var(--ink);background:#fffdf6;border-radius:9px;justify-content:center;align-items:center;width:40px;height:40px;margin:2px;font-size:22px;display:inline-flex;box-shadow:0 2px #c9b98f}.event-die.ship{background:#3b2410}.event-die.trade{background:#fff1b8}.event-die.politics{background:#d4e3ff}.event-die.science{background:#d2f5dd}.fx-float{white-space:nowrap;color:#fff;-webkit-text-stroke:1px var(--ink);text-shadow:0 2px 0 var(--ink), 0 0 6px #00000059;font-size:16px;font-weight:800;animation:2.2s ease-out both fx-float;position:fixed;translate:-50% -50%}@keyframes fx-float{0%{opacity:0;transform:translateY(6px)scale(.6)}15%{opacity:1;transform:translateY(-6px)scale(1.1)}75%{opacity:1;transform:translateY(-34px)scale(1)}to{opacity:0;transform:translateY(-48px)scale(.95)}}.fx-banner.barbarians .fx-banner-text{color:#ffb03b;text-align:center;font-size:64px}.fx-banner.barbarians .fx-banner-sub{text-align:center;max-width:min(90vw,560px)}@media (width<=520px){.fx-banner.barbarians .fx-banner-text{font-size:40px}.fx-banner.barbarians .fx-banner-sub{font-size:16px}.fx-banner .fx-banner-robber{font-size:80px}}.ck-switch{border:2px dashed #c9a86a;border-radius:12px;align-items:flex-start;margin:8px 0 4px;padding:8px 10px}.ck-switch.on{border-style:solid;border-color:var(--ink);background:#fff6d8}.ck-switch input{flex-shrink:0;margin-top:2px}.ck-switch-hint{margin-top:2px;font-weight:400;display:block}.logo{white-space:nowrap}.status-area{max-width:calc(100% - 100px)}.resign-banner{pointer-events:auto;border:3px solid var(--ink);padding:4px 6px;box-shadow:var(--shadow);text-align:center;background:#ffe1dc;border-radius:14px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;padding-inline-start:12px;font-size:14px;font-weight:700;display:flex}.piece-light{filter:drop-shadow(0 0 .8px #1b1108)drop-shadow(0 0 .8px #1b1108)drop-shadow(0 1.5px 1px #00000073)}.fx-float.gain{color:#ffe14d;-webkit-text-stroke:0;text-shadow:none;background:#1b1108e0;border:2px solid #ffe14d;border-radius:999px;padding:1px 9px 2px;font-size:19px;animation-duration:1.9s;box-shadow:0 0 10px #ffe14dcc}.mode-group{display:contents}.mode-group-btn .group-count{letter-spacing:0;color:#8a6d4c;font-size:11px;font-weight:700}.mode-pop{bottom:calc(100% + 8px);z-index:25;background:var(--paper);border:3px solid var(--ink);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-width:min(460px,100% - 16px);padding:8px;display:grid;position:absolute;inset-inline-start:8px;box-shadow:0 6px #3b241066}.gameover{position:relative}.over-close{z-index:1;top:10px;position:absolute;inset-inline-end:10px}.over-actions{flex-direction:column;align-items:center;gap:10px;display:flex}.over-actions p{margin:0}.over-reopen{z-index:8;position:absolute;bottom:14px;left:50%;translate:-50%}.trade-dock{max-height:calc(100% - var(--status-h,44px) - 24px);background:linear-gradient(var(--paper) 30%, #fff8e700) center top, linear-gradient(#fff8e700, var(--paper) 70%) center bottom, radial-gradient(farthest-side at 50% 0, #3b24104d, #3b241000) center top, radial-gradient(farthest-side at 50% 100%, #3b24104d, #3b241000) center bottom, var(--paper);background-repeat:no-repeat;background-size:100% 36px,100% 36px,100% 12px,100% 12px,100% 100%;background-attachment:local,local,scroll,scroll,scroll}.trade-dock .offer-box{border-top:none;border:2px solid var(--ink);background:#fff7dc;border-radius:12px;margin-top:0;padding:8px 10px}.offer-lines{flex-direction:column;gap:4px;width:100%;display:flex}.offer-line{flex-wrap:wrap;align-items:center;gap:4px 8px;display:flex}.offer-lbl{color:#8a6d4c;min-width:96px;font-size:12px;font-weight:700}.offer-btns{flex-wrap:wrap;gap:8px;display:flex}.trade-pickers{flex-direction:column;gap:6px;display:flex}.trade-edit{display:none}.trade-edit.on{background:linear-gradient(#9fd8ff,#4fb3f0)}.modal .res-card{width:64px;height:88px}.modal .res-card .res-emoji{font-size:34px}.modal .res-card .res-label{font-size:11px}.lobby-settings{border:3px solid var(--ink);background:#fff;border-radius:14px;flex-direction:column;gap:8px;margin-bottom:12px;padding:8px 12px;display:flex}.lobby-settings .ck-switch{margin:0}.sc-groups{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.sc-group{border:3px solid var(--ink);background:var(--paper-2);border-radius:14px;overflow:hidden}.sc-group.has-chosen{background:linear-gradient(#fff6d8,#ffe9a8)}.sc-group-head{width:100%;font:inherit;cursor:pointer;text-align:start;background:0 0;border:none;align-items:center;gap:8px;padding:8px 12px;font-size:16px;font-weight:700;display:flex}.sc-group-head:hover{background:#ffffff80}.sc-group-name{flex-shrink:0}.sc-group-chosen{text-overflow:ellipsis;white-space:nowrap;color:#6e5235;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.sc-group-count{background:#fff;border:2px solid #d8c59a;border-radius:999px;margin-inline-start:auto;padding:0 7px;font-weight:700}.sc-group-chosen+.sc-group-count{margin-inline-start:0}.sc-group .scenario-list{margin:0;padding:0 10px 10px}.scenario-list.single{grid-template-columns:1fr}.scenario{text-align:start}@media (width<=900px){.dice-box svg{width:32px;height:32px}.dice-sum{min-width:22px;font-size:20px}.dice-box .event-die{width:30px;height:30px;font-size:16px}.deck{width:46px;height:62px}.deck-icon{font-size:20px}.deck-count{font-size:12px}.trade-dock{top:calc(var(--status-h,44px) + 12px);max-height:calc(100% - var(--status-h,44px) - 18px);bottom:auto}.trade-pickers.collapsed{display:none}.trade-edit{display:inline-flex}.lobby-page .lobby-actions{background:var(--paper);border-top:2px solid #ecdcb5;box-shadow:0 -6px 8px -6px #3b241040}}@media (width<=700px){.lobby-page .lobby-actions{margin-inline:-14px;padding:10px 14px 12px}}@media (width>=901px) and (width<=1250px){.dice-box{padding:4px 8px;top:auto;bottom:8px;right:8px}.trade-pill{bottom:84px;right:8px}}@media (width<=600px){.logo-text{display:none}.logo{font-size:24px}.topbar{gap:6px}.topinfo{flex-wrap:nowrap;gap:4px;min-width:0}.chip{white-space:nowrap;padding:2px 7px;font-size:12px}.chip-btn{padding:3px 9px}.status-area{max-width:calc(100% - 64px)}.zoom-btn{width:34px;height:34px;font-size:18px}.offer-lbl{width:100%;min-width:0}}@media (width<=600px),(orientation:landscape) and (height<=520px){.pc-avatar{border-width:2px;grid-area:av;width:22px;height:22px;font-size:11px}.pc-badges,.skip-btn{grid-area:ex}}@media (width<=520px){.dev-card{border-width:2.5px;width:46px;height:58px}.dev-icon{font-size:20px}.dev-name{font-size:7.5px}.build-btn{border-width:2.5px;column-gap:3px;padding:3px 6px 3px 4px}.build-icon{font-size:16px}.build-label{font-size:11px}.btn.big{padding:7px 12px;font-size:14px}.trade-card{max-width:50px}.modal .res-card{width:52px;height:72px}.modal .res-card .res-emoji{font-size:26px}.modal .res-card .res-label{font-size:9px}.modal{padding:14px 12px 16px}.res-selector{gap:5px}.mode-pop{max-width:none;inset-inline:6px}}@media (orientation:landscape) and (height<=520px){.game{grid-template:"top top""board players""board hand"minmax(0,1fr)/minmax(0,1fr) minmax(300px,42%);gap:4px;padding:4px}.logo-text{display:none}.topbar{flex-wrap:nowrap}.topinfo{flex-wrap:nowrap;gap:4px}.chip,.chip-btn{padding:1px 8px;font-size:12px}.dev-card{width:44px;height:56px}.build-btn .cost{display:none}.btn.big{padding:6px 12px;font-size:14px}.status{padding:3px 10px;font-size:12px}.ticker,.cost-card{display:none}.table-cards{bottom:6px;left:auto;right:6px}.trade-dock,.drawer{width:auto;max-height:none;inset:4px}.trade-pickers.collapsed{display:none}.trade-edit{display:inline-flex}.incoming-offer{gap:4px;width:calc(100% - 12px);min-width:0;padding:6px 10px;bottom:6px}.hint-bubble,.mode-pop{inset:44px 8px auto auto;max-width:min(420px,60vw);position:fixed;inset-inline-start:auto;transform:none}.zoom-ctl{gap:4px;top:4px;right:4px}.zoom-btn{border-width:2px;width:30px;height:30px;font-size:16px}}.fx-float.event{white-space:normal;text-align:center;color:#fff;-webkit-text-stroke:0;width:max-content;max-width:min(280px,100vw - 24px);text-shadow:none;z-index:5;background:#1b1108e6;border:2px solid #ffb03b;border-radius:14px;padding:4px 12px 5px;font-size:15px;line-height:1.25;animation-duration:2.8s;box-shadow:0 4px 12px #00000059}.dev-card.owned{cursor:help;background:linear-gradient(#fff3c4,#ffc93d)}.dev-card.owned:after{content:"✔";color:#fff;background:var(--green);border:1.5px solid var(--ink);border-radius:8px;padding:0 4px;font-size:11px;font-weight:800;line-height:1.3;position:absolute;bottom:-7px;left:50%;translate:-50%}.dev-card.progress-card{background:linear-gradient(#fffaf0, color-mix(in srgb, var(--tc) 45%, #fff));border-top:7px solid var(--tc)}.dev-card.progress-card .dev-icon{font-size:18px}.dev-card.progress-card .dev-name{overflow-wrap:anywhere;font-size:10px}.dev-card.progress-card.off{filter:grayscale(.85);opacity:.6}.incoming-offer.answered{white-space:nowrap;text-overflow:ellipsis;border-top-width:3px;border-radius:999px;flex-direction:row;gap:6px;width:auto;min-width:0;max-width:calc(100% - 24px);padding:4px 14px;font-size:13px;font-weight:700;overflow:hidden}.incoming-offer.answered.decline{opacity:.9}.mode-more-btn{font:inherit;color:#7a5a35;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:2px 0;font-size:12px;font-weight:700}.mode-more-btn:hover{text-decoration:underline}.mode-more{flex-direction:column;gap:4px;display:flex}.status-area .ticker{gap:0;max-width:min(100%,520px)}.status-area .ticker-item{padding:0 8px;font-size:11.5px;animation-duration:3.8s}@media (width>=1251px){.trade-dock{max-height:min(calc(100% - var(--status-h,44px) - 24px), calc(100% - 96px))}}@media (width>=901px) and (width<=1250px){.trade-dock{max-height:calc(100% - var(--status-h,44px) - 100px);bottom:82px}}@media (height<=450px){.lobby-page .lobby-actions{flex-wrap:nowrap;gap:6px 10px;padding:6px 0}.lobby-page .lobby-actions .btn.huge{border-width:3px;flex-shrink:0;width:auto;padding:6px 20px;font-size:18px}.lobby-page .lobby-actions>:not(.btn){font-size:13px;line-height:1.2}}@media (width>=901px) and (height<=860px){.mode-side .mode-panel .panel-title{padding-block:3px}.mode-side .mode-panel-body{gap:4px;padding-block:4px}.mode-side .mode-step{height:18px;font-size:12px}.mode-side .mode-com{padding:0 6px;font-size:13px}.mode-side .mode-coms .btn.small,.mode-side .mode-track-row .btn.small{min-height:0;padding-block:1px}.mode-side .mode-tracks{gap:2px}}.dev-card.progress-card .dev-name{overflow-wrap:break-word;word-break:normal;-webkit-hyphens:auto;hyphens:auto;max-width:100%;font-size:9.5px}@media (width<=900px){.trade-pill{top:calc(var(--status-h,44px) + 12px);white-space:nowrap;text-overflow:ellipsis;max-width:calc(100% - 100px);bottom:auto;right:50%;overflow:hidden;transform:translate(50%)}}.dim-layer{opacity:.22}.vertex-vis,.edge-vis{filter:drop-shadow(0 0 2px #ffffffbf);transition:transform .15s,filter .15s;animation:1.8s ease-in-out infinite target-breathe}@keyframes target-breathe{0%,to{opacity:.85;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}.vertex-target:hover .vertex-vis,.edge-target:hover .edge-vis{opacity:1;filter:drop-shadow(0 0 5px #ffe14d);animation:none;transform:scale(1.22)}.vertex-target.soft .vertex-vis,.edge-target.soft .edge-vis{opacity:1;filter:none;animation:none}.target.soft .mk-full{opacity:0;transition:opacity .15s}.target.soft .mk-dot{opacity:.85;transition:opacity .15s}.target.soft:hover .mk-full{opacity:1}.target.soft:hover .mk-dot{opacity:0}.vertex-target.soft:hover .vertex-vis,.edge-target.soft:hover .edge-vis{filter:drop-shadow(0 0 4px #ffe14d);transform:scale(1.12)}@media (hover:none){.target.soft .mk-dot{opacity:.95;scale:1.35}}.status.alert{background:linear-gradient(#ffe7e2,#ffad9f);font-size:17px;animation:none}.status-robber{font-size:22px;line-height:1}.dice-box{transition:opacity .2s}.dice-box.waiting{opacity:0}.dice-roll{animation:.3s ease-out popin}.roll-stage{pointer-events:none;z-index:45;position:fixed;inset:0}.roll-dice{flex-direction:column;align-items:center;gap:4px;animation:2.6s ease-in-out forwards roll-fly;display:flex;position:fixed;translate:-50% -50%}.roll-pair{align-items:center;gap:18px;display:flex}.roll-die{filter:drop-shadow(0 7px #0000004d)drop-shadow(0 10px 16px #00000059);display:inline-flex}.roll-die svg{width:clamp(64px,16vmin,104px);height:clamp(64px,16vmin,104px)}.roll-pair:not(.settled) .roll-die.d1{animation:.34s linear infinite tumble}.roll-pair:not(.settled) .roll-die.d2{animation:.3s linear infinite reverse tumble}.roll-pair.settled .roll-die{animation:.35s ease-out die-settle}@keyframes tumble{0%{translate:0 -10px;rotate:0deg}50%{translate:0 8px;rotate:180deg}to{translate:0 -10px;rotate:360deg}}@keyframes die-settle{0%{scale:1.25}60%{scale:.94}}.roll-event{width:clamp(44px,10vmin,64px);height:clamp(44px,10vmin,64px);font-size:clamp(24px,6vmin,36px);animation:.35s ease-out die-settle}.roll-sum{color:#fff;-webkit-text-stroke:3px var(--ink);text-shadow:0 5px 0 var(--ink);opacity:0;font-size:clamp(44px,9vmin,72px);font-weight:800;line-height:1}.roll-sum.on{opacity:1;animation:.35s ease-out die-settle}.roll-stage.seven .roll-sum.on{color:#ff5a4a}@keyframes roll-fly{0%{opacity:0;transform:translateY(40px)scale(.4)}10%{opacity:1;transform:none}74%{opacity:1;transform:none}to{opacity:.15;transform:translate(var(--fly-x), var(--fly-y)) scale(.3)}}.roll-stage.seven .roll-dice{animation-name:roll-seven}@keyframes roll-seven{0%{opacity:0;transform:translateY(40px)scale(.4)}10%{opacity:1;transform:none}36%{transform:none}48%,90%{opacity:1;transform:translateY(calc(-1*min(170px,24vh)))scale(.5)}to{opacity:0;transform:translateY(calc(-1*min(170px,24vh)))scale(.5)}}.robber-dim{opacity:0;background:radial-gradient(#28060059 0%,#0c040ad1 75%);animation:2.4s ease-in-out forwards robber-dim;position:fixed;inset:0}@keyframes robber-dim{0%,30%{opacity:0}44%,88%{opacity:1}to{opacity:0}}.robber-moment{opacity:0;flex-direction:column;align-items:center;gap:4px;animation:2.4s ease-out forwards robber-in;display:flex;position:fixed;translate:-50% -38%}@keyframes robber-in{0%,36%{opacity:0;transform:scale(.3)}46%{opacity:1;transform:scale(1.12)}52%,90%{opacity:1;transform:none}to{opacity:0;transform:scale(.96)}}.robber-figure{filter:drop-shadow(0 0 22px #ff4632d9)drop-shadow(0 8px #0006);width:clamp(96px,20vmin,160px);height:clamp(116px,24vmin,192px);animation:.3s ease-in-out 1s 3 shake}.robber-title{white-space:nowrap;color:#fff;-webkit-text-stroke:3px var(--ink);text-shadow:0 5px 0 var(--ink);align-items:baseline;gap:12px;font-size:clamp(32px,7vmin,64px);font-weight:800;line-height:1;display:flex}.robber-seven{color:#ff5a4a;font-size:1.45em}.robber-sub{background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow);text-align:center;border-radius:999px;max-width:min(90vw,520px);margin-top:8px;padding:3px 16px;font-size:clamp(14px,2.6vmin,20px);font-weight:700}[dir=rtl] .roll-dice{direction:ltr}.hand{background:linear-gradient(#fffaf0, var(--paper-2));border:3px solid var(--ink);border-radius:22px;grid-area:hand;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"pieces cards turn";justify-self:center;align-items:center;gap:12px;width:max-content;min-width:min(1000px,100%);max-width:100%;padding:8px 12px;display:grid;position:relative;box-shadow:0 5px #3b241059,0 10px 22px #00000038}.hand-pieces{border-inline-end:2px dashed #e2cf9f;flex-direction:column;grid-area:pieces;gap:2px;padding-inline-end:10px;display:flex}.piece-row{text-align:start;border:2px solid #0000;border-radius:10px;grid-template-columns:66px auto 20px;grid-template-areas:"label strip n";align-items:center;column-gap:6px;min-height:25px;padding:1px 6px;display:grid}.build-btn.piece-row{box-shadow:none;background:0 0;border:2px solid #0000;grid-template-columns:66px auto 20px 46px;grid-template-areas:"label strip n cost";padding:1px 6px}.build-btn.piece-row.can{border-color:var(--ink);background:#fff;box-shadow:0 2px #3b241059}.build-btn.piece-row.can:hover{background:#fffbe6;transform:translateY(-1px)}.build-btn.piece-row.off{opacity:1}.build-btn.piece-row.off .cost,.build-btn.piece-row.off .build-label{opacity:.55}.build-btn.piece-row.on{border-color:var(--ink);background:linear-gradient(#9fd8ff,#4fb3f0)}.piece-row .build-label{white-space:nowrap;text-overflow:ellipsis;grid-area:label;font-size:12px;font-weight:700;overflow:hidden}.piece-row .piece-strip{grid-area:strip}.piece-row .piece-n{text-align:end;grid-area:n;font-size:14px;font-weight:800}.piece-row .cost{letter-spacing:-2px;white-space:nowrap;grid-area:cost;font-size:11px}.piece-strip{align-items:flex-end;gap:1px;display:flex}.piece{line-height:0;display:inline-flex}.piece.used{opacity:.16;filter:grayscale()}.piece-icon.road{width:6px;height:18px}.piece-icon.ship{width:17px;height:17px}.piece-strip.ship .piece+.piece{margin-inline-start:-8px}.piece-icon.settlement{width:19px;height:19px}.piece-icon.city{width:23px;height:23px}.piece-icon.knight{width:14px;height:20px}.piece-icon.wall{width:22px;height:10px}.piece-strip.dev{font-size:15px;line-height:1}.piece-strip.knight-levels{gap:6px}.hand-cards{scrollbar-width:thin;overscroll-behavior-x:contain;grid-area:cards;justify-content:safe center;align-items:flex-end;gap:4px;min-width:0;margin:-12px 0 -4px;padding:12px 6px 4px;display:flex;overflow:auto hidden}.hand-sep{background:#e2cf9f;flex-shrink:0;align-self:stretch;width:2px;margin:8px 4px}.res-item{isolation:isolate;flex-direction:column;flex-shrink:0;align-items:center;width:70px;transition:transform .15s;display:flex;position:relative}.res-item:before{content:"";z-index:-1;background:radial-gradient(circle, color-mix(in srgb, var(--rc,#d9b878) 34%, transparent) 0 52%, transparent 71%);border-radius:50%;width:60px;height:60px;position:absolute;top:2px;left:50%;translate:-50%}.res-item.com{--rc:#c9a3e8}.res-item:hover{transform:translateY(-4px)}.item-art{width:60px;height:60px;overflow:visible}.item-count{top:-6px;border:2.5px solid var(--ink);background:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 5px;font-size:15px;font-weight:800;display:flex;position:absolute;inset-inline-end:0;box-shadow:0 2px #3b241059}.item-name{color:#6e5235;white-space:nowrap;text-overflow:ellipsis;max-width:74px;font-size:11px;font-weight:700;overflow:hidden}.res-item.empty .item-art{opacity:.28;filter:grayscale()}.res-item.empty:before{opacity:.25}.res-item.empty .item-count{color:#8a7f70;box-shadow:none;background:#ece8df;border-color:#a99d8b}.res-item.empty .item-name{color:#a99d8b}.res-item.bump{animation:.5s ease-out 1.6s bump}.hand-cards .dev-card{border-width:2.5px;flex-shrink:0;width:54px;height:72px;box-shadow:0 3px #3b241066}.hand-cards .dev-icon{font-size:22px}.hand-cards .dev-name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;font-size:8.5px}.hand-turn{border-inline-start:2px dashed #e2cf9f;flex-direction:column;grid-area:turn;align-items:stretch;gap:6px;padding-inline-start:12px;display:flex}.hand-turn:not(:has(button)){display:none}.hand-extra{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:260px;display:flex}.hand-extra .build-btn{border-width:2.5px;padding:2px 7px 2px 4px}.hand-extra .build-icon{font-size:18px}.hand-main{flex-direction:column;gap:6px;display:flex}.hand-main:empty{display:none}.act-btn{white-space:nowrap;border-radius:14px;min-width:170px;padding:8px 16px;font-size:17px}.hand-turn .btn.on{background:linear-gradient(#9fd8ff,#4fb3f0)}.hand-turn .mode-pop{inset-inline:auto 8px}.players{flex-direction:column;grid-area:players;gap:10px;padding:14px 6px 6px 2px;display:flex;overflow:auto}.player-card{background:var(--paper);border:3px solid var(--ink);border-inline-start:10px solid var(--pc);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;flex-shrink:0;gap:8px;padding:9px 10px;transition:transform .2s,box-shadow .2s;display:flex;position:relative}.player-card.active{box-shadow:0 0 0 4px var(--accent), 0 6px 0 #3b241059;background:linear-gradient(#fffbe6,#ffe7a0);transform:translate(3px)}.player-card.leader{box-shadow:0 0 0 3px #ffd34d, 0 0 14px 2px #ffc40099, var(--shadow)}.player-card.leader.active{box-shadow:0 0 0 4px var(--accent), 0 0 16px 4px #ffc400bf, 0 6px 0 #3b241059}.player-card.resigned{opacity:.6;filter:grayscale(.7)}.player-card.offline .pc-avatar{filter:grayscale(.8);opacity:.7}.player-card.offline .pc-name{color:#7d6a55}.pc-head{align-items:center;gap:10px;min-width:0;display:flex}.player-card .pc-avatar{width:42px;height:42px;font-size:20px;position:relative}.pc-crown{text-shadow:none;filter:drop-shadow(0 1px 0 var(--ink)) drop-shadow(0 0 3px #ffd23ce6);font-size:17px;line-height:1;position:absolute;top:-15px;left:50%;translate:-50%}.pc-who{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.pc-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;line-height:1.15;overflow:hidden}[dir=rtl] .pc-name{text-align:right}.pc-tags{flex-wrap:wrap;gap:4px;display:flex}.pc-tags:empty{display:none}.pc-tag{border:1.5px solid var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;line-height:17px}.pc-tag.turn{background:var(--ink);color:#fff}.pc-tag.you{background:color-mix(in srgb, var(--pc) 28%, #fff)}.pc-tag.offline{color:#8c1f14;background:#ffd9d4;border-color:#c0392b}.pc-tag.resigned{background:#ece8df}.pc-vp{border:3px solid var(--ink);cursor:help;background:linear-gradient(#ffe27a,#ffb703);border-radius:14px;flex-shrink:0;align-items:baseline;gap:2px;padding:1px 9px 2px;display:inline-flex;box-shadow:0 3px #3b241059}.pc-vp-star{color:#fff;-webkit-text-stroke:1.2px var(--ink);align-self:center;font-size:17px}.pc-vp b{font-size:26px;line-height:1}.pc-vp-goal{color:#7a5a1a;font-size:12px;font-weight:700}.pc-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.stat{cursor:help;background:#fff;border:2px solid #e4d3ad;border-radius:10px;align-items:center;gap:5px;min-width:0;padding:3px 7px;display:flex;position:relative}.stat-icon{font-size:15px;line-height:1}.stat b{font-size:16px;line-height:1.1}.stat-label{color:#8a6d4c;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.stat.top{background:#fff4d1;border-color:#f0b84a}.stat.lead{border-color:var(--ink);background:linear-gradient(#ffe27a,#ffb703)}.stat.lead .stat-label{color:var(--ink)}.pc-badges{flex-wrap:wrap;gap:4px;display:flex}.pc-badge{white-space:nowrap;border:2px solid var(--ink);cursor:help;background:linear-gradient(#fff3c4,#ffd24d);border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700}.pc-badge.islands{background:#d2f0ff}@media (width>=901px){.game{grid-template-columns:290px minmax(0,1fr)}}@media (width>=1251px){.status-area{max-width:calc(100% - 470px)}}@media (width>=901px) and (height<=860px){.players:has(.mode-side){gap:6px;padding-top:10px}.players:has(.mode-side) .player-card{gap:5px;padding-block:5px}.players:has(.mode-side) .pc-avatar{width:32px;height:32px;font-size:16px}.players:has(.mode-side) .stat{padding-block:1px}}@media (width>=901px) and (width<=1200px){.res-item{width:60px}.item-art,.res-item:before{width:50px;height:50px}.act-btn{min-width:150px}}@media (width<=900px){.players{flex-direction:row;gap:8px;padding:12px 2px 4px;overflow-x:auto}.player-card{flex:1 0 180px}.player-card.active{transform:none}.hand{border-radius:18px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"pieces pieces""cards turn";gap:6px 8px;width:100%;padding:6px 8px}.hand-pieces{border-inline-end:0;border-bottom:2px dashed #e2cf9f;flex-flow:wrap;justify-content:center;gap:3px 6px;padding:0 0 5px}.piece-row,.build-btn.piece-row{grid-template-columns:auto auto;grid-template-areas:"strip n";column-gap:3px;min-height:0;padding:1px 5px}.piece-row .build-label,.piece-row .cost{display:none}.piece-row .piece-n{font-size:12px}.piece-icon.road{width:4px;height:13px}.piece-icon.ship{width:12px;height:12px}.piece-strip.ship .piece+.piece{margin-inline-start:-6px}.piece-icon.settlement{width:13px;height:13px}.piece-icon.city{width:16px;height:16px}.piece-icon.knight{width:10px;height:14px}.piece-icon.wall{width:14px;height:7px}.res-item{width:54px}.res-item:before,.item-art{width:46px;height:46px}.item-name{display:none}.item-count{border-width:2px;min-width:22px;height:22px;font-size:13px;top:-6px}.hand-cards .dev-card{width:44px;height:58px}.hand-cards .dev-icon{font-size:18px}.hand-cards .dev-name{font-size:7.5px}.hand-turn{padding-inline-start:8px}.act-btn{min-width:0;padding:8px 12px;font-size:15px}}@media (width<=600px),(orientation:landscape) and (height<=520px){.players{flex-direction:row;gap:6px;padding:11px 2px 3px;display:flex;overflow-x:auto}.player-card{border-width:2.5px;border-inline-start-width:6px;border-radius:12px;flex:1 0 104px;gap:4px;min-width:104px;padding:4px 5px 5px 6px}.player-card.active{box-shadow:0 0 0 3px var(--accent), 0 4px 0 #3b241059}.pc-head{gap:5px}.player-card .pc-avatar{font-size:0;display:contents}.pc-crown{z-index:1;font-size:12px;top:-2px;left:50%;translate:-50% -50%}.pc-who{gap:0}.pc-name,.status.alert{font-size:13px}.player-card.me .pc-name{text-decoration:underline;-webkit-text-decoration-color:var(--pc);text-decoration-color:var(--pc);text-underline-offset:2px;text-decoration-thickness:2px}.pc-tags{display:contents}.pc-tag.you,.pc-tag-text{display:none}.pc-tag.turn{top:-9px;padding:0 5px;font-size:9.5px;line-height:14px;position:absolute;inset-inline-end:6px}.pc-tag.offline,.pc-tag.resigned{top:-9px;padding:0 3px;font-size:10px;line-height:14px;position:absolute;inset-inline-start:2px}.pc-vp{border-width:2px;border-radius:9px;padding:0 5px;box-shadow:0 2px #3b241059}.pc-vp b{font-size:16px}.pc-vp-star{-webkit-text-stroke:.8px var(--ink);font-size:11px}.pc-vp-goal{display:none}.pc-stats{gap:2px}.stat{border-width:1.5px;border-radius:6px;justify-content:center;gap:2px;padding:0 2px}.stat-label{display:none}.stat-icon{font-size:10px}.stat b{font-size:12px}.pc-badges{gap:2px}.pc-badge{border-width:1.5px;padding:0 4px;font-size:10px}.pc-badge-text{display:none}.pc-badge.road:after,.pc-badge.army:after{content:"+2";font-weight:800}.hand{grid-template-columns:minmax(0,1fr);grid-template-areas:"pieces""cards""turn";gap:6px;padding:5px 6px 6px}.hand-turn{border:0;flex-flow:wrap;justify-content:center;padding:0}.hand-extra{justify-content:center;max-width:none}.hand-extra .build-btn .cost{display:none}.hand-main{flex-direction:row;flex:auto;justify-content:center}.hand-main .act-btn{flex:1 1 0;max-width:240px;padding:7px 10px;font-size:14px}.res-item{width:48px}.item-art,.res-item:before{width:40px;height:40px}}@media (orientation:landscape) and (height<=520px){.hand{align-content:start;overflow-y:auto}.hand-cards{flex-wrap:wrap;justify-content:center;row-gap:12px;overflow-x:visible}}@media (prefers-reduced-motion:reduce){.roll-dice,.robber-moment,.robber-dim{animation-name:calm-fade!important}.roll-die,.roll-sum.on,.robber-figure,.roll-event{animation:none!important}.roll-stage.seven .roll-dice{transform:translateY(calc(-1*min(170px,24vh)))scale(.5)}.vertex-vis,.edge-vis,.status.mine,.pulse-btn{animation:none}}@keyframes calm-fade{0%{opacity:0}8%,88%{opacity:1}to{opacity:0}}@media (height<=520px){.modal>.modal-actions:last-child,.modal>.row:last-child{z-index:1;background:var(--paper);margin-bottom:-16px;padding:8px 0 16px;position:sticky;bottom:-16px}}
