*{box-sizing:border-box;margin:0;padding:0}body[data-theme=modern]{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#1a1a1a;color:#e0e0e0;line-height:1.6}body[data-theme=classic]{font-family:Courier New,Monaco,Menlo,monospace;background-color:#000;color:#fff;line-height:1.4}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;background-color:#1a1a1a;color:#e0e0e0;line-height:1.6}.app{min-height:100vh;padding:20px}h1,h2,h3{margin-bottom:1rem}body[data-theme=modern] button{background-color:#4a9eff;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s}body[data-theme=modern] button:hover:not(:disabled){background-color:#357abd}body[data-theme=modern] button:disabled{background-color:#666;cursor:not-allowed}body[data-theme=classic] button{background-color:#000;color:#0f0;border:2px solid #00ff00;padding:8px 16px;border-radius:0;cursor:pointer;font-size:14px;font-family:inherit;text-transform:uppercase;transition:all .2s}body[data-theme=classic] button:hover:not(:disabled){background-color:#0f0;color:#000}body[data-theme=classic] button:disabled{border-color:#060;color:#060;cursor:not-allowed}button{background-color:#4a9eff;color:#fff;border:none;padding:10px 20px;border-radius:5px;cursor:pointer;font-size:16px;transition:background-color .3s}button:hover:not(:disabled){background-color:#357abd}button:disabled{background-color:#666;cursor:not-allowed}body[data-theme=modern] input,body[data-theme=modern] textarea{width:100%;padding:10px;margin-bottom:10px;background-color:#2a2a2a;color:#e0e0e0;border:1px solid #444;border-radius:5px;font-size:16px}body[data-theme=classic] input,body[data-theme=classic] textarea{width:100%;padding:8px;margin-bottom:10px;background-color:#000;color:#fff;border:2px solid #00ff00;border-radius:0;font-size:18px;font-family:inherit}body[data-theme=classic] input:focus,body[data-theme=classic] textarea:focus{outline:none;border-color:#0ff;background-color:#010}input,textarea{width:100%;padding:10px;margin-bottom:10px;background-color:#2a2a2a;color:#e0e0e0;border:1px solid #444;border-radius:5px;font-size:16px}.loading,.error{text-align:center;padding:50px;font-size:18px}.error{color:#ff6b6b}.error-message{color:#ff6b6b;margin-top:10px}.home-page{max-width:800px;margin:0 auto;text-align:center;padding-top:50px}.home-page h1{font-size:3rem;margin-bottom:10px}.game-options{display:flex;gap:40px;justify-content:center;margin-top:50px}.game-options-vertical{display:flex;flex-direction:column;gap:30px;align-items:center;margin-top:50px}.option-card{background-color:#2a2a2a;padding:30px;border-radius:10px;box-shadow:0 4px 6px #0000004d;width:100%;max-width:400px}.option-card label{display:block;margin-bottom:8px;color:#ccc;font-size:.9rem}.option-card select{width:100%;padding:10px;margin-bottom:10px;background-color:#1a1a1a;color:#e0e0e0;border:1px solid #444;border-radius:5px;font-size:16px;cursor:pointer}.option-card select:focus{outline:none;border-color:#4a9eff}.universe-description{font-size:.85rem;color:#999;margin-bottom:15px;font-style:italic}.universe-select{margin-bottom:10px}.universe-select__control{background-color:#1a1a1a!important;border-color:#444!important;min-height:38px}.universe-select__control:hover{border-color:#555!important}.universe-select__control--is-focused{border-color:#4a9eff!important;box-shadow:0 0 0 1px #4a9eff!important}.universe-select__menu{background-color:#1a1a1a!important;border:1px solid #444}.universe-select__option{cursor:pointer}.universe-select__option--is-focused{background-color:#333!important}.universe-select__option--is-selected{background-color:#4a9eff!important}.universe-select__group-heading{background-color:#0a0a0a;padding:8px 12px!important;margin:0}.universe-select__indicator-separator{background-color:#444!important}.universe-select__dropdown-indicator,.universe-select__clear-indicator{color:#999!important}.universe-select__dropdown-indicator:hover,.universe-select__clear-indicator:hover{color:#fff!important}.game-lobby{max-width:600px;margin:0 auto}.game-code{background-color:#2a2a2a;padding:20px;border-radius:10px;text-align:center;margin-bottom:30px}.game-code h2{color:#4a9eff;font-size:2rem}.players-section{background-color:#2a2a2a;padding:20px;border-radius:10px;margin-bottom:20px}.player-list{list-style:none;padding-left:20px}.player-list li{padding:5px 0}.game-info{background-color:#2a2a2a;padding:20px;border-radius:10px;margin-bottom:20px}.start-button{width:100%;padding:15px;font-size:18px}.waiting-message{text-align:center;font-style:italic;color:#999}.game-view{max-width:800px;margin:0 auto}.game-header{text-align:center;margin-bottom:30px}.objective{color:#4a9eff;font-style:italic}.tavern-description{background-color:#2a2a2a;padding:20px;border-radius:10px;margin-bottom:20px}.last-turn-summary{background-color:#1f2f1f;padding:20px;border-radius:10px;margin-bottom:20px;border-left:4px solid #4a9eff}.action-section{background-color:#2a2a2a;padding:20px;border-radius:10px;margin-bottom:20px}.action-controls{display:flex;justify-content:space-between;align-items:center}.char-count{color:#999;font-size:14px}.players-status{background-color:#2a2a2a;padding:20px;border-radius:10px}.players-status ul{list-style:none;padding-left:20px}.game-over{background-color:#2f1f1f;padding:30px;border-radius:10px;text-align:center;margin:30px 0;border:2px solid #4a9eff}.personal-perspective{background-color:#1f2f2f;padding:15px;border-radius:8px;margin-top:15px;border-left:4px solid #9c4aff;font-style:italic}.personal-perspective h3{color:#9c4aff;font-size:1rem;margin-bottom:.5rem}.theme-selector{position:absolute;top:0;right:0}.theme-toggle-button{min-width:80px!important;padding:6px 12px!important;font-size:12px!important;font-weight:700}body[data-theme=classic] .theme-toggle-button{border:1px solid #00ff00!important;background-color:#000!important;color:#0f0!important;font-size:14px!important;padding:4px 8px!important}.header-content{position:relative;display:flex;justify-content:center;align-items:center}.game-view{display:flex;flex-direction:column;height:calc(100vh - 40px);max-width:800px;margin:0 auto}body[data-theme=modern] .game-header{padding:40px 20px 30px;border-bottom:1px solid #333}body[data-theme=classic] .game-header{padding:20px;border-bottom:2px solid #00ff00;background-color:#000;text-align:center}body[data-theme=classic] .game-header h1{color:#0ff;font-size:20px;letter-spacing:2px;margin:0;position:relative}body[data-theme=classic] .game-header h1:before{content:"┌─────────────────────────────────────────────┐";display:block;color:#0f0;font-size:16px;margin-bottom:5px}body[data-theme=classic] .game-header h1:after{content:"└─────────────────────────────────────────────┘";display:block;color:#0f0;font-size:16px;margin-top:5px}.game-header{padding:40px 20px 30px;border-bottom:1px solid #333}.game-header h1{margin:0;font-size:2.5rem;font-weight:700;color:#e0e0e0;text-align:center}body[data-theme=modern] .messages-container{flex:1;overflow-y:auto;padding:30px 40px;background-color:#1a1a1a;display:flex;flex-direction:column;gap:1.5rem}body[data-theme=classic] .messages-container{flex:1;overflow-y:auto;padding:20px;background-color:#000;display:flex;flex-direction:column;gap:1rem;border:2px solid #00ff00;margin:10px}.messages-container{flex:1;overflow-y:auto;padding:30px 40px;background-color:#1a1a1a;display:flex;flex-direction:column;gap:1.5rem}.message{display:flex;flex-direction:column;width:100%;animation:fadeIn .3s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}body[data-theme=modern] .system-message{text-align:center}body[data-theme=modern] .system-message .message-content{color:#999;font-size:.875rem;line-height:1.5}body[data-theme=classic] .system-message{text-align:center;border-top:1px solid #006600;border-bottom:1px solid #006600;padding:5px 0}body[data-theme=classic] .system-message .message-content{color:#ff0;font-size:16px;text-transform:uppercase;letter-spacing:1px}body[data-theme=modern] .gm-message{text-align:left}body[data-theme=modern] .gm-message .message-author{color:gold;font-size:.875rem;margin-bottom:.5rem;font-weight:500}body[data-theme=modern] .gm-message .message-content{color:#e0e0e0;font-size:1rem;line-height:1.6}body[data-theme=classic] .gm-message{text-align:left;border-left:2px solid #ffff00;padding-left:10px}body[data-theme=classic] .gm-message .message-author{color:#ff0;font-size:16px;margin-bottom:.5rem;font-weight:700;text-transform:uppercase}body[data-theme=classic] .gm-message .message-content{color:#fff;font-size:18px;line-height:1.4}.system-message{text-align:center}.system-message .message-content{color:#999;font-size:.875rem;line-height:1.5}.gm-message{text-align:left}.gm-message .message-author{color:gold;font-size:.875rem;margin-bottom:.5rem;font-weight:500}.gm-message .message-content{color:#e0e0e0;font-size:1rem;line-height:1.6}body[data-theme=modern] .player-message{text-align:left}body[data-theme=modern] .player-message.own-message{text-align:right}body[data-theme=modern] .player-message .message-author{font-size:.875rem;margin-bottom:.5rem;font-weight:500}body[data-theme=modern] .player-message .message-content{color:#e0e0e0;font-size:1rem;line-height:1.6}body[data-theme=classic] .player-message{text-align:left;padding:5px;border:1px solid #006600;margin-bottom:5px}body[data-theme=classic] .player-message.own-message{text-align:right;border-color:#06f}body[data-theme=classic] .player-message .message-author{font-size:16px;margin-bottom:.5rem;font-weight:700;text-transform:uppercase}body[data-theme=classic] .player-message .message-content{color:#fff;font-size:18px;line-height:1.4}body[data-theme=classic] .player-message.own-message .message-content{color:#fff}.player-message{text-align:left}.player-message.own-message{text-align:right}.player-message .message-author{font-size:.875rem;margin-bottom:.5rem;font-weight:500}.player-message .message-content{color:#e0e0e0;font-size:1rem;line-height:1.6}body[data-theme=modern] .action-input-container{padding:30px 40px;background-color:#1a1a1a;border-top:1px solid #333;position:relative}body[data-theme=classic] .action-input-container{padding:20px;background-color:#000;border:2px solid #00ff00;margin:10px}.action-input-container{padding:30px 40px;background-color:#1a1a1a;border-top:1px solid #333;position:relative}.input-wrapper{display:flex;flex-direction:column;gap:8px;width:100%}.action-input-container textarea{width:100%;background-color:#222;border:1px solid #333;border-radius:4px;padding:12px 16px;color:#e0e0e0;resize:none;font-family:inherit;font-size:1rem;line-height:1.5;min-height:44px;max-height:120px;overflow-y:auto}.action-input-container textarea:focus{outline:none;border-color:#4a9eff}.action-input-container textarea:disabled{opacity:.7;cursor:not-allowed}.action-input-container input[type=tel]{width:100%;background-color:#222;border:1px solid #333;border-radius:4px;padding:12px 16px;color:#e0e0e0;font-family:inherit;font-size:1rem;line-height:1.5;box-sizing:border-box}.action-input-container input[type=tel]:focus{outline:none;border-color:#4a9eff}.action-input-container input[type=tel]:disabled{opacity:.7;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-dialog{background-color:#1a1a1a;border:1px solid #333;border-radius:8px;padding:30px;max-width:500px;width:100%;box-shadow:0 4px 20px #00000080}.modal-dialog h2{margin:0 0 20px;color:#e0e0e0;font-size:1.5rem;font-weight:600}.modal-dialog .phone-input{width:100%;padding:12px 16px;margin-bottom:20px;background-color:#222;border:1px solid #333;border-radius:4px;color:#e0e0e0;font-size:1rem;box-sizing:border-box}.modal-dialog .phone-input:focus{outline:none;border-color:#4a9eff}.consent-label{display:flex;align-items:flex-start;margin-bottom:20px;cursor:pointer}.consent-label input[type=checkbox]{margin-right:10px;margin-top:4px;flex-shrink:0;width:18px;height:18px;cursor:pointer}.consent-label span{color:#ccc;font-size:.875rem;line-height:1.5}.consent-label a{color:#4a9eff;text-decoration:underline}.consent-label a:hover{color:#6bb3ff}.modal-buttons{display:flex;gap:12px;justify-content:flex-end}.subscribe-button{padding:10px 20px;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .2s;background-color:#4a9eff;color:#fff;font-weight:500}.subscribe-button:hover:not(:disabled){background-color:#3a8eef}.subscribe-button:disabled{background-color:#666;color:#999;cursor:not-allowed}.cancel-link{color:#666;text-decoration:none;cursor:pointer;font-size:1rem;padding:10px 0}.cancel-link:hover{color:#999;text-decoration:underline}body[data-theme=modern] .input-controls{display:flex;align-items:center;justify-content:space-between}body[data-theme=modern] .left-controls{display:flex;align-items:center}body[data-theme=modern] .right-controls{display:flex;align-items:center;gap:12px}body[data-theme=modern] .char-count{color:#666;font-size:.85rem;white-space:nowrap}body[data-theme=modern] .submit-button{width:32px;height:32px;border-radius:50%;background-color:#4a9eff;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .2s;padding:0}body[data-theme=modern] .submit-button:hover:not(:disabled){background-color:#357abd}body[data-theme=modern] .submit-button:disabled{background-color:#333;color:#666;cursor:not-allowed}body[data-theme=classic] .input-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}body[data-theme=classic] .char-count{color:#ff0;font-size:16px;white-space:nowrap;font-family:inherit}body[data-theme=classic] .submit-button{background-color:#000;color:#0f0;border:2px solid #00ff00;padding:4px 8px;border-radius:0;cursor:pointer;font-size:16px;font-family:inherit;text-transform:uppercase;transition:all .2s;min-width:50px}body[data-theme=classic] .submit-button:hover:not(:disabled){background-color:#0f0;color:#000}body[data-theme=classic] .submit-button:disabled{border-color:#060;color:#060;cursor:not-allowed}.input-controls{display:flex;align-items:center;justify-content:space-between}.left-controls{display:flex;align-items:center}.right-controls{display:flex;align-items:center;gap:12px}.char-count{color:#666;font-size:.85rem;white-space:nowrap}.submit-button{width:32px;height:32px;border-radius:50%;background-color:#4a9eff;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .2s;padding:0}.submit-button:hover:not(:disabled){background-color:#357abd}.submit-button:disabled{background-color:#333;color:#666;cursor:not-allowed}.waiting-message{text-align:center;color:#888;padding:20px;font-style:italic}.messages-container::-webkit-scrollbar{width:8px}.messages-container::-webkit-scrollbar-track{background:#1a1a1a}.messages-container::-webkit-scrollbar-thumb{background:#444;border-radius:4px}.messages-container::-webkit-scrollbar-thumb:hover{background:#555}.game-code-link{color:#4a9eff;cursor:pointer;text-decoration:underline}.game-code-link:hover{color:#6ab3ff}.copied-indicator{color:#6a994e;font-size:.85rem}.start-button{width:100%;padding:12px;font-size:1.1rem;background-color:#4a9eff;color:#fff;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s}.start-button:hover:not(:disabled){background-color:#357abd}.start-button:disabled{background-color:#666;cursor:not-allowed}.about-page{min-height:100vh}.about-modern{max-width:1000px;margin:0 auto;padding:0 20px}.about-modern .about-header{padding:40px 20px 30px;border-bottom:1px solid #333;position:relative}.about-modern .about-header h1{text-align:center;font-size:2.5rem;color:#e0e0e0;margin:0}.about-modern .about-content{padding:40px 20px}.about-modern .hero-section{text-align:center;margin-bottom:60px}.about-modern .hero-section h2{font-size:2rem;color:#4a9eff;margin-bottom:20px}.about-modern .hero-text{font-size:1.2rem;line-height:1.6;color:#ccc;max-width:800px;margin:0 auto}.about-modern .features-section{margin-bottom:60px}.about-modern .features-section h3{font-size:1.8rem;color:gold;margin-bottom:30px;text-align:center}.about-modern .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.about-modern .feature-card{background-color:#2a2a2a;padding:30px;border-radius:10px;border-left:4px solid #4a9eff}.about-modern .feature-card h4{color:#4a9eff;margin-bottom:15px;font-size:1.2rem}.about-modern .feature-card p{color:#ccc;line-height:1.6}.about-modern .how-to-play{margin-bottom:60px}.about-modern .how-to-play h3{font-size:1.8rem;color:gold;margin-bottom:30px;text-align:center}.about-modern .how-to-play ol{max-width:800px;margin:0 auto;color:#ccc;line-height:1.8;font-size:1.1rem}.about-modern .how-to-play li{margin-bottom:15px}.about-modern .how-to-play strong{color:#4a9eff}.about-modern .tech-section,.about-modern .credits-section{margin-bottom:40px;text-align:center}.about-modern .tech-section h3,.about-modern .credits-section h3{font-size:1.5rem;color:gold;margin-bottom:20px}.about-modern .tech-section p,.about-modern .credits-section p{color:#ccc;line-height:1.6;max-width:700px;margin:0 auto}.about-bbs{background-color:#000;color:#fff;font-family:Courier New,Monaco,Menlo,monospace;min-height:100vh;padding:20px;line-height:1.4}.about-bbs .bbs-header{text-align:center;margin-bottom:20px;position:relative}.about-bbs .ascii-border-top,.about-bbs .ascii-border-bottom{color:#0f0;font-size:16px;font-family:inherit}.about-bbs .bbs-title{color:#0ff;font-size:18px;font-weight:700;padding:5px 0}.about-bbs .tavern-ascii{text-align:center;margin:20px 0;overflow-x:auto}.about-bbs .tavern-ascii{font-size:14px;line-height:1.2;margin:0;font-family:inherit}.about-bbs .tavern-ascii div{white-space:pre}.about-bbs .bbs-content{max-width:800px;margin:0 auto}.about-bbs .bbs-section{margin-bottom:20px}.about-bbs .section-header{color:#ff0;font-size:16px;font-weight:700}.about-bbs .section-content{color:#fff;font-size:16px;padding:5px 0;line-height:1.4}.about-bbs .section-footer{color:#ff0;font-size:16px}.about-bbs .bbs-footer{margin-top:40px;text-align:center}.about-bbs .footer-decoration{color:#0f0;font-size:16px}.ansi-black{color:#000}.ansi-red{color:red}.ansi-green{color:#0f0}.ansi-yellow{color:#ff0}.ansi-blue{color:#00f}.ansi-magenta{color:#f0f}.ansi-cyan{color:#0ff}.ansi-white{color:#fff}.ansi-gray{color:gray}.ansi-bright-red{color:#f55}.ansi-bright-green{color:#5f5}.ansi-bright-yellow{color:#ff5}.ansi-bright-blue{color:#55f}.ansi-bright-magenta{color:#f5f}.ansi-bright-cyan{color:#5ff}.ansi-bright-white{color:#fff}.ansi-dark-gray{color:#555}.ansi-brown{color:#a50}.ansi-orange{color:#f80}.entity-link{color:#999;cursor:pointer;transition:color .3s ease;border-bottom:1px dotted #666}.entity-link:hover{color:#ccc;border-bottom-color:#999}.entity-info-button{width:32px!important;height:32px!important;border-radius:50%!important;background-color:#4a9eff;color:#fff;border:none;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:0!important}.entity-info-button:hover{background-color:#357abd}.entity-info-button:disabled{background-color:#333;color:#666;cursor:not-allowed}.entity-panel-overlay{position:fixed;inset:0;background-color:#00000080;z-index:200}.entity-info-panel{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:90%;background-color:#1a1a1a;border-left:1px solid #333;overflow:hidden;display:flex;flex-direction:column;z-index:201;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #333}.panel-header h2{margin:0;font-size:1.5rem}.close-button{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.close-button:hover{color:#fff}.panel-controls{padding:15px 20px;border-bottom:1px solid #333;display:flex;gap:10px;flex-direction:column}.search-input{width:100%;padding:8px 12px;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:14px}.search-input:focus{outline:none;border-color:#4a9eff}.type-filter{width:100%;padding:8px 12px;background-color:#2a2a2a;border:1px solid #444;border-radius:4px;color:#e0e0e0;font-size:14px}.entities-container{flex:1;overflow-y:auto;padding:20px}.no-entities{text-align:center;color:#666;padding:40px 20px}.entity-group{margin-bottom:30px}.entity-group h3{color:#4a9eff;font-size:1.1rem;margin-bottom:15px;text-transform:uppercase;letter-spacing:.5px}.entity-card{background-color:#2a2a2a;border:1px solid #333;border-radius:6px;padding:15px;margin-bottom:10px;cursor:pointer;transition:all .2s}.entity-card:hover{background-color:#333;border-color:#444}.entity-card.selected{background-color:#333;border-color:#4a9eff}.entity-card h4{color:#e0e0e0;margin:0 0 8px;font-size:1.1rem}.entity-aliases{color:#999;font-size:.9rem;font-style:italic;margin-bottom:10px}.entity-facts{margin-top:10px}.fact{color:#ccc;font-size:.95rem;margin-bottom:5px;line-height:1.5}.fact-turn{color:#666;font-size:.85rem;margin-left:5px}@media (max-width: 768px){.entity-info-panel{width:100%;max-width:100%;right:0;left:0}.entity-info-button{bottom:15px;left:15px;width:35px;height:35px;font-size:16px}}
