@import url("https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap");.game-shell{position:relative;width:100vw;height:100vh;overflow:hidden;background:#1a1a1a}.game-stage{position:relative;width:100%;height:100%;background:#2a2a2a;overflow:auto;z-index:1}.stage-header{padding:2rem 5rem;background:linear-gradient(180deg,rgba(42,42,42,.95),rgba(42,42,42,0));position:-webkit-sticky;position:sticky;top:0;z-index:10}.stage-title{font-size:2rem;color:#d4a574;margin:0 0 .5rem;font-weight:600;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.stage-description{color:#f4e8d0;margin:0;font-size:1rem;opacity:.9}.clue-board-toggle,.mechanics-menu-toggle{position:fixed;top:1rem;width:50px;height:50px;background:#d4a574;border:3px solid #8b6f47;border-radius:8px;font-size:1.5rem;cursor:pointer;z-index:103;pointer-events:auto;transition:all .2s ease;box-shadow:0 4px 8px rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;color:#2a2a2a}.mechanics-menu-toggle{left:1rem}.clue-board-toggle{right:1rem}.clue-board-toggle:hover,.mechanics-menu-toggle:hover{background:#e0b586;transform:scale(1.05);box-shadow:0 6px 12px rgba(0,0,0,.5)}.clue-board-toggle:active,.mechanics-menu-toggle:active{transform:scale(.95)}.mechanics-menu{position:fixed;left:0;top:0;width:18vw;height:100vh;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);border-right:3px solid #8b6f47;z-index:100;transform:translateX(-100%);transition:transform .3s ease-in-out;overflow-y:auto;box-shadow:4px 0 12px rgba(0,0,0,.6)}.mechanics-menu.open{transform:translateX(0)}.mechanics-menu-header{padding:5rem 1.5rem 1.5rem;background:linear-gradient(180deg,#3a3a3a,transparent);border-bottom:2px solid #8b6f47}.mechanics-menu-header h2{font-size:1.5rem;color:#d4a574;margin:0 0 .5rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.menu-subtitle{color:#f4e8d0;font-size:.85rem;margin:0;opacity:.7}.mechanics-list{padding:1rem 0}.mechanic-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:transparent;border:none;border-left:3px solid transparent;width:100%;text-align:left;cursor:pointer;transition:all .2s ease;color:#f4e8d0}.mechanic-item:hover:not(:disabled){background:hsla(31,53%,64%,.1);border-left-color:#d4a574}.mechanic-item.active{background:hsla(31,53%,64%,.2);border-left-color:gold}.mechanic-item.locked{opacity:.5;cursor:not-allowed}.mechanic-item.completed{opacity:.8}.mechanic-icon{font-size:1.5rem;flex-shrink:0;width:2rem;text-align:center}.mechanic-info{flex:1 1;min-width:0}.mechanic-name{font-size:.95rem;font-weight:600;margin:0 0 .25rem;color:#f4e8d0}.mechanic-type{font-size:.75rem;margin:0;color:#d4a574;opacity:.8;text-transform:uppercase;letter-spacing:.5px}.unlock-hint{display:block;font-size:.7rem;color:gold;margin-top:.25rem;font-style:italic}.mechanic-status{font-size:1.2rem;flex-shrink:0;color:#d4a574}.mechanics-menu-footer{padding:1.5rem;border-top:2px solid #8b6f47;background:#1a1a1a;position:-webkit-sticky;position:sticky;bottom:0}.progress-indicator span{display:block;font-size:.85rem;color:#f4e8d0;margin-bottom:.5rem;font-weight:600}.progress-bar{width:100%;height:8px;background:#3a3a3a;border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#d4a574,gold);transition:width .5s ease;border-radius:4px}.finish-case-button{width:100%;margin-top:1rem;padding:1rem 1.5rem;background:linear-gradient(135deg,#dc2626,#b91c1c);border:2px solid #991b1b;border-radius:8px;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 4px 8px rgba(0,0,0,.4);text-transform:uppercase;letter-spacing:1px}.finish-case-button:hover{background:linear-gradient(135deg,#ef4444,#dc2626);transform:translateY(-2px);box-shadow:0 6px 12px rgba(220,38,38,.5);border-color:#dc2626}.finish-case-button:active{transform:translateY(0);box-shadow:0 2px 4px rgba(0,0,0,.4)}.finish-case-icon{font-size:1.5rem}.finish-case-text{font-size:1rem}.clue-board{position:fixed;right:0;top:0;width:82vw;height:100vh;background:linear-gradient(135deg,#c19a6b,#a67c52);background-image:radial-gradient(ellipse at 20% 30%,rgba(139,111,71,.3) 0,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(139,111,71,.3) 0,transparent 50%),linear-gradient(135deg,#c19a6b,#a67c52);border-left:3px solid #8b6f47;z-index:99;transform:translateX(100%);transition:transform .3s ease-in-out;overflow-y:auto;box-shadow:-4px 0 12px rgba(0,0,0,.6)}.clue-board.open{transform:translateX(0)}.clue-board-header{padding:5rem 2rem 1.5rem;background:rgba(42,42,42,.3);border-bottom:3px solid #8b6f47;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.clue-board-header h2{font-size:2rem;color:#2a2a2a;margin:0;font-weight:700;text-transform:uppercase;letter-spacing:2px;text-shadow:2px 2px 4px hsla(40,62%,89%,.5)}.add-note-btn{padding:.75rem 1.5rem;background:#ffd54f;border:2px solid #8b6f47;border-radius:6px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#2a2a2a;font-size:1rem}.add-note-btn:hover{background:#ffe066;transform:translateY(-2px);box-shadow:0 4px 8px rgba(0,0,0,.4)}.clue-board-content{padding:2rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:2rem;gap:2rem;align-items:start}.sticky-note{position:relative;padding:1.5rem 1rem 1rem;background:#ffd54f;box-shadow:0 4px 8px rgba(0,0,0,.2),inset 0 -2px 4px rgba(0,0,0,.1);border-radius:2px;min-height:200px;transition:all .2s ease}.sticky-note:hover{transform:scale(1.02);box-shadow:0 8px 16px rgba(0,0,0,.3),inset 0 -2px 4px rgba(0,0,0,.1)}.sticky-note.adding{animation:fadeIn .3s ease}.sticky-note.new-clue{animation:newCluePulse 2s ease-in-out infinite;border:2px solid rgba(255,215,79,.8)}.sticky-note.new-clue:hover{animation:none;box-shadow:0 8px 16px rgba(0,0,0,.3),inset 0 -2px 4px rgba(0,0,0,.1),0 0 30px rgba(255,215,79,.8)}@keyframes newCluePulse{0%,to{box-shadow:0 4px 8px rgba(0,0,0,.2),inset 0 -2px 4px rgba(0,0,0,.1),0 0 20px rgba(255,215,79,.6),0 0 40px rgba(255,215,79,.4)}50%{box-shadow:0 4px 8px rgba(0,0,0,.2),inset 0 -2px 4px rgba(0,0,0,.1),0 0 30px rgba(255,215,79,.8),0 0 60px rgba(255,215,79,.6)}}.new-badge{position:absolute;top:-12px;right:-8px;background:linear-gradient(135deg,#f44,#c00);color:#fff;font-size:.65rem;font-weight:700;padding:.25rem .5rem;border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.3),0 0 8px rgba(255,68,68,.6);z-index:20;text-transform:uppercase;letter-spacing:.5px;animation:badgePulse 1.5s ease-in-out infinite;border:2px solid hsla(0,0%,100%,.3)}@keyframes badgePulse{0%,to{transform:scale(1);box-shadow:0 2px 4px rgba(0,0,0,.3),0 0 8px rgba(255,68,68,.6)}50%{transform:scale(1.1);box-shadow:0 2px 6px rgba(0,0,0,.4),0 0 12px rgba(255,68,68,.8)}}.pin{top:-8px;transform:translateX(-50%);width:16px;height:16px;background:radial-gradient(circle,#8b0000 40%,#6b0000 100%);box-shadow:0 2px 4px rgba(0,0,0,.4);z-index:10}.pin,.pin:after{left:50%;border-radius:50%}.pin:after{content:"";position:absolute;top:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:hsla(0,0%,100%,.3)}.note-text{color:#2a2a2a;font-size:.95rem;line-height:1.6;font-family:Patrick Hand,Caveat,cursive,sans-serif;word-wrap:break-word}.note-text p{margin:0}.note-footer{margin-top:1rem;padding-top:.5rem;border-top:1px dashed rgba(42,42,42,.2)}.note-footer small{font-size:.75rem;color:rgba(42,42,42,.6);font-style:italic}.polaroid{background:#fff;padding:.75rem .75rem 2.5rem;box-shadow:0 4px 8px rgba(0,0,0,.3);margin:0 auto;max-width:100%}.polaroid img{width:100%;height:auto;display:block;border:1px solid #ddd}.polaroid-caption{margin:.75rem 0 0;font-size:.85rem;color:#2a2a2a;text-align:center;font-family:Patrick Hand,Caveat,cursive,sans-serif}.delete-note-btn{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;background:#8b0000;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.3)}.delete-note-btn:hover{background:#a00000;transform:scale(1.1)}.note-edit{display:flex;flex-direction:column;gap:.5rem}.note-edit textarea{width:100%;padding:.5rem;border:2px solid #8b6f47;border-radius:4px;font-family:Patrick Hand,Caveat,cursive,sans-serif;font-size:.95rem;resize:vertical;background:hsla(0,0%,100%,.9);color:#2a2a2a}.edit-actions{display:flex;gap:.5rem;justify-content:flex-end}.edit-actions button{padding:.5rem 1rem;border:2px solid #8b6f47;border-radius:4px;cursor:pointer;font-weight:600;transition:all .2s ease;font-size:.85rem}.edit-actions button:first-child{background:#4caf50;color:#fff}.edit-actions button:first-child:hover{background:#5fbf63}.edit-actions button:last-child{background:#f44336;color:#fff}.edit-actions button:last-child:hover{background:#f55548}.empty-board{grid-column:1/-1;text-align:center;padding:4rem 2rem;color:#2a2a2a}.empty-board p{font-size:1.2rem;margin:.5rem 0;opacity:.7}.notification-toast{position:fixed;top:5rem;right:50%;transform:translateX(50%);background:gold;color:#2a2a2a;padding:1rem 2rem;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.4);z-index:102;font-weight:600;animation:slideDown .3s ease,slideUp .3s ease 2.7s;border:2px solid #8b6f47}.completion-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center;padding:2rem;background:linear-gradient(135deg,#2a2a2a,#1a1a1a)}.completion-screen h1{font-size:3rem;color:#d4a574;margin:0 0 1rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.completion-screen p{font-size:1.5rem;color:#f4e8d0;margin:0 0 2rem}.reset-button{padding:1rem 2rem;background:#d4a574;border:3px solid #8b6f47;border-radius:8px;font-size:1.2rem;font-weight:600;cursor:pointer;transition:all .2s ease;color:#2a2a2a;box-shadow:0 4px 8px rgba(0,0,0,.4)}.reset-button:hover{background:#e0b586;transform:scale(1.05)}.dev-controls{position:fixed;bottom:1rem;right:1rem;z-index:103}.dev-controls button{width:40px;height:40px;background:rgba(244,67,54,.8);border:2px solid #8b0000;border-radius:50%;cursor:pointer;font-size:1.2rem;transition:all .2s ease;box-shadow:0 2px 4px rgba(0,0,0,.3)}.dev-controls button:hover{background:#f44336;transform:scale(1.1)}@media (max-width:768px){.clue-board,.mechanics-menu{width:100vw}.clue-board.open,.mechanics-menu.open{transform:translateX(0)}.clue-board-content{grid-template-columns:1fr;padding:1rem}.clue-board-toggle,.mechanics-menu-toggle{width:44px;height:44px}.stage-header{padding-left:4.5rem;padding-right:4.5rem}.clue-board-header h2,.stage-title{font-size:1.5rem}}.finish-modal-overlay{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.8);display:flex;align-items:center;justify-content:center;padding:1rem}.finish-modal-content{background:#2a2a2a;border-radius:12px;padding:2rem;max-width:500px;width:100%;border:2px solid #8b6f47;box-shadow:0 8px 24px rgba(0,0,0,.6)}.finish-modal-title{font-size:2rem;color:#d4a574;margin:0 0 1rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}.finish-modal-description{color:#f4e8d0;font-size:1rem;margin:0 0 1.5rem;opacity:.9}.finish-modal-form{display:flex;flex-direction:column;gap:1rem}.finish-modal-textarea{width:100%;padding:1rem;background:#1a1a1a;border:2px solid #8b6f47;border-radius:8px;color:#f4e8d0;font-size:1rem;font-family:inherit;resize:vertical;min-height:100px}.finish-modal-textarea:focus{outline:none;border-color:#d4a574;box-shadow:0 0 0 3px hsla(31,53%,64%,.2)}.finish-modal-textarea:disabled{opacity:.5;cursor:not-allowed}.finish-modal-textarea::placeholder{color:#8b6f47;opacity:.6}.finish-modal-result{background:rgba(26,26,26,.8);border:2px solid;border-radius:8px;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.finish-modal-result.result-correct{border-color:#4caf50}.finish-modal-result.result-incorrect{border-color:#8b6f47}.result-header{display:flex;align-items:center;justify-content:space-between}.result-label{color:#f4e8d0;font-size:.9rem}.result-score{font-size:1.25rem;font-weight:700}.result-score.score-correct{color:#4caf50}.result-score.score-incorrect{color:gold}.result-progress-bar{width:100%;height:8px;background:#3a3a3a;border-radius:4px;overflow:hidden}.result-progress-fill{height:100%;border-radius:4px;transition:width .5s ease}.result-progress-fill.progress-correct{background:#4caf50}.result-progress-fill.progress-warm{background:gold}.result-progress-fill.progress-medium{background:#ff9800}.result-progress-fill.progress-cold{background:#f44336}.result-feedback{color:#f4e8d0;font-size:.9rem;margin:0;line-height:1.5}.finish-modal-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1rem}.loading-spinner{width:32px;height:32px;border:3px solid #8b6f47;border-top-color:#d4a574;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:#f4e8d0;font-size:.95rem}.finish-modal-actions{display:flex;gap:.75rem}.finish-modal-submit{flex:1 1;padding:.75rem 1.5rem;background:linear-gradient(135deg,#dc2626,#b91c1c);border:2px solid #991b1b;border-radius:8px;color:#fff;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.finish-modal-submit:hover:not(:disabled){background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626}.finish-modal-submit:disabled{opacity:.5;cursor:not-allowed}.finish-modal-cancel{padding:.75rem 1.5rem;background:#3a3a3a;border:2px solid #8b6f47;border-radius:8px;color:#f4e8d0;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.finish-modal-cancel:hover:not(:disabled){background:#4a4a4a;border-color:#d4a574}.finish-modal-cancel:disabled{opacity:.5;cursor:not-allowed}.debriefing-overlay{position:fixed;inset:0;z-index:201;background:linear-gradient(135deg,#2a2a2a,#1a1a1a);overflow-y:auto}.debriefing-container{max-width:1200px;margin:0 auto;padding:3rem 1.5rem;min-height:100vh;display:flex;flex-direction:column;justify-content:center}.debriefing-header{text-align:center;margin-bottom:3rem}.debriefing-title{font-size:3rem;color:#d4a574;margin:0 0 1rem;font-weight:700;text-transform:uppercase;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.debriefing-subtitle{font-size:1.5rem;color:#4caf50;margin:0 0 .5rem;font-weight:600}.debriefing-description{font-size:1.1rem;color:#f4e8d0;margin:0;opacity:.9}.debriefing-actions{text-align:center;margin-top:2rem}.debriefing-close-btn{padding:1rem 2rem;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:2px solid #1e40af;border-radius:8px;color:#fff;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px;box-shadow:0 4px 8px rgba(0,0,0,.4)}.debriefing-close-btn:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-2px);box-shadow:0 6px 12px rgba(37,99,235,.5)}:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#030303;color:#f5f5f5}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#1a1a1a;padding:0;overflow:hidden}.quest-shell{display:flex;gap:1.5rem;max-width:1200px;margin:0 auto}.quest-sidebar{width:280px;background:hsla(0,0%,4%,.9);border:1px solid hsla(0,0%,100%,.08);border-radius:18px;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.quest-sidebar h2{margin:0 0 .4rem}.quest-sidebar p{margin:0 0 .5rem;color:#d1d1d1;line-height:1.4}.quest-sidebar .meta{font-size:.85rem;color:#a0a0a0}.document-list ul,.scene-list ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.4rem}.document-list li,.scene-list li{border:1px solid hsla(0,0%,100%,.08);border-radius:12px;padding:.6rem .8rem;display:flex;flex-direction:column;gap:.2rem;font-size:.9rem;color:#cfcfcf;background:hsla(0,0%,100%,.02)}.scene-list li.open{border-color:rgba(139,92,246,.6)}.document-list li.open,.scene-list li.done{border-color:rgba(46,204,113,.7);color:#9de4b6}.document-list small,.scene-list small{font-size:.75rem;color:#9a9a9a}.reset-btn{margin-top:auto;padding:.8rem 1rem;border-radius:12px;border:none;background:rgba(231,76,60,.15);color:#ffb1a6;cursor:pointer}.quest-stage{flex:1 1;background:rgba(8,8,8,.9);border:1px solid hsla(0,0%,100%,.08);border-radius:24px;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;min-height:600px}.stage-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.stage-label{text-transform:uppercase;letter-spacing:.2em;font-size:.75rem;color:#a1a1a1;margin:0}.stage-header h2{margin:.2rem 0}.stage-meta span{font-size:.85rem;color:#bcbcbc;border:1px solid hsla(0,0%,100%,.08);padding:.4rem .8rem;border-radius:999px;display:inline-block}.mechanic-placeholder,.mechanic-stage{background:rgba(3,3,3,.8);border:1px solid hsla(0,0%,100%,.05);border-radius:18px;padding:1rem}.completion-banner{margin-top:1rem;display:flex;align-items:flex-start;gap:1rem;position:relative;flex-wrap:wrap}.completion-banner .complete-button{border-radius:999px;border:1px solid rgba(139,92,246,.5);background:rgba(139,92,246,.15);color:#d9c4ff;margin-left:auto}.completion-banner .complete-button,.hint-button{padding:.5rem 1.2rem;cursor:pointer;flex-shrink:0}.hint-button{border-radius:999px;border:1px solid rgba(255,193,7,.5);background:rgba(255,193,7,.15);color:#ffc107;font-size:14px;transition:all .2s}.hint-button:hover{background:rgba(255,193,7,.25);border-color:rgba(255,193,7,.7)}.hint-display{background:rgba(255,193,7,.2);border:1px solid rgba(255,193,7,.5);color:#ffc107;padding:.5rem 1rem;border-radius:8px;font-size:14px;font-weight:600;white-space:normal;overflow-wrap:anywhere;word-break:break-word;display:block;max-width:calc(100% - 12rem);flex:1 1 220px;min-width:220px}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:#030303;color:#f5f5f5}.slideshow-container{width:100%;max-width:900px;margin:0 auto;background:#1a1a1a;border-radius:8px;overflow:hidden}.slideshow-content{padding:20px}.slideshow-image-container{position:relative;width:100%;margin-bottom:20px;border-radius:6px;overflow:hidden}.slideshow-image{width:100%;height:auto;display:block;border-radius:6px}.image-upload-label{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.7);padding:8px 12px;border-radius:4px;cursor:pointer;font-size:12px;color:#e0e0e0;transition:background .2s}.image-upload-label:hover{background:rgba(0,0,0,.9)}.slideshow-text{background:#2a2a2a;padding:20px;border-radius:6px;margin-bottom:20px;min-height:80px}.slideshow-text p{font-size:16px;line-height:1.6;color:#e0e0e0}.slideshow-choices{display:flex;flex-direction:column;gap:12px}.choice-button{padding:15px 20px;background:#2a2a2a;color:#e0e0e0;border:2px solid #444;border-radius:6px;cursor:pointer;font-size:15px;text-align:left;transition:all .2s}.choice-button:hover{background:#3a3a3a;border-color:#4a9eff;transform:translateX(5px)}.slideshow-result{background:#2a4a2a;padding:20px;border-radius:6px;border:2px solid #4a9eff;margin-top:20px;animation:fadeIn .3s}.slideshow-result p{font-size:16px;color:#a0ffa0;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.slideshow-tools{padding:15px;background:#0a0a0a;border-top:1px solid #333;display:flex;gap:10px}.tool-button{padding:8px 16px;background:#2a2a2a;color:#e0e0e0;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.tool-button:hover{background:#3a3a3a;border-color:#4a9eff}.slideshow-error{padding:20px;background:#4a2a2a;color:#ff6b6b;border-radius:6px;text-align:center}.map-search-container{width:100%;max-width:1000px;margin:0 auto;background:#1a1a1a;border-radius:8px;overflow:hidden}.map-search-controls{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#0a0a0a;border-bottom:1px solid #333;flex-wrap:wrap;gap:10px}.map-upload-label{padding:8px 16px;background:#2a2a2a;color:#e0e0e0;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s;display:inline-block}.map-upload-label:hover{background:#3a3a3a;border-color:#4a9eff}.map-info{display:flex;gap:20px;font-size:14px;color:#888;flex-wrap:wrap}.pin-coordinates{color:#4a9eff;font-weight:500}.send-police-btn{padding:12px 24px;background:linear-gradient(135deg,#4a9eff,#06c);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(74,158,255,.3);margin-left:auto}.send-police-btn:hover{background:linear-gradient(135deg,#5aaeff,#07d);transform:translateY(-2px);box-shadow:0 6px 16px rgba(74,158,255,.4)}.send-police-btn:active{transform:translateY(0);box-shadow:0 2px 8px rgba(74,158,255,.3)}.map-area{position:relative;width:100%;cursor:crosshair;overflow:hidden;background:#0a0a0a;display:flex;align-items:center;justify-content:center;min-height:400px}.map-image{width:100%;height:auto;max-width:100%;display:block;z-index:1}.map-grid{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}.map-image-wrapper{position:relative;width:100%;display:block}.pins-layer{top:0;left:0;z-index:10;pointer-events:none}.pin-container,.pins-layer{position:absolute;width:100%;height:100%}.pin-container{pointer-events:auto}.hidden-item-marker{width:8px;height:8px;background:rgba(255,255,0,.5);border:2px solid #ff0;border-radius:50%;z-index:5;pointer-events:none;opacity:.3}.hidden-item-marker,.pin{position:absolute;transform:translate(-50%,-50%)}.pin{font-size:24px;cursor:pointer;z-index:3;transition:all .3s ease;filter:drop-shadow(0 2px 4px rgba(0,0,0,.8));pointer-events:auto;line-height:1}.pin:hover{transform:translate(-50%,-50%) scale(1.1)}.pin.selected{font-size:36px;filter:drop-shadow(0 0 15px #4a9eff) brightness(1.5) drop-shadow(0 2px 4px rgba(0,0,0,.8));transform:translate(-50%,-50%) scale(1.4);z-index:4}.pin-circle{position:absolute;border:3px solid #4a9eff;border-radius:50%;transform:translate(-50%,-50%);z-index:2;pointer-events:none;box-shadow:0 0 15px rgba(74,158,255,.6);animation:pulse-circle 2s ease-in-out infinite;background:transparent;width:60px;height:60px;box-sizing:border-box;min-width:60px;min-height:60px}@keyframes pulse-circle{0%,to{opacity:.8;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}}.pin.found{animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.3)}}.pin-radius{border:2px dashed #f44;border-radius:50%;z-index:1;pointer-events:none;opacity:.8;box-sizing:border-box;background:rgba(255,68,68,.1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.pin-radius,.pin-remove{position:absolute;transform:translate(-50%,-50%)}.pin-remove{margin-left:30px;margin-top:-30px;width:24px;height:24px;background:#f44;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:14px;z-index:5;display:flex;align-items:center;justify-content:center;transition:background .2s;pointer-events:auto;box-shadow:0 2px 6px rgba(0,0,0,.5)}.pin-remove:hover{background:#f66}.map-result{padding:15px;margin:15px;border-radius:6px;text-align:center;font-size:16px;animation:slideIn .3s}.map-result.found{background:#2a4a2a;color:#a0ffa0;border:2px solid #4a9eff}.map-result.not-found{background:#4a2a2a;color:#faa;border:2px solid #ff6b6b}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.map-instructions{padding:15px;background:#0a0a0a;border-top:1px solid #333;text-align:center;color:#888;font-size:14px}.clue-table-container{width:100%;height:700px;display:flex;flex-direction:column;background:#1a1a1a;border-radius:8px;overflow:hidden}.clue-table-toolbar{display:flex;gap:10px;padding:15px;background:#0a0a0a;border-bottom:1px solid #333;flex-wrap:wrap}.toolbar-btn{padding:8px 16px;background:#2a2a2a;color:#e0e0e0;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.toolbar-btn:hover:not(:disabled){background:#3a3a3a;border-color:#4a9eff}.toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.clue-table-workspace{flex:1 1;position:relative;background:#0f0f0f;background-image:linear-gradient(rgba(74,158,255,.1) 1px,transparent 0),linear-gradient(90deg,rgba(74,158,255,.1) 1px,transparent 0);background-size:20px 20px;overflow:hidden}.connection-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.clue-item{position:absolute;z-index:2;cursor:move;border:2px solid transparent;border-radius:6px;transition:border-color .2s,box-shadow .2s}.clue-item:hover{border-color:#555}.clue-item.selected{border-color:#4a9eff;box-shadow:0 0 10px rgba(74,158,255,.5)}.clue-item.connecting{border-color:#fa0;box-shadow:0 0 10px rgba(255,170,0,.5);animation:pulse-border 1s infinite}@keyframes pulse-border{0%,to{border-color:#fa0}50%{border-color:#fc4}}.clue-handle{width:100%;height:100%;position:relative;border-radius:4px;overflow:hidden;background:#2a2a2a;pointer-events:auto;cursor:move}.clue-image{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.clue-text{padding:15px;color:#e0e0e0;font-size:14px;line-height:1.5;word-wrap:break-word;height:100%;overflow-y:auto}.clue-delete{position:absolute;top:5px;right:5px;width:24px;height:24px;background:#f44;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s}.clue-delete:hover{background:#f66}.clue-3d-container{width:100%;height:100%;min-height:600px;display:flex;flex-direction:column;background:#0a0a0a;border-radius:8px;overflow:hidden}.clue-3d-controls{display:flex;gap:10px;padding:15px;background:#1a1a1a;border-bottom:1px solid #333;flex-wrap:wrap}.control-btn{padding:8px 16px;background:#2a2a2a;color:#e0e0e0;border:1px solid #444;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.control-btn:hover{background:#3a3a3a;border-color:#555}.control-btn.active,.control-btn.primary{background:#4a9eff;border-color:#5aaeff;color:#fff}.clue-3d-viewport{flex:1 1;position:relative;min-height:0;width:100%;height:100%}.inspect-overlay{position:absolute;top:70px;left:15px;background:rgba(0,0,0,.8);padding:15px;border-radius:6px;border:1px solid #4a9eff;z-index:10}.inspect-overlay p{margin:5px 0;color:#4a9eff;font-size:14px}.error-message,.loading{color:#e0e0e0;padding:20px;background:rgba(0,0,0,.7);border-radius:6px}.error-message{color:#ff6b6b}.camera-info-overlay{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.85);padding:12px;border-radius:6px;border:1px solid #4a9eff;z-index:10;font-family:Courier New,monospace;font-size:11px;min-width:280px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.camera-info-title{color:#4a9eff;font-weight:700;margin-bottom:8px;font-size:12px;border-bottom:1px solid #333;padding-bottom:4px}.camera-info-row{display:flex;justify-content:space-between;margin-bottom:4px;gap:10px}.camera-info-row:last-child{margin-bottom:0}.camera-info-label{color:#888;font-weight:500}.camera-info-value{color:#e0e0e0;text-align:right}.locked-safe{width:320px;padding:1.25rem;border-radius:12px;background:#1e1e1e;border:1px solid hsla(0,0%,100%,.08);box-shadow:0 12px 30px rgba(0,0,0,.35);color:#f4f4f4;font-family:Inter,sans-serif}.safe-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.safe-header h3{margin:0;font-size:1.1rem;text-transform:uppercase;letter-spacing:.08em}.safe-attempts{font-size:.85rem;color:#b0b0b0}.safe-display{height:64px;border-radius:10px;border:1px solid hsla(0,0%,100%,.08);background:linear-gradient(135deg,#111,#171717);display:flex;align-items:center;justify-content:center;font-size:1.6rem;font-weight:600;letter-spacing:.2em;margin-bottom:1rem}.safe-display.success{background:rgba(46,204,113,.12);border-color:rgba(46,204,113,.4)}.safe-display.failed{background:rgba(231,76,60,.12);border-color:rgba(231,76,60,.4)}.safe-status{font-size:1.1rem;letter-spacing:.3em}.safe-keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:.75rem;gap:.75rem}.safe-key{height:54px;border-radius:10px;border:none;background:#2a2a2a;color:#f8f8f8;font-size:1.1rem;cursor:pointer;transition:transform .12s ease,background .12s ease}.safe-key:active{transform:scale(.98)}.safe-key:disabled{opacity:.4;cursor:not-allowed}.safe-hint{margin-top:1rem;font-size:.9rem;color:#c8c8c8}.safe-hint span{color:#8b5cf6;font-weight:600}.document-unlock{display:flex;gap:1.5rem;padding:1.5rem;background:#111;color:#f8f8f8;border-radius:16px;border:1px solid hsla(0,0%,100%,.08);box-shadow:0 12px 40px rgba(0,0,0,.35);font-family:Inter,sans-serif}.clue-panel,.document-panel{flex:1 1;background:#181818;border-radius:12px;padding:1rem 1.25rem;border:1px solid hsla(0,0%,100%,.05)}.clue-panel h3,.document-panel h3{margin-top:0;font-size:1rem;letter-spacing:.08em;text-transform:uppercase;color:#bcbcbc}.clue-panel ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.clue-panel label{display:flex;gap:.5rem;align-items:center;cursor:pointer}.clue-panel input{accent-color:#8b5cf6}.document-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:1rem;gap:1rem}.document-card{background:#101010;border-radius:12px;padding:1rem;border:1px solid hsla(0,0%,100%,.05);cursor:pointer;transition:border .12s ease,transform .12s ease}.document-card.unlocked{border-color:rgba(46,204,113,.5);box-shadow:0 0 12px rgba(46,204,113,.2)}.document-card:hover{transform:translateY(-2px)}.document-card header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.badge{background:rgba(139,92,246,.2);color:#d0b8ff;padding:.2rem .5rem;border-radius:999px;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.document-card h4{margin:0;font-size:1rem}.document-card p{font-size:.9rem;color:#c8c8c8;min-height:40px}.progress{height:6px;border-radius:999px;background:hsla(0,0%,100%,.1);overflow:hidden;margin-bottom:.5rem}.progress-bar{height:100%;background:linear-gradient(90deg,#8b5cf6,#e67e22)}.document-card small{color:#aaa;font-size:.8rem}.cctv-viewer{display:flex;background:#050505;border-radius:14px;border:1px solid hsla(0,0%,100%,.08);overflow:hidden;color:#f5f5f5;font-family:Inter,sans-serif;min-height:360px}.cctv-sidebar{width:220px;background:#0f0f0f;border-right:1px solid hsla(0,0%,100%,.05);padding:1rem}.cctv-sidebar h3{margin-top:0;font-size:.9rem;letter-spacing:.1em;color:#c9c9c9;text-transform:uppercase}.cctv-sidebar ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.cctv-sidebar button{width:100%;text-align:left;padding:.6rem .8rem;border-radius:10px;border:1px solid transparent;background:hsla(0,0%,100%,.05);color:inherit;cursor:pointer;transition:background .12s ease,border .12s ease}.cctv-sidebar button.active{border-color:rgba(139,92,246,.8);background:rgba(139,92,246,.15)}.cctv-stage{flex:1 1;display:flex;flex-direction:column;padding:1rem 1.25rem;gap:.75rem}.cctv-video{width:100%;border-radius:12px;border:1px solid hsla(0,0%,100%,.08);background:#000;max-height:360px}.marker-strip{display:flex;flex-direction:column;gap:.4rem}.marker-strip span{font-size:.85rem;color:#9c9c9c;text-transform:uppercase;letter-spacing:.12em}.markers{display:flex;flex-wrap:wrap;gap:.4rem}.markers button{border-radius:999px;border:1px solid hsla(0,0%,100%,.08);padding:.4rem .8rem;background:hsla(0,0%,100%,.08);color:inherit;cursor:pointer}.cctv-placeholder{flex:1 1;display:flex;align-items:center;justify-content:center;color:#b1b1b1;font-style:italic}.point-click-search{display:flex;gap:1rem;background:#111;border-radius:16px;padding:1rem;border:1px solid hsla(0,0%,100%,.08);color:#f6f6f6;font-family:Inter,sans-serif}.point-click-search .scene{position:relative;flex:1 1;cursor:crosshair;border-radius:12px;overflow:hidden;border:1px solid hsla(0,0%,100%,.08)}.point-click-search img{display:block;width:100%;height:auto}.marker{position:absolute;width:16px;height:16px;border-radius:50%;transform:translate(-50%,-50%);border:2px solid;box-shadow:0 0 8px rgba(0,0,0,.5)}.marker.success{border-color:#2ecc71;background:rgba(46,204,113,.3)}.marker.fail{border-color:#e74c3c;background:rgba(231,76,60,.3)}.hotspot{position:absolute;border-radius:50%;transform:translate(-50%,-50%);border:1px dashed hsla(0,0%,100%,.15);opacity:0;transition:opacity .12s ease}.hotspot.revealed{opacity:1;border-color:rgba(46,204,113,.6);box-shadow:0 0 12px rgba(46,204,113,.4)}.point-click-search aside{width:240px;background:#181818;border-radius:12px;padding:1rem;border:1px solid hsla(0,0%,100%,.05)}.point-click-search aside h3{margin-top:0;font-size:.95rem;color:#bcbcbc;letter-spacing:.05em;text-transform:uppercase}.point-click-search ul{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-direction:column;gap:.4rem}.point-click-search li{font-size:.9rem;color:#d8d8d8}.point-click-search li span{display:block;font-size:.75rem;color:#9b9b9b}.attempts{font-size:.9rem;color:#b5b5b5}.success-banner{margin-top:.5rem;padding:.6rem;border-radius:8px;background:rgba(46,204,113,.2);border:1px solid rgba(46,204,113,.6);text-align:center}.phone-viewer{max-width:420px;margin:0 auto;background:linear-gradient(135deg,#1a1a1a,#2d2d2d);border-radius:32px;padding:8px;box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 2px hsla(0,0%,100%,.05),inset 0 0 20px rgba(0,0,0,.3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.phone-frame,.phone-viewer{width:100%;position:relative}.phone-frame{height:100%;border-radius:28px;overflow:hidden;background:#000}.phone-notch{position:absolute;top:0;left:50%;transform:translateX(-50%);width:140px;height:28px;background:#000;border-radius:0 0 18px 18px;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.3)}.phone-viewer--tablet{max-width:768px;border-radius:16px;padding:16px}.phone-viewer--mac{max-width:1200px;border-radius:8px;padding:20px;background:#1e1e1e}.phone-viewer--windows{max-width:1200px;border-radius:4px;padding:20px;background:#0078d4}.phone-viewer--old-pc{max-width:800px;border-radius:0;padding:0;background:silver;border:4px solid grey}.phone-device{width:100%;aspect-ratio:9/19.5;background:#000;overflow:hidden;position:relative;margin-top:0;min-height:600px}.phone-viewer--tablet .phone-device{aspect-ratio:4/3;border-radius:12px}.phone-viewer--mac .phone-device{aspect-ratio:16/10;border-radius:4px;background:#2d2d2d}.phone-viewer--windows .phone-device{aspect-ratio:16/10;border-radius:0;background:#1e1e1e}.phone-viewer--old-pc .phone-device{aspect-ratio:4/3;border-radius:0;background:#000}.phone-home-screen,.phone-lock-screen{width:100%;height:100%;min-height:100%;background-size:cover;background-position:50%;position:relative;display:flex;flex-direction:column;overflow:hidden}.phone-lock-status-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 20px;color:#fff;font-size:15px;font-weight:600;background:transparent;margin-top:32px}.phone-status-icons{font-size:12px}.phone-battery,.phone-status-icons{display:flex;gap:4px;align-items:center}.phone-battery{color:#fff}.phone-battery svg{display:block}.phone-battery--low{color:#ff3b30}.phone-battery--low .phone-battery-fill{fill:#ff3b30}.phone-battery-text{font-size:12px;font-weight:600;line-height:1}.phone-lock-content{flex:1 1;justify-content:flex-start;padding:40px 20px 20px;background:transparent}.phone-lock-content,.phone-pin-entry{display:flex;flex-direction:column;align-items:center}.phone-pin-entry{width:100%;margin-bottom:40px}.phone-pin-header{display:flex;flex-direction:column;align-items:center;gap:12px}.phone-padlock-icon{font-size:32px;margin-bottom:8px}.phone-pin-title{font-size:24px;font-weight:600;color:#fff;margin:0;text-shadow:0 2px 8px rgba(0,0,0,.5)}.phone-pin-hint{font-size:14px;color:hsla(0,0%,100%,.7);margin:0;text-shadow:0 1px 3px rgba(0,0,0,.5)}.phone-date{font-size:16px;font-weight:400;color:hsla(0,0%,100%,.9);margin-bottom:8px;text-shadow:0 1px 3px rgba(0,0,0,.3)}.phone-time{font-size:82px;font-weight:200;color:#fff;margin-bottom:0;text-shadow:0 2px 10px rgba(0,0,0,.5);letter-spacing:-2px;line-height:1}.phone-lock-footer{position:absolute;bottom:20px;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:18px;z-index:10;padding:0 20px;pointer-events:none}.phone-camera-indicator{width:5px;height:5px;border-radius:50%;background:hsla(0,0%,100%,.85);box-shadow:0 0 12px hsla(0,0%,100%,.6)}.phone-swipe-hint{color:#fff;font-size:16px;font-weight:500;text-shadow:0 3px 15px rgba(0,0,0,.9),0 1px 5px #000,0 0 25px rgba(0,0,0,.6);letter-spacing:.8px;text-align:center;background:rgba(0,0,0,.3);padding:10px 20px;border-radius:25px;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:1px solid hsla(0,0%,100%,.2);pointer-events:auto;white-space:nowrap}.phone-touch-id{display:flex;flex-direction:column;align-items:center;gap:16px}.phone-touch-id-button{width:80px;height:80px;border-radius:50%;border:2px solid hsla(0,0%,100%,.5);background:hsla(0,0%,100%,.1);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative}.phone-touch-id-button:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.8);transform:scale(1.1)}.phone-touch-id-hint{color:#fff;font-size:14px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.5)}.phone-password-unlock{width:100%;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:24px}.phone-password-dots{display:flex;gap:16px;justify-content:center}.phone-password-dot{width:12px;height:12px;border-radius:50%;border:2px solid hsla(0,0%,100%,.5);background:transparent;transition:all .2s ease}.phone-password-dot.filled{background:#fff;border-color:#fff}.phone-keypad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px;width:100%;max-width:300px;margin:0 auto}.phone-keypad-key{aspect-ratio:1;border-radius:50%;border:none;background:rgba(0,200,180,.25);color:#fff;font-size:28px;font-weight:400;cursor:pointer;transition:all .15s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.3);border:1px solid rgba(0,200,180,.3)}.phone-keypad-key:hover:not(:disabled){background:rgba(0,200,180,.4);transform:scale(1.05);box-shadow:0 4px 12px rgba(0,200,180,.4)}.phone-keypad-key:active:not(:disabled){transform:scale(.95);background:rgba(0,200,180,.5)}.phone-keypad-key:disabled{opacity:0;pointer-events:none}.phone-keypad-number{font-size:28px;font-weight:500;line-height:1}.phone-keypad-letters{font-size:10px;font-weight:400;opacity:.8;margin-top:2px;letter-spacing:.5px}.phone-keypad-delete{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.3)}.phone-keypad-delete:hover:not(:disabled){background:hsla(0,0%,100%,.3)}.phone-keypad-actions{display:flex;justify-content:space-between;align-items:center;width:100%;max-width:300px;margin:20px auto 0;padding:0 10px}.phone-emergency-btn{background:transparent;border:none;color:#fff;font-size:14px;font-weight:400;cursor:pointer;padding:8px 12px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.phone-emergency-btn:hover{opacity:.8}.phone-back-btn{background:transparent;border:none;color:#fff;font-size:20px;cursor:pointer;padding:8px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.phone-back-btn:hover{background:hsla(0,0%,100%,.1)}.phone-password-error{color:#ff6b6b;font-size:14px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.5)}.phone-status-bar{color:#fff}.phone-app-status-bar,.phone-status-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 20px;font-size:15px;font-weight:600;background:transparent;margin-top:32px}.phone-app-status-bar{color:#000}.phone-widgets{flex:1 1;display:flex;flex-direction:column;gap:16px;padding:20px 16px;overflow-y:auto}.phone-widget{border-radius:16px;padding:20px;position:relative}.phone-widget-weather{background:rgba(30,60,90,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:140px;display:flex;flex-direction:column;justify-content:space-between}.phone-widget-weather-icon{position:absolute;top:20px;right:20px;font-size:32px}.phone-widget-weather-temp{font-size:48px;font-weight:300;color:#fff;line-height:1;margin-top:20px}.phone-widget-weather-text{font-size:14px;color:hsla(0,0%,100%,.9);margin-top:8px}.phone-widget-weather-location{font-size:13px;color:hsla(0,0%,100%,.7);margin-top:auto;display:flex;align-items:center;gap:4px}.phone-widget-activity{background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);min-height:180px;display:flex;flex-direction:column;gap:20px;padding:20px}.phone-widget-activity-heart{display:flex;justify-content:center;align-items:center;height:120px;margin-bottom:10px;width:100%}.phone-heart-svg{width:120px;height:120px;display:block;opacity:1;visibility:visible;overflow:visible}.phone-heart-ring{transform-origin:50px 50px}.phone-heart-ring-green{stroke:#4caf50;opacity:1;visibility:visible}.phone-heart-ring-blue{stroke:#2196f3;opacity:1;visibility:visible}.phone-heart-ring-pink{stroke:#e91e63;opacity:1;visibility:visible}.phone-widget-activity-stats{display:flex;flex-direction:column;gap:16px;flex:1 1}.phone-activity-stat{display:flex;align-items:center;gap:12px;color:#fff}.phone-activity-icon{font-size:20px;flex-shrink:0;width:24px;text-align:center}.phone-activity-info{flex:1 1;display:flex;flex-direction:column;gap:4px}.phone-activity-label{font-size:12px;color:hsla(0,0%,100%,.6);font-weight:400}.phone-activity-value{font-size:20px;font-weight:600;color:#fff;line-height:1.2}.phone-activity-goal{font-size:14px;font-weight:400;color:hsla(0,0%,100%,.5);margin-left:4px}.phone-apps-grid{flex:1 1;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:24px;gap:24px;padding:20px 16px 100px;align-content:start}.phone-app-icon{display:flex;flex-direction:column;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;transition:transform .2s ease;color:#fff}.phone-app-icon:hover{transform:scale(1.1)}.phone-app-icon img,.phone-app-icon-placeholder{width:64px;height:64px;border-radius:14px;background:hsla(0,0%,100%,.15);display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:600;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 2px 8px rgba(0,0,0,.2);border:.5px solid hsla(0,0%,100%,.1)}.phone-app-icon img{object-fit:contain;padding:8px;background:transparent}.phone-app-name{font-size:11px;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.5);font-weight:500;margin-top:2px}.phone-dock{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:24px;padding:12px 20px;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border-radius:28px;margin:0 16px;border:.5px solid hsla(0,0%,100%,.15)}.phone-dock-icon{background:transparent;border:none;cursor:pointer;padding:0;transition:transform .2s ease}.phone-dock-icon:hover{transform:scale(1.1)}.phone-dock-icon .phone-app-icon-placeholder,.phone-dock-icon img{width:56px;height:56px;border-radius:12px}.phone-dock-icon img{object-fit:contain;padding:6px;background:transparent}.phone-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:hsla(0,0%,100%,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:.5px solid rgba(0,0,0,.1)}.phone-back-button{background:transparent;border:none;color:#007aff;font-size:17px;cursor:pointer;padding:4px 8px;border-radius:4px;transition:opacity .2s ease;font-weight:400}.phone-back-button:hover{opacity:.7}.phone-app-title{font-size:17px;font-weight:600;color:#000;margin:0}.phone-app-content{flex:1 1;overflow-y:auto;background:#fff;-webkit-overflow-scrolling:touch}.phone-photos-app{padding:0;background:#000;height:100%;display:flex;flex-direction:column;position:relative}.phone-photos-tabs{display:flex;justify-content:space-around;padding:12px 0;background:rgba(0,0,0,.8);border-bottom:.5px solid hsla(0,0%,100%,.1);position:-webkit-sticky;position:sticky;top:0;z-index:10;flex-shrink:0}.phone-photos-tab{background:transparent;border:none;color:hsla(0,0%,100%,.6);font-size:15px;font-weight:500;cursor:pointer;padding:8px 16px;position:relative;transition:color .2s}.phone-photos-tab:hover{color:hsla(0,0%,100%,.8)}.phone-photos-tab.active{color:#fff}.phone-photos-tab.active:after{content:"";position:absolute;bottom:0;left:16px;right:16px;height:2px;background:#fff;border-radius:1px}.phone-photos-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1px;gap:1px;background:#000;overflow-y:auto;overflow-x:hidden;flex:1 1;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.phone-photos-grid::-webkit-scrollbar{display:none;width:0;height:0}.phone-photo-item{aspect-ratio:1;position:relative;cursor:pointer;overflow:hidden;transition:transform .2s;-ms-overflow-style:none;scrollbar-width:none}.phone-photo-item::-webkit-scrollbar{display:none;width:0;height:0}.phone-photo-item:hover{transform:scale(1.02)}.phone-photos-app,.phone-photos-grid{overflow:hidden}.phone-photo-item img{width:100%;height:100%;object-fit:cover;display:block}.phone-photo-caption{background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);color:#fff;padding:8px;font-size:12px;margin:0;pointer-events:none}.phone-photo-caption,.phone-photo-viewer{position:absolute;bottom:0;left:0;right:0}.phone-photo-viewer{top:0;background:#000;z-index:1000;display:block;cursor:pointer;width:100%;height:100%}.phone-photo-viewer-content{position:relative;width:100%;height:100%;display:block;cursor:default;padding:0}.phone-photo-viewer-close{position:absolute;top:16px;right:16px;background:hsla(0,0%,100%,.2);border:none;color:#fff;font-size:32px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .2s;z-index:1001}.phone-photo-viewer-close:hover{background:hsla(0,0%,100%,.3)}.phone-photo-viewer-image{width:100%;height:100%;object-fit:contain;display:block}.phone-photo-viewer-nav{position:absolute;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.2);border:none;color:#fff;font-size:48px;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;padding:0;transition:background .2s;z-index:1002;-webkit-user-select:none;-moz-user-select:none;user-select:none}.phone-photo-viewer-nav:hover{background:hsla(0,0%,100%,.3)}.phone-photo-viewer-nav-left{left:16px}.phone-photo-viewer-nav-right{right:16px}.phone-photo-viewer-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);color:#fff;font-size:16px;text-align:center;padding:20px;margin:0}.phone-messenger-app{padding:0;background:#000;height:100%;display:flex;flex-direction:column}.phone-messages-header{padding:12px 16px;background:rgba(0,0,0,.8);border-bottom:.5px solid hsla(0,0%,100%,.1);position:-webkit-sticky;position:sticky;top:0;z-index:10}.phone-messages-contact{display:flex;align-items:center;gap:12px}.phone-messages-avatar{width:40px;height:40px;border-radius:50%;background:#333}.phone-messages-contact-name{color:#fff;font-size:17px;font-weight:600}.phone-messages-contact-status{color:hsla(0,0%,100%,.6);font-size:13px}.phone-messages-list{flex:1 1;display:flex;flex-direction:column;gap:8px;padding:16px;overflow-y:auto}.phone-message{display:flex;gap:8px;align-items:flex-end;margin-bottom:4px}.phone-message--sent{flex-direction:row-reverse}.phone-message--received,.phone-message--sent{justify-content:flex-start}.phone-message-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;flex-shrink:0}.phone-message-content{max-width:75%;display:flex;flex-direction:column}.phone-message-sender{font-size:13px;font-weight:600;color:#fff;margin-bottom:4px;padding:0 4px}.phone-message-bubble{padding:10px 14px;border-radius:18px;position:relative}.phone-message--sent .phone-message-bubble{background:#007aff;border-bottom-right-radius:4px}.phone-message--received .phone-message-bubble{background:#e5e5ea;border-bottom-left-radius:4px}.phone-message-text{color:#000;font-size:15px;line-height:1.4;margin:0}.phone-message--sent .phone-message-text{color:#fff}.phone-message-time{font-size:11px;color:rgba(0,0,0,.4);margin-top:4px;text-align:right}.phone-message--sent .phone-message-time{color:hsla(0,0%,100%,.7)}.phone-instagram-app{background:#000;height:100%;display:flex;flex-direction:column}.phone-instagram-nav{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#000;border-bottom:.5px solid hsla(0,0%,100%,.1);position:-webkit-sticky;position:sticky;top:0;z-index:10}.phone-instagram-logo{font-size:24px;font-weight:600}.phone-instagram-nav-icons{display:flex;gap:20px;font-size:24px}.phone-instagram-feed{flex:1 1;display:flex;flex-direction:column;overflow-y:auto;padding-bottom:0;margin-bottom:60px}.phone-instagram-post{border-bottom:8px solid #000;background:#000}.phone-instagram-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px}.phone-instagram-user-info{display:flex;align-items:center;gap:12px}.phone-instagram-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(45deg,#f09433,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888);border:2px solid #fff}.phone-instagram-username{font-weight:600;color:#fff;font-size:14px}.phone-instagram-location{font-size:12px;color:hsla(0,0%,100%,.7)}.phone-instagram-more{color:#fff;font-size:20px;font-weight:600;cursor:pointer}.phone-instagram-image{width:100%;aspect-ratio:1;object-fit:cover;display:block}.phone-instagram-actions{display:flex;align-items:center;gap:16px;padding:12px 16px;font-size:24px}.phone-instagram-save{margin-left:auto}.phone-instagram-likes{font-weight:600;color:#fff;font-size:14px;padding:0 16px 8px}.phone-instagram-caption{color:#fff;font-size:14px;line-height:1.5;padding:0 16px 8px}.phone-instagram-caption strong{font-weight:600}.phone-instagram-comments{color:hsla(0,0%,100%,.6);font-size:14px;padding:0 16px 4px;cursor:pointer}.phone-instagram-time{font-size:11px;color:hsla(0,0%,100%,.5);text-transform:uppercase;padding:0 16px 16px;letter-spacing:.5px}.phone-instagram-tab-bar{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-around;align-items:center;padding:12px 0;background:#000;border-top:.5px solid hsla(0,0%,100%,.1);font-size:24px;z-index:100}.phone-instagram-tab-bar span{opacity:.6;transition:opacity .2s}.phone-instagram-tab-bar span.active{opacity:1}.phone-custom-app{padding:16px;color:#fff}.gps-navigation-container{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;background:#000}.gps-background{background-size:cover;background-position:50%;background-repeat:no-repeat;filter:brightness(.9)}.gps-background,.gps-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.gps-overlay{display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.3)}.gps-screen{width:90%;max-width:1200px;height:80%;max-height:800px;background:hsla(0,0%,4%,.4);border:2px solid hsla(0,0%,100%,.2);border-radius:12px;padding:20px;flex-direction:column;box-shadow:0 8px 32px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.gps-map-display,.gps-screen{position:relative;display:flex}.gps-map-display{flex:1 1;background:#1a1a2e;border-radius:8px;margin-bottom:20px;overflow:hidden;align-items:center;justify-content:center;border:1px solid hsla(0,0%,100%,.1)}.gps-arrived,.gps-idle,.gps-navigating{width:100%;height:100%;position:relative}.gps-arrived,.gps-idle,.gps-map-placeholder,.gps-navigating{display:flex;flex-direction:column;align-items:center;justify-content:center}.gps-map-placeholder{gap:12px;text-align:center}.gps-map-icon{font-size:48px;opacity:.6}.gps-map-text{color:hsla(0,0%,100%,.8);font-size:20px;font-weight:500}.gps-map-hint{color:hsla(0,0%,100%,.5);font-size:14px}.gps-addresses-list{width:100%;height:100%;padding:20px;overflow-y:auto}.gps-addresses-title{color:hsla(0,0%,100%,.9);font-size:18px;font-weight:600;margin-bottom:16px;text-align:center}.gps-addresses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:12px;gap:12px;max-height:calc(100% - 50px);overflow-y:auto}.gps-address-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:hsla(0,0%,100%,.05);border:2px solid hsla(0,0%,100%,.1);border-radius:8px;color:#fff;cursor:pointer;transition:all .3s;text-align:left;position:relative}.gps-address-item:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:rgba(74,158,255,.5);transform:translateY(-2px);box-shadow:0 4px 12px rgba(74,158,255,.2)}.gps-address-item:active:not(:disabled){transform:translateY(0)}.gps-address-item:disabled{opacity:.5;cursor:not-allowed}.gps-address-item.visited{border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.05)}.gps-address-item.visited:hover:not(:disabled){border-color:rgba(74,222,128,.6);background:rgba(74,222,128,.1)}.gps-address-icon{font-size:24px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.1);border-radius:6px}.gps-address-item.visited .gps-address-icon{background:rgba(74,222,128,.2);color:#4ade80}.gps-address-content{flex:1 1;min-width:0}.gps-address-name{font-size:16px;font-weight:600;color:#fff;margin-bottom:4px}.gps-address-addr{font-size:13px;color:hsla(0,0%,100%,.7);margin-bottom:4px}.gps-address-desc{font-size:12px;color:hsla(0,0%,100%,.5);font-style:italic;margin-top:4px}.gps-address-visited-badge{position:absolute;top:8px;right:8px;padding:4px 8px;background:rgba(74,222,128,.2);border:1px solid rgba(74,222,128,.4);border-radius:4px;color:#4ade80;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.gps-route-line{width:4px;height:60%;background:linear-gradient(180deg,#4a9eff,#6bb6ff);position:absolute;left:50%;transform:translateX(-50%);animation:routePulse 2s ease-in-out infinite;box-shadow:0 0 20px rgba(74,158,255,.6)}@keyframes routePulse{0%,to{opacity:.6;transform:translateX(-50%) scaleY(1)}50%{opacity:1;transform:translateX(-50%) scaleY(1.1)}}.gps-navigation-progress{position:absolute;bottom:20px;left:10%;right:10%;height:6px;background:hsla(0,0%,100%,.1);border-radius:3px;overflow:hidden}.gps-progress-bar{height:100%;background:linear-gradient(90deg,#4a9eff,#6bb6ff);transition:width .1s linear;box-shadow:0 0 10px rgba(74,158,255,.5)}.gps-navigation-text{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);color:#fff;font-size:16px;font-weight:500;text-shadow:0 2px 4px rgba(0,0,0,.8)}.gps-arrived{animation:arrivalPulse 1s ease-out}.gps-unknown-address{background:rgba(255,193,7,.1);border:2px solid rgba(255,193,7,.3);border-radius:8px;padding:24px}.gps-unknown-icon{font-size:48px;margin-bottom:12px;opacity:.7}.gps-unknown-message{color:hsla(0,0%,100%,.8);font-size:16px;margin-top:12px;margin-bottom:20px;font-style:italic}.gps-unknown-close{padding:10px 24px;background:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s}.gps-unknown-close:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3);transform:translateY(-2px)}@keyframes arrivalPulse{0%{transform:scale(.95);opacity:.8}50%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.gps-green-signal{font-size:64px;color:#4ade80;text-shadow:0 0 20px rgba(74,222,128,.8);animation:signalPulse 1.5s ease-in-out infinite;margin-bottom:20px}@keyframes signalPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.gps-arrival-text{color:#fff;font-size:24px;font-weight:600;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.8)}.gps-input-container{position:relative;display:flex;gap:12px}.gps-address-form{display:flex;gap:12px;width:100%;background:#0a0a0a;padding:16px;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.5)}.gps-address-input{flex:1 1;padding:14px 18px;background:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;font-size:16px;font-family:inherit;transition:all .3s}.gps-address-input:focus{outline:none;border-color:#4a9eff;background:hsla(0,0%,100%,.15);box-shadow:0 0 0 3px rgba(74,158,255,.2)}.gps-address-input::placeholder{color:hsla(0,0%,100%,.4)}.gps-address-input:disabled{opacity:.5;cursor:not-allowed}.gps-navigate-button{padding:14px 28px;background:linear-gradient(135deg,#4a9eff,#6bb6ff);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap;box-shadow:0 4px 12px rgba(74,158,255,.3)}.gps-navigate-button:hover:not(:disabled){background:linear-gradient(135deg,#6bb6ff,#8cc5ff);transform:translateY(-2px);box-shadow:0 6px 16px rgba(74,158,255,.4)}.gps-navigate-button:active:not(:disabled){transform:translateY(0)}.gps-navigate-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.gps-history-button{padding:14px 20px;background:hsla(0,0%,100%,.1);border:2px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.gps-history-button:hover:not(:disabled){background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3);transform:translateY(-2px)}.gps-history-button:active:not(:disabled){transform:translateY(0)}.gps-history-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.gps-history-panel{position:absolute;bottom:100%;left:0;right:0;margin-bottom:12px;background:#0a0a0a;border:2px solid hsla(0,0%,100%,.2);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.5);max-height:300px;display:flex;flex-direction:column;z-index:1000;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.gps-history-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid hsla(0,0%,100%,.1)}.gps-history-header h4{margin:0;color:#fff;font-size:16px;font-weight:600}.gps-history-close{background:none;border:none;color:hsla(0,0%,100%,.7);font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:4px}.gps-history-close:hover{background:hsla(0,0%,100%,.1);color:#fff}.gps-history-list{flex:1 1;overflow-y:auto;padding:8px}.gps-history-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:6px;color:#fff;cursor:pointer;transition:all .2s;text-align:left;margin-bottom:8px}.gps-history-item:last-child{margin-bottom:0}.gps-history-item:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:rgba(74,158,255,.4);transform:translateX(4px)}.gps-history-item:disabled{opacity:.5;cursor:not-allowed}.gps-history-icon{font-size:20px;flex-shrink:0}.gps-history-content{flex:1 1;min-width:0}.gps-history-name{font-size:14px;font-weight:600;color:#fff;margin-bottom:2px}.gps-history-addr{font-size:12px;color:hsla(0,0%,100%,.6)}.gps-history-arrow{font-size:18px;color:hsla(0,0%,100%,.4);flex-shrink:0}.gps-history-empty{padding:24px;text-align:center;color:hsla(0,0%,100%,.5);font-size:14px}.gps-history-unknown{opacity:.7;border-color:rgba(255,193,7,.3)}.gps-history-status{font-size:11px;color:rgba(255,193,7,.8);font-style:italic;margin-top:4px}.gps-signal-indicator{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(74,222,128,.2);border:1px solid rgba(74,222,128,.4);border-radius:6px;color:#4ade80;font-size:14px;font-weight:500;animation:indicatorPulse 2s ease-in-out infinite}@keyframes indicatorPulse{0%,to{box-shadow:0 0 0 0 rgba(74,222,128,.4)}50%{box-shadow:0 0 0 8px rgba(74,222,128,0)}}.gps-signal-green{font-size:12px;animation:signalBlink 1s ease-in-out infinite}@keyframes signalBlink{0%,to{opacity:1}50%{opacity:.6}}.gps-mechanic-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.95);z-index:10001;display:flex;flex-direction:column}.gps-mechanic-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:hsla(0,0%,4%,.98);border-bottom:1px solid hsla(0,0%,100%,.1)}.gps-back-button{padding:8px 16px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.gps-back-button:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.gps-mechanic-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.crime-scene-container{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;background:#000}.crime-scene-background{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:50%;background-repeat:no-repeat;z-index:1}.crime-scene-overlay{position:relative;width:100%;height:100%;z-index:2}.crime-scene-person{position:absolute;background:transparent;border:none;cursor:pointer;padding:0;transition:all .3s ease;z-index:10}.crime-scene-person:hover{transform:translate(-50%,-50%) scale(1.1);filter:brightness(1.2) drop-shadow(0 0 10px rgba(255,255,255,.5))}.crime-scene-person.talked-to{opacity:.6;filter:brightness(.7)}.crime-scene-person.talked-to:hover{opacity:.8;filter:brightness(.9) drop-shadow(0 0 10px rgba(255,255,255,.3))}.crime-scene-person-image{width:120px;height:auto;display:block;border-radius:8px;border:3px solid transparent;transition:all .3s ease}.crime-scene-person:hover .crime-scene-person-image{border-color:hsla(0,0%,100%,.8);box-shadow:0 0 20px hsla(0,0%,100%,.6)}.crime-scene-person-name{margin-top:8px;padding:4px 8px;font-size:12px;border-radius:4px;white-space:nowrap;text-align:center;border:1px solid hsla(0,0%,100%,.3)}.crime-scene-back-button,.crime-scene-person-name{background:rgba(0,0,0,.8);color:#fff;font-weight:600}.crime-scene-back-button{position:absolute;top:20px;left:20px;padding:10px 20px;border:2px solid hsla(0,0%,100%,.3);border-radius:6px;font-size:14px;cursor:pointer;transition:all .3s ease;z-index:100}.crime-scene-back-button:hover{background:rgba(0,0,0,.95);border-color:hsla(0,0%,100%,.5);transform:translateX(-2px)}.dialogue-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px}.dialogue-container{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid hsla(0,0%,100%,.2);border-radius:16px;max-width:700px;width:100%;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden}.dialogue-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:rgba(0,0,0,.3);border-bottom:1px solid hsla(0,0%,100%,.1)}.dialogue-speaker{display:flex;align-items:center;gap:16px;flex:1 1}.dialogue-speaker-image{width:60px;height:60px;border-radius:8px;border:2px solid hsla(0,0%,100%,.3);object-fit:cover}.dialogue-speaker-info{flex:1 1}.dialogue-speaker-name{margin:0 0 4px;color:#fff;font-size:18px;font-weight:700}.dialogue-speaker-description{margin:0;color:hsla(0,0%,100%,.7);font-size:13px}.dialogue-close{width:32px;height:32px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;font-size:20px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.dialogue-close:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.4)}.dialogue-content{padding:24px;flex:1 1;overflow-y:auto;min-height:200px}.dialogue-line{display:flex;flex-direction:column;gap:12px}.dialogue-speaker-label{color:#4a9eff;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.dialogue-text{margin:0;color:#fff;font-size:16px;line-height:1.6;padding:16px;background:rgba(0,0,0,.3);border-radius:8px;border-left:3px solid #4a9eff}.dialogue-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:rgba(0,0,0,.3);border-top:1px solid hsla(0,0%,100%,.1)}.dialogue-progress{color:hsla(0,0%,100%,.6);font-size:13px;font-weight:500}.dialogue-next{padding:10px 24px;background:linear-gradient(135deg,#4a9eff,#6bb6ff);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.dialogue-next:hover{background:linear-gradient(135deg,#6bb6ff,#8cc5ff);transform:translateY(-2px);box-shadow:0 4px 12px rgba(74,158,255,.4)}.dialogue-next:active{transform:translateY(0)}.computer-database-container{position:relative;width:100%;height:100vh;min-height:600px;overflow:hidden;background:#000}.computer-background{background-size:cover;background-position:center 20%;background-repeat:no-repeat;filter:brightness(.6) contrast(1.1);transition:opacity .5s ease-in-out}.computer-background,.computer-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.computer-overlay{display:flex;align-items:flex-start;justify-content:center;background:rgba(0,0,0,.4);padding-top:80px}.computer-screen{max-width:800px;border:none;padding:0;flex-direction:column;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.computer-display,.computer-screen{position:relative;width:100%;background:transparent;border-radius:0;display:flex;align-items:center}.computer-display{min-height:400px;margin-bottom:0;overflow:visible;justify-content:center;border:none;padding:40px 20px}.computer-found,.computer-idle,.computer-searching{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.computer-search-logo{text-align:center;margin-bottom:40px}.computer-logo-text{font-size:72px;font-weight:300;color:#fff;letter-spacing:4px;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.5)}.computer-logo-subtext{font-size:18px;color:hsla(0,0%,100%,.7);letter-spacing:2px;font-weight:400}.computer-search-hint{color:hsla(0,0%,100%,.6);font-size:14px;margin-top:20px;text-align:center}.computer-hint-button{margin-top:30px;padding:10px 20px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:4px;color:hsla(0,0%,100%,.9);font-size:14px;font-weight:400;cursor:pointer;transition:all .2s;font-family:inherit}.computer-hint-button:hover:not(:disabled){background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.computer-hint-button:disabled{opacity:.5;cursor:not-allowed}.computer-hint-names{margin-top:24px;padding:20px;background:hsla(0,0%,100%,.95);border-radius:8px;max-width:500px;width:100%;box-shadow:0 2px 8px rgba(0,0,0,.3);animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.computer-hint-title{color:#000;font-size:14px;font-weight:600;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.computer-hint-list{display:flex;flex-direction:column;gap:8px}.computer-hint-name-item{padding:10px 12px;background:rgba(0,0,0,.05);border-radius:4px;color:#000;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.computer-hint-name-item:hover{background:rgba(0,0,0,.1);transform:translateX(4px)}.computer-person-item{display:flex;align-items:flex-start;gap:12px;padding:16px;background:hsla(0,0%,100%,.05);border:2px solid hsla(0,0%,100%,.1);border-radius:8px;color:#fff;cursor:pointer;transition:all .3s;text-align:left;position:relative}.computer-person-item:hover:not(:disabled){background:hsla(0,0%,100%,.1);border-color:rgba(74,158,255,.5);transform:translateY(-2px);box-shadow:0 4px 12px rgba(74,158,255,.2)}.computer-person-item:disabled{opacity:.5;cursor:not-allowed}.computer-person-item.searched{border-color:rgba(74,222,128,.4);background:rgba(74,222,128,.05)}.computer-person-icon{font-size:24px;flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.1);border-radius:6px}.computer-person-item.searched .computer-person-icon{background:rgba(74,222,128,.2);color:#4ade80}.computer-person-content{flex:1 1;min-width:0}.computer-person-name{font-size:16px;font-weight:600;color:#fff;margin-bottom:4px}.computer-person-occupation{font-size:13px;color:hsla(0,0%,100%,.6)}.computer-person-badge{position:absolute;top:8px;right:8px;padding:4px 8px;background:rgba(74,222,128,.2);border:1px solid rgba(74,222,128,.4);border-radius:4px;color:#4ade80;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.computer-searching{gap:30px}.computer-search-animation{display:flex;gap:8px;align-items:center;justify-content:center}.search-line{width:4px;height:50px;background:hsla(0,0%,100%,.8);animation:searchPulse 1.5s ease-in-out infinite;border-radius:2px}.search-line:nth-child(2){animation-delay:.2s}.search-line:nth-child(3){animation-delay:.4s}@keyframes searchPulse{0%,to{opacity:.4;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1.2)}}.computer-search-progress{width:100%;max-width:400px;height:4px;background:hsla(0,0%,100%,.2);border-radius:2px;overflow:hidden}.computer-progress-bar{height:100%;background:hsla(0,0%,100%,.9);transition:width .1s linear;box-shadow:0 0 8px hsla(0,0%,100%,.5)}.computer-search-text{color:hsla(0,0%,100%,.9);font-size:16px;font-weight:400;text-align:center}.computer-found{animation:arrivalPulse .5s ease-out;text-align:center}.computer-found-icon{font-size:48px;color:#4ade80;margin-bottom:16px;animation:signalPulse 1.5s ease-in-out infinite}.computer-found-text{color:hsla(0,0%,100%,.95);font-size:18px;font-weight:400;text-align:center;margin-bottom:8px}.computer-not-found{text-align:center;padding:20px}.computer-not-found-icon{font-size:48px;margin-bottom:16px;opacity:.6}.computer-not-found-message{color:hsla(0,0%,100%,.9);font-size:16px;margin-top:12px;margin-bottom:20px;font-weight:400}.computer-not-found-close{padding:10px 24px;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);border-radius:4px;color:#fff;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s;font-family:inherit}.computer-not-found-close:hover{background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.4);box-shadow:0 1px 3px rgba(0,0,0,.2)}.computer-input-container{position:relative;width:100%;max-width:600px;margin:0 auto}.computer-search-form-google{width:100%;display:flex;flex-direction:column;align-items:center;gap:20px}.computer-search-wrapper{position:relative;width:100%;display:flex;align-items:center;background:hsla(0,0%,100%,.95);border:1px solid hsla(0,0%,100%,.3);border-radius:24px;padding:0 20px;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:all .3s}.computer-search-wrapper:focus-within{box-shadow:0 4px 16px rgba(0,0,0,.4);border-color:hsla(0,0%,100%,.5)}.computer-search-icon{font-size:20px;color:rgba(0,0,0,.5);margin-right:12px;flex-shrink:0}.computer-search-input-google{flex:1 1;padding:14px 0;background:transparent;border:none;color:#000;font-size:16px;font-family:inherit;outline:none}.computer-search-input-google::placeholder{color:rgba(0,0,0,.4)}.computer-search-input-google:disabled{opacity:.5;cursor:not-allowed}.computer-search-clear{background:none;border:none;color:rgba(0,0,0,.5);font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;flex-shrink:0}.computer-search-clear:hover:not(:disabled){background:rgba(0,0,0,.1);color:rgba(0,0,0,.8)}.computer-search-clear:disabled{opacity:.3;cursor:not-allowed}.computer-search-buttons{display:flex;gap:12px}.computer-history-button-google,.computer-search-button-google{padding:10px 24px;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.3);border-radius:4px;color:#fff;font-size:14px;font-weight:400;cursor:pointer;transition:all .2s;font-family:inherit}.computer-history-button-google:hover:not(:disabled),.computer-search-button-google:hover:not(:disabled){background:hsla(0,0%,100%,.25);border-color:hsla(0,0%,100%,.4);box-shadow:0 1px 3px rgba(0,0,0,.2)}.computer-history-button-google:active:not(:disabled),.computer-search-button-google:active:not(:disabled){box-shadow:inset 0 1px 2px rgba(0,0,0,.2)}.computer-history-button-google:disabled,.computer-search-button-google:disabled{opacity:.4;cursor:not-allowed}.computer-signal-indicator{position:absolute;top:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 16px;background:rgba(74,222,128,.2);border:1px solid rgba(74,222,128,.4);border-radius:6px;color:#4ade80;font-size:14px;font-weight:500;animation:indicatorPulse 2s ease-in-out infinite}.computer-signal-green{font-size:12px;animation:signalBlink 1s ease-in-out infinite}.computer-history-panel{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);width:100%;max-width:600px;margin-bottom:12px;background:hsla(0,0%,100%,.98);border:1px solid rgba(0,0,0,.1);border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.3);max-height:300px;display:flex;flex-direction:column;z-index:1000;animation:slideUp .3s ease-out}.computer-history-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(0,0,0,.1)}.computer-history-header h4{margin:0;color:#000;font-size:16px;font-weight:500}.computer-history-close{background:none;border:none;color:rgba(0,0,0,.6);font-size:24px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all .2s;border-radius:50%}.computer-history-close:hover{background:rgba(0,0,0,.1);color:rgba(0,0,0,.8)}.computer-history-list{flex:1 1;overflow-y:auto;padding:8px}.computer-history-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 16px;background:transparent;border-radius:0;color:#000;cursor:pointer;transition:all .2s;text-align:left;border:none;border-bottom:1px solid rgba(0,0,0,.05)}.computer-history-item:last-child{border-bottom:none}.computer-history-item:hover:not(:disabled){background:rgba(0,0,0,.05)}.computer-history-item:disabled{opacity:.5;cursor:not-allowed}.computer-history-unknown{opacity:.7}.computer-history-icon{font-size:18px;flex-shrink:0;opacity:.6}.computer-history-content{flex:1 1;min-width:0}.computer-history-name{font-size:14px;font-weight:400;color:#000;margin-bottom:2px}.computer-history-status{font-size:12px;color:rgba(0,0,0,.5);font-style:italic;margin-top:2px}.computer-history-arrow{font-size:16px;color:rgba(0,0,0,.3);flex-shrink:0}.computer-history-empty{padding:24px;text-align:center;color:rgba(0,0,0,.5);font-size:14px}.computer-dossier-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:rgba(0,0,0,.95);z-index:10001;display:flex;flex-direction:column;overflow-y:auto}.computer-dossier-header{display:flex;align-items:center;gap:16px;padding:16px 24px;background:hsla(0,0%,4%,.98);border-bottom:1px solid hsla(0,0%,100%,.1);position:-webkit-sticky;position:sticky;top:0;z-index:10}.computer-back-button{padding:8px 16px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.computer-back-button:hover{background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.computer-dossier-header h3{margin:0;color:#fff;font-size:18px;font-weight:600}.computer-dossier-content{flex:1 1;padding:40px;max-width:900px;margin:0 auto;width:100%;display:grid;grid-template-columns:300px 1fr;grid-gap:40px;gap:40px}.computer-dossier-photo{width:100%;aspect-ratio:3/4;background:hsla(0,0%,100%,.05);border:2px solid hsla(0,0%,100%,.1);border-radius:8px;overflow:hidden;position:-webkit-sticky;position:sticky;top:100px;height:-moz-fit-content;height:fit-content}.computer-dossier-photo img{width:100%;height:100%;object-fit:cover}.computer-dossier-photo-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:hsla(0,0%,100%,.5)}.photo-placeholder-icon{font-size:64px;opacity:.5}.photo-placeholder-text{font-size:14px}.computer-dossier-info{display:flex;flex-direction:column;gap:24px}.computer-dossier-name{font-size:32px;font-weight:700;color:#fff;margin-bottom:8px;border-bottom:2px solid hsla(0,0%,100%,.2);padding-bottom:16px}.computer-dossier-section{display:flex;flex-direction:column;gap:8px}.dossier-section-title{font-size:14px;font-weight:600;color:hsla(0,0%,100%,.7);text-transform:uppercase;letter-spacing:1px}.dossier-section-content{font-size:16px;color:#fff;line-height:1.6}.dossier-section-content div{margin-bottom:4px}@media (max-width:768px){.computer-dossier-content{grid-template-columns:1fr;gap:24px}.computer-dossier-photo{position:relative;top:0;max-width:250px;margin:0 auto}}