:root{--font-family-serif: "Noto Serif JP", serif;--font-family-sans: "Outfit", sans-serif;--bg-color: #0d0d0d;--text-color: #e0e0e0;--accent-color: #ff3c3c;--secondary-color: #555;--border-color: #222;--shadow-color: rgba(0, 0, 0, .5);--glitch-color: #00ffff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-serif);background-color:var(--bg-color);color:var(--text-color);line-height:1.8;overflow-x:hidden;display:flex;justify-content:center;align-items:center;min-height:100vh}#app{width:90%;max-width:800px;min-height:80vh;display:flex;flex-direction:column;padding:40px;border:1px solid var(--border-color);background:radial-gradient(circle at center,#1a1a1a,#0d0d0d);box-shadow:0 10px 30px var(--shadow-color);position:relative}.game-header{border-bottom:2px solid var(--accent-color);margin-bottom:30px;padding-bottom:10px;display:flex;justify-content:space-between;align-items:flex-end}.game-title{font-family:var(--font-family-sans);font-size:1.2rem;text-transform:uppercase;letter-spacing:.2rem;color:var(--accent-color)}.header-controls{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.status-indicator{font-family:"monospace";font-size:.65rem;color:var(--secondary-color);letter-spacing:1px}.system-btn{background:transparent;border:1px solid #333;color:#666;font-family:var(--font-family-sans);font-size:.65rem;padding:4px 12px;cursor:pointer;letter-spacing:2px;transition:all .3s ease;text-transform:uppercase}.system-btn:hover{border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 0 10px #ff3c3c33}.story-content{flex-grow:1;font-size:1.1rem;margin-bottom:40px;animation:fadeIn 1s ease-in-out}.story-content p{margin-bottom:1.5rem}.story-content h2{font-family:var(--font-family-sans);font-size:1.3rem;color:var(--accent-color);margin-top:2rem;margin-bottom:1rem;border-left:4px solid var(--accent-color);padding-left:15px}.choice-actions{display:grid;gap:15px}.choice-btn{background-color:transparent;color:var(--text-color);border:1px solid var(--border-color);padding:15px 25px;font-family:var(--font-family-serif);font-size:1rem;text-align:left;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.choice-btn:hover{background-color:var(--accent-color);color:#000;border-color:var(--accent-color);transform:translate(10px)}.choice-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:.5s}.choice-btn:hover:before{left:100%}.game-footer{margin-top:40px;text-align:right}.footer-hint{font-size:.8rem;color:var(--secondary-color)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes glitchFade{0%{opacity:0}20%{opacity:1}40%{opacity:.8}60%{opacity:1}to{opacity:0}}.glitch-screen{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff;z-index:1000;pointer-events:none;opacity:0;mix-blend-mode:color-dodge}.glitch-active{animation:glitchFade .5s steps(5) infinite}.corruption-lv1 .story-content{animation:flicker 4s infinite}.corruption-lv2 .story-content{filter:blur(.4px);animation:jitter .5s infinite}.corruption-lv3 .story-content{filter:blur(1.5px) contrast(180%) grayscale(.5) hue-rotate(20deg);animation:heavy-glitch .1s infinite,noise-bg .5s steps(3) infinite;text-shadow:3px 0 rgba(255,0,0,.8),-3px 0 rgba(0,255,255,.8),0 2px rgba(0,255,0,.8);-webkit-user-select:none;user-select:none}@keyframes noise-bg{0%{background-color:#ff00000d}33%{background-color:#00ff000d}66%{background-color:#0000ff0d}}@keyframes flicker{0%,to{opacity:1}50%{opacity:.95}51%{opacity:.8}52%{opacity:1}}@keyframes jitter{0%{transform:translate(0) skew(0)}25%{transform:translate(1px,.5px) skew(.5deg)}50%{transform:translate(-.5px,-1px) skew(-.5deg)}75%{transform:translate(.5px,.5px) skew(.2deg)}to{transform:translate(0) skew(0)}}@keyframes heavy-glitch{0%{transform:translate(0) scale(1);filter:hue-rotate(0deg)}20%{transform:translate(-3px,2px) scale(1.01);filter:hue-rotate(90deg)}40%{transform:translate(3px,-2px) scale(.99);filter:hue-rotate(180deg)}60%{transform:translate(-2px,-3px) scale(1.02);filter:hue-rotate(270deg)}80%{transform:translate(2px,3px) scale(.98);filter:hue-rotate(360deg)}to{transform:translate(0) scale(1)}}.glitch-text{color:var(--glitch-color);font-family:var(--font-family-sans);font-weight:700;text-shadow:0 0 5px var(--glitch-color);position:relative}.corruption-lv2 .glitch-text,.corruption-lv3 .glitch-text{animation:jitter .1s infinite;color:#f0f}.liberated{--bg-color: #f0faff;--text-color: #2c3e50;--accent-color: #3498db;--secondary-color: #7f8c8d;--border-color: #d1e8ff;--shadow-color: rgba(52, 152, 219, .2)}.liberated #app{background:linear-gradient(135deg,#fff,#e8f4fd);border-color:#b3e5fc;box-shadow:0 0 40px #fffc,0 20px 50px var(--shadow-color);transition:all 2s ease-in-out}.liberated .game-title{color:#0288d1;text-shadow:none}.liberated .choice-btn{border-color:#b3e5fc;background-color:#fffc}.liberated .choice-btn:hover{background-color:#03a9f4;color:#fff}.liberated .glitch-text{color:#0288d1;text-shadow:none;animation:none!important}.liberated .story-content{animation:floatIn 1.5s ease-out}@keyframes floatIn{0%{opacity:0;transform:translateY(20px);filter:blur(10px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.chapter-select-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;z-index:10000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;animation:fadeIn .5s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chapter-select-container{max-width:500px;width:100%;border:1px solid var(--accent-color);background:#0a0a0a;padding:40px;position:relative;box-shadow:0 0 50px #ff3c3c1a}.chapter-select-title{font-family:var(--font-family-sans);font-size:.9rem;color:var(--accent-color);letter-spacing:.4rem;text-transform:uppercase;margin-bottom:40px;text-align:center;border-bottom:1px solid var(--border-color);padding-bottom:15px}.chapter-select-list{display:grid;gap:12px}.chapter-jump-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-color);padding:15px;font-family:var(--font-family-serif);cursor:pointer;transition:all .3s ease;text-align:left;display:flex;justify-content:space-between;align-items:center}.chapter-jump-btn:hover{border-color:var(--accent-color);background:#ff3c3c0d;transform:translate(5px)}.chapter-jump-btn span{font-family:var(--font-family-sans);font-size:.7rem;color:var(--secondary-color)}.chapter-select-close{margin-top:40px;background:transparent;border:none;color:var(--secondary-color);font-family:var(--font-family-sans);font-size:.8rem;letter-spacing:2px;cursor:pointer;text-transform:uppercase}.chapter-select-close:hover{color:#fff}.records-btn{margin-top:30px;border-color:#444!important;color:#888!important;font-size:.85rem!important;opacity:.8}.records-btn:hover{border-color:var(--accent-color)!important;color:var(--accent-color)!important;opacity:1}.liberated .chapter-select-container{background:#fff;border-color:#3498db;box-shadow:0 0 50px #3498db33}.liberated .chapter-select-title{color:#3498db}.liberated .chapter-jump-btn:hover{border-color:#3498db;background:#3498db0d}.title-screen-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000;z-index:9000;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px}.title-logo-container{text-align:center;margin-bottom:80px}.title-main{font-family:var(--font-family-sans);font-size:clamp(48px,12vw,96px);font-weight:900;color:#fff;letter-spacing:15px;text-transform:uppercase;margin-bottom:10px;background:linear-gradient(135deg,#fff,#ff3c3c);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:logoPulse 4s ease-in-out infinite}.title-sub{color:var(--secondary-color);font-size:.9rem;letter-spacing:10px;text-transform:uppercase}.title-actions{display:flex;flex-direction:column;gap:20px;width:100%;max-width:280px}.title-btn{background:transparent;border:1px solid #333;color:#888;padding:18px;font-family:var(--font-family-sans);font-size:.8rem;letter-spacing:5px;cursor:pointer;transition:all .4s ease;text-transform:uppercase;position:relative;overflow:hidden}.title-btn:hover{border-color:#fff;color:#fff;background:#ffffff0d;letter-spacing:7px}.title-btn.primary{border-color:var(--accent-color);color:var(--accent-color)}.title-btn.primary:hover{background:var(--accent-color);color:#000}@keyframes logoPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 20px rgba(255,60,60,0))}50%{transform:scale(1.05);filter:drop-shadow(0 0 40px rgba(255,60,60,.3))}}.title-fade-out{animation:titleFadeOut 1s ease forwards}@keyframes titleFadeOut{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(1.1);filter:blur(20px)}}
