:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #2c3e50;--secondary-color: #34495e;--accent-color: #e74c3c;--text-color: #ecf0f1;--border-color: #7f8c8d;--card-bg: #fff;--card-border: #bdc3c7}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background-color:var(--primary-color);color:var(--text-color);line-height:1.6}.app-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto;grid-template-areas:"player-buildings opponent" "message message" "player-hand player-hand";min-height:100vh;gap:1rem;padding:1rem;background-color:var(--primary-color);color:var(--text-color)}.player-buildings-area{grid-area:player-buildings}.opponent-area{grid-area:opponent}.message-area{grid-area:message}.player-hand-area{grid-area:player-hand}.player-buildings-area,.opponent-area,.message-area,.player-hand-area{background-color:var(--secondary-color);padding:1rem;border-radius:8px;overflow:auto}.player-buildings-area h2,.opponent-area h2,.message-area h2,.player-hand-area h2{margin-bottom:1rem;font-size:1.2rem;border-bottom:1px solid var(--border-color);padding-bottom:.5rem}h1{text-align:center;margin-bottom:1rem;font-size:1.5rem}.highlight{color:#f1c40f;font-weight:700}.opponent-area .cpu-players-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.opponent-area .cpu-player-summary{background-color:#0003;padding:.8rem;border-radius:4px;font-size:.9rem}.opponent-area .cpu-player-summary h3{margin-bottom:.5rem;font-size:1rem;color:#f1c40f}.message-area{display:flex;flex-direction:column}.player-hand,.player-buildings{margin:1rem 0}.player-hand h4,.player-buildings h4{margin-bottom:.8rem;font-size:1rem}.card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.8rem;list-style:none}.card{background-color:var(--card-bg);color:var(--primary-color);border:1px solid var(--card-border);border-radius:8px;padding:.8rem;cursor:pointer;transition:transform .2s,box-shadow .2s;position:relative}.card:hover{transform:translateY(-4px);box-shadow:0 4px 8px #0003}.card h5{margin-bottom:.5rem;font-size:.9rem}.card p{font-size:.8rem;color:var(--secondary-color)}.message-area .actions-component{padding:1rem 0}.production-building{border-left:4px solid #27ae60}.city-building{border-left:4px solid #8e44ad}.buildings-section{margin-bottom:2rem}.buildings-section h5{color:var(--text-color);margin-bottom:1rem;font-size:1rem}.goods-slot{margin-top:.5rem;padding:.5rem;border:1px dashed var(--border-color);border-radius:4px;text-align:center;font-size:.8rem}.good-card{background-color:#f1c40f;color:#2c3e50;padding:.4rem;border-radius:4px;font-weight:700}.empty-slot{color:var(--border-color);font-style:italic}.effect{margin-top:.5rem;font-size:.8rem;color:#9b59b6;font-style:italic}.monument-type{position:absolute;top:.5rem;right:.5rem;background-color:#e74c3c;color:#fff;padding:.2rem .4rem;border-radius:4px;font-size:.7rem;font-weight:700}.card:active{transform:translateY(-2px);box-shadow:0 2px 4px #0003}.role-selection{margin-bottom:1.5rem}.role-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.role-button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;background-color:var(--primary-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:8px;padding:1rem;margin:0;cursor:pointer;transition:all .2s}.role-button:hover{background-color:#34495e;transform:translateY(-2px)}.role-name{font-size:1.1rem;font-weight:700;margin-bottom:.5rem;color:#f1c40f}.role-description{font-size:.85rem;color:#bdc3c7;line-height:1.4}.trader-action-dialog .price-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.8rem;margin:1rem 0;background-color:#0003;padding:1rem;border-radius:8px}.trader-action-dialog .price-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;border-radius:4px;background-color:#ffffff1a}.trader-action-dialog .price-item .product-name{color:var(--text-color)}.trader-action-dialog .price-item .price-value{color:#f1c40f;font-weight:700}.trader-action-dialog .building-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1rem 0}.trader-action-dialog .building-card{background-color:var(--card-bg);color:var(--primary-color);border:2px solid transparent;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.trader-action-dialog .building-card.selected{border-color:#f1c40f;transform:translateY(-2px);box-shadow:0 2px 4px #0003}.trader-action-dialog .building-card:not(.selected){opacity:.8}.trader-action-dialog .building-card:hover{opacity:1}.trader-action-dialog .goods-slot.filled{background-color:#f1c40f;color:#2c3e50;border:none;font-weight:700}.trader-action-dialog .trade-summary{text-align:center;margin:1rem 0;padding:1rem;background-color:#0003;border-radius:8px;color:#f1c40f;font-size:1.1rem}.trader-action-dialog .no-goods{text-align:center;color:var(--border-color);padding:2rem;font-style:italic}.producer-action-dialog .building-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin:1rem 0}.producer-action-dialog .building-card{background-color:var(--card-bg);color:var(--primary-color);border:2px solid transparent;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.producer-action-dialog .building-card.selected{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 2px 4px #0003}.producer-action-dialog .building-card:not(.selected){opacity:.8}.producer-action-dialog .building-card:hover{opacity:1}.producer-action-dialog .goods-slot{margin-top:.5rem;padding:.5rem;border:1px dashed var(--border-color);border-radius:4px;text-align:center;font-size:.8rem;color:var(--border-color)}.producer-action-dialog .no-buildings{text-align:center;color:var(--border-color);padding:2rem;font-style:italic}.councilor-action-dialog .drawn-cards{margin-bottom:1.5rem}.councilor-action-dialog .card{cursor:pointer;transition:transform .2s,box-shadow .2s}.councilor-action-dialog .card.selected{transform:translateY(-4px);box-shadow:0 4px 8px #0003;border-color:var(--accent-color)}.councilor-action-dialog .card:not(.selected){opacity:.7}.councilor-action-dialog .card:not(.selected):hover{opacity:1}.councilor-action-dialog .effect{font-size:.8rem;color:#9b59b6;font-style:italic;margin-top:.5rem}.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000d9;display:flex;justify-content:center;align-items:center;z-index:1000}.dialog{background-color:var(--secondary-color);border-radius:8px;padding:1.5rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto}.action-modal{position:relative;border:1px solid var(--border-color);box-shadow:0 4px 12px #0000004d;animation:modalFadeIn .3s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.cpu-info-content{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:1rem 0}.cpu-hand,.cpu-buildings{background-color:#0003;padding:1rem;border-radius:8px}.cpu-info-content h3{color:#f1c40f;margin-bottom:1rem;font-size:1.1rem}.cpu-info-content ul{list-style:none;padding:0}.cpu-info-content li{padding:.5rem;background-color:#ffffff1a;margin-bottom:.5rem;border-radius:4px;font-size:.9rem}.dialog button{background-color:var(--primary-color);color:var(--text-color);border:1px solid var(--border-color);padding:.5rem 1rem;border-radius:4px;cursor:pointer;margin-top:1rem;transition:all .2s}.dialog button:hover{background-color:var(--secondary-color);transform:translateY(-2px)}@media (max-width: 768px){.app-grid{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;grid-template-areas:"player-buildings" "opponent" "message" "player-hand";padding:.5rem;gap:.5rem}.player-buildings-area,.opponent-area,.message-area,.player-hand-area{min-height:150px;padding:.8rem}.player-buildings-area h2,.opponent-area h2,.message-area h2,.player-hand-area h2{font-size:1.1rem}.card-list{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem}.card{padding:.6rem}.card h5{font-size:.8rem}.card p{font-size:.7rem}}.game-info-toggle{position:fixed;top:10px;right:10px;z-index:1000;background-color:#fc0;color:#000;border:1px solid black;border-radius:50%;width:30px;height:30px;font-size:1.2em;font-weight:700;cursor:pointer;display:flex;justify-content:center;align-items:center}.game-info{position:fixed;top:50px;right:10px;width:250px;background-color:var(--secondary-color);border:1px solid #ccc;border-radius:5px;padding:15px;box-shadow:0 2px 5px #0000001a;z-index:999;max-height:calc(100vh - 70px);overflow-y:auto}.game-info h4{margin-top:0;margin-bottom:10px;border-bottom:1px solid var(--border-color);padding-bottom:5px;color:var(--text-color)}.game-info h5{margin-top:10px;margin-bottom:5px;color:var(--text-color)}.game-info p{margin:5px 0;font-size:.9em;color:var(--text-color)}.game-info ul{list-style:none;padding-left:10px;margin:5px 0}.game-info li{font-size:.9em;color:var(--text-color)}.game-info .highlight{font-weight:700;color:#f1c40f}.game-info>div{margin-bottom:15px}.game-info>div:last-child{margin-bottom:0}.trading-house-prices ul{padding-left:15px}@media (max-width: 768px){.game-info{width:calc(100% - 20px);max-width:300px;right:10px;top:50px}.game-info-toggle{right:10px;top:10px}}@media (max-width: 480px){.game-info{max-width:calc(100% - 20px)}}.game-messages{padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.message{padding:8px 12px;border-radius:4px;font-size:.9em;line-height:1.4;animation:fadeIn .3s ease-out}.message.info{background-color:#0003;border-left:3px solid var(--text-color)}.message.action{background-color:#2980b933;border-left:3px solid #3498db}.message.system{background-color:#f1c40f33;border-left:3px solid #f1c40f}.message.cpu{background-color:#e74c3c33;border-left:3px solid #e74c3c}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.game-messages::-webkit-scrollbar{width:6px}.game-messages::-webkit-scrollbar-track{background:#ffffff1a;border-radius:3px}.game-messages::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.game-messages::-webkit-scrollbar-thumb:hover{background:#ffffff4d}
