body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%}*{box-sizing:border-box}body{margin:0;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.game-container{padding:20px;max-width:1400px;margin:0 auto}.game-header{text-align:center;color:#fff;margin-bottom:20px}.game-header h1{font-size:2.5rem;margin:0;text-shadow:2px 2px 4px rgba(0,0,0,.3);letter-spacing:4px}.game-header p{margin:5px 0 0;opacity:.9;font-style:italic}.game-layout{display:flex;gap:20px;align-items:flex-start}.board{flex:1;max-width:700px}.board-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);gap:3px;background:#2c3e50;padding:10px;border-radius:12px;box-shadow:0 10px 40px #0000004d;aspect-ratio:1}.space{background:#fff;border-radius:6px;padding:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-height:80px;transition:transform .2s,box-shadow .2s;cursor:pointer}.space:hover{transform:scale(1.05);box-shadow:0 4px 12px #0000004d;z-index:10}.space.corner{min-height:100px}.space-icon{font-size:1.2rem;margin-bottom:2px}.space-name{font-size:.55rem;font-weight:700;text-align:center;color:#fff;text-shadow:1px 1px 1px rgba(0,0,0,.5);line-height:1.1}.space-points{font-size:.6rem;font-weight:700;margin-top:2px}.space-points.positive{color:#fff}.space-points.negative{color:#fcc}.space-price{font-size:.55rem;color:#fff;background:#0000004d;padding:1px 4px;border-radius:3px;margin-top:2px}.owner-marker{position:absolute;top:2px;right:2px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:700;color:#fff;border:2px solid white}.players-on-space{position:absolute;bottom:2px;left:50%;transform:translate(-50%);display:flex;gap:2px}.player-token{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:#fff;border:2px solid white;box-shadow:0 2px 4px #0000004d}.board-center{grid-row:2 / 7;grid-column:2 / 7;background:linear-gradient(135deg,#f5f7fa,#e4e8eb);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px}.center-title{font-size:1.8rem;font-weight:700;color:#2c3e50;letter-spacing:3px}.center-subtitle{font-size:.8rem;color:#7f8c8d;margin-top:5px;font-style:italic}.current-card{margin-top:15px;padding:15px;border-radius:8px;text-align:center;max-width:200px;animation:fadeIn .3s ease}.current-card.opportunity{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.current-card.scripture{background:linear-gradient(135deg,#1abc9c,#16a085);color:#fff}.current-card h3{margin:0 0 5px;font-size:.9rem}.current-card .verse{font-style:italic;font-size:.75rem;opacity:.9;margin:3px 0}.current-card p{margin:5px 0;font-size:.75rem}.current-card .card-points{font-weight:700;font-size:1rem;margin-top:8px}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.sidebar{width:320px;display:flex;flex-direction:column;gap:15px}.player-info,.controls,.players-list,.game-log{background:#fff;border-radius:12px;padding:15px;box-shadow:0 4px 15px #0000001a}.player-info h2{margin:0 0 10px;color:#2c3e50;font-size:1.2rem}.dice-display{display:flex;align-items:center;gap:10px;font-size:1.5rem}.die{background:#ecf0f1;padding:5px 10px;border-radius:8px}.total{font-weight:700;color:#e74c3c}.controls{display:flex;flex-direction:column;gap:10px}.btn{padding:12px 20px;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .1s,box-shadow .1s}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn:active{transform:translateY(0)}.btn-roll{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.btn-move{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.btn-buy{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.btn-end{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.btn-restart{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff;font-size:1.2rem;padding:15px 30px}.players-list h3{margin:0 0 10px;color:#2c3e50}.player-card{border:3px solid #ddd;border-radius:8px;padding:10px;margin-bottom:8px;transition:border-color .2s}.player-card.active{background:#f8f9fa}.player-header{display:flex;align-items:center;gap:8px;margin-bottom:5px;font-weight:700}.player-token-small{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;color:#fff}.you-badge{background:#f39c12;color:#fff;padding:2px 6px;border-radius:4px;font-size:.7rem;margin-left:auto}.player-stats{display:flex;flex-wrap:wrap;gap:8px;font-size:.85rem;color:#7f8c8d}.game-log h3{margin:0 0 10px;color:#2c3e50}.log-entries{max-height:150px;overflow-y:auto}.log-entry{padding:5px 0;border-bottom:1px solid #ecf0f1;font-size:.85rem;color:#555}.log-entry:last-child{border-bottom:none}.game-over-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:100}.game-over-modal{background:#fff;padding:40px;border-radius:16px;text-align:center;animation:fadeIn .3s ease}.game-over-modal h2{font-size:2rem;margin:0 0 15px;color:#2c3e50}.game-over-modal p{font-size:1.2rem;color:#7f8c8d;margin-bottom:20px}@media(max-width:1000px){.game-layout{flex-direction:column;align-items:center}.board{max-width:100%;width:100%}.sidebar{width:100%;max-width:700px}}@media(max-width:600px){.space-name{font-size:.4rem}.space-icon{font-size:.9rem}.space{min-height:50px}.space.corner{min-height:60px}}.lobby{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.lobby-container{text-align:center;max-width:600px;width:100%}.lobby h1{font-size:3rem;color:#fff;margin:0;text-shadow:3px 3px 6px rgba(0,0,0,.3);letter-spacing:6px}.lobby .subtitle{color:#ffffffe6;font-size:1.2rem;margin:10px 0 30px;font-style:italic}.lobby-card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 10px 40px #0003;margin-bottom:20px}.lobby-card h2{margin:0 0 20px;color:#2c3e50}.player-count{margin-bottom:20px}.player-count label{display:block;margin-bottom:10px;color:#7f8c8d;font-weight:700}.player-buttons{display:flex;gap:10px;justify-content:center}.player-btn{padding:10px 20px;border:2px solid #3498db;background:#fff;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .2s}.player-btn:hover{background:#ecf0f1}.player-btn.active{background:#3498db;color:#fff}.player-names{margin:20px 0}.name-input{display:flex;align-items:center;gap:10px;margin-bottom:10px}.name-input label{width:80px;text-align:right;color:#7f8c8d}.name-input input{flex:1;padding:10px;border:2px solid #ecf0f1;border-radius:8px;font-size:1rem;transition:border-color .2s}.name-input input:focus{outline:none;border-color:#3498db}.start-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff;border:none;padding:15px 40px;font-size:1.3rem;font-weight:700;border-radius:12px;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:10px}.start-btn:hover{transform:translateY(-3px);box-shadow:0 6px 20px #2ecc7166}.rules-card{background:#fffffff2;border-radius:16px;padding:25px;text-align:left;box-shadow:0 10px 40px #0000001a}.rules-card h3{margin:0 0 15px;color:#2c3e50;text-align:center}.rules-card ul{list-style:none;padding:0;margin:0}.rules-card li{padding:8px 0;border-bottom:1px solid #ecf0f1;color:#555}.rules-card li:last-child{border-bottom:none}.game-view{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.view-tabs{display:flex;justify-content:center;gap:5px;padding:10px;background:#0003}.view-tab{padding:8px 16px;border:none;background:#fff3;color:#fff;border-radius:6px;cursor:pointer;font-size:.9rem;transition:background .2s}.view-tab:hover{background:#ffffff4d}.view-tab.active{background:#fff;color:#2c3e50;font-weight:700}.online-lobby{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px}.online-container{text-align:center;max-width:500px;width:100%}.online-container h1{color:#fff;font-size:2.5rem;margin-bottom:30px}.online-card{background:#fff;border-radius:16px;padding:30px;box-shadow:0 10px 40px #0003;margin-bottom:15px}.online-card h2{margin:0 0 20px;color:#2c3e50}.online-card input{width:100%;padding:12px;border:2px solid #ecf0f1;border-radius:8px;font-size:1rem;margin-bottom:15px}.online-card input:focus{outline:none;border-color:#3498db}.create-btn,.join-btn{width:100%;padding:12px;border:none;border-radius:8px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:transform .2s}.create-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.join-btn{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff}.create-btn:hover,.join-btn:hover{transform:translateY(-2px)}.room-code{background:#ecf0f1;padding:15px;border-radius:8px;margin:15px 0}.room-code p{margin:0 0 5px;color:#7f8c8d}.room-code .code{font-size:2rem;font-weight:700;color:#2c3e50;letter-spacing:4px}.waiting{color:#7f8c8d;font-style:italic}
