@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&family=Crimson+Text:wght@400;600&display=swap);@import url(https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600;6..96,700;6..96,900&family=DM+Mono:wght@300;400;500&family=Newsreader:opsz,wght@6..72,300;6..72,400;6..72,600&display=swap);.level-node{border-radius:clamp(8px,2vw,12px);cursor:pointer;height:clamp(60px,15vw,90px);position:absolute;touch-action:manipulation;transform:translate(-50%,-50%);transition:all .3s ease;-webkit-user-select:none;user-select:none;width:clamp(60px,15vw,90px);z-index:10}.level-node.locked{background:linear-gradient(135deg,#ebe5db,#ddd4c7);border:clamp(1px,.3vw,2px) solid #b8a890;box-shadow:0 clamp(2px,.8vw,6px) clamp(4px,1.5vw,10px) #2c241914;cursor:not-allowed}.level-node.unlocked{animation:subtlePulse 3s infinite;background:linear-gradient(135deg,#8b7355,#6b5b47);border:clamp(1px,.3vw,2px) solid #5a4a3a;box-shadow:0 clamp(3px,1vw,8px) clamp(6px,2.5vw,15px) #2c241926}.level-node.completed{background:linear-gradient(135deg,#9d8b73,#8b7355);border:clamp(1px,.3vw,2px) solid #6b5b47;box-shadow:0 clamp(3px,1vw,8px) clamp(6px,2.5vw,15px) #9b8b7340}@keyframes subtlePulse{0%,to{box-shadow:0 clamp(3px,1vw,8px) clamp(6px,2.5vw,15px) #2c241926;transform:translate(-50%,-50%) scale(1)}50%{box-shadow:0 clamp(4px,1.2vw,10px) clamp(8px,3vw,18px) #2c241933;transform:translate(-50%,-50%) scale(1.01)}}.node-content{flex-direction:column;height:100%;padding:clamp(4px,1vw,8px);position:relative}.character-container,.node-content{align-items:center;display:flex;justify-content:center}.character-container{height:70%;width:100%}.character-container,.node-icon{margin-bottom:clamp(2px,.5vw,4px)}.node-icon{font-size:clamp(1.2rem,3.5vw,2rem);opacity:.8}.node-number{background:#2c24194d;border-radius:clamp(2px,.5vw,4px);color:#faf8f5;font-family:Playfair Display,serif;font-size:clamp(.7rem,2.2vw,1.1rem);font-weight:600;letter-spacing:.02em;min-width:clamp(18px,4vw,24px);padding:clamp(1px,.3vw,3px) clamp(4px,1vw,6px);text-align:center;text-shadow:1px 1px 2px #0000004d}.friend-indicators{flex-wrap:wrap;gap:clamp(1px,.5vw,3px);max-width:clamp(25px,6vw,35px);position:absolute;right:clamp(-8px,-2vw,-5px);top:clamp(-8px,-2vw,-5px)}.friend-indicator{align-items:center;background:#faf8f5f2;border:1px solid #2c241933;box-shadow:0 1px 3px #2c241914;display:flex;font-size:clamp(.5rem,1.5vw,.8rem);height:clamp(12px,3vw,18px);justify-content:center;width:clamp(12px,3vw,18px)}.completion-badge{background:#8b7355;border-radius:2px;box-shadow:0 2px 6px #2c241926;color:#faf8f5;font-family:Playfair Display,serif;font-size:clamp(.7rem,2.2vw,1rem);font-weight:400;height:clamp(16px,4.5vw,24px);right:clamp(-10px,-2.5vw,-6px);top:clamp(-10px,-2.5vw,-6px);width:clamp(16px,4.5vw,24px);z-index:11}.completion-badge,.lock-overlay{align-items:center;display:flex;justify-content:center;position:absolute}.lock-overlay{background:#00000080;border-radius:clamp(8px,2vw,12px);font-size:1.2rem;height:100%;left:0;top:0;width:100%;z-index:12}.node-title{background:#faf8f5f2;border:1px solid #c7b59b33;border-radius:2px;bottom:clamp(-45px,-8vw,-35px);box-shadow:0 2px 8px #2c24191a;color:#2c2419;font-family:Crimson Text,serif;font-size:clamp(.65rem,1.6vw,.85rem);font-weight:400;left:50%;letter-spacing:.02em;opacity:0;padding:clamp(4px,1vw,8px) clamp(8px,2vw,14px);pointer-events:none;position:absolute;transform:translateX(-50%);transition:opacity .3s ease;white-space:nowrap}.level-node:hover .node-title{opacity:1}.level-node.locked:hover .node-title{opacity:.7}.level-node[data-type=grand-finale].unlocked{animation:luxuryShimmer 4s linear infinite;background:linear-gradient(135deg,#a6956b,#8b7355);border-color:#6b5b47}@keyframes luxuryShimmer{0%,to{box-shadow:0 clamp(3px,1vw,8px) clamp(6px,2.5vw,15px) #2c241926}50%{box-shadow:0 clamp(4px,1.2vw,10px) clamp(8px,3vw,18px) #a6956b40}}.level-node:active{transform:translate(-50%,-50%) scale(.98)}@media (max-width:430px){.level-node{border-radius:clamp(6px,1.5vw,10px);height:clamp(50px,12vw,70px);width:clamp(50px,12vw,70px)}.node-content{padding:clamp(3px,.8vw,6px)}.character-container{height:65%}.character-container,.node-icon{margin-bottom:clamp(1px,.3vw,3px)}.node-icon{font-size:clamp(1rem,2.8vw,1.6rem)}.node-number{border-radius:clamp(2px,.4vw,3px);font-size:clamp(.6rem,1.8vw,.9rem);min-width:clamp(16px,3.5vw,22px);padding:clamp(1px,.2vw,2px) clamp(3px,.8vw,5px)}.friend-indicators{gap:clamp(1px,.3vw,2px);max-width:clamp(20px,5vw,30px);right:clamp(-6px,-1.5vw,-4px);top:clamp(-6px,-1.5vw,-4px)}.friend-indicator{border-radius:1px;font-size:clamp(.4rem,1.2vw,.7rem);height:clamp(10px,2.5vw,16px);width:clamp(10px,2.5vw,16px)}.completion-badge{border-radius:1px;font-size:clamp(.6rem,1.8vw,.9rem);height:clamp(14px,3.8vw,22px);right:clamp(-8px,-2vw,-5px);top:clamp(-8px,-2vw,-5px);width:clamp(14px,3.8vw,22px)}.lock-overlay{border-radius:clamp(6px,1.5vw,10px);font-size:clamp(1rem,2.8vw,1.4rem)}.node-title{border-radius:1px;bottom:clamp(-35px,-7vw,-30px);font-size:clamp(.6rem,1.4vw,.8rem);padding:clamp(3px,.8vw,6px) clamp(6px,1.5vw,12px)}.level-node{min-height:44px;min-width:44px}.level-node.completed,.level-node.unlocked{box-shadow:0 clamp(2px,.8vw,6px) clamp(4px,2vw,12px) #2c241926}.level-node.locked{box-shadow:0 clamp(1px,.6vw,4px) clamp(3px,1.2vw,8px) #2c241914}}@media (min-width:431px) and (max-width:768px){.level-node{height:clamp(55px,14vw,80px);width:clamp(55px,14vw,80px)}.node-title{bottom:clamp(-40px,-7vw,-32px)}}.chibi-character{height:clamp(55px,12vw,80px);pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:clamp(55px,12vw,80px);will-change:transform;z-index:100}.character-sprite{align-items:center;animation:characterBreathe 4s ease-in-out infinite;display:flex;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));justify-content:center;position:relative;will-change:transform;z-index:101}.character-sprite-svg{height:100%;width:100%}.character-sprite-svg,.character-sprite-svg>div{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}@keyframes characterBreathe{0%,to{transform:scaleX(1)}50%{transform:scale3d(1.03,1.03,1)}}.character-shadow{animation:shadowPulse 4s ease-in-out infinite;background:#0000004d;border-radius:50%;bottom:-5px;height:clamp(6px,1.5vw,12px);left:50%;position:absolute;transform:translateX(-50%);width:clamp(20px,6vw,35px);will-change:transform,opacity;z-index:99}@keyframes shadowPulse{0%,to{opacity:.3;transform:translateX(-50%) scaleX(1)}50%{opacity:.4;transform:translateX(-50%) scale3d(1.05,1.05,1)}}.character-name{animation:nameBob 3s ease-in-out infinite;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#faf8f5f2;border:1px solid #c7b59b4d;border-radius:2px;bottom:clamp(-35px,-7vw,-25px);box-shadow:0 2px 6px #2c24191a;color:#2c2419;font-family:Playfair Display,serif;font-size:clamp(.6rem,1.8vw,.8rem);font-weight:400;left:50%;letter-spacing:.02em;padding:clamp(3px,1vw,6px) clamp(6px,2vw,12px);position:absolute;transform:translateX(-50%);white-space:nowrap;will-change:transform;z-index:102}@keyframes nameBob{0%,to{transform:translate3d(-50%,0,0)}50%{transform:translate3d(-50%,-3px,0)}}.sparkle-effects{height:clamp(50px,15vw,80px);left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:clamp(50px,15vw,80px);will-change:transform;z-index:98}.sparkle{animation-timing-function:ease-in-out;font-size:clamp(.8rem,2.5vw,1.4rem);position:absolute;will-change:transform,opacity}.sparkle:first-child{left:10px;top:10px}.sparkle:nth-child(2){right:10px;top:10px}.sparkle:nth-child(3){bottom:10px;left:10px}.chibi-character.moving{animation:characterMove .6s ease-in-out}@keyframes characterMove{0%,to{transform:translate3d(-50%,-50%,0) scaleX(1) rotate(0deg)}25%{transform:translate3d(-50%,-50%,0) scale3d(1.05,1.05,1) rotate(2deg)}50%{transform:translate3d(-50%,-50%,0) scale3d(1.02,1.02,1) rotate(-2deg)}75%{transform:translate3d(-50%,-50%,0) scale3d(1.05,1.05,1) rotate(2deg)}}.chibi-character.celebrating{animation:celebration 1.2s ease-in-out}@keyframes celebration{0%,to{transform:translate3d(-50%,-50%,0) scaleX(1) rotate(0deg)}25%{transform:translate3d(-50%,-50%,0) scale3d(1.15,1.15,1) rotate(8deg)}50%{transform:translate3d(-50%,-50%,0) scale3d(1.2,1.2,1) rotate(-8deg)}75%{transform:translate3d(-50%,-50%,0) scale3d(1.15,1.15,1) rotate(8deg)}}.chibi-character.celebrating .sparkle-effects{animation:sparkleBoost 1.2s ease-in-out}@keyframes sparkleBoost{0%,to{opacity:1;transform:translate3d(-50%,-50%,0) scaleX(1)}50%{opacity:1;transform:translate3d(-50%,-50%,0) scale3d(1.3,1.3,1)}}.chibi-character[data-stage=beginning] .character-sprite{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)) hue-rotate(0deg)}.chibi-character[data-stage=middle] .character-sprite{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)) hue-rotate(120deg)}.chibi-character[data-stage=end] .character-sprite{animation:characterBreathe 3s ease-in-out infinite,rainbow 5s linear infinite;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)) hue-rotate(240deg)}@keyframes rainbow{0%{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)) hue-rotate(0deg)}to{filter:drop-shadow(0 2px 4px rgba(0,0,0,.3)) hue-rotate(1turn)}}@media (max-width:430px){.chibi-character{height:clamp(65px,15vw,85px);width:clamp(65px,15vw,85px)}.character-shadow{bottom:-4px;height:clamp(8px,2vw,14px);width:clamp(28px,7vw,40px)}.character-name{border-radius:6px;bottom:clamp(-35px,-8vw,-25px);font-family:Playfair Display,serif;font-size:clamp(.7rem,1.8vw,.9rem);font-weight:400;padding:clamp(4px,1.2vw,6px) clamp(8px,2vw,12px)}.sparkle{font-size:clamp(1rem,2.5vw,1.4rem)}.sparkle:first-child{right:clamp(-12px,-3vw,-8px);top:clamp(-12px,-3vw,-8px)}.sparkle:nth-child(2){left:clamp(-10px,-2.5vw,-6px);top:clamp(-10px,-2.5vw,-6px)}.sparkle:nth-child(3){bottom:clamp(-12px,-3vw,-8px);right:clamp(-4px,-1vw,-2px)}.sparkle-effects{height:clamp(75px,18vw,100px);width:clamp(75px,18vw,100px)}}@media (min-width:431px) and (max-width:768px){.chibi-character{height:clamp(60px,12vw,75px);width:clamp(60px,12vw,75px)}.character-name{bottom:clamp(-38px,-7vw,-28px);font-family:Playfair Display,serif;font-weight:400}.character-shadow{height:clamp(7px,1.8vw,12px);width:clamp(25px,6vw,35px)}.sparkle-effects{height:clamp(70px,16vw,90px);width:clamp(70px,16vw,90px)}}.level-map{background:linear-gradient(135deg,#fefcfa,#f8f5f0 30%,#f0ebe1 70%,#ebe5db);border:1px solid #c7b59b33;border-radius:clamp(2px,1vw,8px);box-shadow:0 clamp(6px,1.5vw,12px) clamp(16px,4vw,32px) #2c241914;height:clamp(50vh,70vh,80vh);margin:0 auto;max-width:100vw;min-height:clamp(400px,50vh,600px);overflow:hidden}.level-map,.map-container{position:relative;width:100%}.map-container{animation:subtleFloat 40s ease-in-out infinite;background-image:radial-gradient(circle at 20% 50%,#c7b59b14 1px,#0000 0),radial-gradient(circle at 80% 50%,#8b73550a .5px,#0000 0);background-size:120px 120px,60px 60px;height:100%}@keyframes subtleFloat{0%,to{background-position:0 0,0 0}50%{background-position:120px 0,-60px 0}}.level-path{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.level-path polyline{stroke:#c7b59b;stroke-width:clamp(1.5,.4vw,2.5);stroke-dasharray:none;stroke-linecap:round;stroke-linejoin:round;opacity:.25}.level-modal{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2c2419bf;display:flex;height:100vh;justify-content:center;left:0;padding:16px;position:fixed;top:0;width:100vw;z-index:1000}.level-modal-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#faf8f5fa;border:1px solid #c7b59b4d;border-radius:clamp(4px,1.5vw,12px);box-shadow:0 clamp(16px,4vw,28px) clamp(32px,6vw,48px) #2c24191f;font-family:Crimson Text,serif;max-height:clamp(70vh,85vh,90vh);max-width:clamp(300px,90vw,500px);overflow-y:auto;padding:clamp(20px,5vw,40px);position:relative;width:100%}.close-button{align-items:center;background:#8b7355;border:none;border-radius:2px;color:#faf8f5;cursor:pointer;display:flex;font-family:Playfair Display,serif;font-size:clamp(11px,2.2vw,14px);font-weight:400;height:clamp(26px,5vw,36px);justify-content:center;position:absolute;right:clamp(12px,3vw,20px);top:clamp(12px,3vw,20px);transition:all .3s ease;width:clamp(26px,5vw,36px)}.close-button:hover{background:#6b5b47;transform:scale(1.03)}.level-modal-content h2{color:#2c2419;font-family:Playfair Display,serif;font-size:clamp(1.4rem,4vw,2rem);margin-bottom:clamp(16px,4vw,24px)}.level-description,.level-modal-content h2{font-weight:400;letter-spacing:.02em;text-align:center}.level-description{color:#6b5b47;font-size:clamp(.95rem,2.5vw,1.1rem);line-height:1.7;margin-bottom:clamp(20px,5vw,32px)}.friend-requirement{background:#f1f5f9cc;border:1px solid #e2e8f080;border-radius:12px;margin:24px 0;padding:24px}.friend-requirement h3{color:#1e293b;font-size:1.125rem;font-weight:600;margin-bottom:12px}.required-friends{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.required-friend{background:#ffffffe6;border:1px solid;border-radius:12px;font-size:.875rem;font-weight:500;padding:8px 16px}.friend-hint{color:#64748b;font-size:.875rem;font-style:italic;line-height:1.5}.level-actions{margin-top:32px}.code-input-section{display:flex;flex-direction:column;gap:16px}.code-input-section label{color:#1e293b;font-size:.875rem;font-weight:600;letter-spacing:.025em}.code-input{background:#fffffff2;border:1px solid #cbd5e1;border-radius:8px;font-family:Inter,sans-serif;font-size:1rem;padding:16px;transition:all .2s ease}.code-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.continue-button,.start-puzzle-button,.submit-code-button{background:#2c2419;border:1px solid #2c2419;border-radius:2px;box-shadow:none;color:#faf8f5;cursor:pointer;font-family:Playfair Display,serif;font-size:clamp(.8rem,2.2vw,1rem);font-weight:400;letter-spacing:.1em;padding:clamp(14px,3.5vw,20px) clamp(20px,5vw,32px);text-transform:uppercase;transition:all .3s ease;width:100%}.continue-button:hover,.start-puzzle-button:hover,.submit-code-button:hover{background:#faf8f5;border:1px solid #2c2419;color:#2c2419}.level-modal-content h2{font-size:1.5rem;margin-bottom:12px}.level-description{font-size:.9rem;margin-bottom:20px}.required-friends{justify-content:center}.friend-requirement{margin:16px 0;padding:16px}.level-actions{margin-top:24px}.code-input{border-radius:clamp(6px,2vw,10px);font-size:clamp(14px,3.5vw,18px);padding:clamp(12px,3vw,18px)}.continue-button,.start-puzzle-button,.submit-code-button{font-size:.9rem;min-height:44px;padding:14px 20px}.challenge-container{width:100%}.challenge-content{text-align:left}.challenge-content h3{color:#1e293b;font-size:clamp(1.2rem,4vw,1.8rem);font-weight:700;margin-bottom:clamp(12px,3vw,20px);text-align:center}.intro-rules{background:#f1f5f9cc;border-radius:12px;margin:16px 0;padding:16px}.intro-rules h4{color:#1e293b;font-size:1rem;font-weight:600;margin-bottom:8px}.intro-rules ul{margin:0;padding-left:20px}.intro-rules li{color:#475569;line-height:1.5;margin:8px 0}.friend-section{background:#f1f5f9cc;border-radius:12px;margin:16px 0;padding:16px}.friend-instruction{color:#64748b;font-style:italic;margin-bottom:12px}.puzzle-section{background:#f1f5f9cc;border-radius:12px;margin:16px 0;padding:16px}.puzzle-question{background:#fffc;border-left:4px solid #3b82f6;border-radius:8px;color:#1e293b;font-size:1.1rem;font-weight:500;line-height:1.6;margin:12px 0;padding:12px}.hint-box{background:#fde04733;border:1px solid #f59e0b4d;border-radius:8px;margin:12px 0;padding:12px}.hint-box p{color:#92400e;font-size:.9rem;margin:4px 0}.challenge-button{background:linear-gradient(135deg,#0f172a,#1e293b);border:none;border-radius:clamp(6px,2vw,10px);box-shadow:0 clamp(3px,1vw,6px) clamp(8px,2vw,15px) #00000026;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:clamp(.8rem,2.2vw,1.1rem);font-weight:600;letter-spacing:.025em;margin-top:clamp(12px,3vw,20px);min-height:clamp(40px,8vw,50px);padding:clamp(12px,3vw,18px) clamp(16px,4vw,24px);transition:all .2s ease;width:100%}.challenge-button:hover:not(:disabled){background:linear-gradient(135deg,#1e293b,#334155);box-shadow:0 8px 24px #0003;transform:translateY(-1px)}.challenge-button:active{transform:translateY(0) scale(.98)}.challenge-button:disabled{cursor:not-allowed;opacity:.5}.hint-button{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:6px;color:#3b82f6;cursor:pointer;font-size:.8rem;margin-top:12px;min-height:36px;padding:8px 16px;width:100%}.hint-button:hover{background:#3b82f633}.finale-section,.multi-friend-section{margin:16px 0}.finale-button{animation:finaleGlow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,#8b5cf6,#7c3aed)!important;font-size:1rem!important;padding:16px 20px!important}@keyframes finaleGlow{0%{box-shadow:0 4px 12px #8b5cf64d}to{box-shadow:0 8px 24px #8b5cf699}}@media (max-width:430px){.level-map{border-radius:4px;height:clamp(45vh,60vh,70vh);margin:8px;min-height:380px}.level-modal{padding:12px}.level-modal-content{border-radius:6px;max-height:85vh;max-height:calc(100vh - 40px);padding:20px 16px}.level-modal-content h2{font-size:1.5rem;margin-bottom:16px}.level-description{font-size:.95rem;margin-bottom:20px}.close-button{font-size:12px;height:32px;right:12px;top:12px;width:32px}.friend-requirement{border-radius:6px;margin:16px 0;padding:16px}.friend-requirement h3{font-size:1rem;margin-bottom:10px}.required-friends{gap:6px;justify-content:flex-start}.required-friend{border-radius:4px;font-size:.8rem;padding:6px 12px}.code-input{border-radius:4px;font-size:16px;min-height:44px;padding:12px}.continue-button,.start-puzzle-button,.submit-code-button{border-radius:4px;font-size:.9rem;min-height:48px;padding:14px 20px}.challenge-content h3{font-size:1.3rem;margin-bottom:12px}.friend-section,.intro-rules,.puzzle-section{border-radius:6px;margin:14px 0;padding:14px}.puzzle-question{border-radius:6px;font-size:1rem;padding:12px}.hint-box{border-radius:4px;margin:10px 0;padding:10px}.hint-button{border-radius:4px;font-size:.8rem;min-height:40px;padding:10px 16px}.finale-section{margin:12px 0}.code-input-section{gap:12px}.code-input-section label{font-size:.85rem}}@media (min-width:431px) and (max-width:768px){.level-modal-content{max-width:500px;padding:24px 20px}.close-button{right:16px;top:16px}}.app{background:linear-gradient(135deg,#faf8f5,#f5f1eb 30%,#ede7dd 70%,#e8e0d4);background-attachment:fixed;color:#2c2419;font-family:Crimson Text,Georgia,serif;font-weight:400;letter-spacing:.02em;min-height:100vh;min-height:100svh;overflow-x:hidden;overscroll-behavior:none;touch-action:manipulation}.welcome-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:20px}.welcome-content{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fefcf9f2;border:1px solid #c7b59b33;border-radius:2px;box-shadow:0 32px 64px #2c241914;max-width:650px;padding:clamp(40px,8vw,80px) clamp(30px,6vw,60px);position:relative;text-align:center}.welcome-title{color:#2c2419;font-family:Playfair Display,serif;font-size:clamp(2rem,6vw,3.2rem);font-weight:400;letter-spacing:.01em;line-height:1.15;margin-bottom:clamp(20px,4vw,32px);text-transform:none}.welcome-subtitle{color:#6b5b47;font-size:clamp(1rem,2.5vw,1.25rem);font-style:italic;font-weight:400;line-height:1.6;margin-bottom:clamp(32px,6vw,50px)}.adventure-preview{background:#f8f5f099;border:1px solid #c7b59b4d;border-left:none;border-radius:0;border-right:none;margin:clamp(24px,5vw,40px) 0;padding:clamp(24px,5vw,40px)}.adventure-preview p{color:#5a4a3a;letter-spacing:.02em;line-height:1.7;margin:clamp(8px,2vw,16px) 0}.adventure-preview p,.start-button{font-size:clamp(.9rem,2.2vw,1.1rem);font-weight:400}.start-button{background:#2c2419;border:1px solid #2c2419;border-radius:0;box-shadow:none;color:#faf8f5;cursor:pointer;font-family:Playfair Display,serif;letter-spacing:.1em;overflow:hidden;padding:clamp(12px,3vw,18px) clamp(32px,6vw,48px);position:relative;text-transform:uppercase;transition:all .3s ease}.start-button:hover{background:#faf8f5;border:1px solid #2c2419;color:#2c2419}.app-header{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fefcf9f2;border-bottom:1px solid #c7b59b33;box-shadow:none;color:#2c2419;display:flex;justify-content:space-between;padding:clamp(20px,4vw,36px) clamp(24px,5vw,50px)}.app-header h1{font-family:Playfair Display,serif;font-size:clamp(1.3rem,3.5vw,1.8rem);margin:0}.app-header h1,.progress-info{font-weight:400;letter-spacing:.02em}.progress-info{align-items:center;color:#6b5b47;display:flex;font-size:clamp(.8rem,2vw,.95rem);gap:clamp(16px,4vw,28px)}.friend-indicators{align-items:center;display:flex;gap:clamp(6px,1.5vw,10px)}.friend-indicator{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#f8f5f0e6;border:1px solid #c7b59b4d;border-radius:2px;color:#6b5b47;font-family:Playfair Display,serif;font-size:clamp(.7rem,1.8vw,.9rem);font-weight:400;letter-spacing:.02em;padding:clamp(3px,.8vw,6px) clamp(6px,1.5vw,10px);text-transform:uppercase}.app-main{flex:1 1;padding:clamp(12px,3vw,24px)}@media (max-width:430px){.welcome-screen{min-height:100vh;min-height:100svh;padding:16px}.welcome-content{max-width:100%;padding:32px 20px;width:100%}.welcome-title{font-size:1.8rem;line-height:1.2;margin-bottom:16px}.welcome-subtitle{font-size:1rem;margin-bottom:24px}.adventure-preview{margin:20px 0;padding:20px 16px}.adventure-preview p{font-size:.9rem;margin:6px 0}.start-button{font-size:.9rem;min-height:48px;padding:14px 28px;width:100%}.app-header{flex-direction:column;gap:12px;padding:calc(16px + env(safe-area-inset-top)) 16px 12px;text-align:center}.app-header h1{font-size:1.4rem;margin:0}.progress-info{align-items:center;flex-direction:row;font-size:.85rem;gap:16px;justify-content:center}.friend-indicators{gap:6px}.friend-indicator{align-items:center;display:flex;font-size:.7rem;justify-content:center;min-height:24px;min-width:24px;padding:4px 8px}.app-main{padding:12px 16px calc(12px + env(safe-area-inset-bottom))}}@media (min-width:431px) and (max-width:768px){.app-header{align-items:center;flex-direction:row;justify-content:space-between;padding:20px 24px}.progress-info{flex-direction:row;gap:20px}}.start-button:active{transform:scale(.98)}:root{--paper:#f2eadc;--paper-bright:#fffaf0;--ink:#171412;--muted:#655e54;--rule:#b7aa96;--blood:#811e27;--blood-dark:#571118;--gold:#a68149}.campaign30{background:linear-gradient(rgba(23,20,18,.035) 1px,#0000 0),radial-gradient(circle at 9% 3%,#811e271f,#0000 24rem),#f2eadc;background:linear-gradient(rgba(23,20,18,.035) 1px,#0000 1px),radial-gradient(circle at 9% 3%,#811e271f,#0000 24rem),var(--paper);background-size:100% 28px,auto,auto;color:#171412;color:var(--ink);font-family:Newsreader,Georgia,serif;letter-spacing:.005em;line-height:1.45;min-height:100vh;min-height:100svh}.campaign30 *,.campaign30 :after,.campaign30 :before{box-sizing:border-box}.campaign30 button,.campaign30 input,.campaign30 select,.campaign30 textarea{font:inherit}.campaign30 a,.campaign30 button{-webkit-tap-highlight-color:transparent}.campaign30 a{color:inherit;text-underline-offset:.25em}.campaign30 a:focus-visible,.campaign30 button:focus-visible,.campaign30 input:focus-visible,.campaign30 select:focus-visible,.campaign30 summary:focus-visible,.campaign30 textarea:focus-visible{outline:3px solid #a68149;outline:3px solid var(--gold);outline-offset:3px}.dossier-import input:focus-visible+.file-trigger{outline:3px solid #a68149;outline:3px solid var(--gold);outline-offset:3px}.kicker{font:500 .72rem/1.2 DM Mono,monospace;letter-spacing:.16em;margin:0 0 .65rem}.kicker,.stamp{color:#811e27;color:var(--blood);text-transform:uppercase}.stamp{border:2px solid;display:inline-block;font:500 .66rem/1 DM Mono,monospace;letter-spacing:.12em;padding:.25rem .48rem}.visually-hidden{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;white-space:nowrap;width:1px}.file-trigger,.ink-button,.red-button{border:1px solid #171412;border:1px solid var(--ink);border-radius:0;cursor:pointer;font:500 .72rem/1.1 DM Mono,monospace;letter-spacing:.1em;min-height:46px;padding:.78rem 1.2rem;text-transform:uppercase;transition:transform .18s ease,background .18s ease,color .18s ease}.red-button{background:#811e27;background:var(--blood);border-color:#811e27;border-color:var(--blood);box-shadow:5px 5px 0 #171412;box-shadow:5px 5px 0 var(--ink);color:#fff7eb}.ink-button{background:#171412;background:var(--ink);color:#fffaf0;color:var(--paper-bright)}.file-trigger{align-items:center;background:#0000;color:#171412;color:var(--ink);display:inline-flex;justify-content:center}.file-trigger:hover,.ink-button:hover,.red-button:hover{transform:translate(-2px,-2px)}.file-trigger:active,.ink-button:active,.red-button:active{transform:translate(0)}.red-button.large{min-width:min(100%,260px);padding:1rem 1.5rem}.ink-button.small{min-height:38px;padding:.58rem .8rem}.text-button{background:none;border:0;color:#171412;color:var(--ink);cursor:pointer;font:500 .7rem/1.2 DM Mono,monospace;min-height:42px;padding:.35rem 0;text-decoration:underline;text-transform:uppercase;text-underline-offset:.3em}.text-button:disabled{cursor:not-allowed;opacity:.45}.text-button.danger{color:#811e27;color:var(--blood)}.blast-landing{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.34fr);grid-template-rows:auto 1fr;overflow:hidden;position:relative}.paper-grain{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.17'/%3E%3C/svg%3E");inset:0;opacity:.22;pointer-events:none;position:fixed}.campaign-nav{border-bottom:1px solid #171412;border-bottom:1px solid var(--ink);display:flex;font:400 .66rem/1.2 DM Mono,monospace;gap:1rem;grid-column:1/-1;justify-content:space-between;letter-spacing:.1em;padding:1rem 4vw;text-transform:uppercase}.campaign-nav div{display:flex;gap:1.25rem}.blast-cover{align-self:center;max-width:850px;padding:clamp(3rem,8vw,7rem) clamp(1.4rem,8vw,8rem);position:relative}.blast-alert{align-items:center;background:#811e27;background:var(--blood);border:1px solid #811e27;border:1px solid var(--blood);color:#fffaf0;color:var(--paper-bright);display:inline-flex;font:500 .62rem/1.2 DM Mono,monospace;gap:.8rem;letter-spacing:.09em;margin-bottom:1.4rem;text-transform:uppercase}.blast-alert span{background:#fffaf0;background:var(--paper-bright);color:#811e27;color:var(--blood);padding:.65rem .8rem}.blast-alert strong{font-weight:500;padding-right:.9rem}.cover-issue{color:#811e27;color:var(--blood);font:400 .66rem/1 DM Mono,monospace;position:absolute;right:3vw;text-align:center;text-transform:uppercase;top:2rem}.cover-issue strong{display:block;font:700 3rem/.8 Bodoni Moda,serif;margin-top:.2rem}.blast-cover h1{font:600 clamp(3.4rem,9vw,8.5rem)/.76 Bodoni Moda,serif;letter-spacing:-.075em;margin:0;max-width:760px}.blast-cover h1 em{color:#811e27;color:var(--blood);font-weight:900}.cover-rule{border-block:1px solid #171412;border-block:1px solid var(--ink);height:7px;margin:2.2rem 0 1.5rem;width:min(440px,80%)}.cover-deck{font-size:clamp(1.15rem,2.3vw,1.65rem);line-height:1.25;margin:0;max-width:590px}.blast-cover blockquote{border-left:5px solid #811e27;border-left:5px solid var(--blood);font:600 clamp(1rem,2vw,1.25rem)/1.4 Newsreader,serif;margin:2rem 0;max-width:640px;padding:1rem 0 1rem 1.4rem}.opening-handoff{align-items:center;background:#fffaf0b3;border:1px solid #171412;border:1px solid var(--ink);box-shadow:5px 5px 0 #17141229;display:flex;gap:1rem;margin:0 0 1.4rem;max-width:620px;padding:1rem}.opening-handoff small,.opening-handoff strong{display:block}.opening-handoff small{color:#655e54;color:var(--muted);margin-top:.22rem}.case-password{max-width:620px}.case-password label small,.case-password label span{display:block}.case-password label span{font:500 .7rem/1.2 DM Mono,monospace;letter-spacing:.16em;text-transform:uppercase}.case-password label small{color:#655e54;color:var(--muted);margin:.3rem 0 .65rem}.password-row{display:flex;gap:.7rem}.password-row input{background:#f2eadc;background:var(--paper);border:1px solid #171412;border:1px solid var(--ink);border-radius:0;color:#171412;color:var(--ink);flex:1 1;min-width:0;padding:.85rem 1rem}.password-error{color:#811e27;color:var(--blood);font-weight:600;margin:.7rem 0 0}.blast-cta{overflow:hidden;position:relative}.blast-cta:after{border:1px solid #fffaf066;content:"";inset:0;pointer-events:none;position:absolute;transform:translate(5px,5px)}.cover-aside{align-self:stretch;background:#fffaf073;border-left:1px solid #171412;border-left:1px solid var(--ink);padding:clamp(4rem,9vw,8rem) 2.3rem 3rem}.cover-aside .tilted{transform:rotate(-7deg)}.cover-aside dl{margin-top:4rem}.cover-aside dl div{border-top:1px solid #b7aa96;border-top:1px solid var(--rule);padding:1rem 0}.cover-aside dt{font:500 .62rem/1.2 DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.cover-aside dd{font:600 1.25rem/1.1 Bodoni Moda,serif;margin:.35rem 0 0}.dossier-import{margin-top:1rem}.dossier-import.compact{display:inline-block;margin:1rem 0 0 1rem;vertical-align:top}.dossier-import.compact .file-trigger{min-height:46px}.import-preview{grid-gap:.55rem;background:#fffaf0;background:var(--paper-bright);border:1px solid #171412;border:1px solid var(--ink);display:grid;gap:.55rem;margin-top:.8rem;max-width:420px;padding:1rem}.import-preview span{color:#655e54;color:var(--muted);font-size:.9rem}.form-error,.notice{color:#811e27;color:var(--blood);font-weight:600;max-width:540px}.investigation-header{align-items:end;background:#fffaf0b8;border-bottom:5px double #171412;border-bottom:5px double var(--ink);display:flex;gap:2rem;justify-content:space-between;padding:1.4rem clamp(1rem,4vw,4rem)}.investigation-header h1{font:600 clamp(2.1rem,4vw,4rem)/.85 Bodoni Moda,serif;letter-spacing:-.045em;margin:0}.investigation-header h1 em{color:#811e27;color:var(--blood)}.header-actions{align-items:center;display:flex;font:500 .66rem/1 DM Mono,monospace;gap:1rem;text-transform:uppercase}.header-actions .dossier-import{margin:0}.header-actions .file-trigger{min-height:40px;padding:.6rem .8rem}.global-notice{background:#fffaf0;background:var(--paper-bright);border-left:4px solid #811e27;border-left:4px solid var(--blood);margin:1rem 4vw 0;padding:.65rem 1rem}.case-board-shell{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:minmax(0,1fr) minmax(230px,.28fr);margin:auto;max-width:1500px;padding:clamp(1rem,3vw,3rem)}.case-brief{grid-gap:clamp(1rem,3vw,2.5rem);align-items:center;background:#171412;background:var(--ink);box-shadow:9px 9px 0 #811e27;box-shadow:9px 9px 0 var(--blood);color:#fffaf0;color:var(--paper-bright);display:grid;gap:clamp(1rem,3vw,2.5rem);grid-column:1/-1;grid-template-columns:auto minmax(0,1fr) auto;padding:clamp(1.2rem,3vw,2.4rem)}.case-number{border-right:1px solid #736b61;color:#d1c4ae;font:400 .65rem/1.1 DM Mono,monospace;padding-right:1.5rem;text-align:center}.case-number br+*{font-size:2rem}.case-brief h2{font:600 clamp(1.55rem,3vw,2.8rem)/1.05 Bodoni Moda,serif;margin:0;max-width:800px}.case-brief p:last-child{color:#d1c4ae;margin-bottom:0}.case-progress{align-items:center;display:flex;gap:.55rem}.case-progress strong{color:#fff;font:700 clamp(2.6rem,5vw,5rem)/.8 Bodoni Moda,serif}.case-progress span{color:#d1c4ae;font:400 .6rem/1.25 DM Mono,monospace;text-transform:uppercase}.evidence-section,.inventory-section,.suspect-section{padding-top:.5rem}.evidence-section,.suspect-section{grid-column:1}.inventory-section{border-left:1px solid #171412;border-left:1px solid var(--ink);grid-column:2;grid-row:2/span 2;padding-left:1.5rem}.section-label{align-items:baseline;border-bottom:1px solid #171412;border-bottom:1px solid var(--ink);display:flex;gap:1rem;margin-bottom:1rem}.section-label span{color:#811e27;color:var(--blood);font:500 .6rem/1 DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.section-label h2{font:600 clamp(1.45rem,2.5vw,2.2rem)/1 Bodoni Moda,serif;margin:0 0 .35rem}.suspect-strip{grid-gap:1px;background:#171412;background:var(--ink);border:1px solid #171412;border:1px solid var(--ink);display:grid;gap:1px;grid-template-columns:repeat(6,minmax(95px,1fr))}.suspect-card{background:#fffaf0;background:var(--paper-bright);min-height:148px;overflow:hidden;padding:1rem .75rem .7rem;position:relative}.suspect-card:after{border:1px solid #811e27;border:1px solid var(--blood);border-radius:50%;content:"";height:62px;position:absolute;right:-28px;top:-28px;width:62px}.suspect-card .mug-number{color:#811e27;color:var(--blood);display:block;font:500 .62rem/1 DM Mono,monospace;margin-bottom:1.5rem}.suspect-card strong{display:block;font:600 1.25rem/1 Bodoni Moda,serif}.suspect-card small{color:#655e54;color:var(--muted);display:block;line-height:1.15;margin-top:.35rem;min-height:2.4em}.status-mark{display:inline-block;font:400 .52rem/1 DM Mono,monospace;letter-spacing:.08em;margin-top:.65rem;text-transform:uppercase}.act-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:minmax(100px,.18fr) minmax(0,1fr);margin-bottom:1rem}.act-row h3{color:#811e27;color:var(--blood);font:500 .62rem/1.2 DM Mono,monospace;letter-spacing:.08em;margin:.65rem 0;text-transform:uppercase}.mission-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.mission-file{grid-gap:.75rem;background:#fffaf099;border:1px solid #b7aa96;border:1px solid var(--rule);color:#171412;color:var(--ink);display:grid;gap:.75rem;grid-template-columns:45px 1fr;min-height:126px;padding:1rem;position:relative;text-align:left;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.mission-file:disabled{opacity:.62}.mission-file.playable{background:#fffaf0;background:var(--paper-bright);border-color:#171412;border-color:var(--ink);box-shadow:5px 5px 0 #17141233;cursor:pointer}.mission-file.playable:hover{border-color:#811e27;border-color:var(--blood);transform:translateY(-2px)}.mission-file.completed{background:#171412;background:var(--ink);color:#fffaf0;color:var(--paper-bright);opacity:1}.mission-file.declassify-ready{border-color:#a68149;border-color:var(--gold);box-shadow:5px 5px 0 #811e27;box-shadow:5px 5px 0 var(--blood)}.mission-file.optional{border-style:dashed;box-shadow:none}.file-index{color:#811e27;color:var(--blood);font:600 2rem/.9 Bodoni Moda,serif}.completed .file-index{color:#db8d94}.file-copy{display:flex;flex-direction:column}.file-copy small{font:400 .55rem/1.1 DM Mono,monospace;text-transform:uppercase}.file-copy strong{font:600 1.15rem/1.05 Bodoni Moda,serif;margin:.35rem 0}.file-copy em{color:#655e54;color:var(--muted);font-size:.8rem}.completed .file-copy em{color:#c9c0b4}.file-status{align-self:end;color:#811e27;color:var(--blood);font:500 .55rem/1 DM Mono,monospace;grid-column:2;letter-spacing:.07em;text-transform:uppercase}.completed .file-status{color:#f0c1c6}.inventory-section ul{list-style:none;padding:0}.inventory-section li{align-items:center;border-bottom:1px solid #b7aa96;border-bottom:1px solid var(--rule);display:flex;gap:.65rem;padding:.8rem 0}.inventory-section li span{background:#811e27;background:var(--blood);border-radius:50%;color:#fffaf0;color:var(--paper-bright);display:inline-grid;height:27px;place-items:center;width:27px}.final-reveal,.route-dispatch{align-items:center;background:#fffaf0;background:var(--paper-bright);display:flex;gap:clamp(1rem,4vw,3rem);grid-column:1/-1;padding:clamp(1.2rem,3vw,2.2rem)}.route-dispatch{border:1px solid #171412;border:1px solid var(--ink);box-shadow:7px 7px 0 #1714122e}.route-dispatch.redacted{background:#171412;background:var(--ink);box-shadow:7px 7px 0 #811e27;box-shadow:7px 7px 0 var(--blood);color:#fffaf0;color:var(--paper-bright)}.route-dispatch.redacted .kicker{color:#e9aab0}.route-dispatch.redacted .stamp{color:#f0c1c6}.final-reveal{border:5px double #811e27;border:5px double var(--blood)}.final-reveal h2,.route-dispatch h2{font:700 clamp(2rem,5vw,4rem)/.9 Bodoni Moda,serif;margin:0}.final-reveal h2{color:#811e27;color:var(--blood)}.final-reveal p:last-child,.route-dispatch p:last-child{margin-bottom:0}.final-reveal~.inventory-section,.route-dispatch~.inventory-section{grid-row:3/span 2}.mission-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0e0c0ac7;display:grid;inset:0;padding:1rem;place-items:center;position:fixed;z-index:1000}.mission-dialog{background:#fffaf0;background:var(--paper-bright);box-shadow:15px 15px 0 #811e27;box-shadow:15px 15px 0 var(--blood);max-height:calc(100svh - 2rem);overflow-y:auto;padding:clamp(1.25rem,4vw,3.5rem);position:relative;width:min(900px,100%)}.mission-dialog:before{border:1px solid #b7aa96;border:1px solid var(--rule);content:"";inset:13px;pointer-events:none;position:absolute}.dialog-close{background:#fffaf0;background:var(--paper-bright);border:1px solid #171412;border:1px solid var(--ink);color:#171412;color:var(--ink);cursor:pointer;font:300 1.8rem/1 DM Mono,monospace;height:44px;position:absolute;right:.8rem;top:.8rem;width:44px;z-index:2}.mission-header{border-bottom:5px double #171412;border-bottom:5px double var(--ink);padding-bottom:1.25rem;position:relative}.mission-header>p:first-of-type{font:400 .65rem/1 DM Mono,monospace;letter-spacing:.08em;margin:1.25rem 0 .2rem;text-transform:uppercase}.mission-header h2{font:700 clamp(2.4rem,6vw,5rem)/.85 Bodoni Moda,serif;letter-spacing:-.05em;margin:0}.mission-deck{font-size:1.1rem;margin:1rem 0 0;max-width:650px}.mission-objective{grid-gap:1rem;border-bottom:1px solid #171412;border-bottom:1px solid var(--ink);display:grid;gap:1rem;grid-template-columns:100px 1fr;padding:1.25rem 0}.hint-drawer>div span,.mission-objective span{color:#811e27;color:var(--blood);font:500 .62rem/1.2 DM Mono,monospace;text-transform:uppercase}.inspection-puzzle{padding:1.6rem 0}.inspection-puzzle h3{font:600 clamp(1.3rem,3vw,1.8rem)/1.15 Bodoni Moda,serif;margin:0 0 1.2rem;max-width:680px}.evidence-list{grid-gap:.7rem;display:grid;gap:.7rem;grid-template-columns:repeat(2,1fr);margin-bottom:1.2rem}.evidence-list button{background:#f7f0e4;border:1px solid #b7aa96;border:1px solid var(--rule);color:#171412;color:var(--ink);cursor:pointer;min-height:115px;padding:1rem 1rem 1rem 2.1rem;position:relative;text-align:left;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.evidence-list button:hover{background:#fff9ee;border-color:#171412;border-color:var(--ink)}.evidence-list button.selected{background:#fff9ee;border-color:#811e27;border-color:var(--blood);box-shadow:inset 5px 0 #811e27,4px 4px 0 #811e2724;box-shadow:inset 5px 0 var(--blood),4px 4px 0 #811e2724}.evidence-pin{border:2px solid #811e27;border:2px solid var(--blood);border-radius:50%;height:9px;left:.75rem;position:absolute;top:1rem;width:9px}.evidence-list small,.evidence-list strong{display:block}.evidence-list strong{font:600 1.15rem/1 Bodoni Moda,serif}.evidence-list small{color:#655e54;color:var(--muted);margin-top:.45rem}.file-conclusion{margin-top:1.2rem}.order-list,.token-order{grid-gap:.65rem;display:grid;gap:.65rem;list-style:none;margin:0 0 1.2rem;padding:0}.order-list li,.token-order li{grid-gap:.8rem;align-items:center;background:#f7f0e4;border:1px solid #b7aa96;border:1px solid var(--rule);display:grid;gap:.8rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:76px;padding:.7rem}.order-number{background:#811e27;background:var(--blood);color:#fffaf0;color:var(--paper-bright);display:grid;font:500 .7rem/1 DM Mono,monospace;height:32px;place-items:center;width:32px}.match-row small,.match-row strong,.order-copy small,.order-copy strong{display:block}.match-row small,.order-copy small{color:#655e54;color:var(--muted);margin-top:.25rem}.order-actions,.token-order li>span:last-child{display:flex;gap:.35rem}.order-actions button,.token-order button{background:#fffaf0;background:var(--paper-bright);border:1px solid #171412;border:1px solid var(--ink);cursor:pointer;height:44px;width:44px}.order-actions button:disabled,.token-order button:disabled{cursor:not-allowed;opacity:.3}.matching-puzzle{grid-gap:.7rem;display:grid;gap:.7rem}.match-row{grid-gap:1rem;align-items:center;background:#f7f0e4;border:1px solid #b7aa96;border:1px solid var(--rule);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(140px,.35fr);padding:.85rem}.match-row select{background:#fffaf0;background:var(--paper-bright);border:1px solid #171412;border:1px solid var(--ink);border-radius:0;color:#171412;color:var(--ink);min-height:46px;padding:.55rem;width:100%}.clue-list{background:#eee3d2;border-left:5px solid #811e27;border-left:5px solid var(--blood);margin:0 0 1rem;padding:1rem 1rem 1rem 2rem}.media-evidence{grid-gap:.45rem;background:#eee3d2;border:1px solid #171412;border:1px solid var(--ink);display:grid;gap:.45rem;margin-bottom:1.3rem;padding:1rem}.media-evidence>span{color:#811e27;color:var(--blood);font:500 .6rem/1 DM Mono,monospace;letter-spacing:.1em;text-transform:uppercase}.media-evidence audio,.media-evidence img,.media-evidence video{max-height:360px;width:100%}.media-evidence em{color:#655e54;color:var(--muted)}.media-evidence p{margin:.25rem 0 0}.deduction-board{grid-gap:1.1rem;display:grid;gap:1.1rem}.deduction-board fieldset{border:1px solid #b7aa96;border:1px solid var(--rule);margin:0;padding:1rem}.deduction-board legend{color:#811e27;color:var(--blood);font:500 .65rem/1 DM Mono,monospace;padding:0 .4rem;text-transform:uppercase}.suspect-vote-grid{grid-gap:.55rem;display:grid;gap:.55rem;grid-template-columns:repeat(3,1fr)}.suspect-vote-grid button{background:#fffaf0;background:var(--paper-bright);border:1px solid #171412;border:1px solid var(--ink);color:#171412;color:var(--ink);cursor:pointer;min-height:48px}.suspect-vote-grid button.selected{background:#811e27;background:var(--blood);color:#fffaf0;color:var(--paper-bright)}.token-order li{grid-template-columns:minmax(0,1fr) auto;min-height:60px}.mission-message{background:#eee3d2;border-left:5px solid #811e27;border-left:5px solid var(--blood);padding:.8rem 1rem}.mission-message.error{border:1px solid #811e2759;border-left:5px solid #811e27;border-left:5px solid var(--blood);color:#571118;color:var(--blood-dark)}.hint-drawer{border-top:5px double #171412;border-top:5px double var(--ink);padding-top:1.25rem}.hint-drawer h3{font:600 1.35rem/1 Bodoni Moda,serif;margin:.2rem 0 1rem}.hint-drawer ol{list-style:none;padding:0}.hint-drawer li{grid-gap:.7rem;border-top:1px solid #b7aa96;border-top:1px solid var(--rule);display:grid;gap:.7rem;grid-template-columns:28px 1fr;padding:.7rem 0}.hint-drawer li span{background:#811e27;background:var(--blood);color:#fffaf0;color:var(--paper-bright);display:grid;font:500 .6rem/1 DM Mono,monospace;height:25px;place-items:center;width:25px}.case-closed-message{padding:clamp(2rem,6vw,5rem) 0 1rem;position:relative;text-align:center}.closed-stamp{border:5px double #811e27;border:5px double var(--blood);color:#811e27;color:var(--blood);display:inline-block;font:500 1rem/1 DM Mono,monospace;letter-spacing:.12em;padding:.6rem 1rem;text-transform:uppercase;transform:rotate(-3deg)}.case-closed-message h3{font:700 clamp(2rem,5vw,3.5rem)/1 Bodoni Moda,serif;margin:1.5rem 0 .6rem}.case-closed-message p{margin:0 auto 1.5rem;max-width:570px}.physical-handoff{align-items:center;background:#eee3d2;border:1px solid #171412;border:1px solid var(--ink);box-shadow:6px 6px 0 #17141226;display:flex;gap:1rem;margin:1.5rem auto;max-width:620px;padding:1rem;text-align:left}.physical-handoff strong{display:block;font:600 1.35rem/1.05 Bodoni Moda,serif}.physical-handoff p{margin:.3rem 0 0}.finale-declassify{margin-top:.75rem}.organizer-page{padding-bottom:5rem}.organizer-header{border-bottom:5px double #171412;border-bottom:5px double var(--ink);display:flex;gap:2rem;justify-content:space-between;padding:clamp(1.5rem,5vw,4rem)}.organizer-header h1{font:700 clamp(3rem,7vw,6rem)/.8 Bodoni Moda,serif;letter-spacing:-.055em;margin:0}.organizer-header p:last-child{max-width:620px}.archive-link{align-self:start;font:500 .65rem/1 DM Mono,monospace;text-transform:uppercase}.organizer-layout{grid-gap:clamp(1.5rem,4vw,4rem);display:grid;gap:clamp(1.5rem,4vw,4rem);grid-template-columns:minmax(240px,.28fr) minmax(0,1fr);margin:auto;max-width:1450px;padding:clamp(1rem,4vw,4rem)}.readiness-panel{align-self:start;background:#171412;background:var(--ink);color:#fffaf0;color:var(--paper-bright);padding:1.4rem;position:sticky;top:1rem}.readiness-panel>strong{display:block;font:600 1.6rem/1 Bodoni Moda,serif;margin:1rem 0}.readiness-panel ul{color:#d9cfc0;font-size:.85rem;max-height:230px;overflow:auto;padding-left:1rem}.readiness-panel .file-trigger,.readiness-panel .red-button{width:100%}.readiness-panel .file-trigger{border-color:#fffaf0;border-color:var(--paper-bright);color:#fffaf0;color:var(--paper-bright)}.readiness-panel .notice{color:#f3c3c7}.settings-stack{min-width:0}.settings-section{margin-bottom:3.5rem}.section-heading{align-items:end;border-bottom:1px solid #171412;border-bottom:1px solid var(--ink);display:flex;justify-content:space-between;margin-bottom:1rem}.section-heading>div{align-items:baseline;display:flex;gap:1rem}.section-heading span{color:#811e27;color:var(--blood);font:500 .65rem/1 DM Mono,monospace}.section-heading h2{font:600 clamp(2rem,4vw,3.3rem)/1 Bodoni Moda,serif;margin:0 0 .3rem}.section-note{color:#655e54;color:var(--muted)}.settings-card{grid-gap:.9rem;background:#fffaf08f;border:1px solid #b7aa96;border:1px solid var(--rule);display:grid;gap:.9rem;margin-bottom:.8rem;padding:1rem}.settings-card legend{color:#811e27;color:var(--blood);font:500 .62rem/1 DM Mono,monospace;padding:0 .4rem;text-transform:uppercase}.mission-settings label,.settings-card label{grid-gap:.35rem;display:grid;font:500 .62rem/1.2 DM Mono,monospace;gap:.35rem;letter-spacing:.06em;text-transform:uppercase}.mission-settings input,.mission-settings textarea,.settings-card input,.settings-card textarea{background:#fffaf0;background:var(--paper-bright);border:1px solid #b7aa96;border:1px solid var(--rule);border-radius:0;color:#171412;color:var(--ink);font:400 1rem/1.3 Newsreader,serif;min-height:44px;padding:.65rem .75rem;text-transform:none;width:100%}.mission-settings textarea,.settings-card textarea{min-height:72px;resize:vertical}.cast-settings-grid{grid-gap:.8rem;display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr)}.mission-settings{border-top:1px solid #b7aa96;border-top:1px solid var(--rule)}.mission-settings:last-child{border-bottom:1px solid #b7aa96;border-bottom:1px solid var(--rule)}.mission-settings summary{cursor:pointer;font:600 1.2rem/1 Bodoni Moda,serif;min-height:52px;padding:1rem .5rem}.mission-settings summary span{color:#811e27;color:var(--blood);display:inline-block;font:500 .62rem/1 DM Mono,monospace;min-width:55px}.mission-settings-body{grid-gap:.8rem;display:grid;gap:.8rem;padding:0 .5rem 1.2rem}@media (max-width:900px){.blast-landing{grid-template-columns:1fr}.cover-aside{display:none}.blast-cover{padding-top:5rem}.case-board-shell{grid-template-columns:1fr}.evidence-section,.inventory-section,.suspect-section{grid-column:1}.inventory-section{border-left:0;grid-row:auto;padding:0}.suspect-strip{grid-template-columns:repeat(3,1fr)}.organizer-layout{grid-template-columns:1fr}.readiness-panel{position:static}}@media (max-width:620px){.mission-backdrop{padding:0}.campaign-nav,.investigation-header,.organizer-header{align-items:flex-start;flex-direction:column}.campaign-nav div,.header-actions{flex-wrap:wrap}.blast-cover{padding-inline:1.2rem}.blast-alert{align-items:stretch;flex-direction:column;gap:0}.blast-alert strong{padding:.65rem .8rem}.opening-handoff,.physical-handoff{align-items:flex-start;flex-direction:column}.password-row{align-items:stretch;flex-direction:column}.cover-issue{right:1.2rem}.blast-cover h1{font-size:clamp(3.2rem,18vw,5.3rem)}.dossier-import.compact{display:block;margin:1rem 0 0}.case-board-shell{padding:1rem}.case-brief{grid-template-columns:1fr auto}.case-number{display:none}.case-progress{grid-column:2;grid-row:1/span 2}.suspect-strip{grid-template-columns:repeat(2,1fr)}.act-row{grid-template-columns:1fr}.act-row h3{margin-bottom:0}.cast-settings-grid,.evidence-list,.match-row,.mission-grid,.suspect-vote-grid{grid-template-columns:1fr}.order-list li{grid-template-columns:auto minmax(0,1fr)}.order-actions{grid-column:2}.final-reveal,.route-dispatch{align-items:flex-start;flex-direction:column}.mission-dialog{box-shadow:none;max-height:100svh;min-height:100svh;padding:1.1rem}.mission-dialog:before{inset:7px}.mission-header{padding-top:2.6rem}.mission-objective{gap:.35rem;grid-template-columns:1fr}.organizer-layout{padding:1rem}}@media (prefers-reduced-motion:reduce){.campaign30 *,.campaign30 :after,.campaign30 :before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.7f9b7bbc.css.map*/