:root{--primary-color: #2c3e50;--primary-gold: #e67e22;--accent-gold: #f39c12;--bg-parchment: #fcf8e3;--card-bg: #fffbf0;--border-color: #d4a373;--wood-dark: #3e2723;--wood-light: #5d4037;--text-dark: #2c2523;--shadow-warm: 0 10px 25px rgba(44, 37, 35, .25);--header-height: 0px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,Roboto,sans-serif;background-color:#1e272e;color:var(--text-dark);min-height:100vh;min-height:100dvh;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.btn-briefcase{position:fixed;top:16px;left:16px;z-index:90;background:none;border:none;padding:0;margin:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:116px;min-height:104px;touch-action:manipulation;user-select:none;-webkit-user-select:none;outline:none;transition:transform .2s cubic-bezier(.175,.885,.32,1.275),filter 1.4s cubic-bezier(.25,.1,.25,1)}.btn-briefcase:hover{transform:scale(1.06) translateY(-3px)}.btn-briefcase:active{transform:scale(.96) translateY(2px)}.briefcase-icon-wrap{position:relative;width:116px;height:104px;display:flex;align-items:center;justify-content:center;pointer-events:none}.briefcase-shadow-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;transition:opacity .35s cubic-bezier(.25,.1,.25,1);will-change:opacity}.briefcase-shadow-closed{filter:drop-shadow(0 6px 14px rgba(0,0,0,.7));opacity:1}.btn-briefcase:hover .briefcase-shadow-closed,.btn-briefcase.is-open .briefcase-shadow-closed{opacity:0}.briefcase-shadow-open{filter:drop-shadow(0 8px 18px rgba(0,0,0,.85));opacity:0}.btn-briefcase:hover .briefcase-shadow-open,.btn-briefcase.is-open .briefcase-shadow-open{opacity:1}.graphics-simple .briefcase-shadow-open{display:none!important}.graphics-simple .briefcase-shadow-closed{filter:drop-shadow(4px 4px 0 rgba(0,0,0,.5))!important;opacity:1!important;transition:none!important}.briefcase-shadow-img{width:100%;height:100%;object-fit:contain;display:block}.briefcase-icon-img{position:absolute;top:0;left:0;z-index:2;width:116px;height:104px;object-fit:contain;display:block;pointer-events:none}.briefcase-icon-closed{display:block}.btn-briefcase:hover .briefcase-icon-closed,.btn-briefcase.is-open .briefcase-icon-closed,.briefcase-icon-open{display:none}.btn-briefcase:hover .briefcase-icon-open,.btn-briefcase.is-open .briefcase-icon-open{display:block}body.dialogue-active .btn-briefcase{filter:brightness(.6) blur(.5px);pointer-events:none}.brand-container{display:flex;align-items:center;gap:12px}.brand-badge{position:fixed;bottom:20px;right:20px;z-index:90;font-size:2rem;background:#f1c40f;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #0006,0 0 0 2px #d35400;cursor:pointer;transition:transform .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.brand-badge:hover{transform:scale(1.08);background:#f39c12}.brand-badge:active{transform:scale(.95)}.brand-titles h1{font-size:1.4rem;font-weight:800;letter-spacing:1px;color:#fcebb6;text-shadow:1px 1px 2px rgba(0,0,0,.6)}.brand-titles p{font-size:.82rem;color:#d7ccc8}.hud-stats{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.stat-item{background:#00000059;border:1px solid rgba(243,156,18,.4);padding:6px 14px;border-radius:20px;display:flex;align-items:center;gap:8px;font-size:.95rem;color:#fcebb6;font-weight:600}.clue-icons-bar{display:flex;gap:4px}.clue-slot{width:24px;height:24px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:.8rem;opacity:.35;transition:all .3s}.clue-slot.collected{opacity:1;background:#f1c40f40;box-shadow:0 0 8px #f1c40f;transform:scale(1.1)}.hud-actions{display:flex;gap:10px}.hud-btn{background:#3e2723;color:#fcebb6;border:1.5px solid var(--accent-gold);border-radius:8px;padding:7px 14px;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s ease}.hud-btn:hover{background:#4e342e;border-color:#ffd54f;transform:translateY(-2px);box-shadow:0 3px 8px #0000004d}.main-stage{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:12px;min-height:0;box-sizing:border-box;background:radial-gradient(circle at center,#2c3e50,#1a1a24);transition:filter 1.4s cubic-bezier(.25,.1,.25,1)}.map-container{position:relative;width:100%;height:100%;max-width:calc((100dvh - var(--header-height, 0px) - 24px) * (16 / 9));max-height:calc((100vw - 24px)*.5625);aspect-ratio:16 / 9;border-radius:8px;overflow:hidden;box-shadow:0 14px 34px #0000007a,0 2px 6px #00000040;border:1px solid rgba(212,163,115,.45);background:#fbf7ee;padding:8px;box-sizing:border-box}.graphics-simple .map-container{box-shadow:4px 4px #00000080!important;padding:4px!important;border-radius:4px!important}.map-inner{position:relative;width:100%;height:100%;overflow:hidden;-webkit-user-select:none;user-select:none;border-radius:4px;box-shadow:inset 0 0 0 1px #3e272338,inset 0 2px 6px #00000059;transition:filter .65s cubic-bezier(.16,1,.3,1),transform .65s cubic-bezier(.16,1,.3,1)}.map-inner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:5;background:radial-gradient(ellipse at center,transparent 65%,rgba(46,31,23,.28) 100%);mix-blend-mode:multiply}.graphics-simple .map-inner:before{display:none!important}.postcard-overlay-accents{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:8}.postcard-stamp-card{position:absolute;top:10px;right:12px;transform:rotate(2.5deg);filter:drop-shadow(0 2px 5px rgba(0,0,0,.38))}.postcard-stamp-teeth{width:48px;height:58px;background:#fae5c8;border:2px dashed #B67012;border-radius:3px;padding:3px;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.postcard-stamp-content{width:100%;height:100%;background:#f3c689;border:1px solid #B67012;border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:3px 2px;color:#b67012;box-sizing:border-box}.stamp-top-text{font-size:7.5px;font-weight:800;letter-spacing:.8px;line-height:1}.stamp-price{font-size:7.5px;font-weight:800;line-height:1}.postcard-postmark-stamp{position:absolute;top:6px;right:28px;transform:rotate(-11deg);color:#2c2523bf;mix-blend-mode:multiply}.postcard-vintage-caption{position:absolute;bottom:8px;left:10px;background:#fbf7eeeb;border:1px solid rgba(182,112,18,.4);padding:3px 8px;border-radius:4px;font-family:Georgia,Times New Roman,serif;font-size:.74rem;font-style:italic;color:#3e2723;box-shadow:0 1px 4px #00000026}.graphics-simple .postcard-stamp-card{filter:none!important}.graphics-simple .postcard-postmark-stamp{mix-blend-mode:normal!important;color:#2c2523d9!important}body.dialogue-active .main-stage{filter:brightness(.35) blur(4.5px)}body.dialogue-active .game-header{filter:brightness(.6) blur(.5px);transition:filter 1.4s cubic-bezier(.25,.1,.25,1)}body.graphics-simple.dialogue-active .main-stage{filter:brightness(.45)!important}.map-background{width:100%;height:100%;object-fit:fill;display:block;pointer-events:none}#hotspots-layer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.hotspot-marker{position:absolute;transform:translate(-50%,-100%);cursor:pointer;display:flex;flex-direction:column;align-items:center;transition:transform .25s cubic-bezier(.175,.885,.32,1.275);z-index:20;pointer-events:auto!important;touch-action:manipulation;-webkit-user-select:none;user-select:none}.hotspot-marker:hover{transform:translate(-50%,-112%) scale(1.1);z-index:30}.marker-pin{width:60px;height:60px;background:radial-gradient(circle,#f39c12 30%,#d35400);border:3px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #00000080;position:relative;pointer-events:auto;cursor:pointer}.marker-icon{transform:rotate(45deg);font-size:1.4rem}.marker-status{position:absolute;top:-4px;right:-4px;width:20px;height:20px;border-radius:50%;background:#27ae60;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;border:2px solid white;transform:rotate(45deg)}.hotspot-marker.locked .marker-pin{background:radial-gradient(circle,#7f8c8d 30%,#34495e);filter:grayscale(.5)}.hotspot-marker.solved .marker-pin{background:radial-gradient(circle,#2ecc71 30%,#27ae60)}.marker-pin.has-custom-icon{width:55px;height:65px;background:none;border:none;border-radius:0;transform:none;box-shadow:none;filter:drop-shadow(0 4px 10px rgba(0,0,0,.45))}.marker-pin.has-custom-icon .marker-pin-image{width:100%;height:100%;object-fit:contain;display:block;pointer-events:none}.marker-pin.has-custom-icon .marker-status{transform:none;top:-4px;right:-4px}.hotspot-marker.locked .marker-pin.has-custom-icon{background:none;filter:drop-shadow(0 3px 6px rgba(0,0,0,.3))}.hotspot-marker.locked .marker-pin.has-custom-icon .marker-pin-image{filter:grayscale(.85) opacity(.65)}.hotspot-marker.solved .marker-pin.has-custom-icon{background:none;filter:drop-shadow(0 4px 12px rgba(46,204,113,.65))}.marker-label{margin-top:6px;background:#1e140fe0;color:#fff9e6;border:1px solid var(--accent-gold);border-radius:12px;padding:3px 9px;font-size:.78rem;font-weight:700;white-space:nowrap;box-shadow:0 3px 6px #0006;pointer-events:none}.detective-avatar{position:absolute;width:58px;height:74px;transform:translate(-50%,-85%);pointer-events:none;z-index:25;transition:left .9s cubic-bezier(.4,0,.2,1),top .9s cubic-bezier(.4,0,.2,1)}.detective-shadow{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:44px;height:12px;background:radial-gradient(ellipse at center,#140c068c,#140c064d 48%,#140c0600 75%);border-radius:50%;pointer-events:none;z-index:1;transition:transform .25s ease,opacity .25s ease}.detective-avatar.walking .detective-shadow{animation:detectiveShadowPulse .25s infinite alternate}@keyframes detectiveShadowPulse{0%{transform:translate(-50%) scale(1);opacity:.9}to{transform:translate(-50%) scale(.82);opacity:.6}}.graphics-simple .detective-shadow{background:#00000073!important;filter:none!important}.detective-sprite{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;z-index:2;filter:drop-shadow(0 3px 4px rgba(25,15,8,.35))}.detective-sprite img{width:100%;height:100%;object-fit:contain;display:block}.detective-avatar.walking .detective-sprite{animation:detectiveWobble .25s infinite alternate}@keyframes detectiveWobble{0%{transform:translateY(0) rotate(-3deg)}to{transform:translateY(-6px) rotate(3deg)}}.bottom-instructions{display:none!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0fc7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:15px;opacity:0;pointer-events:none;transition:opacity .25s ease}.modal-backdrop.active{opacity:1;pointer-events:auto}#modal-minigame-tester{z-index:1100}.modal-card{background:var(--card-bg);border:4px solid #5d4037;box-shadow:var(--shadow-warm),0 0 0 3px #f39c12;border-radius:16px;max-width:580px;width:100%;overflow:hidden;position:relative;transform:scale(.92);transition:transform .25s cubic-bezier(.175,.885,.32,1.275)}.modal-backdrop.active .modal-card{transform:scale(1)}.modal-header{background:linear-gradient(135deg,#3e2723,#2b1b17);color:#fcebb6;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #f39c12}.modal-title-wrap{display:flex;align-items:center;gap:10px}.modal-title-wrap h2{font-size:1.25rem;font-weight:700}.btn-close{background:none;border:none;color:#fcebb6;font-size:1.6rem;cursor:pointer;line-height:1;transition:transform .2s}.btn-close:hover{transform:scale(1.2);color:#ff5252}.modal-body{padding:22px;font-size:1rem;line-height:1.6;color:#3e2723}.resident-profile-wrap{display:flex;gap:16px;align-items:center;background:#fff;border:2px solid #e0d6ce;border-radius:14px;padding:12px 16px;margin-bottom:14px;box-shadow:0 4px 10px #0000000a}.resident-portrait-frame{width:96px;height:96px;border-radius:16px;border:3px solid #f39c12;box-shadow:0 4px 12px #f39c1259;overflow:hidden;flex-shrink:0;background:#fdfaf0}.resident-portrait-img{width:100%;height:100%;object-fit:cover;display:block}.resident-info{flex:1}.resident-name{font-size:1.25rem;font-weight:800;color:#2c2523;margin-bottom:3px}.resident-role{display:inline-block;background:#f5ede6;color:#8d6e63;border:1px solid #d7ccc8;font-size:.8rem;font-weight:700;padding:2px 8px;border-radius:12px;margin-bottom:6px}.resident-speech-bubble{background:#fffdf9;border:2px dashed #d7ccc8;border-radius:12px;padding:14px 16px;font-style:italic;color:#3e2723;font-size:.98rem;line-height:1.5;position:relative;margin-bottom:12px}.resident-qa-box{background:#eef7ee;border-left:4px solid #27ae60;border-radius:0 10px 10px 0;padding:12px 16px;margin-top:10px;display:none;animation:fadeIn .3s ease}.resident-qa-box.active{display:block}.witness-note-badge{display:inline-flex;align-items:center;gap:6px;background:#27ae60;color:#fff;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:8px;margin-top:6px}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dialogue-buttons-grid{display:flex;flex-direction:column;gap:8px;margin-top:14px}.btn-dialogue-action{background:#fff;border:1.5px solid #d7ccc8;color:#3e2723;padding:9px 16px;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:all .2s;text-align:left}.btn-dialogue-action:hover{border-color:#f39c12;background:#fffbf0;transform:translate(4px)}.btn-dialogue-action.primary{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border-color:#f39c12}.btn-dialogue-action.primary:hover{transform:translate(4px) scale(1.01);box-shadow:0 4px 12px #d354004d}.modal-hint-box{background:#fff8e1;border-left:4px solid #fbc02d;padding:10px 14px;border-radius:0 8px 8px 0;font-size:.88rem;color:#795548;margin-top:10px}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.btn-primary{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff;border:2px solid #f39c12;padding:10px 22px;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 4px 10px #d354004d;transition:all .2s;display:flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 14px #d3540066}.btn-secondary{background:#d7ccc8;color:#3e2723;border:none;padding:10px 18px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#bcaaa4}#modal-minigame{transition:opacity .35s ease}#modal-minigame .minigame-card{max-width:900px;width:95%;height:85vh;display:flex;flex-direction:column;background:#2b1f1a;border:4px solid #f39c12;border-radius:18px;overflow:hidden;opacity:0;transform:translateY(100vh);transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .35s ease;will-change:transform,opacity}#modal-minigame.active:not(.closing) .minigame-card{opacity:1;transform:translateY(0)}#modal-minigame.closing{opacity:0;pointer-events:none;transition:opacity .35s ease}#modal-minigame.closing .minigame-card{opacity:0;transform:translateY(100vh);transition:transform .35s cubic-bezier(.4,0,1,1),opacity .3s ease}.minigame-header{background:#1a1412;padding:10px 20px;min-height:56px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #5d4037;color:#fcebb6}.minigame-instruction{font-size:1.25rem;font-weight:700;color:#fff5c3;margin:0;letter-spacing:.3px;-webkit-user-select:none;user-select:none}.minigame-controls{display:flex;align-items:center;gap:14px}.minigame-star-counter{display:inline-flex;align-items:center;gap:6px;background:#2b1f1a;border:2px solid #C8A700;padding:4px 12px;border-radius:9999px;color:#fff5c3;min-height:44px;-webkit-user-select:none;user-select:none;transition:transform .25s ease,border-color .25s ease,background-color .25s ease,box-shadow .25s ease}.minigame-star-icon{color:#ffdc2d;font-size:1.35rem;line-height:1;display:inline-block;transition:transform .4s cubic-bezier(.175,.885,.32,1.275)}.minigame-star-count{font-family:Fredoka,cursive,sans-serif;font-size:1.25rem;font-weight:700;line-height:1;color:#ffe97d}.minigame-star-counter.star-earned{animation:starPulse .8s ease-out;border-color:#ffdc2d;background:#3e2e1a}.minigame-star-counter.star-earned .minigame-star-icon{animation:starPop .8s cubic-bezier(.175,.885,.32,1.275)}@keyframes starPop{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.4) rotate(20deg);color:#fff5c3}75%{transform:scale(.95) rotate(-5deg)}to{transform:scale(1) rotate(0)}}@keyframes starPulse{0%{box-shadow:0 0 #ffdc2d00}50%{box-shadow:0 0 18px #ffdc2da6,0 0 0 2px #ffdc2d}to{box-shadow:0 0 #ffdc2d00}}.minigame-iframe-wrapper{flex:1;position:relative;background:#deebd7;width:100%}.minigame-iframe{width:100%;height:100%;border:none;display:block}.iframe-loader{position:absolute;top:0;right:0;bottom:0;left:0;background:#1c1917;color:#fcebb6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;font-size:1.1rem;z-index:5;transition:opacity .3s ease}.spinner{width:44px;height:44px;border:4px solid rgba(243,156,18,.2);border-top-color:#f39c12;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.notebook-card{max-width:680px;background:#fdfaf0;border:5px solid #4a3525;background-image:repeating-linear-gradient(#fff,#fff 24px,#f1eae2 25px)}.notebook-clues-list{display:flex;flex-direction:column;gap:12px;margin:15px 0}.notebook-clue-card{background:#fff;border:1px solid #d7ccc8;border-left:5px solid #d35400;border-radius:8px;padding:12px 16px;box-shadow:0 2px 5px #0000000d;display:flex;gap:14px;align-items:center}.notebook-clue-card.empty{border-left-color:#9e9e9e;opacity:.6;background:#f5f5f5;font-style:italic}.clue-icon-large{font-size:2rem}.notebook-section-title{font-size:1.05rem;font-weight:800;color:#3e2723;margin:18px 0 8px;display:flex;align-items:center;gap:8px;border-bottom:2px solid #e0d6ce;padding-bottom:4px}.notebook-witness-list{display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.notebook-witness-card{background:#fff;border:1px solid #d7ccc8;border-left:5px solid #27ae60;border-radius:8px;padding:10px 14px;display:flex;gap:12px;align-items:center}.witness-avatar-thumb{width:44px;height:44px;border-radius:50%;border:2px solid #f39c12;object-fit:cover;flex-shrink:0}.safe-input-box{display:flex;gap:8px;justify-content:center;margin:20px 0}.safe-letter-input{width:48px;height:56px;font-size:1.8rem;font-weight:800;text-align:center;text-transform:uppercase;border:3px solid #5d4037;border-radius:8px;background:#fff;color:#2b1f1a}.safe-letter-input:focus{border-color:#e67e22;outline:none;box-shadow:0 0 10px #e67e2280}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2000}@media (max-width: 768px){.game-header{padding:8px 12px}.minigame-card{width:100%;height:95vh;border-radius:10px}.main-stage{padding:8px}.map-container{max-width:calc((100dvh - var(--header-height, 0px) - 16px) * (16 / 9));max-height:calc((100vw - 16px)*.5625);border-radius:6px;padding:6px}.postcard-stamp-card{transform:scale(.85) rotate(2.5deg);transform-origin:top right}.postcard-postmark-stamp{transform:scale(.85) rotate(-11deg);transform-origin:top right}.postcard-vintage-caption{font-size:.68rem;padding:2px 6px}}@media (max-width: 480px){.main-stage{padding:6px}.map-container{max-width:calc((100dvh - var(--header-height, 0px) - 12px) * (16 / 9));max-height:calc((100vw - 12px)*.5625);border-radius:5px;padding:4px}.postcard-stamp-card{transform:scale(.72) rotate(2.5deg);transform-origin:top right}.postcard-postmark-stamp{transform:scale(.72) rotate(-11deg);transform-origin:top right}.postcard-vintage-caption{font-size:.62rem;padding:2px 5px}}.persona-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;user-select:none;-webkit-user-select:none;pointer-events:auto;opacity:1;cursor:pointer}.persona-dialog-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0e18b8;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:1;opacity:0;transition:opacity 1.4s cubic-bezier(.25,.1,.25,1)}.persona-dialog-overlay.active .persona-dialog-backdrop{opacity:1}.graphics-simple .persona-dialog-backdrop{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#00000080!important}.persona-btn-close{position:absolute;top:20px;right:24px;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#3e2723,#251613);border:2px solid #f39c12;color:#fcebb6;box-shadow:0 6px 18px #00000080,inset 0 1px #fff3;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:50;transition:transform .22s cubic-bezier(.16,1,.3,1),background .2s ease,border-color .2s ease,box-shadow .2s ease;touch-action:manipulation}.persona-btn-close:hover{transform:scale(1.1) rotate(90deg);background:linear-gradient(135deg,#5d4037,#3e2723);border-color:#ffd166;color:#fff;box-shadow:0 8px 22px #f39c1273}.persona-btn-close:active{transform:scale(.96)}.location-archive-frame{position:absolute;top:18px;left:50%;transform:translate(-50%) translateY(-120vh) rotate(-.5deg);opacity:0;z-index:4;pointer-events:none;transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .75s ease;width:min(94vw,920px);display:flex;justify-content:center}.location-archive-frame.is-revealed{opacity:1!important;transform:translate(-50%) translateY(0) rotate(-.5deg)!important}.location-archive-frame.is-exiting{opacity:0!important;transform:translate(-50%) translateY(-120vh) rotate(-.5deg)!important;transition:transform .45s cubic-bezier(.4,0,1,1),opacity .4s ease!important}.graphics-simple .location-archive-frame{transition-duration:.18s!important}.archive-card{position:relative;background-color:#fae5c8;border:2px solid #5d4037;box-shadow:0 18px 45px #0000008c,0 0 0 2px #d4a373,0 2px 8px #0000004d;border-radius:8px;padding:12px 14px 14px;width:100%;box-sizing:border-box}.graphics-simple .archive-card{box-shadow:4px 4px #00000080!important;border-radius:0!important}.archive-header-strip{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;padding:6px 14px;background:linear-gradient(135deg,#3e2723,#231512);color:#fcebb6;border-radius:4px;border:1px solid #d4a373;box-shadow:inset 0 1px 3px #0009,0 2px 6px #00000040}.archive-label-title{font-size:1.15rem;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;color:#fcebb6;text-shadow:1px 1px 2px rgba(0,0,0,.6);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-photo-wrap{position:relative;width:100%;aspect-ratio:16 / 9;max-height:min(48vh,440px);background:#1e293b;border-radius:4px;overflow:hidden;border:2px solid #3e2723;box-shadow:inset 0 0 24px #00000073}.photo-corner{position:absolute;width:26px;height:26px;z-index:22;pointer-events:none}.photo-corner-tl{top:0;left:0;background:linear-gradient(135deg,#2c1d11 50%,transparent 50%);filter:drop-shadow(1px 1px 2px rgba(0,0,0,.6))}.photo-corner-tr{top:0;right:0;background:linear-gradient(-135deg,#2c1d11 50%,transparent 50%);filter:drop-shadow(-1px 1px 2px rgba(0,0,0,.6))}.photo-corner-bl{bottom:0;left:0;background:linear-gradient(45deg,#2c1d11 50%,transparent 50%);filter:drop-shadow(1px -1px 2px rgba(0,0,0,.6))}.photo-corner-br{bottom:0;right:0;background:linear-gradient(-45deg,#2c1d11 50%,transparent 50%);filter:drop-shadow(-1px -1px 2px rgba(0,0,0,.6))}.graphics-simple .photo-corner{filter:none!important}.archive-photo-img{width:100%;height:100%;object-fit:cover;display:block}.archive-photo-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#0f172a);color:#f3c689;gap:10px}.placeholder-blueprint-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-size:24px 24px;background-image:linear-gradient(to right,rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(to bottom,rgba(255,255,255,.05) 1px,transparent 1px);pointer-events:none}.placeholder-icon-badge{position:relative;z-index:2;width:52px;height:52px;border-radius:50%;background:#ffffff14;border:2px solid #E2A44A;display:flex;align-items:center;justify-content:center;color:#ffe97d}.placeholder-text{position:relative;z-index:2;font-size:.95rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:#fae5c8}.persona-stage{position:absolute;bottom:120px;left:0;right:0;top:0;z-index:10;display:flex;justify-content:space-between;align-items:flex-end;pointer-events:none;padding:0 3vw;max-width:1440px;margin:0 auto}.persona-stage.is-revealed{opacity:1}.persona-stage.is-exiting{opacity:0!important;transition:opacity .4s ease!important;pointer-events:none!important}.persona-slot{position:relative;width:min(44vw,500px);height:min(76vh,640px);display:flex;justify-content:center;align-items:flex-end;opacity:0;transform:translateY(28px) scale(.94);transition:transform .55s cubic-bezier(.16,1,.3,1),filter .55s ease,opacity .45s ease;filter:brightness(30%) saturate(45%) drop-shadow(0 6px 14px rgba(0,0,0,.5));z-index:5}.persona-slot:not(.is-revealed):not(.is-exiting){opacity:0!important;transform:translateY(28px) scale(.94)!important}.persona-slot.is-revealed{opacity:1!important;transform:translateY(14px) scale(.94)}.persona-slot.is-revealed.active{opacity:1!important;filter:brightness(100%) saturate(100%) drop-shadow(0 18px 36px rgba(0,0,0,.55))!important;transform:translateY(-8px) scale(1.03)!important;z-index:10}.persona-slot.is-revealed.active .persona-sprite{filter:none}.persona-slot.is-revealed.dimmed{opacity:1!important;filter:brightness(32%) saturate(45%) drop-shadow(0 6px 14px rgba(0,0,0,.6))!important;transform:translateY(14px) scale(.94)!important;z-index:4}.persona-slot.is-revealed.dimmed .persona-sprite{filter:brightness(75%) contrast(90%);opacity:1!important}.persona-slot-left{margin-right:auto}.persona-slot-right{margin-left:auto}.persona-slot-center{margin:0 auto}.persona-sprite{width:100%;height:100%;object-fit:contain;object-position:bottom center;pointer-events:none;transition:transform .2s ease,filter .4s ease}.persona-slot-right .persona-sprite{transform:scaleX(-1)}.persona-slot.is-exiting{opacity:0!important;transform:translateY(32px) scale(.94)!important;transition:opacity .38s ease,transform .42s cubic-bezier(.4,0,1,1)!important;pointer-events:none!important}.graphics-simple .persona-stage.is-exiting{opacity:0!important;transition-duration:.2s!important}.graphics-simple .persona-slot.is-exiting{opacity:0!important;transform:translateY(20px) scale(.96)!important;transition-duration:.2s!important;filter:none!important}.graphics-simple .persona-slot,.graphics-simple .persona-slot.is-revealed.active{filter:none!important}.graphics-simple .persona-slot.is-revealed.dimmed{filter:brightness(60%)!important}.persona-choices-container{position:relative;z-index:25;display:flex;flex-direction:column;gap:8px;align-items:center;margin-bottom:12px;width:min(88%,420px);animation:personaChoicesFadeIn .25s ease-out;cursor:default}@keyframes personaChoicesFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.persona-choice-btn{width:100%;min-height:44px;padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:linear-gradient(180deg,#fffcf5,#f7ecd4);color:#2c2523;border:2px solid #5d4037;border-left:5px solid #d4a373;box-shadow:0 4px 14px #00000047,inset 0 1px #ffffffe6;border-radius:12px;font-size:1.02rem;font-weight:700;cursor:pointer;text-align:left;transition:transform .18s cubic-bezier(.16,1,.3,1),background .18s ease,border-color .18s ease,box-shadow .18s ease;touch-action:manipulation}.persona-choice-btn:hover{background:linear-gradient(180deg,#fff,#fae6bd);border-color:#3e2723;border-left-color:#e67e22;box-shadow:0 6px 18px #00000059,0 0 0 2px #f39c12;transform:translateY(-2px)}.persona-choice-btn:active{transform:translateY(1px)}.persona-choice-text{flex:1}.persona-choice-btn.is-minigame{border-left-color:#27ae60;background:linear-gradient(180deg,#fffdf8,#f5ecd3)}.persona-choice-btn.is-minigame:hover{border-left-color:#2ecc71;background:linear-gradient(180deg,#fff,#faecd0)}.persona-choice-btn.is-close{border-left-color:#c0392b}.persona-choice-btn.is-close:hover{border-left-color:#e74c3c;background:linear-gradient(180deg,#fff,#fdf2f0)}.persona-choice-play-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;box-shadow:0 2px 8px #27ae6073;flex-shrink:0;transition:transform .18s ease,box-shadow .18s ease}.persona-choice-btn:hover .persona-choice-play-badge{transform:scale(1.15);box-shadow:0 4px 12px #27ae6099}.persona-choice-close-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#c0392b1a;color:#c0392b;flex-shrink:0;transition:transform .18s ease,background .18s ease,color .18s ease}.persona-choice-btn:hover .persona-choice-close-badge{transform:scale(1.15);background:#c0392b38;color:#922b21}.persona-choice-speech-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#5d403717;color:#5d4037;flex-shrink:0;transition:transform .18s ease,background .18s ease,color .18s ease}.persona-choice-btn:hover .persona-choice-speech-badge{transform:scale(1.15);background:#e67e2238;color:#b65a00}.persona-choice-arrow-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#5d403714;color:#5d4037;flex-shrink:0;transition:transform .18s ease,background .18s ease,color .18s ease}.persona-choice-btn:hover .persona-choice-arrow-badge{transform:translate(3px);background:#e67e2233;color:#e67e22}.graphics-simple .persona-choice-btn{box-shadow:4px 4px #00000080}.persona-dialog-bottom{position:relative;width:100%;margin-bottom:24px}.persona-textbox{position:relative;z-index:20;width:100%;max-width:100%;margin-left:0;margin-right:0;margin-bottom:0;min-height:145px;background-color:#f6ebd7;background-image:linear-gradient(180deg,rgba(82,54,44,.14) 0%,rgba(82,54,44,.04) 18px,transparent 32px,transparent calc(100% - 32px),rgba(82,54,44,.04) calc(100% - 18px),rgba(82,54,44,.14) 100%),radial-gradient(ellipse 70% 50% at 15% 25%,rgba(214,172,114,.22) 0%,transparent 75%),radial-gradient(ellipse 65% 55% at 85% 75%,rgba(198,153,94,.25) 0%,transparent 70%),radial-gradient(ellipse 45% 45% at 50% 12%,rgba(175,125,75,.12) 0%,transparent 60%),repeating-linear-gradient(180deg,transparent 0,transparent 7px,rgba(145,105,55,.045) 8px),url("data:image/svg+xml,%3Csvg viewBox='0 0 240 240' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='parchmentFiber'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.045' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.38 0 0 0 0 0.26 0 0 0 0 0.15 0 0 0 0.15 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23parchmentFiber)'/%3E%3C/svg%3E"),linear-gradient(180deg,#f9f1e3,#f4e6cf,#ead6b7);border-top:3px solid #3e2723;border-bottom:3px solid #3e2723;border-left:none;border-right:none;border-radius:0;box-shadow:0 16px 42px #00000085,inset 0 2px #d4a373,inset 0 -2px #d4a373,inset 0 10px 24px -6px #52362c3d,inset 0 -10px 24px -6px #52362c3d;padding:24px 0;cursor:pointer;transition:box-shadow .2s ease,border-color .2s ease;box-sizing:border-box}.persona-textbox.is-entering{animation:none!important;opacity:1!important;transform:none!important}.persona-textbox.is-exiting{pointer-events:none!important}.graphics-simple .persona-textbox.is-entering{animation:none!important}.graphics-simple .persona-textbox.is-exiting{opacity:0!important;transform:translateY(16px)!important;transition:opacity .25s ease,transform .25s ease!important}.persona-textbox:hover{box-shadow:0 18px 46px #00000094,inset 0 2px #f39c12,inset 0 -2px #f39c12,inset 0 10px 24px -6px #52362c4d,inset 0 -10px 24px -6px #52362c4d}.graphics-simple .persona-textbox,.graphics-simple .persona-textbox.theme-parchment{background-image:none!important;background-color:#f4e8d3!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 4px #00000080!important;border-left:none!important;border-right:none!important;border-radius:0!important}.persona-halftone-canvas{position:absolute;left:0;top:-24px;width:100%;height:calc(100% + 48px);pointer-events:none;z-index:35;display:none}.persona-textbox-inner{position:relative;width:100%;max-width:1040px;min-height:97px;margin:0 auto;padding:0 28px;box-sizing:border-box}.persona-speaker-badge-layer{position:absolute;top:-20px;left:0;right:0;z-index:100;pointer-events:none}.persona-speaker-badge-inner{position:relative;width:100%;max-width:1040px;margin:0 auto;padding:0 28px;box-sizing:border-box}.persona-speaker-badge{position:absolute;top:0;display:inline-flex;align-items:baseline;gap:8px;background:linear-gradient(135deg,#3e2723,#241411);border:2px solid #f39c12;color:#fcebb6;padding:6px 18px;border-radius:12px;box-shadow:0 4px 14px #00000073,inset 0 1px #fff3;z-index:100;pointer-events:auto;opacity:0;transform:translateY(18px);transition:opacity .45s ease,transform .5s cubic-bezier(.16,1,.3,1)}.persona-speaker-badge.is-revealed{opacity:1;transform:translateY(0)}.persona-speaker-badge.is-exiting{opacity:0!important;transform:translateY(22px)!important;transition:opacity .35s ease,transform .38s cubic-bezier(.4,0,1,1)!important}.persona-speaker-badge.is-left{left:28px;right:auto}.persona-speaker-badge.is-right{left:auto;right:28px}.persona-speaker-badge.badge-pop{animation:speakerBadgePop .22s cubic-bezier(.16,1,.3,1) both}@keyframes speakerBadgePop{0%{opacity:.35;transform:translateY(3px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.persona-speaker-name{font-size:1.08rem;font-weight:800;letter-spacing:.03em;color:#fcebb6;text-shadow:1px 1px 2px rgba(0,0,0,.5)}.persona-speaker-role{font-size:.82rem;font-weight:600;color:#f39c12}.persona-text-content{min-height:60px;display:flex;align-items:flex-start}.persona-text-line{margin:0;color:#241715;font-size:1.25rem;line-height:1.6;font-weight:600}.persona-next-indicator{position:absolute;bottom:8px;right:28px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3e2723,#251613);border:2px solid #f39c12;border-radius:50%;color:#fcebb6;box-shadow:0 2px 8px #00000059;opacity:0;pointer-events:auto;cursor:pointer;transition:opacity .2s ease,transform .2s ease;z-index:25}.persona-next-indicator.visible{opacity:1;animation:personaNextNudge 1.3s ease-in-out infinite}.persona-next-arrow{color:#fcebb6;width:17px;height:17px}@keyframes personaNextNudge{0%,to{transform:translate(0)}50%{transform:translate(3px)}}.graphics-simple .persona-next-indicator.visible{animation:none!important;box-shadow:2px 2px #00000080!important}@media (max-width: 768px){.location-archive-frame{top:10px;width:95vw;transform:translate(-50%) rotate(0)}.location-archive-frame.is-entering{animation-name:locationArchiveEnterMobile}.location-archive-frame.is-exiting{animation-name:locationArchiveExitMobile}.archive-card{padding:8px 10px 10px}.archive-label-title{font-size:.95rem;letter-spacing:1px}.archive-photo-wrap{max-height:28vh}.persona-stage{bottom:145px;padding:0 1vw}.persona-slot{width:48vw;height:52vh}.persona-choices-container{width:min(92%,360px)}.persona-choice-btn{font-size:.98rem;padding:10px 14px;min-height:46px}.persona-dialog-bottom{margin-bottom:14px}.persona-textbox{width:100%;margin-bottom:0;padding:18px 0 20px;min-height:125px;border-left:none;border-right:none;border-radius:0}.persona-speaker-badge-layer{top:-16px}.persona-speaker-badge-inner{padding:0 16px}.persona-textbox-inner{padding:0 16px;min-height:85px}.persona-text-line{font-size:1.05rem;line-height:1.5}.persona-speaker-badge{top:0;padding:4px 12px}.persona-speaker-badge.is-left{left:16px;right:auto}.persona-speaker-badge.is-right{left:auto;right:16px}.persona-next-indicator{bottom:8px;right:16px;width:32px;height:32px}.persona-speaker-name{font-size:.9rem}.persona-speaker-role{font-size:.75rem}.persona-btn-close{top:12px;right:12px;width:40px;height:40px}}@keyframes locationArchiveEnterMobile{0%{opacity:0;transform:translate(-50%) translateY(calc(-100% - 30px)) rotate(0)}to{opacity:1;transform:translate(-50%) translateY(0) rotate(0)}}@keyframes locationArchiveExitMobile{0%{opacity:1;transform:translate(-50%) translateY(0) rotate(0)}to{opacity:0;transform:translate(-50%) translateY(calc(-100% - 30px)) rotate(0)}}.pinboard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box;-webkit-user-select:none;user-select:none;overflow:hidden}.pinboard-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0e0a07d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.pinboard-screen{position:relative;width:100%;height:100%;max-width:calc((100dvh - 32px) * (16 / 9));max-height:calc((100vw - 32px)*.5625);aspect-ratio:16 / 9;border-radius:12px;overflow:hidden;box-shadow:0 20px 50px #000000b3,0 2px 8px #0006;border:2px solid rgba(212,163,115,.45);background:#231912 url(/assets/locations/pinboard.jpg) center / cover no-repeat;display:flex;flex-direction:column;z-index:2;box-sizing:border-box;transform-origin:50% 0}.pinboard-overlay.pinboard-opening .pinboard-backdrop{animation:pinboardBackdropFadeIn .4s ease-out forwards}.pinboard-overlay.pinboard-opening .pinboard-screen{animation:pinboardSlideInFromLeft 1.1s cubic-bezier(.25,1,.4,1) forwards}.pinboard-overlay.pinboard-closing .pinboard-backdrop{animation:pinboardBackdropFadeOut .5s ease-in forwards}.pinboard-overlay.pinboard-closing .pinboard-screen{animation:pinboardSlideOutToRight .9s cubic-bezier(.3,0,.7,1) forwards}@keyframes pinboardSlideInFromLeft{0%{transform:translate(-120vw) rotate(-5deg)}58%{transform:translate(3.6%) rotate(2.2deg)}to{transform:translate(0) rotate(0)}}@keyframes pinboardSlideOutToRight{0%{transform:translate(0) rotate(0)}28%{transform:translate(-3.8%) rotate(-2deg)}to{transform:translate(120vw) rotate(5deg)}}@keyframes pinboardBackdropFadeIn{0%{opacity:0}to{opacity:1}}@keyframes pinboardBackdropFadeOut{0%{opacity:1}to{opacity:0}}.pinboard-header{position:absolute;top:0;left:0;right:0;height:12%;min-height:48px;max-height:64px;padding:6px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:linear-gradient(180deg,rgba(28,20,14,.9) 0%,rgba(28,20,14,.45) 85%,transparent 100%);z-index:10;box-sizing:border-box}.pinboard-header-left{display:flex;align-items:center;gap:14px}.pinboard-badge{background:#e2a44a;color:#1e130a;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.5px;padding:5px 12px;border-radius:20px}.pinboard-title{margin:0;font-size:1.3rem;color:#fffdf9;font-weight:800;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.6)}.pinboard-subtitle{margin:0;font-size:.82rem;color:#f3c689;font-weight:500;text-shadow:0 1px 3px rgba(0,0,0,.6)}.pinboard-header-actions{display:flex;align-items:center;gap:10px}.pinboard-btn-close{min-width:44px;min-height:44px;width:44px;height:44px;border-radius:50%;border:2px solid #F18B8B;background:#f8caca;color:#b21616;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s,background .15s;box-shadow:0 3px 8px #0006}.pinboard-btn-close:hover{background:#f18b8b;color:#fff;transform:scale(1.05)}.pinboard-cork-boundary,.pinboard-cork-canvas{position:absolute;top:13.5%;bottom:14%;left:18.5%;right:17%;overflow-y:auto;overflow-x:hidden;padding:16px 14px;box-sizing:border-box;background:transparent;box-shadow:none;z-index:5}.pinboard-cork-boundary::-webkit-scrollbar,.pinboard-cork-canvas::-webkit-scrollbar{width:8px}.pinboard-cork-boundary::-webkit-scrollbar-track,.pinboard-cork-canvas::-webkit-scrollbar-track{background:#2b201640;border-radius:4px}.pinboard-cork-boundary::-webkit-scrollbar-thumb,.pinboard-cork-canvas::-webkit-scrollbar-thumb{background:#b6701299;border-radius:4px}.pinboard-cork-boundary::-webkit-scrollbar-thumb:hover,.pinboard-cork-canvas::-webkit-scrollbar-thumb:hover{background:#b67012d9}.pinboard-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;width:100%;margin:0 auto}.pinboard-case-card{position:relative;background:#fffdf9;border:2px solid #D4B28C;border-radius:10px;padding:24px 18px 16px;box-shadow:0 10px 22px #00000038;display:flex;flex-direction:column;cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s,border-color .2s}.pinboard-case-card:nth-child(odd){transform:rotate(-.6deg)}.pinboard-case-card:nth-child(2n){transform:rotate(.7deg)}.pinboard-case-card:hover{transform:translateY(-4px) rotate(0);box-shadow:0 16px 32px #0000004d;border-color:#e2a44a}.pinboard-case-card.active-case{border-color:#5893d4;box-shadow:0 12px 28px #29619f59}.pinboard-pin{position:absolute;top:-11px;left:50%;transform:translate(-50%);width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#f18b8b,#b21616);border:2px solid #5c0b0b;box-shadow:0 4px 8px #00000059;z-index:3}.pinboard-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.pinboard-case-number{font-size:.85rem;font-weight:800;color:#b67012;text-transform:uppercase;letter-spacing:.5px}.pinboard-grade-pill{background:#cfe0f3;color:#29619f;font-size:.82rem;font-weight:700;padding:4px 10px;border-radius:12px;border:1px solid #97BCE5}.pinboard-card-title{margin:0 0 8px;font-size:1.25rem;color:#2c2523;font-weight:800;line-height:1.3}.pinboard-card-desc{margin:0 0 16px;font-size:.92rem;color:#5e4023;line-height:1.45;flex:1}.pinboard-card-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:16px;padding-top:10px;border-top:1px dashed #D4B28C}.pinboard-meta-item{display:inline-flex;align-items:center;gap:5px;font-size:.82rem;color:#685042;font-weight:600}.pinboard-status-badge{font-size:.8rem;font-weight:700;padding:3px 8px;border-radius:8px}.status-new{background:#deebd7;color:#5b8543}.status-progress{background:#fff5c3;color:#c8a700}.status-solved{background:#e6cdf5;color:#7323a5}.pinboard-card-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pinboard-btn-play{flex:1;min-height:44px;padding:8px 16px;border-radius:8px;border:2px solid #5B8543;background:#8cb973;color:#fff;font-weight:800;font-size:.95rem;cursor:pointer;transition:transform .15s,background .15s}.pinboard-btn-play:hover{background:#5b8543;transform:translateY(-2px)}.pinboard-btn-intro,.pinboard-btn-edit,.pinboard-btn-delete{min-height:44px;padding:8px 12px;border-radius:8px;border:1px solid #BEBEBE;background:#fae5c8;color:#5e4023;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s}.pinboard-btn-intro:hover,.pinboard-btn-edit:hover{background:#f3c689}.pinboard-btn-delete{border-color:#f18b8b;background:#f8caca;color:#b21616}.pinboard-btn-delete:hover{background:#f18b8b;color:#fff}.case-intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.case-intro-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#0a0806eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.case-intro-container{position:relative;width:95vw;max-width:1040px;height:90vh;max-height:740px;background:#1c1815;border:4px solid #B67012;border-radius:16px;box-shadow:0 25px 65px #000000bf;display:flex;flex-direction:column;overflow:hidden;z-index:2}.case-intro-header{background:#2b231d;border-bottom:2px solid #5E4023;padding:10px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.case-intro-badge{background:#e2a44a;color:#1e130a;font-size:.82rem;font-weight:800;padding:4px 10px;border-radius:12px;text-transform:uppercase}.case-intro-title{margin:0;font-size:1.15rem;color:#fffdf9;font-weight:800;flex:1}.case-intro-btn-skip{min-height:44px;min-width:44px;padding:6px 14px;border-radius:8px;border:1px solid #646464;background:#332b25;color:#bebebe;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s,color .15s}.case-intro-btn-skip:hover{background:#473c33;color:#fffdf9}.case-intro-stage{flex:1;position:relative;background:#0d0b09;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer}.case-intro-image{width:100%;height:100%;object-fit:contain;transition:opacity .3s ease}.case-intro-step-indicators{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;background:#0000008c;padding:6px 14px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.case-intro-dot{width:10px;height:10px;border-radius:50%;background:#646464;transition:background .2s,transform .2s}.case-intro-dot.active{background:#ffdc2d;transform:scale(1.3)}.case-intro-dot.passed{background:#8cb973}.case-intro-footer{background:#2b231d;border-top:3px solid #E2A44A;padding:14px 20px;display:flex;align-items:center;gap:16px;min-height:110px}.case-intro-speaker-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:80px}.case-intro-speaker-portrait{width:58px;height:58px;border-radius:50%;border:3px solid #E2A44A;object-fit:cover;background:#fae5c8}.case-intro-speaker-name{font-size:.78rem;font-weight:700;color:#f3c689;text-align:center}.case-intro-text-panel{flex:1;display:flex;flex-direction:column;justify-content:center;cursor:pointer}.case-intro-narration{margin:0 0 4px;font-size:.88rem;color:#f3c689;font-weight:600;font-style:italic}.case-intro-dialogue{margin:0;font-size:1.15rem;color:#fffdf9;font-weight:600;line-height:1.45}.case-intro-btn-next{min-height:48px;min-width:48px;padding:10px 20px;border-radius:10px;border:2px solid #5B8543;background:#8cb973;color:#fff;font-weight:800;font-size:1.05rem;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:transform .15s,background .15s;white-space:nowrap}.case-intro-btn-next:hover{background:#5b8543;transform:translateY(-2px)}@media (max-width: 768px) and (orientation: portrait){.pinboard-screen{max-width:100%;max-height:94dvh;height:94dvh;aspect-ratio:auto;border-radius:8px}.pinboard-header{height:auto;min-height:52px;padding:8px 12px;position:relative;background:#2b1f17}.pinboard-cork-boundary,.pinboard-cork-canvas{position:relative;top:auto;bottom:auto;left:auto;right:auto;flex:1;padding:12px 8px}}@media (max-width: 768px){.pinboard-header-left{gap:8px}.pinboard-title{font-size:1.1rem}.pinboard-cards-grid{grid-template-columns:1fr}.case-intro-footer{flex-direction:column;align-items:stretch;gap:10px}.case-intro-speaker-wrap{flex-direction:row;align-items:center}.case-intro-speaker-portrait{width:44px;height:44px}.case-intro-btn-next{width:100%;justify-content:center}}.graphics-simple .pinboard-screen{box-shadow:4px 4px #00000080!important;transform-origin:center center!important}.graphics-simple .pinboard-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.graphics-simple .pinboard-case-card{box-shadow:3px 3px #00000080!important;transform:none!important}.graphics-simple .pinboard-overlay.pinboard-opening .pinboard-screen{animation:pinboardSimpleSlideIn .3s ease-out forwards!important}.graphics-simple .pinboard-overlay.pinboard-closing .pinboard-screen{animation:pinboardSimpleSlideOut .25s ease-in forwards!important}@keyframes pinboardSimpleSlideIn{0%{transform:translate(-100vw);opacity:0}to{transform:translate(0);opacity:1}}@keyframes pinboardSimpleSlideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100vw);opacity:0}}.editor-card{max-width:1240px;width:96%;height:92vh;max-height:92vh;display:flex;flex-direction:column;background:#fdfaf3;border:4px solid #d35400;border-radius:16px;box-shadow:0 15px 45px #0009;overflow:hidden;position:relative;font-family:inherit}.editor-header{background:linear-gradient(135deg,#2c1b14,#4a2818);color:#fcebb6;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #f39c12;flex-wrap:wrap;gap:10px;z-index:20}.editor-header-title{display:flex;align-items:center;gap:12px}.editor-header-title h3{font-size:1.25rem;color:#fcebb6;margin:0;font-weight:800}.editor-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn-editor-action{background:#3e2723;color:#ffd54f;border:1.5px solid #f39c12;border-radius:8px;padding:6px 12px;font-size:.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s;min-height:38px}.btn-editor-action:hover{background:#5d4037;transform:translateY(-1px)}.btn-editor-action.btn-test{background:linear-gradient(135deg,#27ae60,#1e824c);color:#fff;border-color:#2ecc71}.btn-editor-action.btn-test:hover{background:#2ecc71}.btn-editor-action.btn-test-loc{background:linear-gradient(135deg,#2980b9,#1f618d);color:#fff;border-color:#3498db}.btn-editor-action.btn-test-loc:hover{background:#3498db}.btn-editor-action.btn-back{background:#4e342e;color:#fff;border-color:#8d6e63}.btn-editor-action.btn-back:hover{background:#6d4c41}.editor-header-test-tools{display:flex;align-items:center;gap:6px;padding-right:10px;margin-right:4px;border-right:1.5px solid rgba(243,156,18,.4)}.btn-editor-action.btn-test-tool-game{background:linear-gradient(135deg,#16a085,#27ae60);color:#fff;border-color:#a3e4d7}.btn-editor-action.btn-test-tool-game:hover{background:linear-gradient(135deg,#1abc9c,#2ecc71);transform:translateY(-1px)}.btn-editor-action.btn-test-tool-finale{background:linear-gradient(135deg,#29619f,#1d436d);color:#fff;border-color:#97bce5}.btn-editor-action.btn-test-tool-finale:hover{background:linear-gradient(135deg,#357abd,#23527c);transform:translateY(-1px)}.btn-editor-action.btn-test-tool-map{background:linear-gradient(135deg,#d35400,#b9770e);color:#fff;border-color:#f39c12}.btn-editor-action.btn-test-tool-map:hover{background:linear-gradient(135deg,#e67e22,#d35400);transform:translateY(-1px)}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:.82rem;font-weight:800;color:#5d4037;text-transform:uppercase;letter-spacing:.5px}.form-input,.form-textarea,.form-select{padding:8px 12px;border:1.5px solid #d7ccc8;border-radius:8px;font-size:.92rem;background:#fffdfa;color:#2c2523;font-family:inherit;transition:border-color .2s}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:#e67e22;box-shadow:0 0 0 2px #e67e2233}.hub-view-container{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.hub-hero-banner{background:#fff8ef;border:2px dashed #e67e22;border-radius:12px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.hub-hero-text h4{font-size:1.25rem;color:#d35400;margin:0 0 4px;font-weight:800}.hub-hero-text p{margin:0;color:#6d4c41;font-size:.9rem}.btn-hub-create{background:linear-gradient(135deg,#d35400,#b33939);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:.95rem;font-weight:800;cursor:pointer;display:flex;align-items:center;gap:8px;transition:transform .15s,box-shadow .15s;min-height:44px}.btn-hub-create:hover{transform:translateY(-2px);box-shadow:0 4px 12px #d3540059}.hub-stories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.hub-story-card{background:#fff;border:2px solid #e0d6ce;border-radius:12px;padding:16px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;box-shadow:0 3px 8px #0000000d;transition:all .2s}.hub-story-card:hover{border-color:#d35400;box-shadow:0 6px 16px #00000017;transform:translateY(-2px)}.hub-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.hub-badge{background:#efebe9;color:#5d4037;font-size:.75rem;font-weight:800;padding:2px 8px;border-radius:12px;border:1px solid #d7ccc8}.hub-badge.grade{background:#e8f4fd;color:#1565c0;border-color:#bbdefb}.hub-badge.custom{background:#fbf0dc;color:#824300;border-color:#f3c689}.hub-card-title{font-size:1.15rem;font-weight:800;color:#2c2523;margin:4px 0 0}.hub-card-desc{font-size:.85rem;color:#795548;margin:4px 0 0;line-height:1.35}.hub-card-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #f0e6db;padding-top:10px;flex-wrap:wrap}.hub-card-actions{display:flex;align-items:center;gap:6px}.btn-hub-action{background:#f5ede6;border:1px solid #d7ccc8;border-radius:6px;padding:6px 10px;font-size:.8rem;font-weight:700;cursor:pointer;color:#4e342e;transition:all .15s;min-height:36px;display:flex;align-items:center;gap:4px}.btn-hub-action:hover{background:#e0d2c5}.btn-hub-action.primary{background:#d35400;color:#fff;border-color:#e67e22}.btn-hub-action.primary:hover{background:#e67e22}.editor-view-split{flex:1;display:flex;overflow:hidden}.editor-main-canvas{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:16px;align-items:center}.editor-palette-sidebar{width:290px;min-width:270px;background:#f8f4ee;border-left:2px solid #e0d6ce;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.palette-header h4{font-size:1rem;color:#2c2523;margin:0 0 4px;font-weight:800}.palette-header p{font-size:.8rem;color:#795548;margin:0}.palette-locations-list,.palette-characters-list{display:flex;flex-direction:column;gap:10px}.palette-loc-card,.palette-char-card{background:#fff;border:1.5px solid #dcd1c4;border-radius:8px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:grab;-webkit-user-select:none;user-select:none;box-shadow:0 2px 5px #0000000a;transition:all .15s}.palette-loc-card:hover,.palette-char-card:hover{border-color:#d35400;box-shadow:0 4px 10px #00000014;transform:translate(-2px)}.palette-loc-info h5,.palette-char-info h5{font-size:.9rem;margin:0;font-weight:800;color:#2c2523}.palette-loc-info p,.palette-char-info p{font-size:.78rem;margin:2px 0 0;color:#795548}.btn-palette-add{background:#efebe9;border:1px solid #d7ccc8;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:800;cursor:pointer;color:#4e342e;white-space:nowrap;min-height:32px}.btn-palette-add:hover{background:#d35400;color:#fff;border-color:#d35400}.flow-pipeline-container{width:100%;max-width:860px;display:flex;flex-direction:column;align-items:center;gap:14px}.flow-node-card{width:100%;background:#fff;border:2px solid #e2d7cb;border-radius:12px;padding:16px 20px;box-shadow:0 3px 10px #0000000d;display:flex;flex-direction:column;gap:12px}.flow-node-intro{border-top:5px solid #2980b9}.flow-node-finale{border-top:5px solid #8e44ad}.flow-node-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f1eae2;padding-bottom:8px}.flow-node-header h4{font-size:1.05rem;font-weight:800;color:#2c2523;margin:0;display:flex;align-items:center;gap:8px}.flow-arrow-down{display:flex;flex-direction:column;align-items:center;gap:2px;color:#a1887f;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.flow-arrow-down svg{color:#d35400}.flow-tier-box{width:100%;background:#fff;border:2px solid #d7ccc8;border-left:6px solid #d35400;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 3px 8px #0000000d}.flow-tier-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;border-bottom:1px solid #f0e6db;padding-bottom:8px}.flow-tier-title-wrap{display:flex;align-items:center;gap:8px}.flow-tier-title-wrap h4{margin:0;font-size:1rem;font-weight:800;color:#2c2523}.flow-tier-title-wrap span.tier-hint{font-size:.78rem;color:#795548}.flow-tier-actions{display:flex;align-items:center;gap:6px}.flow-locations-row{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap;min-height:80px;background:#fdfaf7;border:2px dashed #e2d7cb;border-radius:10px;padding:12px;transition:background .2s,border-color .2s}.flow-locations-row.drag-over{background:#fff3e0;border-color:#d35400}.flow-loc-pill{background:#fff;border:1.5px solid #dcd1c4;border-radius:10px;padding:10px 14px;display:flex;flex-direction:column;justify-content:space-between;gap:8px;min-width:190px;box-shadow:0 2px 6px #0000000d;transition:transform .15s,border-color .15s}.flow-loc-pill:hover{border-color:#d35400;transform:translateY(-2px)}.flow-loc-pill.has-warning{border-color:#e67e22;background:#fffdf9}.flow-loc-warn-badge{margin-top:6px;background:#fde8e8;color:#b21616;border:1px solid #f5b7b1;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:800}.flow-loc-pill-header{display:flex;align-items:center;justify-content:space-between;gap:6px}.flow-loc-pill-header h5{margin:0;font-size:.95rem;font-weight:800;color:#2c2523}.btn-remove-pill{background:#fde8e8;color:#b21616;border:1px solid #f8b4b4;border-radius:4px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;font-weight:800}.btn-remove-pill:hover{background:#f8b4b4}.flow-loc-pill-body{font-size:.8rem;color:#6d4c41}.flow-loc-pill-footer{display:flex;align-items:center;justify-content:space-between;gap:6px}.btn-edit-loc-dialog{background:#d35400;color:#fff;border:none;border-radius:6px;padding:6px 10px;font-size:.78rem;font-weight:800;cursor:pointer;width:100%;text-align:center;min-height:36px;transition:background .15s}.btn-edit-loc-dialog:hover{background:#e67e22}.btn-add-tier-row{background:#f5ede6;border:2px dashed #bcaaa4;border-radius:10px;padding:10px 18px;font-size:.88rem;font-weight:800;color:#5d4037;cursor:pointer;display:flex;align-items:center;gap:8px;width:100%;justify-content:center;min-height:44px;transition:all .15s}.btn-add-tier-row:hover{background:#efe0d3;border-color:#8d6e63;color:#2c2523}.editor-dialogue-canvas{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:20px}.dialogue-tree-section{width:100%;max-width:960px}.dialogue-status-banner{border-radius:10px;padding:12px 16px;font-size:.85rem;display:flex;flex-direction:column;gap:6px}.dialogue-status-banner.is-ok{background:#edf7ed;border:1.5px solid #a5d6a7;color:#1b5e20;flex-direction:row;align-items:center;gap:10px;font-weight:700}.dialogue-status-banner.is-warning{background:#fff5f5;border:2px solid #e57373;color:#b21616}.warning-banner-title{display:flex;align-items:center;gap:8px;font-size:.88rem}.warning-banner-list{margin:2px 0 0 24px;padding:0;display:flex;flex-direction:column;gap:3px;font-weight:600;font-size:.82rem}.dialogue-steps-wrapper{position:relative;width:100%;display:flex;flex-direction:column;gap:24px;padding-left:26px;padding-top:8px;padding-bottom:16px}.dialogue-wires-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:100%;height:100%;z-index:15;overflow:visible}.dialogue-step-card{background:#fff;border:2px solid #e0d6ce;border-radius:14px;padding:16px;box-shadow:0 3px 10px #0000000d;position:relative;z-index:5;transition:border-color .2s,box-shadow .2s}.dialogue-step-card.has-open-popup{z-index:40;border-color:#d35400}.dialogue-step-card.step-card-unconnected{border-color:#e57373;background:#fffdfd}.dialogue-step-card:hover{border-color:#d35400}.step-card-layout{display:flex;align-items:flex-start;gap:18px}.step-speaker-col{width:118px;min-width:118px;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;-webkit-user-select:none;user-select:none}.step-start-pill{background:#efebe9;color:#5d4037;border:1.5px solid #d7ccc8;border-radius:12px;padding:2px 10px;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.5px}.step-top-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;z-index:20;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s}.step-top-dot .step-dot-core{width:10px;height:10px;border-radius:50%;background:currentColor}.step-top-dot.is-connected{background:#e8f8f0;border:2.5px solid #27ae60;color:#27ae60;box-shadow:0 2px 6px #27ae6040}.step-top-dot.is-unconnected{background:#fff0f0;border:2.5px dashed #d32f2f;color:#d32f2f;box-shadow:0 0 0 3px #d32f2f24}.step-top-dot.is-drop-candidate{transform:scale(1.22);border-style:solid;border-color:#2980b9;background:#e3f2fd;color:#2980b9;box-shadow:0 0 0 5px #2980b940}.step-top-dot.is-drop-hover{transform:scale(1.42);background:#27ae60;border-color:#1e8449;color:#fff;box-shadow:0 0 0 7px #27ae6059}.step-speaker-portrait-btn{width:100%;background:#fbf7f2;border:2px solid #dcd1c4;border-radius:12px;padding:8px 6px;display:flex;flex-direction:column;align-items:center;gap:4px;cursor:pointer;transition:all .15s;font-family:inherit}.step-speaker-portrait-btn:hover,.step-speaker-portrait-btn.active{border-color:#d35400;background:#fff6ec;transform:translateY(-1px);box-shadow:0 4px 10px #d3540026}.step-portrait-img-wrap{position:relative;width:72px;height:72px;border-radius:50%;overflow:hidden;border:2.5px solid #8d6e63;background:#efe6dd}.step-portrait-img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}.step-portrait-edit-tag{position:absolute;bottom:0;left:0;right:0;background:#2c1b14c7;color:#ffd54f;font-size:.62rem;font-weight:800;text-align:center;padding:2px 0;text-transform:uppercase}.step-portrait-name{font-size:.78rem;font-weight:800;color:#2c2523;text-align:center;line-height:1.15}.step-portrait-meta{font-size:.68rem;font-weight:700;color:#795548;text-align:center}.step-bottom-dots-row{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:2px;min-height:28px;position:relative;z-index:20}.step-bottom-dot{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.74rem;font-weight:800;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;transition:transform .15s,box-shadow .15s}.step-bottom-dot:hover,.step-bottom-dot.is-dragging{transform:scale(1.22);cursor:grabbing}.step-bottom-dot.is-connected{background:var(--dot-color, #e67e22);color:#fff;border:2.5px solid #ffffff;box-shadow:0 0 0 2px var(--dot-color, #e67e22),0 3px 6px #0003}.step-bottom-dot.is-unconnected{background:#fff0f0;color:#d32f2f;border:2.5px dashed #d32f2f;box-shadow:0 0 0 3px #d32f2f26}.step-bottom-dot.is-action{background:#eceff1;color:#455a64;border:2px solid #90a4ae}.step-speaker-popup{position:absolute;top:calc(100% + 8px);left:0;width:340px;background:#fff;border:2.5px solid #d35400;border-radius:14px;box-shadow:0 14px 34px #00000040;z-index:60;overflow:hidden}.speaker-popup-header{background:#2c1b14;color:#fcebb6;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;font-size:.82rem}.btn-close-speaker-popup{background:transparent;border:none;color:#fcebb6;font-size:1.2rem;font-weight:800;cursor:pointer;line-height:1;padding:0 4px}.speaker-popup-body{padding:12px;display:flex;flex-direction:column;gap:10px}.speaker-popup-char-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;max-height:185px;overflow-y:auto;padding-right:2px}.speaker-char-option{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:8px;border:1.5px solid #e0d6ce;background:#fdfaf6;cursor:pointer;font-family:inherit;font-size:.76rem;font-weight:700;color:#2c2523;text-align:left;transition:all .12s}.speaker-char-option img{width:26px;height:26px;border-radius:50%;object-fit:cover;flex-shrink:0}.speaker-char-option:hover{border-color:#e67e22;background:#fff6ec}.speaker-char-option.selected{border-color:#d35400;background:#fdebd0;color:#824300}.speaker-popup-pills{display:flex;flex-wrap:wrap;gap:6px}.speaker-pill-btn{padding:5px 10px;border-radius:8px;border:1.5px solid #d7ccc8;background:#fdfaf6;font-family:inherit;font-size:.75rem;font-weight:700;color:#4e342e;cursor:pointer;transition:all .12s}.speaker-pill-btn:hover{border-color:#e67e22}.speaker-pill-btn.selected{background:#d35400;border-color:#d35400;color:#fff}.step-content-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.step-card-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #f0e6db;padding-bottom:6px;flex-wrap:wrap;gap:8px}.step-card-badge{font-size:.85rem;font-weight:800;color:#5d4037;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.step-number-tag{background:#4e342e;color:#fff;border-radius:8px;padding:2px 8px;font-size:.74rem;font-weight:800}.step-speaker-summary{color:#2c2523;font-weight:800}.step-conn-status{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:10px}.step-conn-status.connected{background:#e8f8f0;color:#1e8449;border:1px solid #a9dfbf}.step-conn-status.unconnected{background:#fde8e8;color:#b21616;border:1px solid #f5b7b1}.step-choices-container{background:#fbf7f2;border:1.5px dashed #d7ccc8;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.step-choices-header{display:flex;align-items:center;justify-content:space-between;font-size:.78rem;font-weight:800;color:#5d4037;text-transform:uppercase}.btn-add-dchoice{background:#e8f4fd;color:#1565c0;border:1px solid #90caf9;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:800;cursor:pointer}.btn-add-dchoice:hover{background:#bbdefb}.step-no-choices-info{font-size:.78rem;color:#6d4c41;background:#f5efe8;border-radius:6px;padding:6px 10px}.step-choices-list{display:flex;flex-direction:column;gap:6px}.step-choice-row{display:grid;grid-template-columns:24px 1.6fr 1.3fr auto auto;gap:8px;align-items:center;background:#fff;padding:7px 10px;border:1.5px solid #e0d6ce;border-radius:8px;position:relative}.step-choice-row.step-choice-row-streamlined{grid-template-columns:24px 1fr auto auto}.step-choice-row.choice-row-unconnected{border-color:#e57373;background:#fff8f8}.choice-num-badge{width:22px;height:22px;border-radius:50%;color:#fff;font-size:.74rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.choice-connection-pill-wrap{display:flex;align-items:center}.choice-conn-pill{display:inline-flex;align-items:center;gap:5px;font-size:.74rem;font-weight:800;padding:3px 8px;border-radius:12px;white-space:nowrap}.choice-conn-pill.connected{background:#fdfaf5;border:1.5px solid currentColor}.choice-conn-pill.unconnected{background:#fde8e8;color:#b21616;border:1px dashed #e57373}.choice-conn-pill.action-pill{background:#eceff1;color:#455a64;border:1px solid #cfd8dc}.btn-disconnect-choice{background:transparent;border:none;color:inherit;font-weight:800;font-size:.85rem;cursor:pointer;padding:0 2px;line-height:1}@media (max-width: 720px){.step-card-layout{flex-direction:column}.step-speaker-col{width:100%}.step-choice-row{grid-template-columns:1fr}.step-speaker-popup{width:280px}}.loc-config-section{background:#fff;border:2px solid #e2d7cb;border-radius:10px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 2px 6px #0000000a}.loc-config-header{font-size:.95rem;font-weight:800;color:#d35400;border-bottom:1px solid #f1eae2;padding-bottom:6px;margin:0}.loc-bottom-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media (max-width: 720px){.loc-bottom-meta-grid{grid-template-columns:1fr}}.btn-add-game-node{background:#29619f;color:#fff;border:none;border-radius:6px;padding:6px 14px;font-weight:800;font-size:.85rem;cursor:pointer;transition:background .15s}.btn-add-game-node:hover{background:#1f4b7c}.step-card-minigame{background:linear-gradient(135deg,#f3f8fe,#fff);border-color:#93b9e6}.step-speaker-portrait-btn.is-minigame-portrait{background:#f0f6fc;border-color:#659bd8}.step-speaker-portrait-btn.is-minigame-portrait:hover{border-color:#29619f;box-shadow:0 6px 14px #29619f29}.step-speaker-img-wrap.is-game-icon-wrap{background:linear-gradient(145deg,#cfe0f3,#93b9e6);border-color:#659bd8;color:#29619f}.step-bottom-dot.is-game-out{background:#29619f}.step-number-tag.is-game-tag{background:#cfe0f3;color:#29619f}.step-conn-status.game-out-hint{background:#eef5fc;color:#29619f;border:1px dashed #93b9e6}.btn-disconnect-minigame-out{background:transparent;border:none;color:#29619f;font-weight:800;font-size:.85rem;cursor:pointer;padding:0 2px;margin-left:4px;line-height:1}.game-node-config-box{background:#f9fbfe;border:1.5px solid #d5e4f5;border-radius:8px;padding:12px}.game-node-config-box.is-stavespil{background:#f3f8fc;border-color:#b5d2ed}.game-node-config-box.is-rimspil{background:#faf3fc;border-color:#d7bde2}.flow-collectibles-overview{border-left:5px solid #2980b9;background:linear-gradient(180deg,#f8fbfe,#fff)}.collectibles-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:8px}.collectibles-panel{background:#fff;border:1.5px solid #dde6f0;border-radius:10px;padding:12px 14px;box-shadow:0 2px 6px #00000008}.collectibles-panel.is-active-finale{border-color:#27ae60;background:#f6fcf8}.collectibles-panel-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.collectibles-panel-title{font-weight:800;font-size:.92rem;color:#1f3347}.collectibles-panel-badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px;background:#eaf1f8;color:#4a6580}.collectibles-panel-badge.is-ok{background:#d5f5e3;color:#1e8449}.collectibles-panel-sub{font-size:.8rem;color:#5c7085;margin-bottom:10px}.passcode-slots-row{display:flex;flex-wrap:wrap;gap:8px}.passcode-letter-slot{min-width:68px;flex:1 1 68px;background:#f8fafd;border:2px dashed #b8c9db;border-radius:8px;padding:6px 8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px}.passcode-letter-slot.is-assigned{background:#eafaf1;border:2px solid #27ae60}.passcode-letter-slot.is-missing{background:#fff8f0;border-color:#e67e22}.slot-pos{font-size:.68rem;font-weight:700;color:#6b7d90}.slot-char{font-size:1.25rem;font-weight:900;color:#1b2a38;line-height:1.1}.slot-source{font-size:.7rem;font-weight:700;color:#1e8449;border:none;background:#27ae6024;border-radius:4px;padding:2px 5px;cursor:pointer}.slot-source.is-warn{background:#e67e2226;color:#b95808;cursor:default}.puzzle-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.puzzle-slot-card{border:1.5px dashed #c5b6da;background:#faf7fd;border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px}.puzzle-slot-card.is-assigned{border-style:solid;border-color:#8e44ad;background:#f4ecf7}.puzzle-slot-num{font-size:.78rem;font-weight:800;color:#5b2c6f}.puzzle-slot-loc,.btn-assign-puzzle-slot{font-size:.74rem;font-weight:700;padding:4px 6px;border-radius:5px;border:none;cursor:pointer;text-align:left}.puzzle-slot-loc{background:#8e44ad;color:#fff}.btn-assign-puzzle-slot{background:#e8daef;color:#5b2c6f}.btn-assign-puzzle-slot:hover{background:#d2b4de}.other-rewards-chip-list{display:flex;flex-wrap:wrap;gap:6px}.reward-overview-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:7px;border:1px solid #d5e0ec;background:#f7fafc;cursor:pointer;font-size:.76rem;transition:transform .12s,border-color .12s}.reward-overview-chip:hover{transform:translateY(-1px);border-color:#2980b9}.reward-chip-badge{font-weight:800;color:#1f3a52}.reward-chip-loc{color:#63778c;font-weight:600}.flow-loc-reward-tag{margin-top:6px;padding:4px 8px;border-radius:6px;font-size:.75rem;font-weight:700;background:#eef4fa;color:#2c4a67;border-left:3px solid #3498db}.flow-loc-reward-tag.reward-type-code_fragment{background:#eafaf1;color:#196f3d;border-left-color:#27ae60}.flow-loc-reward-tag.reward-type-puzzle_piece{background:#f5eef8;color:#6c3483;border-left-color:#8e44ad}.intro-scenes-editor-box{margin-top:12px;background:#f7f9fc;border:1.5px solid #d6e2ef;border-radius:10px;padding:12px}.intro-scenes-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px}.intro-scenes-list{display:flex;flex-direction:column;gap:10px}.intro-scene-card{background:#fff;border:1.5px solid #dce5f0;border-radius:8px;padding:10px 12px}.intro-scene-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.intro-scene-badge{font-size:.78rem;font-weight:800;color:#fff;background:#2c3e50;padding:2px 9px;border-radius:999px}.intro-scene-actions{display:flex;gap:4px}.intro-scene-grid{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:start}.intro-scene-thumb{width:140px;height:92px;border-radius:6px;background-size:cover;background-position:center;background-color:#1f2d3a;border:1px solid #cbd6e2;display:flex;align-items:center;justify-content:center;font-size:.72rem;color:#95a5a6}.step-drag-handle{cursor:grab;color:#7f8c8d;font-weight:900;font-size:1rem;padding:2px 6px;border-radius:4px;-webkit-user-select:none;user-select:none;background:#0000000a}.step-drag-handle:hover{background:#0000001a;color:#2c3e50}.step-drag-handle:active{cursor:grabbing}.dialogue-step-card.is-card-dragging{opacity:.48;transform:scale(.99)}.dialogue-step-card.drag-over-top{box-shadow:0 -4px #2980b9,0 4px 14px #00000014!important}.dialogue-step-card.drag-over-bottom{box-shadow:0 4px #2980b9,0 4px 14px #00000014!important}.btn-preview-from-step{background:#eaf4fc;color:#1f6391;border:1px solid #b6d6f2;border-radius:5px;padding:2px 8px;font-size:.74rem;font-weight:700;cursor:pointer}.btn-preview-from-step:hover{background:#d4e9fa}.quick-connect-popup{position:absolute;top:calc(100% + 8px);left:0;width:280px;background:#fff;border:2px solid #2c3e50;border-radius:10px;box-shadow:0 12px 28px #00000038;padding:10px;z-index:95;text-align:left}.qc-popup-head{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;font-weight:800;color:#1f3347;margin-bottom:8px;padding-bottom:5px;border-bottom:1px solid #e6edf5}.btn-close-qc-popup{border:none;background:#eef2f7;color:#34495e;border-radius:4px;padding:2px 7px;cursor:pointer;font-weight:800}.qc-popup-create-row{display:flex;flex-direction:column;gap:6px}.btn-qc-create{padding:7px 10px;border-radius:7px;border:1.5px solid #2980b9;background:#ebf5fb;color:#1b4f72;font-weight:800;font-size:.78rem;cursor:pointer;text-align:left;transition:background .12s}.btn-qc-create:hover{background:#d6eaf8}.btn-qc-create.is-game{border-color:#27ae60;background:#eafaf1;color:#196f3d}.btn-qc-create.is-game:hover{background:#d5f5e3}.qc-popup-Sub{font-size:.72rem;font-weight:700;color:#6b7d90;margin:8px 0 4px}.qc-popup-targets{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.btn-qc-target{padding:5px 8px;border-radius:6px;border:1px solid #dde5ee;background:#f8fafc;color:#2c3e50;font-size:.75rem;font-weight:600;cursor:pointer;text-align:left}.btn-qc-target:hover,.btn-qc-target.is-active{background:#e8f4fd;border-color:#3498db;font-weight:800}.btn-qc-disconnect{margin-top:8px;width:100%;padding:5px 8px;border-radius:6px;border:1px solid #f5b7b1;background:#fdedec;color:#922b21;font-size:.74rem;font-weight:700;cursor:pointer}.choice-wire-target-pill.is-clickable{cursor:pointer}.mg-builder-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:6px}.mg-builder-title{font-weight:800;font-size:.9rem;color:#1b365d}.mg-builder-help{font-size:.78rem;color:#546a7b;margin:0 0 10px}.mg-rounds-list{display:flex;flex-direction:column;gap:8px}.mg-round-card{background:#fff;border:1.5px solid #cfe0f0;border-radius:8px;padding:9px 11px;box-shadow:0 1px 4px #00000008}.mg-round-card-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px}.mg-round-badge{font-size:.74rem;font-weight:800;color:#1f4e78;background:#e6f0fa;padding:2px 8px;border-radius:999px}.mg-round-preview{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}.mg-preview-tile{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 5px;border-radius:4px;background:#eef4fa;border:1px solid #c3d5e8;font-size:.75rem;font-weight:800;color:#1e3750}.mg-preview-tile.is-missing{background:#fff3cd;border-color:#f39c12;color:#b76b00}.mg-preview-tile.is-highlight{background:#d5f5e3;border-color:#27ae60;color:#196f3d}.mg-preview-pill{display:inline-block;padding:2px 7px;border-radius:999px;background:#ebf3fa;border:1px solid #c5d9ed;font-size:.73rem;font-weight:700;color:#24476b}.mg-preview-pill.is-good{background:#d5f5e3;border-color:#27ae60;color:#196f3d}.mg-preview-syllable{display:inline-block;padding:2px 7px;border-radius:5px;background:#e8f6f3;border:1px solid #76d7c4;font-size:.74rem;font-weight:800;color:#117864}.notebook-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14100cc7;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:900;padding:16px;user-select:none;-webkit-user-select:none}.notebook-binder{background-color:#ede2cf;background-image:url(/assets/notebook/case_folder_bg.jpg),linear-gradient(135deg,#f7efe2,#ebe0cd,#dfcfb7);background-size:cover;background-position:center;border:4px solid #4a3424;border-radius:18px;width:95vw;max-width:980px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 25px 60px #0009,inset 0 0 0 2px #d4af37;position:relative;overflow:hidden;animation:notebookOpen .28s cubic-bezier(.2,.9,.3,1)}@keyframes notebookOpen{0%{opacity:0;transform:scale(.94) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.notebook-header{background:linear-gradient(135deg,#4a3424,#2f2117);color:#fff8e1;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #d4af37;flex-shrink:0}.notebook-title-group{display:flex;align-items:center;gap:12px}.notebook-badge-case{background:#d4af37;color:#2f2117;font-weight:900;font-size:.78rem;letter-spacing:1px;text-transform:uppercase;padding:4px 10px;border-radius:6px;box-shadow:0 2px 4px #0003}.notebook-case-title{margin:0;font-size:1.25rem;font-weight:800;color:#fff9e6;text-shadow:0 1px 2px rgba(0,0,0,.5)}.notebook-case-grade{font-size:.8rem;color:#f3c689;margin-top:1px}.notebook-header-stats{display:flex;align-items:center;gap:12px}.notebook-score-pill{display:flex;align-items:center;gap:6px;background:#00000059;border:1px solid rgba(243,198,137,.6);padding:4px 12px;border-radius:20px;font-size:.88rem;font-weight:800;color:#f3c689}.notebook-score-label{color:#fae5c8;font-weight:700}.notebook-score-value{color:#fff5c3;font-weight:800}.notebook-stars-pill{display:flex;align-items:center;gap:6px;background:#00000059;border:1px solid #d4af37;padding:4px 12px;border-radius:20px;font-size:.88rem;font-weight:800;color:#ffd54f}.notebook-star-svg{color:#ffca28;filter:drop-shadow(0 0 4px rgba(255,202,40,.6))}.notebook-btn-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#f3c689;cursor:pointer;border-radius:8px;transition:all .15s ease}.notebook-btn-close:hover{background:#ffffff26;color:#fff}.notebook-tabs-bar{display:flex;background:#ecdcc1;border-bottom:2px solid #bfa07d;padding:8px 16px 0;gap:6px;overflow-x:auto;flex-shrink:0}.notebook-tab-btn{min-height:44px;padding:8px 18px;border-radius:10px 10px 0 0;border:2px solid #bfa07d;border-bottom:none;background:#dec7a4;color:#4a3424;font-weight:700;font-size:.92rem;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background .15s,color .15s,transform .15s}.notebook-tab-btn:hover{background:#f4e8d3}.notebook-tab-btn.active{background:#fbf7ee;color:#2f2117;border-color:#4a3424;position:relative;z-index:2;margin-bottom:-2px;padding-bottom:10px;box-shadow:0 -3px 8px #00000014}.notebook-tab-count{background:#4a3424;color:#fff;font-size:.72rem;padding:2px 7px;border-radius:12px;font-weight:800}.notebook-tab-btn.active .notebook-tab-count{background:#27ae60;color:#fff}.notebook-content{flex:1;overflow-y:auto;padding:20px 22px 44px;background:#fbf7ee;background-image:linear-gradient(#f1e6d0 1px,transparent 1px);background-size:100% 28px;background-position:0 10px;animation:notebookPageTurn .24s cubic-bezier(.2,.9,.3,1)}@keyframes notebookPageTurn{0%{opacity:.65;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.witness-timeline{display:flex;flex-direction:column;gap:16px;max-width:820px;margin:0 auto}.witness-entry-card{display:flex;gap:16px;background:#fff;border:2px solid #cfbea5;border-radius:14px;padding:14px 18px;box-shadow:0 4px 12px #0000000f;position:relative;transition:transform .15s ease,box-shadow .15s ease}.witness-entry-card:hover{box-shadow:0 6px 16px #0000001a}.witness-entry-card.uninterviewed{background:#f5eedf;border-style:dashed;opacity:.72}.witness-avatar-box{width:64px;height:64px;border-radius:12px;border:2px solid #bfa07d;background:#ecdcc1;overflow:hidden;flex-shrink:0;display:flex;align-items:center;justify-content:center}.witness-avatar-img{width:100%;height:100%;object-fit:cover}.witness-details{flex:1;display:flex;flex-direction:column;justify-content:center}.witness-meta-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.witness-name{font-weight:800;font-size:1.05rem;color:#2f2117;margin:0}.witness-location-badge{background:#ecdcc1;color:#4a3424;font-size:.76rem;font-weight:700;padding:2px 8px;border-radius:6px}.witness-status-tag{font-size:.72rem;font-weight:800;padding:2px 8px;border-radius:6px;margin-left:auto}.witness-status-tag.interviewed{background:#e2eddc;color:#2e7d32;border:1px solid #b8d4a8}.witness-status-tag.pending{background:#fff8e1;color:#c49a45;border:1px solid #f3c689}.witness-quote-bubble{background:#fff9e6;border-left:4px solid #c49a45;padding:8px 12px;border-radius:0 8px 8px 0;font-style:italic;font-size:.95rem;color:#4a3424;line-height:1.45;margin-top:4px}.witness-pending-text{font-size:.88rem;color:#795548;margin:4px 0 0}.evidence-shelf-header{max-width:860px;margin:0 auto 14px;font-size:.95rem;font-weight:700;color:#4a3424}.clues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:18px;max-width:860px;margin:0 auto}.evidence-bag-card{position:relative;background:linear-gradient(135deg,#ffffffb8,#f6f0e67a);border:2px solid rgba(255,255,255,.85);border-radius:12px;padding:12px 14px 14px;box-shadow:0 8px 22px #00000024,inset 0 0 10px #fff6;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;flex-direction:column;transition:transform .16s ease,box-shadow .16s ease;cursor:pointer;min-height:250px}.evidence-bag-card:hover{transform:translateY(-3px);box-shadow:0 14px 28px #00000038;border-color:#d4af37}.evidence-bag-card.is-locked{cursor:default;opacity:.72;background:#dcd2c359;border:2px dashed #bfa07d}.evidence-bag-card.is-locked:hover{transform:none;box-shadow:0 4px 10px #00000014}.evidence-bag-seal{height:14px;margin:-12px -14px 10px;background:repeating-linear-gradient(90deg,#c0392b 0,#c0392b 8px,#fff 8px,#fff 12px);border-radius:10px 10px 0 0;display:flex;align-items:center;justify-content:center}.evidence-bag-hole{width:8px;height:8px;background:#4a3424;border-radius:50%;box-shadow:inset 0 1px 2px #0009}.evidence-tag{background:#fdf5d0;border:1.5px solid #d4af37;border-radius:6px;padding:8px 10px;box-shadow:0 2px 4px #00000014;margin-bottom:10px}.evidence-tag-top{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:4px}.evidence-tag-badge{font-size:.68rem;font-weight:900;letter-spacing:.8px;color:#2f2117;background:#ecdcc1;padding:1px 6px;border-radius:3px}.evidence-tag-status{font-size:.65rem;font-weight:800;letter-spacing:.5px;padding:1px 6px;border-radius:3px}.evidence-tag-status.collected{background:#27ae60;color:#fff}.evidence-tag-status.locked{background:#795548;color:#fff}.evidence-tag-title{margin:0;font-size:.96rem;font-weight:800;color:#2f2117;line-height:1.25}.evidence-tag-location{font-size:.72rem;color:#795548;font-weight:600;margin-top:2px}.evidence-bag-window{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff73;border:1px solid rgba(255,255,255,.65);border-radius:8px;padding:12px}.evidence-visual-stage{width:68px;height:68px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.evidence-clue-img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 3px 5px rgba(0,0,0,.25))}.evidence-clue-svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.15))}.evidence-locked-silhouette{font-size:2.2rem;font-weight:900;color:#a1887f;margin-bottom:6px}.evidence-locked-hint{font-size:.75rem;color:#5d4037;text-align:center;line-height:1.35;margin:0}.evidence-bag-snippet{font-size:.8rem;color:#4a3424;line-height:1.35;text-align:center;margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.evidence-inspect-prompt{font-size:.72rem;font-weight:800;color:#27ae60;text-align:center}.clue-pocket-card{background:#fff;border:2px solid #cfbea5;border-radius:14px;padding:16px;box-shadow:0 4px 10px #0000000f;cursor:pointer;display:flex;flex-direction:column;justify-content:space-between;transition:transform .15s ease,box-shadow .15s ease;min-height:140px}.clue-pocket-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px #0000001f;border-color:#8d6e63}.clue-pocket-card.locked{background:#f7f1e4;border-style:dashed;opacity:.65;cursor:default}.clue-pocket-card.locked:hover{transform:none;box-shadow:0 4px 10px #0000000f}.clue-pocket-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:8px}.clue-pocket-icon{width:44px;height:44px;border-radius:10px;background:#fae5c8;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;color:#4a3424;flex-shrink:0}.clue-pocket-title{margin:0;font-weight:800;font-size:.98rem;color:#2f2117;line-height:1.3}.clue-pocket-type-badge{display:inline-block;font-size:.7rem;font-weight:700;padding:2px 6px;border-radius:4px;margin-top:3px;background:#e2eddc;color:#2e7d32}.clue-pocket-snippet{font-size:.88rem;color:#5d4037;line-height:1.4;margin:6px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.collectibles-desk-wrap{max-width:840px;margin:0 auto;display:flex;flex-direction:column;gap:12px}.collectibles-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.collectibles-mode-switch{display:inline-flex;background:#e6d3b3;border:2px solid #bfa07d;border-radius:12px;padding:3px;gap:4px}.collectibles-mode-btn{min-height:44px;padding:6px 16px;border-radius:9px;border:none;background:transparent;color:#4a3424;font-weight:800;font-size:.88rem;cursor:pointer;transition:background .15s ease,color .15s ease}.collectibles-mode-btn.active{background:#4a3424;color:#fff9e6;box-shadow:0 2px 6px #0003}.collectibles-actions{display:flex;align-items:center;gap:8px}.collectibles-action-btn{min-height:44px;padding:6px 14px;border-radius:10px;border:2px solid #bfa07d;background:#fff9e6;color:#4a3424;font-weight:800;font-size:.85rem;cursor:pointer;transition:background .15s ease,transform .15s ease}.collectibles-action-btn:hover{background:#f3e4c6}.collectibles-action-btn.active{background:#29619f;border-color:#1d436d;color:#fff}.interactive-desk-surface{position:relative;width:100%;min-height:390px;background:radial-gradient(circle at 50% 45%,#7a583b,#563c27);border:4px solid #3d2a1b;border-radius:16px;box-shadow:inset 0 6px 18px #00000073,0 6px 16px #0000001f;overflow:hidden;touch-action:none}.desk-slots-label{position:absolute;top:12px;left:50%;transform:translate(-50%);font-size:.8rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:#f3dec0;background:#22160e8c;padding:3px 12px;border-radius:12px;pointer-events:none}.letter-drop-slot{position:absolute;width:74px;height:86px;border:2px dashed rgba(243,222,192,.48);background:#fff8e714;border-radius:8px;display:flex;align-items:center;justify-content:center;pointer-events:none}.letter-drop-slot-num{font-size:1.25rem;font-weight:900;color:#f3dec059}.letter-paper-slip{position:absolute;width:74px;height:86px;background:#fffdf6;border:1px solid #d9cbb3;box-shadow:0 5px 12px #00000052;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;padding:10px 6px 6px;clip-path:polygon(0% 3%,8% 0%,22% 3%,38% 0%,54% 2%,71% 0%,87% 3%,100% 1%,98% 24%,100% 48%,97% 74%,100% 97%,86% 100%,69% 97%,51% 100%,34% 98%,16% 100%,0% 97%,2% 70%,0% 42%,2% 18%);transition:box-shadow .15s ease}.letter-paper-slip.slip-variant-1{background:#fef6e4}.letter-paper-slip.slip-variant-2{background:#f9eed8}.letter-paper-slip.slip-variant-3{background:#fdf9ef}.letter-paper-slip:hover{box-shadow:0 8px 18px #0000006b}.letter-paper-slip.is-dragging{cursor:grabbing;box-shadow:0 16px 28px #00000085;transform:scale(1.07) rotate(0)!important}.paper-slip-tape{position:absolute;top:2px;left:50%;transform:translate(-50%) rotate(-2deg);width:32px;height:10px;background:#eed69eb8;border:1px solid rgba(190,162,104,.45);pointer-events:none}.paper-slip-char{font-size:2.05rem;font-weight:900;color:#2f2117;line-height:1.05;margin-top:2px;font-family:Fredoka,Noto Sans,sans-serif;pointer-events:none}.paper-slip-source{font-size:.62rem;font-weight:700;color:#6d4c41;text-align:center;max-width:64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:4px;pointer-events:none}.photo-target-mat{position:absolute;background:#1c130c7a;border:2px dashed rgba(243,222,192,.5);border-radius:6px;box-shadow:inset 0 2px 10px #0006;pointer-events:none;transition:border-color .25s ease,box-shadow .25s ease}.photo-target-mat.complete{border-style:solid;border-color:#ffd54f;box-shadow:0 0 20px #ffd54f73}.photo-mat-grid{width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.photo-mat-quadrant{display:flex;align-items:center;justify-content:center;border:1px dashed rgba(243,222,192,.2)}.photo-mat-quadrant span{font-size:1.5rem;font-weight:900;color:#f3dec040}.photo-corner-guide{position:absolute;width:18px;height:18px;border-color:#d4af37;border-style:solid;opacity:.7}.photo-corner-guide.tl{top:-4px;left:-4px;border-width:3px 0 0 3px}.photo-corner-guide.tr{top:-4px;right:-4px;border-width:3px 3px 0 0}.photo-corner-guide.bl{bottom:-4px;left:-4px;border-width:0 0 3px 3px}.photo-corner-guide.br{bottom:-4px;right:-4px;border-width:0 3px 3px 0}.torn-photo-piece{position:absolute;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45));transition:filter .15s ease;pointer-events:none}.torn-photo-piece .torn-piece-hit-area,.torn-photo-piece .torn-piece-content{pointer-events:all;cursor:grab}.torn-photo-piece.is-snapped{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28))}.torn-photo-piece.is-dragging{cursor:grabbing;filter:drop-shadow(0 16px 24px rgba(0,0,0,.6));transform:scale(1.04) rotate(0)!important}.torn-photo-piece.is-dragging .torn-piece-hit-area,.torn-photo-piece.is-dragging .torn-piece-content{cursor:grabbing}.torn-photo-svg{display:block;overflow:visible}.desk-empty-banner{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#fbf7eef0;border:2px solid #bfa07d;color:#4a3424;font-size:.88rem;font-weight:700;padding:8px 16px;border-radius:10px;box-shadow:0 4px 12px #00000040;text-align:center}.characters-tab-wrap{max-width:900px;margin:0 auto;padding:6px 4px 70px}.characters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:24px 18px}.polaroid-card{perspective:1000px;position:relative;min-height:330px;cursor:pointer;user-select:none;-webkit-user-select:none}.polaroid-card:nth-child(4n+1) .polaroid-inner{transform:rotate(-1.5deg)}.polaroid-card:nth-child(4n+2) .polaroid-inner{transform:rotate(1.2deg)}.polaroid-card:nth-child(4n+3) .polaroid-inner{transform:rotate(-.8deg)}.polaroid-card:nth-child(4n+4) .polaroid-inner{transform:rotate(1.6deg)}.polaroid-card:hover .polaroid-inner{transform:rotate(0) scale(1.02);z-index:25}.polaroid-card.is-flipped .polaroid-inner{transform:rotateY(180deg);z-index:30}.polaroid-card.is-flipped:hover .polaroid-inner{transform:rotateY(180deg) scale(1.02)}.polaroid-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.2,.9,.3,1)}.polaroid-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:4px;display:flex;flex-direction:column;box-shadow:0 8px 22px #0003,0 2px 6px #0000001f}.polaroid-front{background:#fbf8f2;padding:10px 10px 12px;border:1px solid #dfd6c8;transform:rotateY(0);backface-visibility:hidden;-webkit-backface-visibility:hidden;z-index:2;visibility:visible;transition:visibility 0s ease .18s}.polaroid-card.is-flipped .polaroid-front{visibility:hidden;pointer-events:none;z-index:1}.polaroid-paperclip{position:absolute;top:-14px;right:18px;z-index:20;filter:drop-shadow(1px 2px 3px rgba(0,0,0,.35));pointer-events:none}.polaroid-photo-frame{width:100%;aspect-ratio:1;background:#2b221a;border:1px solid #d5c8b5;overflow:hidden;border-radius:2px;position:relative}.polaroid-bg-blur{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;filter:blur(2.5px) brightness(.82) saturate(.85);transform:scale(1.08);opacity:.94;z-index:1;pointer-events:none}.polaroid-img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:2;filter:drop-shadow(0 4px 6px rgba(0,0,0,.45))}.polaroid-caption{margin-top:10px;flex:1;display:flex;flex-direction:column;justify-content:space-between}.polaroid-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.polaroid-name{margin:0;font-size:1.02rem;font-weight:800;color:#2f2117;line-height:1.2}.polaroid-role{font-size:.78rem;color:#795548;font-weight:600;margin-top:2px}.polaroid-flip-btn{min-width:44px;min-height:36px;padding:4px 10px;font-size:.78rem;font-weight:800;color:#4a3424;background:#eedbc2;border:1.5px solid #bfa07d;border-radius:6px;cursor:pointer;display:flex;align-items:center;gap:5px;transition:all .15s ease;flex-shrink:0}.polaroid-flip-btn:hover{background:#dfcbaf;color:#23160c;transform:translateY(-1px)}.polaroid-flip-btn.return-btn{background:#ecdcc1}.polaroid-rubber-stamp{position:absolute;z-index:15;pointer-events:none;font-weight:900;text-transform:uppercase;letter-spacing:1.5px;-webkit-user-select:none;user-select:none}.polaroid-rubber-stamp.stamp-suspect{top:24px;left:12px;transform:rotate(-14deg);color:#b71c1c}.polaroid-rubber-stamp.stamp-suspect .stamp-border{border:3.5px solid #b71c1c;padding:3px 8px;border-radius:4px;display:inline-block;font-size:.84rem;background:#ffffff59;box-shadow:0 0 0 1px #b71c1c4d;text-shadow:0 0 1px rgba(183,28,28,.5)}.polaroid-rubber-stamp.stamp-cleared{top:26px;right:14px;transform:rotate(10deg);color:#1b5e20}.polaroid-rubber-stamp.stamp-cleared .stamp-border{border:3.5px solid #1b5e20;padding:3px 8px;border-radius:4px;display:inline-block;font-size:.84rem;background:#ffffff59;box-shadow:0 0 0 1px #1b5e204d}.polaroid-rubber-stamp.stamp-accused{top:32px;left:20px;transform:rotate(-8deg);color:#880e4f}.polaroid-rubber-stamp.stamp-accused .stamp-border{border:3.5px solid #880e4f;padding:3px 8px;border-radius:4px;font-size:.84rem;background:#ffffff59}.polaroid-rubber-stamp.stamp-interviewed{bottom:84px;right:14px;transform:rotate(8deg);color:#1565c0;border:2px solid #1565c0;border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:.55rem;letter-spacing:.5px;background:#ffffff59;box-shadow:0 0 0 1px #1565c04d}.polaroid-back{background-color:#fdfaf2;padding:14px;border:1px solid #dcd1be;transform:rotateY(180deg);backface-visibility:hidden;-webkit-backface-visibility:hidden;background-image:repeating-linear-gradient(transparent,transparent 23px,#ebdcc5 24px);line-height:24px;z-index:1;visibility:hidden;pointer-events:none;transition:visibility 0s ease .18s}.polaroid-card.is-flipped .polaroid-back{visibility:visible;pointer-events:auto;z-index:2}.index-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;border-bottom:2px solid #bfa07d;padding-bottom:6px;margin-bottom:8px}.index-card-badge{font-size:.68rem;font-weight:800;text-transform:uppercase;color:#8a5208;letter-spacing:.5px}.index-card-name{margin:2px 0 0;font-size:1.05rem;font-weight:800;color:#2f2117}.index-card-body{flex:1;display:flex;flex-direction:column;justify-content:space-between}.index-card-desc{font-size:.8rem;line-height:1.45;color:#4a3424;margin:0 0 10px}.index-card-statement-box{background:#ffffffbf;border:1.5px dashed #bfa07d;border-radius:8px;padding:8px 10px}.index-card-statement-box.has-interview{border-color:#27ae60;background:#f2faf4}.statement-label{font-size:.68rem;font-weight:800;text-transform:uppercase;color:#795548;margin-bottom:2px}.index-card-statement-box.has-interview .statement-label{color:#1b5e20}.statement-text{font-size:.8rem;line-height:1.35;font-style:italic;color:#2f2117;font-weight:600}.suspect-actions-row{display:flex;gap:6px;margin-top:10px;border-top:1px solid #ebd9c2;padding-top:8px}.btn-suspect-tag{flex:1;min-height:44px;font-size:.78rem;font-weight:800;border-radius:8px;border:1.5px solid #cfbea5;background:#fdfbf7;color:#4a3424;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.btn-suspect-tag:hover{background:#f1e6d0;transform:translateY(-1px)}.btn-suspect-tag.active-cleared{background:#27ae60;color:#fff;border-color:#1e8449}.btn-suspect-tag.active-suspect{background:#d35400;color:#fff;border-color:#a04000}.character-card{background:#fff;border:2px solid #cfbea5;border-radius:14px;padding:14px;box-shadow:0 4px 10px #0000000f;display:flex;flex-direction:column;position:relative;overflow:visible;z-index:1}.character-card-top{display:flex;align-items:center;gap:14px}.character-meta{flex:1;min-width:0}.character-name{margin:0;font-size:1rem;font-weight:800;color:#2f2117;line-height:1.25}.character-role{font-size:.82rem;color:#795548;margin-top:3px;font-weight:600}.notebook-footer{background:#ecdcc1;border-top:2px solid #bfa07d;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-shrink:0;flex-wrap:wrap}.notebook-footer-status{font-size:.92rem;color:#4a3424;font-weight:700;display:flex;align-items:center;gap:8px}.notebook-footer-btn{min-height:44px;padding:8px 20px;border-radius:10px;font-size:.95rem;font-weight:800;background:#4a3424;color:#fff9e6;border:2px solid #2f2117;cursor:pointer;transition:all .15s ease}.notebook-footer-btn:hover{background:#2f2117;transform:translateY(-1px)}.notebook-footer-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notebook-btn-freeroam{background:#29619f;border-color:#1d436d;color:#fff}.notebook-btn-reset{background:#7f1d1d;border-color:#991b1b;color:#fee2e2;opacity:.9}.notebook-btn-reset:hover{background:#991b1b;border-color:#b91c1c;color:#fff;opacity:1}.notebook-btn-freeroam:hover{background:#1d436d}.notebook-btn-freeroam.active{background:#b67012;border-color:#8a5208;color:#fff}.notebook-btn-freeroam.active:hover{background:#8a5208}.clue-inspect-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#14100ca6;display:flex;align-items:center;justify-content:center;padding:20px;z-index:80}.clue-inspect-card{background:#fff;border:3px solid #4a3424;border-radius:16px;max-width:480px;width:100%;padding:22px;box-shadow:0 15px 35px #0006;text-align:center;position:relative;animation:notebookOpen .2s ease}.graphics-simple .notebook-backdrop,.graphics-simple .evidence-bag-card{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.graphics-simple .notebook-binder,.graphics-simple .witness-entry-card,.graphics-simple .clue-pocket-card,.graphics-simple .evidence-bag-card,.graphics-simple .character-card,.graphics-simple .polaroid-face,.graphics-simple .character-desc-popup,.graphics-simple .letter-paper-slip{box-shadow:4px 4px #00000080!important}.graphics-simple .polaroid-front,.graphics-simple .polaroid-back{transition:none!important}.graphics-simple .polaroid-card:not(.is-flipped) .polaroid-front{display:flex!important;visibility:visible!important}.graphics-simple .polaroid-card:not(.is-flipped) .polaroid-back{display:none!important;visibility:hidden!important}.graphics-simple .polaroid-card.is-flipped .polaroid-front{display:none!important;visibility:hidden!important}.graphics-simple .polaroid-card.is-flipped .polaroid-back{display:flex!important;visibility:visible!important;transform:none!important}.graphics-simple .polaroid-card .polaroid-inner,.graphics-simple .polaroid-card.is-flipped .polaroid-inner{transform:none!important}.graphics-simple .polaroid-bg-blur{filter:brightness(.8)!important;transform:none!important}.graphics-simple .notebook-content{animation:none!important}.graphics-simple .torn-photo-piece,.graphics-simple .polaroid-paperclip,.graphics-simple .notebook-star-svg{filter:drop-shadow(4px 4px 0 rgba(0,0,0,.5))!important}.finale-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#120e0bd1;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:950;padding:16px;user-select:none;-webkit-user-select:none}.finale-card{background:#fbf7ee;border:4px solid #4a3424;border-radius:20px;width:95vw;max-width:820px;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 30px 70px #000000a6,inset 0 0 0 2px #d4af37;overflow:hidden;animation:finalePop .28s cubic-bezier(.18,.89,.32,1.15)}@keyframes finalePop{0%{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}.finale-header{padding:16px 22px;color:#fff8e1;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid #d4af37;flex-shrink:0}.finale-header.safe{background:linear-gradient(135deg,#78281f,#4a1712)}.finale-header.puzzle{background:linear-gradient(135deg,#1b4f72,#154360)}.finale-header.culprit{background:linear-gradient(135deg,#6c3483,#4a235a)}.finale-title{margin:0;font-size:1.3rem;font-weight:800;color:#fff9e6;text-shadow:0 1px 3px rgba(0,0,0,.6)}.finale-subtitle{font-size:.82rem;color:#f3c689;margin-top:2px}.finale-btn-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#f3c689;cursor:pointer;border-radius:8px;transition:all .15s ease}.finale-btn-close:hover{background:#ffffff26;color:#fff}.finale-body{flex:1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;align-items:center;text-align:center;background:#fbf7ee}.safe-vault-door{background:linear-gradient(145deg,#37474f,#263238);border:5px solid #212121;border-radius:18px;padding:24px;box-shadow:inset 0 2px 6px #fff3,0 10px 25px #0006;max-width:580px;width:100%;margin-bottom:20px;position:relative;transition:transform .4s ease}.safe-vault-dial-wrap{display:flex;justify-content:center;align-items:center;margin-bottom:16px}.safe-dial-wheel{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle,#ffd54f 20%,#d4af37,#b7950b);border:4px solid #7d6608;display:flex;align-items:center;justify-content:center;font-size:1.8rem;box-shadow:0 4px 12px #00000059;animation:dialRotate 10s infinite linear}@keyframes dialRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.safe-inputs-row{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}.safe-letter-cell{width:50px;height:58px;background:#fff;border:3px solid #78909c;border-radius:10px;font-size:1.8rem;font-weight:900;text-align:center;text-transform:uppercase;color:#263238;box-shadow:inset 0 2px 5px #0003;transition:all .15s ease}.safe-letter-cell:focus{border-color:#ffd54f;outline:none;box-shadow:0 0 10px #ffd54f99;transform:scale(1.04)}.safe-letter-cell.error{border-color:#e74c3c;background:#fadbd8;animation:safeShake .3s ease}@keyframes safeShake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.safe-clue-reminder{background:#ffffff1f;border:1px dashed #ffd54f;border-radius:8px;padding:8px 14px;font-size:.88rem;color:#fff9e6;margin-top:10px}.puzzle-finale-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;background:#2c3e50;border:4px solid #1a252f;border-radius:16px;padding:16px;max-width:440px;width:100%;margin-bottom:20px;box-shadow:inset 0 3px 10px #0006}.puzzle-finale-slot{aspect-ratio:1.2;background:#34495e;border:2px dashed #7f8c8d;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;padding:8px;transition:all .2s ease}.puzzle-finale-slot.placed{background:#ecf0f1;border-style:solid;border-color:#27ae60;box-shadow:0 0 12px #27ae6066}.puzzle-finale-tray{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;background:#ecdcc1;border:2px solid #bfa07d;border-radius:14px;padding:14px;max-width:580px;width:100%;margin-bottom:16px}.culprit-lineup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;width:100%;max-width:760px;margin-bottom:20px}.culprit-suspect-card{background:#fff;border:3px solid #cfbea5;border-radius:14px;padding:16px 12px;display:flex;flex-direction:column;align-items:center;cursor:pointer;transition:all .2s ease;min-height:200px;position:relative}.culprit-suspect-card:hover{transform:translateY(-4px);border-color:#8e44ad;box-shadow:0 8px 20px #00000026}.culprit-suspect-card.selected{border-color:#c0392b;background:#fdf2f2;box-shadow:0 0 15px #c0392b66}.culprit-portrait-box{width:84px;height:84px;border-radius:14px;border:2px solid #bfa07d;overflow:hidden;margin-bottom:10px;background:#ecdcc1}.culprit-portrait-box img{width:100%;height:100%;object-fit:cover}.culprit-suspect-name{font-weight:800;font-size:1.05rem;color:#2f2117;margin:0}.culprit-suspect-role{font-size:.8rem;color:#795548;margin-top:2px}.culprit-feedback-box{background:#fff8e1;border:2px dashed #f3c689;border-radius:12px;padding:14px 20px;max-width:600px;width:100%;margin-bottom:18px;font-size:.95rem;color:#4a3424;line-height:1.45;min-height:52px;display:flex;align-items:center;justify-content:center}.finale-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;width:100%}.btn-finale-action{min-height:48px;padding:10px 24px;border-radius:12px;font-size:1rem;font-weight:800;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;gap:8px}.btn-finale-action.primary{background:#27ae60;color:#fff;border:2px solid #1e8449;box-shadow:0 4px 10px #27ae604d}.btn-finale-action.primary:hover{background:#2ecc71;transform:translateY(-1px)}.btn-finale-action.secondary{background:#ecdcc1;color:#4a3424;border:2px solid #bfa07d}.btn-finale-action.secondary:hover{background:#ded0b7}.phase5-tester-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#1e1914d9;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px;user-select:none;-webkit-user-select:none}.phase5-tester-modal{background:#fae5c8;border:4px solid #B67012;border-radius:18px;width:95vw;max-width:880px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 60px #0000008c;overflow:hidden}.phase5-tester-header{background:#b67012;color:#fae5c8;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.phase5-tester-title{margin:0;font-size:1.25rem;font-weight:800;color:#fae5c8}.phase5-tester-subtitle{font-size:.82rem;color:#f3c689;margin-top:2px}.phase5-tester-close{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:#fae5c8;cursor:pointer;border-radius:8px;font-size:1.2rem;font-weight:800;transition:background .15s ease}.phase5-tester-close:hover{background:#ffffff26}.phase5-tester-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:20px}.phase5-status-bar{background:#f3c689;border:2px solid #E2A44A;border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.9rem;color:#b67012;font-weight:700}.phase5-section-title{margin:0 0 10px;font-size:1.05rem;font-weight:800;color:#b67012;text-transform:uppercase;letter-spacing:.5px}.phase5-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.phase5-card{background:#fff;border:2px solid #E2A44A;border-radius:12px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;gap:12px}.phase5-card-header{display:flex;flex-direction:column;gap:4px}.phase5-card-title{margin:0;font-size:1rem;font-weight:800;color:#29619f}.phase5-card-desc{margin:0;font-size:.85rem;color:#646464;line-height:1.4}.phase5-btn{min-height:44px;padding:8px 16px;border-radius:8px;border:2px solid #5B8543;background:#8cb973;color:#fff;font-size:.92rem;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.phase5-btn:hover{background:#5b8543;transform:translateY(-1px)}.phase5-btn.secondary{border-color:#29619f;background:#5893d4}.phase5-btn.secondary:hover{background:#29619f}.phase5-btn.danger{border-color:#b21616;background:#e84444}.phase5-btn.danger:hover{background:#b21616}.phase5-select{min-height:44px;padding:6px 12px;border:2px solid #E2A44A;border-radius:8px;background:#fff;color:#b67012;font-size:.9rem;font-weight:700;outline:none}.phase5-tester-footer{background:#f3c689;border-top:2px solid #E2A44A;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;flex-shrink:0}body.map-calibrator-active .hotspot-marker{cursor:grab!important;z-index:50!important;animation:none!important}body.map-calibrator-active .hotspot-marker:hover{transform:translate(-50%,-100%) scale(1.15)!important}body.map-calibrator-active .hotspot-marker.is-dragging{cursor:grabbing!important;z-index:100!important;transform:translate(-50%,-100%) scale(1.25)!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.6))}body.map-calibrator-active .hotspot-marker.is-selected .marker-pin{box-shadow:0 0 0 4px #f1c40f,0 8px 20px #f1c40f99!important;border-color:#fff!important}body.map-calibrator-active .hotspot-marker.is-selected .marker-label{background:#f1c40f!important;color:#1a1a24!important;font-weight:800!important}body.map-calibrator-active .map-container{cursor:crosshair}.map-calibrator-panel{position:fixed;top:70px;right:16px;width:360px;max-height:calc(100vh - 90px);background:#2b1f1a;border:2px solid #b8860b;border-radius:12px;box-shadow:0 12px 36px #000000b3;color:#f5ecd8;z-index:1000;display:flex;flex-direction:column;font-family:inherit;font-size:13px;overflow:hidden;-webkit-user-select:none;user-select:none}.mcp-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#3e2723;border-bottom:1.5px solid #b8860b}.mcp-header h3{margin:0;font-size:14px;color:#fcebb6;font-weight:700;letter-spacing:.5px}.mcp-close-btn{background:transparent;border:none;color:#d7ccc8;font-size:16px;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:4px}.mcp-close-btn:hover{background:#ffffff1a;color:#fff}.mcp-body{padding:12px 14px;overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:12px}.mcp-section{display:flex;flex-direction:column;gap:8px;background:#00000040;padding:10px;border-radius:8px;border:1px solid rgba(184,134,11,.3)}.mcp-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#fcebb6;font-weight:700;margin-bottom:2px;display:flex;justify-content:space-between;align-items:center}.mcp-select{width:100%;background:#1e140f;color:#f5ecd8;border:1px solid #8d6e63;padding:6px 8px;border-radius:6px;font-size:13px;font-weight:600;outline:none}.mcp-select:focus{border-color:#f1c40f}.mcp-slider-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.mcp-slider-label{flex:0 0 90px;color:#d7ccc8;font-size:11px}.mcp-slider{flex:1;cursor:pointer;accent-color:#f1c40f}.mcp-slider-val{flex:0 0 46px;text-align:right;font-family:monospace;font-size:11px;color:#fcebb6;background:#0006;padding:2px 4px;border-radius:4px;border:1px solid rgba(255,255,255,.1)}.mcp-actions-row{display:flex;flex-direction:column;gap:8px;margin-top:4px}.mcp-btn-primary{background:linear-gradient(135deg,#27ae60,#1e8449);color:#fff;border:1.5px solid #a9dfbf;border-radius:6px;padding:9px 12px;font-weight:700;font-size:13px;cursor:pointer;text-align:center;transition:all .15s ease}.mcp-btn-primary:hover{background:linear-gradient(135deg,#2ecc71,#27ae60);transform:translateY(-1px)}.mcp-btn-secondary{background:#4e342e;color:#fcebb6;border:1px solid #8d6e63;border-radius:6px;padding:6px 10px;font-weight:600;font-size:11px;cursor:pointer;text-align:center;transition:all .15s ease}.mcp-btn-secondary:hover{background:#5d4037;border-color:#f1c40f}.mcp-code-output{width:100%;height:120px;background:#140d0a;border:1px solid #8d6e63;border-radius:6px;color:#a3e4d7;font-family:monospace;font-size:10px;padding:8px;resize:vertical;outline:none;box-sizing:border-box}.mcp-hint{font-size:11px;color:#bcaaa4;line-height:1.4;background:#0003;padding:8px 10px;border-radius:6px;border-left:3px solid #f1c40f}
