@font-face{font-family:BST Spyre Book;src:url(/BST-spyre-book.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Every Regular;src:url(/every-regular.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Untitled Sans Medium;src:url(/untitledsansweb-medium.woff2) format("woff2");font-weight:400;font-style:normal}@font-face{font-family:Untitled Sans Regular;src:url(/untitledsansweb-regular.woff2) format("woff2");font-weight:400;font-style:normal}:root{--navy: #001f3f;--white: #ffffff;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--font-family: "BST Spyre Book", sans-serif;--font-size-xs: .875rem;--font-size-sm: 1rem;--font-size-md: 1.125rem;--font-size-lg: 1.5rem;--font-size-xl: 2rem;--font-size-xxl: 2.5rem;--transition: .2s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);background:var(--white);color:var(--navy);min-height:100vh;line-height:1.6;overflow-x:hidden;overflow-y:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;display:flex;align-items:stretch;justify-content:center}.game-container{width:100%;max-width:1200px;display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-md);margin:0 auto;box-sizing:border-box}.game-main{display:flex;flex-direction:column;flex:1;min-height:0;gap:var(--spacing-md);padding:0 .25rem var(--spacing-lg)}.game-main::-webkit-scrollbar{width:6px}.game-main::-webkit-scrollbar-track{background:transparent}.game-main::-webkit-scrollbar-thumb{background:var(--navy);border-radius:3px}.game-header{margin-bottom:var(--spacing-sm);flex-shrink:0}.navbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--navy)}.navbar-controls{display:flex;gap:var(--spacing-md);align-items:center}.game-title{font-size:var(--font-size-xl);font-weight:700;color:var(--navy);letter-spacing:-.02em;margin:0;transition:letter-spacing var(--transition)}.game-title:hover{letter-spacing:0}.docs-btn{background:var(--white);color:var(--navy);border:2px solid var(--navy);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition);white-space:nowrap}.docs-btn:hover{background:var(--navy);color:var(--white);transform:translateY(-2px)}.docs-btn:active{transform:translateY(0)}.mode-toggle-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.mode-label{font-size:var(--font-size-sm);font-weight:600;color:var(--navy);min-width:60px;text-align:right;transition:all var(--transition);-webkit-user-select:none;user-select:none}.mode-label:hover{transform:translate(-2px)}.toggle-container{display:flex;justify-content:center;align-items:center}.toggle-container:active .toggle-box{transform:scale(.95)}.toggle-box{height:2.25rem;width:4.5rem;border-radius:40px;border:2px solid var(--navy);transition:transform .4s ease,background-color .4s ease;padding:.1875rem;display:flex;align-items:center;cursor:pointer}.toggle-box-off{background-color:var(--white)}.toggle-box-on{background-color:var(--navy)}.toggle-yoke{height:1.1rem;width:1.1rem;border-radius:20px;transition:transform .4s cubic-bezier(.4,0,.2,1),background-color .4s cubic-bezier(.4,0,.2,1);position:relative;display:block;pointer-events:none}.toggle-yoke:before{content:"";position:absolute;inset:-4px;border-radius:20px;background:#001f3f80;opacity:0;transform:scale(1);transition:all .4s cubic-bezier(.4,0,.2,1)}.toggle-yoke:hover:before{animation:pulse 1.5s ease}@keyframes pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.4)}}.toggle-yoke-off{transform:translate(.25rem);background-color:var(--navy)}.toggle-yoke-on{transform:translate(2.4rem);background-color:var(--white)}.score-board{display:flex;gap:var(--spacing-md);justify-content:flex-end;align-items:center;flex-wrap:nowrap}.score-item{background:var(--navy);border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;align-items:center;gap:.35rem;min-width:100px;transition:transform var(--transition),box-shadow var(--transition);flex-shrink:0}.score-item:hover{transform:translateY(-2px);box-shadow:0 4px #00000040}.score-label{font-size:var(--font-size-xs);color:var(--white);text-transform:uppercase;letter-spacing:.5px;font-weight:500;opacity:.85}.score-value{font-size:var(--font-size-lg);font-weight:700;color:var(--white)}.score-breakdown-inline{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;max-width:260px;font-size:var(--font-size-xs);color:var(--navy)}.score-breakdown-inline-label{text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-bottom:.15rem}.score-breakdown-inline-value{font-weight:600}.game-header{margin-bottom:var(--spacing-md);flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.character-and-score{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl);flex-shrink:0;padding:var(--spacing-lg);border:2px solid var(--navy);border-radius:var(--radius-lg);box-shadow:0 6px 0 var(--navy);background:linear-gradient(135deg,var(--white) 0%,rgba(0,31,63,.04) 100%)}.character-container{display:flex;justify-content:center;align-items:center;flex-direction:column;flex-shrink:0}.character-silhouette{width:110px;height:110px;background:var(--navy);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.character-silhouette:hover{transform:scale(1.05)}.mystery-icon{font-size:2.8rem;color:var(--white);font-weight:300}.character-silhouette.revealed .mystery-icon{display:none}.character-silhouette.revealed:after{content:"✓";font-size:2.8rem;color:var(--white)}.era-tags{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.era-tag{border:1px solid var(--navy);color:var(--navy);padding:.35rem .75rem;border-radius:999px;font-size:var(--font-size-xs);letter-spacing:.02em;background:var(--white)}.clues-section{background:var(--white);border:2px solid var(--navy);border-radius:var(--radius-lg);padding:var(--spacing-md);margin-bottom:var(--spacing-sm);box-shadow:0 2px 8px #001f3f1a;transition:all var(--transition)}.clues-section:hover{box-shadow:0 4px 12px #001f3f26}.clues-title{font-size:var(--font-size-md);margin-bottom:var(--spacing-sm);color:var(--navy);font-weight:600;flex-shrink:0}.clues-container{min-height:80px;margin-bottom:var(--spacing-sm)}.clue-item{background:var(--white);border:1px solid var(--navy);border-radius:var(--radius-sm);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-sm);transition:all var(--transition)}.clue-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.clue-difficulty{border:1px solid var(--navy);border-radius:var(--radius-sm);padding:0 var(--spacing-xs);font-size:var(--font-size-xs);text-transform:capitalize}.clue-difficulty.easy{background:#001f3f0d}.clue-difficulty.medium{background:#001f3f1a}.clue-difficulty.hard{background:#001f3f26}.clue-adaptive-badge{border-radius:var(--radius-sm);border:1px dashed var(--navy);padding:0 var(--spacing-xs);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.03em}.adaptive-clue{border-width:2px;box-shadow:0 0 0 2px #001f3f1a}.clue-item:hover{background:var(--navy);color:var(--white)}.clue-item:hover .clue-number{background:var(--white);color:var(--navy)}.clue-item:hover .clue-text{color:var(--white)}.clue-number{display:inline-block;width:24px;height:24px;background:var(--navy);color:var(--white);border-radius:50%;text-align:center;line-height:24px;font-size:var(--font-size-xs);font-weight:600;margin-right:var(--spacing-sm)}.clue-text{color:var(--navy);font-size:var(--font-size-sm)}.reveal-btn,.submit-btn,.next-btn,.modal-btn{border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-lg);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1)}.reveal-btn{width:100%;background:var(--white);color:var(--navy);border:2px solid var(--navy)}.reveal-btn:hover:not(:disabled){background:var(--navy);color:var(--white);transform:translateY(-2px)}.reveal-btn:active:not(:disabled){transform:translateY(0)}.reveal-btn:disabled{opacity:.3;cursor:not-allowed}.submit-btn{background:var(--navy);color:var(--white);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);border:2px solid var(--navy);min-width:140px}.submit-btn:hover:not(:disabled){background:var(--white);color:var(--navy);transform:translateY(-2px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.next-btn,.modal-btn{background:var(--navy);color:var(--white);display:block;margin:var(--spacing-lg) auto 0;border:2px solid var(--navy)}.next-btn:hover,.modal-btn:hover{background:var(--white);color:var(--navy);transform:translateY(-2px)}.next-btn:active,.modal-btn:active{transform:translateY(0)}.give-up-btn{background:var(--white);color:var(--navy);border:2px solid var(--navy);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;margin-left:auto;transition:all var(--transition)}.give-up-btn:hover:not(:disabled){background:var(--navy);color:var(--white);transform:translateY(-2px)}.give-up-btn-confirm{background:var(--navy);color:var(--white)}.give-up-btn:active:not(:disabled){transform:translateY(0)}.give-up-btn:disabled{opacity:.4;cursor:not-allowed}.btn-icon{font-size:var(--font-size-md)}.guess-section{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);flex-wrap:wrap;flex-shrink:0}.guess-input{flex:1;min-width:250px;background:var(--white);border:2px solid var(--navy);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--navy);transition:all .3s cubic-bezier(.4,0,.2,1)}.guess-input:focus{outline:none;border-width:3px;transform:translateY(-2px);box-shadow:0 4px 8px #001f3f26}.guess-input::placeholder{color:var(--navy);opacity:.4}.feedback-wrapper{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-shrink:0}.feedback-message{text-align:center;padding:var(--spacing-md);border-radius:var(--radius-md);font-weight:600;min-height:50px;display:flex;align-items:center;justify-content:center}.feedback-message.success{background:var(--navy);border:2px solid var(--navy);color:var(--white)}.feedback-message.error{background:var(--white);border:2px solid var(--navy);color:var(--navy)}.feedback-message.info{background:var(--white);border:2px dashed var(--navy);color:var(--navy)}.feedback-message.persona{background:var(--navy);color:var(--white);border:2px solid var(--navy);font-style:italic;letter-spacing:.01em}.adaptive-banner{font-size:var(--font-size-sm)}.modal{position:fixed;inset:0;background:var(--navy);opacity:.95;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .3s ease;padding:var(--spacing-sm);overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:.95}}.modal-content{background:var(--white);border:3px solid var(--navy);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:500px;width:100%;text-align:center;animation:slideUp .4s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px #001f3f4d;max-height:90vh;overflow-y:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm);color:var(--navy);font-weight:700}.modal-text{color:var(--navy);opacity:.7;margin-bottom:var(--spacing-md);font-size:var(--font-size-md)}.final-score{font-size:var(--font-size-lg);color:var(--navy);margin-bottom:var(--spacing-lg);font-weight:600}.final-score span{color:var(--navy);font-size:var(--font-size-xl);font-weight:700}.welcome-modal{max-width:450px;text-align:left}.welcome-content{margin:var(--spacing-md) 0}.welcome-intro{font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--spacing-md);color:var(--navy)}.mode-explanation{background:var(--white);border:2px solid var(--navy);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);margin-bottom:var(--spacing-md)}.mode-explanation h3{color:var(--navy);font-size:var(--font-size-md);margin-bottom:var(--spacing-xs)}.game-rules{list-style-position:inside;color:var(--navy);font-size:var(--font-size-sm)}.game-rules li{margin-bottom:.25rem;line-height:1.4}.scoring-info{background:var(--navy);color:var(--white);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);text-align:center;font-size:var(--font-size-sm)}.scoring-info h3{color:var(--white);margin-bottom:var(--spacing-xs);font-size:var(--font-size-md)}.scoring-info p{margin:.25rem 0}.start-btn{width:100%;font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-md)}.confirm-modal{max-width:480px}.confirm-actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.confirm-actions .modal-btn{flex:1;margin:0}.modal-btn-secondary{background:var(--white);color:var(--navy)}.modal-btn-secondary:hover{background:var(--navy);color:var(--white)}.docs-modal{max-width:700px;max-height:80vh;overflow-y:auto;text-align:left}.docs-content{margin:var(--spacing-lg) 0}.docs-section{margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--navy)}.docs-section:last-child{border-bottom:none}.docs-section h3{color:var(--navy);font-size:var(--font-size-lg);margin-bottom:var(--spacing-sm)}.docs-section p{color:var(--navy);line-height:1.6;margin:var(--spacing-xs) 0}.docs-list{list-style-position:inside;color:var(--navy);margin:var(--spacing-sm) 0}.docs-list li{margin-bottom:var(--spacing-xs);line-height:1.6}.docs-note{font-style:italic;opacity:.7;margin-top:var(--spacing-sm)}.conversation-section{background:var(--white);border:2px solid var(--navy);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);display:flex;flex-direction:column;min-height:320px;max-height:480px;box-shadow:0 3px 12px #001f3f2e;transition:all var(--transition)}.conversation-section:hover{box-shadow:0 4px 16px #001f3f33}.conversation-header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.conversation-title{font-size:var(--font-size-md);margin-bottom:var(--spacing-sm);color:var(--navy);font-weight:600}.question-meter{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.question-count{font-weight:600;color:var(--navy)}.reset-btn{border:2px solid var(--navy);background:var(--white);color:var(--navy);padding:.35rem .75rem;border-radius:var(--radius-md);font-weight:600;cursor:pointer;transition:all .2s ease}.reset-btn:hover:not(:disabled){background:var(--navy);color:var(--white)}.reset-btn:disabled{opacity:.5;cursor:not-allowed}.inline-warning{background:var(--white);border:1px dashed var(--navy);color:var(--navy);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);margin:var(--spacing-xs) 0 var(--spacing-sm);font-size:var(--font-size-sm)}.warning-critical{background:var(--navy);border-style:solid;border-color:var(--navy);color:var(--white)}.messages-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-xs);min-height:0}.messages-container::-webkit-scrollbar{width:6px}.messages-container::-webkit-scrollbar-track{background:transparent}.messages-container::-webkit-scrollbar-thumb{background:var(--navy);border-radius:3px}.empty-state{text-align:center;padding:var(--spacing-xl) var(--spacing-md);color:var(--navy);opacity:.5;font-style:italic}.message{max-width:75%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.25rem;animation:messageSlideIn .3s ease}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message-user{align-self:flex-end;background:var(--navy);color:var(--white);border:2px solid var(--navy)}.message-assistant{align-self:flex-start;background:var(--white);color:var(--navy);border:2px solid var(--navy)}.message-content{font-size:var(--font-size-sm);line-height:1.5}.message-time{font-size:.75rem;opacity:.6;text-align:right}.typing-indicator{display:flex;gap:4px;padding:var(--spacing-xs) 0}.typing-indicator span{width:8px;height:8px;background:var(--navy);border-radius:50%;animation:typingBounce 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-8px)}}.mode-toggle{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.mode-btn{flex:1;background:var(--white);color:var(--navy);border:2px solid var(--navy);border-radius:var(--radius-md);padding:var(--spacing-sm);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition);font-weight:500}.mode-btn:hover:not(:disabled){background:var(--navy);color:var(--white)}.mode-btn.active{background:var(--navy);color:var(--white);font-weight:600}.mode-btn:disabled{opacity:.3;cursor:not-allowed}.hidden{display:none!important}.app-footer{margin-top:var(--spacing-lg);padding:var(--spacing-lg) var(--spacing-md);border-top:2px solid var(--navy);display:grid;grid-template-columns:1fr;gap:var(--spacing-lg)}.footer-brand{display:flex;flex-direction:column;gap:var(--spacing-xs);max-width:520px}.footer-title{font-size:var(--font-size-lg);letter-spacing:-.01em}.footer-description{font-size:var(--font-size-sm);line-height:1.5}.footer-meta{font-size:var(--font-size-xs);opacity:.8}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--spacing-md)}.footer-card{border:2px solid var(--navy);border-radius:var(--radius-md);padding:var(--spacing-md);background:var(--white);display:flex;flex-direction:column;gap:var(--spacing-xs);transition:transform var(--transition),box-shadow var(--transition)}.footer-card:hover{transform:translateY(-4px);box-shadow:0 8px 0 0 var(--navy)}.footer-heading{font-size:var(--font-size-md);margin:0}.footer-text{font-size:var(--font-size-sm);line-height:1.5}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@media(max-width:1100px){.game-container{padding:var(--spacing-md)}.character-and-score{flex-direction:column;align-items:stretch;gap:var(--spacing-lg)}.score-board{width:100%;justify-content:center;flex-wrap:wrap}}@media(max-width:768px){.game-title{font-size:var(--font-size-xl)}.game-subtitle{font-size:var(--font-size-sm)}.character-silhouette{width:150px;height:150px}.mystery-icon,.character-silhouette.revealed:after{font-size:3rem}.guess-section{flex-direction:column}.guess-input{min-width:100%}.submit-btn{width:100%;justify-content:center}.footer-grid{grid-template-columns:1fr}}
