.ct-app{min-height:100vh;background:radial-gradient(circle at 88% 4%,#f6d98d 0,transparent 27%),linear-gradient(145deg,#f8e9be,#f0d9a5 53%,#e8c492);color:#3d3026;font-family:var(--font-geist-sans),ui-sans-serif,system-ui,sans-serif;padding:20px 24px 80px}.ct-app *{box-sizing:border-box}.ct-app button,.ct-app input,.ct-app select{font:inherit}.ct-app button{cursor:pointer}.ct-home{max-width:1560px;margin:auto}.ct-error{position:fixed;z-index:100;top:16px;right:16px;max-width:380px;background:#9d3634;color:white;padding:12px 18px;border-radius:16px;box-shadow:0 12px 35px #4c282645}.ct-kicker{display:block;font-size:12px;letter-spacing:.22em;font-weight:900;color:#b26535}.ct-primary,.ct-secondary,.ct-text{border-radius:13px;padding:12px 18px;border:0;font-weight:800;transition:transform .18s,box-shadow .18s}.ct-primary{background:#2d7484;color:#fff;box-shadow:0 5px 0 #1d5360}.ct-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 7px 0 #1d5360}.ct-secondary{background:#fff5dc;color:#54432f;border:1px solid #c8a979}.ct-secondary:hover:not(:disabled){background:#fff}.ct-text{background:transparent;color:#a44f36}.ct-app button:disabled{opacity:.48;cursor:not-allowed}.ct-landing{max-width:1430px;margin:36px auto 0;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:60px;align-items:center}.ct-intro{padding:48px 0}.ct-intro h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,92px);line-height:1.13;margin:20px 0;color:#493927;letter-spacing:-.04em}.ct-intro h1 em{font-style:normal;color:#bf663d}.ct-intro>p{max-width:590px;font-size:18px;line-height:1.8;color:#735e44}.ct-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:34px 0}.ct-modes button{display:flex;min-height:145px;flex-direction:column;align-items:start;text-align:left;gap:8px;border:2px solid #d6b88a;background:#fff6e4;border-radius:18px;padding:17px;color:#563e2c}.ct-modes button.active{border-color:#2d7484;box-shadow:0 6px 0 #2d74843c}.ct-modes button span{font-size:28px}.ct-modes button b{font-size:15px}.ct-modes button small{color:#89715b}.ct-entry{display:flex;gap:12px;flex-wrap:wrap}.ct-entry form{display:flex;background:#fff9ed;border:1px solid #d6bb8a;border-radius:13px;overflow:hidden}.ct-entry input{width:145px;padding:12px;border:0;background:transparent;outline:0}.ct-entry form button{background:#e9c98b;border:0;padding:0 15px;font-weight:800}.ct-facts{display:flex;gap:20px;color:#8b704f;font-size:12px;margin-top:25px}.ct-cover{position:relative;margin:auto;max-width:470px;transform:rotate(5deg);filter:drop-shadow(0 25px 30px #765c4370)}.ct-cover img{width:100%;display:block;object-fit:cover;border-radius:14px}.ct-cover-sticker{position:absolute;bottom:-15px;left:-20px;transform:rotate(-10deg);background:#ef7950;color:white;border:5px solid #fff4dc;border-radius:100%;width:122px;height:122px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:Georgia,serif;font-size:20px;font-weight:900}.ct-cover-sticker small{font:700 9px ui-sans-serif;letter-spacing:.13em}.ct-table{max-width:1560px;margin:18px auto}.ct-top{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#795d41;font-size:13px}.ct-top button{border:0;background:transparent;color:#5b4c3f;font-weight:800}.ct-top strong{font-size:17px;color:#b2553c;letter-spacing:.1em}.ct-heading{display:flex;justify-content:space-between;align-items:end;margin:25px 0}.ct-heading h1{font-family:Georgia,serif;font-size:clamp(28px,3.3vw,48px);margin:5px 0}.ct-round{background:#fff8e6;padding:11px 16px;border:1px solid #d4b88d;border-radius:16px;font-weight:800}.ct-round b{margin-left:12px;color:#be6940}.ct-players{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.ct-players>div{display:flex;align-items:center;gap:10px;padding:12px;background:#fff7e9;border:1px solid #dec49b;border-radius:17px}.ct-players>div.self{background:#f4f7e5}.ct-players>div.turn{outline:3px solid #e1a259}.ct-avatar{width:38px;height:38px;border-radius:13px;display:grid;place-items:center;color:white;flex:none;font-size:22px}.ct-players>div>div{display:flex;flex-direction:column;min-width:0;flex:1}.ct-players>div b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-players small{font-size:11px;color:#896f56}.ct-players>div>strong{font-size:23px;color:#b45f39;white-space:nowrap}.ct-lobby{background:#fff8e8;border-radius:25px;padding:32px;display:flex;justify-content:space-between;gap:25px;box-shadow:0 12px 35px #8a61321d}.ct-lobby h2{font-family:Georgia,serif;font-size:32px}.ct-lobby p{max-width:620px;line-height:1.7;color:#82674c}.ct-lobby>div:last-child{display:flex;flex-direction:column;gap:12px;min-width:170px;align-self:center}.ct-mode-row{display:flex;gap:8px;flex-wrap:wrap}.ct-mode-row button{border:1px solid #d6bb8a;background:#fff2ce;border-radius:10px;padding:8px 11px}.ct-mode-row button.active{background:#2d7484;color:white}.ct-main{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.78fr);gap:22px;align-items:start}.ct-board-wrap{background:radial-gradient(ellipse at 50% 40%,#78abb0,#3f7d87 80%);border:10px solid #9a6242;border-radius:29px;box-shadow:0 14px 0 #744b36,0 26px 35px #7853305c;min-width:0;padding:12px 12px 4px}.ct-board-key{display:flex;justify-content:center;gap:16px;color:#f4eee0;font-size:11px;font-weight:700}.ct-board{width:100%;max-height:780px;display:block;overflow:visible}.ct-board-wrap>p{text-align:center;color:#e2f0e8;font-size:12px}.ct-hex polygon{stroke:#e5c993;stroke-width:.07;cursor:pointer;transition:filter .15s}.ct-hex:hover polygon,.ct-hex.selected polygon{stroke:#fff;stroke-width:.14;filter:brightness(1.18)}.ct-wood polygon{fill:#638c48}.ct-brick polygon{fill:#b46d48}.ct-wool polygon{fill:#a5b76c}.ct-grain polygon{fill:#d4b357}.ct-ore polygon{fill:#808b8a}.ct-desert polygon{fill:#dac186}.ct-gold polygon{fill:#d6a949}.ct-sea polygon{fill:#5598a4}.ct-water{fill:url(#ct-sea)!important;stroke:transparent!important;pointer-events:none}.ct-terrain{font-size:.57px;text-anchor:middle;dominant-baseline:middle;fill:#fff8de;pointer-events:none;filter:drop-shadow(0 .04px .04px #4b4633)}.ct-number-disc{fill:#f9f0d5;stroke:#a48866;stroke-width:.03;pointer-events:none}.ct-number{font-size:.25px;text-anchor:middle;font-weight:900;fill:#624732;pointer-events:none}.ct-token{font-size:.37px;pointer-events:none;fill:#402d25}.ct-edge{cursor:pointer}.ct-edge-hit{stroke:transparent;stroke-width:.26}.ct-edge-line{pointer-events:none;stroke-linecap:round}.ct-edge.selected .ct-edge-line{stroke:#fff!important;stroke-width:.17}.ct-port,.ct-fish{font-size:.15px;text-anchor:middle;fill:#fff7d4;font-weight:900;pointer-events:none}.ct-vertex{cursor:pointer}.ct-vertex.selected circle{stroke:white;stroke-width:.09}.ct-building{font-size:.2px;text-anchor:middle;pointer-events:none;fill:#fff}.ct-sidebar{display:flex;flex-direction:column;gap:15px}.ct-panel{background:#fff9e9;border:1px solid #d8bb8e;border-radius:24px;padding:20px;box-shadow:0 8px 24px #8d663024}.ct-panel h2{font-family:Georgia,serif;font-size:25px;margin:6px 0 16px}.ct-panel h2 small{font:600 12px ui-sans-serif;color:#997659}.ct-resources{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.ct-resource{border-radius:12px;min-width:0;padding:7px 3px;display:flex;flex-direction:column;align-items:center;color:white;text-align:center}.ct-resource.wood{background:#568348}.ct-resource.brick{background:#b86445}.ct-resource.wool{background:#8fa64f}.ct-resource.grain{background:#cda34a}.ct-resource.ore{background:#78808d}.ct-resource i{font-size:23px}.ct-resource b{font-size:11px}.ct-resource strong{font-size:23px}.ct-resource small{font-size:7px;opacity:.8}.ct-fish-count{font-size:12px;color:#2d7484}.ct-achievements{display:flex;justify-content:space-between;gap:8px;margin-top:14px;font-size:11px;color:#816a50}.ct-achievements span{display:flex;flex-direction:column}.ct-achievements b{color:#ba6543}.ct-actions{display:flex;flex-direction:column;gap:10px}.ct-actions h2{margin-bottom:0}.ct-actions p{font-size:13px;line-height:1.5;color:#735b45}.ct-selected{background:#f0e5cc;border-radius:11px;padding:10px;font-size:12px;color:#64503d}.ct-build{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.ct-build button{border:1px solid #d3b793;background:#fff3d9;border-radius:12px;padding:9px;text-align:left;font-weight:800;color:#59442e}.ct-build button small{display:block;font-size:9px;color:#a0784f}.ct-trade{display:flex;flex-direction:column;gap:8px}.ct-trade h2{margin-bottom:0}.ct-pickers{display:flex;flex-direction:column;gap:5px}.ct-pickers>div{display:flex;align-items:center;gap:5px;justify-content:space-between;font-size:12px}.ct-pickers label{min-width:40px}.ct-pickers button{width:24px;height:24px;border-radius:6px;border:1px solid #cfb18b;background:#fff0cf}.ct-pickers b{min-width:15px;text-align:center}.ct-pickers span{color:#a66a3c}.ct-dev-list{display:flex;gap:5px;flex-wrap:wrap}.ct-dev-list button{display:flex;flex-direction:column;text-align:left;border-radius:10px;border:1px solid #d6b88a;background:#fff1d1;padding:7px}.ct-dev-list button.selected{border-color:#2d7484;background:#e5f2eb}.ct-dev-list small{font-size:10px;color:#856b52}.ct-trade select{padding:8px;border-radius:9px;border:1px solid #d6b88a;background:#fff}.ct-offer{background:#e5f2eb;padding:10px;border-radius:10px;font-size:12px}.ct-log,.ct-rules{background:#fff8e7;border-radius:19px;padding:17px 24px;margin-top:18px;border:1px solid #dbc296}.ct-log h2{font-size:18px;margin:0}.ct-log p{font-size:12px;border-bottom:1px dashed #d9b98e;padding:4px 0}.ct-rules summary{font-weight:900;cursor:pointer}.ct-rules p{font-size:13px;line-height:1.6;max-width:900px;color:#765e46}@media(max-width:1050px){.ct-main{grid-template-columns:1fr}.ct-sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ct-trade{grid-column:span 2}.ct-players{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.ct-app{padding:12px 10px 50px}.ct-landing{display:flex;flex-direction:column-reverse;gap:10px;margin-top:10px}.ct-cover{max-width:240px}.ct-intro{padding:10px 4px}.ct-intro h1{font-size:45px}.ct-intro>p{font-size:14px}.ct-modes{grid-template-columns:1fr;margin:20px 0}.ct-modes button{min-height:72px;display:grid;grid-template-columns:40px 1fr;align-items:center;gap:3px}.ct-modes button small{grid-column:2}.ct-entry{flex-direction:column}.ct-entry .ct-primary,.ct-entry form{width:100%}.ct-entry form input{flex:1}.ct-facts{flex-wrap:wrap}.ct-heading{align-items:start;gap:10px}.ct-heading h1{font-size:29px}.ct-round{font-size:11px}.ct-players{gap:6px}.ct-players>div{padding:8px;gap:5px}.ct-avatar{width:27px;height:27px;font-size:14px}.ct-players>div b{font-size:11px}.ct-players small{font-size:9px}.ct-players>div>strong{font-size:16px}.ct-top{font-size:11px}.ct-top span{max-width:170px;text-align:center}.ct-lobby{flex-direction:column;padding:20px}.ct-lobby>div:last-child{align-self:stretch}.ct-board-wrap{border-width:5px;padding:2px}.ct-board-key{gap:5px;font-size:8px;flex-wrap:wrap}.ct-sidebar{display:flex}.ct-trade{grid-column:auto}}
.ct-lake polygon{fill:#6aa9b4}.ct-fish-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ct-fish-actions button{background:#e6f3ee;border:1px solid #86b6ae;border-radius:9px;padding:7px;font-size:11px;font-weight:800;color:#2a5e68}
.ct-gold-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.ct-gold-choices button{border:1px solid #d9b963;background:#fff2c9;border-radius:10px;padding:8px;font-weight:800}
.ct-lake-numbers{font-size:.15px;text-anchor:middle;fill:#fff8e6;font-weight:900;pointer-events:none}.ct-fish-actions select{grid-column:1/-1}
@media(max-width:900px) and (min-width:701px){.ct-landing{grid-template-columns:minmax(0,1fr) 260px;gap:20px;align-items:center;margin-top:10px}.ct-intro h1{font-size:54px}.ct-intro>p{font-size:15px}.ct-modes{grid-template-columns:1fr;margin:20px 0}.ct-modes button{min-height:68px;display:grid;grid-template-columns:35px 1fr;gap:0 6px;padding:8px 12px}.ct-modes button span{grid-row:1/3;font-size:23px}.ct-modes button small{grid-column:2}.ct-cover{max-width:260px}}
.ct-modes button img{width:38px;height:39px;object-fit:contain;grid-row:1/3;align-self:center;filter:drop-shadow(0 2px 2px #6f4a3833)}
.ct-zoom{border:1px solid #d9ecdf;background:#e7f5eb;color:#2d6170;border-radius:8px;padding:3px 8px;font-size:10px;font-weight:900}.ct-board-wrap.zoomed{overflow-x:auto}.ct-board-wrap.zoomed .ct-board{min-width:700px}@media(max-width:700px){.ct-heading{flex-direction:column;align-items:stretch}.ct-heading h1{font-size:29px}.ct-round{align-self:flex-start}.ct-board-wrap.zoomed .ct-board{min-width:580px}}
@media(max-width:900px) and (min-width:701px){.ct-intro h1{font-size:46px}.ct-cover-sticker{left:auto;right:-10px;bottom:-25px;width:100px;height:100px;font-size:16px}}
@media(max-width:700px){.ct-cover{max-width:190px}.ct-cover-sticker{width:85px;height:85px;font-size:15px;left:-20px;bottom:-10px}.ct-intro h1{font-size:39px}}
.ct-fish-count{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:9px;font-size:12px;color:#2d7484}.ct-fish-count button{border:1px solid #8cbbb3;background:#e6f4ee;color:#2d7484;border-radius:8px;padding:4px 7px;font-weight:800}.ct-fish-count button.selected{background:#2d7484;color:#fff}.ct-fish-count small{width:100%;font-size:10px}.ct-fish-count b{width:100%;color:#9b5f41}

.ct-duel{display:grid;gap:8px;padding:14px 0}.ct-duel small{color:#756958}.ct-duel button{padding:9px;border:1px solid #bc9870;border-radius:8px;background:#f2e4ca;color:#503d29}.ct-edge.legal .ct-edge-line{stroke:#4bbaa7;stroke-width:.1}.ct-vertex.legal circle{stroke:#119f86;stroke-width:.08}

.ct-local-draft{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:12px 0;padding:10px 12px;border:1px dashed #b9ccc4;border-radius:10px;background:#f0f4e9;color:#527065}.ct-local-draft small{font-size:11px;line-height:1.5}.ct-local-draft button{flex-shrink:0;font-size:11px}.ct-gold-choices button[aria-pressed=true],.ct-actions>.ct-secondary[aria-pressed=true]{outline:2px solid #b07849;outline-offset:2px;background:#f4dfbe}.ct-actions .game-confirm{display:block}.ct-actions .game-confirm-actions{margin-top:12px}
.ct-fish-resource{display:flex;align-items:center;gap:8px;font-size:12px;color:inherit}.ct-fish-resource select{min-width:90px}
