@import"https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700&family=Orbitron:wght@400;700;900&display=swap";:root{--bg: #030712;--surface: rgba(15, 23, 42, .72);--border: rgba(56, 189, 248, .22);--accent: #38bdf8;--accent-glow: rgba(56, 189, 248, .4);--text: #e2e8f0;--muted: #94a3b8;--red: #ef4444;--font-display: "Orbitron", "Noto Sans SC", sans-serif;--font-body: "Noto Sans SC", sans-serif;--radius: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 10% 40%,rgba(56,189,248,.07) 0%,transparent 40%),radial-gradient(circle at 90% 20%,rgba(125,211,252,.05) 0%,transparent 35%);background-attachment:fixed}img{display:block;max-width:100%}button{cursor:pointer;font-family:inherit;border:none}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:9000;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.07) 2px,rgba(0,0,0,.07) 4px);opacity:.6}.boot-screen{position:fixed;inset:0;background:#000;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.5rem}.boot-log{width:100%;max-width:620px;font-family:Courier New,monospace;font-size:clamp(.8rem,3.5vw,1.05rem);color:var(--accent);line-height:2.2}.boot-line{animation:fadeSlideIn .25s ease both}@keyframes fadeSlideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.boot-cursor{animation:blink .7s steps(1) infinite;display:inline-block}@keyframes blink{50%{opacity:0}}.app-wrapper{opacity:0;transition:opacity 1s ease}.app-wrapper.visible{opacity:1}.site-header{text-align:center;padding:clamp(2rem,8vw,5rem) 1rem clamp(1.5rem,4vw,3rem);position:relative}.site-header:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:140px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent)}.header-tag{font-family:var(--font-display);font-size:clamp(.5rem,2.5vw,.78rem);letter-spacing:3px;color:var(--accent);margin-bottom:.8rem;text-transform:uppercase;opacity:.8}.site-header h1{font-family:var(--font-display);font-size:clamp(1.7rem,7vw,3.5rem);font-weight:900;letter-spacing:2px;color:#fff;text-shadow:0 0 24px var(--accent-glow)}.subtitle{font-size:clamp(.72rem,2.5vw,.95rem);color:var(--muted);margin-top:.5rem;letter-spacing:1px}main{max-width:1350px;margin:0 auto;padding:clamp(.75rem,3vw,3rem) clamp(.75rem,3vw,2rem)}.section-title{font-family:var(--font-display);font-size:clamp(.9rem,3.5vw,1.5rem);color:#fff;margin-bottom:1.2rem;letter-spacing:1.5px;display:flex;align-items:center;gap:.5rem}.section-icon{color:var(--accent)}.filter-bar{display:flex;flex-wrap:nowrap;gap:.6rem;margin-bottom:2rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.filter-bar::-webkit-scrollbar{display:none}.filter-btn{background:#0f172acc;border:1px solid var(--border);color:var(--muted);padding:.5rem 1.1rem;border-radius:20px;font-family:var(--font-display);font-size:clamp(.6rem,2.5vw,.75rem);letter-spacing:1px;text-transform:uppercase;transition:all .25s ease;white-space:nowrap;min-height:36px;flex-shrink:0}.filter-btn:hover{border-color:var(--accent);color:#fff;background:#38bdf814}.filter-btn.active{background:#38bdf826;border-color:var(--accent);color:#fff;box-shadow:0 0 10px var(--accent-glow)}.story-arc-wrapper{margin-bottom:3rem}.story-arc-header{margin:0 0 1.5rem;display:flex;align-items:center;gap:.8rem;padding-bottom:.7rem;border-bottom:1px solid rgba(56,189,248,.25);flex-wrap:wrap}.arc-badge{font-family:var(--font-display);font-size:clamp(.55rem,2vw,.65rem);color:var(--accent);border:1px solid var(--accent);padding:3px 9px;border-radius:3px;letter-spacing:2px;white-space:nowrap}.arc-text{font-family:var(--font-display);font-size:clamp(.85rem,3.5vw,1.1rem);font-weight:700;color:#fff;letter-spacing:1px}.cast-section{margin-bottom:4rem}.cast-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}@media(max-width:800px){.cast-grid{grid-template-columns:repeat(2,1fr);gap:.85rem}}@media(max-width:480px){.cast-grid{grid-template-columns:1fr;gap:.6rem}}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:transform .3s ease,box-shadow .3s ease,border-color .3s;position:relative}@media(hover:hover){.role-card:hover{transform:translateY(-8px);box-shadow:0 16px 36px #0009,0 0 14px var(--accent-glow);border-color:var(--accent)}.role-card:hover .actor-photo{transform:scale(1.06);filter:grayscale(0%) contrast(108%)}}.role-card:active{border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow)}.ai-match-badge{position:absolute;top:8px;right:8px;z-index:10;background:#000000bf;border:1px solid var(--accent);color:var(--accent);padding:2px 7px;border-radius:4px;font-family:var(--font-display);font-size:clamp(.55rem,1.8vw,.7rem);letter-spacing:1px;font-weight:700}.image-container{width:100%;height:clamp(150px,42vw,420px);overflow:hidden;position:relative}@media(max-width:480px){.image-container{height:clamp(280px,110vw,480px);aspect-ratio:3 / 4}}.image-container:after{content:"";position:absolute;bottom:0;left:0;right:0;height:45%;background:linear-gradient(to top,#030712,transparent)}.actor-photo{width:100%;height:100%;object-fit:cover;object-position:top center;filter:grayscale(15%) contrast(108%);transition:transform .5s ease,filter .5s ease}.card-content{padding:clamp(.7rem,2.5vw,1.4rem);position:relative;z-index:1;margin-top:-44px}.faction-tag{display:inline-block;font-family:var(--font-display);font-size:clamp(.5rem,1.8vw,.62rem);letter-spacing:1.5px;text-transform:uppercase;color:var(--accent);border:1px solid rgba(56,189,248,.4);padding:2px 7px;border-radius:3px;margin-bottom:.4rem}.role-name{font-family:var(--font-display);font-size:clamp(.9rem,3.5vw,1.5rem);font-weight:700;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.9);margin-bottom:.3rem;line-height:1.2}.actor-name{display:inline-block;font-family:var(--font-display);font-size:clamp(.65rem,2vw,.88rem);white-space:nowrap;color:var(--accent);padding:.15rem .6rem;margin-bottom:.6rem;background:#38bdf814;border:1px solid rgba(56,189,248,.3);border-radius:4px;letter-spacing:1px;max-width:100%;overflow:hidden;text-overflow:ellipsis}.bio{font-size:clamp(.72rem,2vw,.88rem);color:var(--muted);line-height:1.7;text-align:justify;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:480px){.bio{-webkit-line-clamp:4;line-clamp:4}}@media(min-width:481px){.bio{-webkit-line-clamp:unset;line-clamp:unset}}.easter-egg-icon{display:inline-flex;margin-left:.6rem;font-size:1.1rem;cursor:pointer;vertical-align:middle;transition:transform .2s,filter .2s;-webkit-user-select:none;user-select:none}.easter-egg-icon:hover{transform:scale(1.15) translateY(-2px);filter:drop-shadow(0 0 6px var(--accent-glow))}.easter-egg-icon:active{transform:scale(.95)}.easter-egg-tooltip{position:absolute;top:1rem;left:1rem;right:1rem;z-index:20;padding:.9rem 1.1rem;background:#080f1eeb;border:1px solid var(--accent);border-radius:8px;font-size:clamp(.75rem,2vw,.85rem);color:#bae6fd;line-height:1.6;box-shadow:0 8px 32px #000c,0 0 16px #38bdf840;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);animation:tooltipFadeIn .25s cubic-bezier(.16,1,.3,1) forwards;pointer-events:none}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.like-float{position:absolute;bottom:10px;right:10px;z-index:15;display:inline-flex;align-items:center;gap:.35rem;background:#0009;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.3rem .7rem;border-radius:20px;font-family:var(--font-display);font-size:clamp(.6rem,1.8vw,.72rem);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:all .25s ease;-webkit-user-select:none;user-select:none}.like-float:hover{background:#ef444426;border-color:#ef444499;box-shadow:0 0 14px #ef44444d;transform:scale(1.05)}.like-float:active{transform:scale(.92)}.like-svg{fill:#f87171;transition:transform .3s ease}.like-float.pop .like-svg{animation:heartPop .5s cubic-bezier(.17,.89,.32,1.49)}.like-num{font-weight:700;letter-spacing:.5px;min-width:1em;text-align:center}@keyframes heartPop{0%{transform:scale(1)}30%{transform:scale(1.6)}60%{transform:scale(.8)}to{transform:scale(1)}}.simulator-section{padding-top:3rem;border-top:1px solid rgba(56,189,248,.15)}.simulator-desc{color:var(--muted);margin-bottom:1.5rem;font-size:clamp(.82rem,2.5vw,.95rem);line-height:1.7}.scenes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem}@media(max-width:480px){.scenes-grid{grid-template-columns:1fr;gap:.8rem}}.scene-card{background:#0f172a66;border:1px dashed rgba(56,189,248,.5);padding:clamp(1rem,3vw,1.4rem);border-radius:10px;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.scene-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(56,189,248,.05) 0%,transparent 60%);opacity:0;transition:opacity .3s}@media(hover:hover){.scene-card:hover{background:#38bdf814;transform:translateY(-4px);box-shadow:0 6px 20px var(--accent-glow)}.scene-card:hover:before{opacity:1}.scene-card:hover .decrypt-badge{box-shadow:0 0 12px var(--accent)}}.scene-card:active{background:#38bdf81a;border-color:var(--accent)}.scene-lock-icon{font-size:1.2rem;margin-bottom:.4rem}.scene-title{font-size:clamp(1rem,3.5vw,1.15rem);font-weight:700;color:var(--text);margin-bottom:.35rem}.scene-desc{font-size:clamp(.78rem,2.2vw,.88rem);color:var(--muted);margin-bottom:.8rem;line-height:1.6;flex:1}.decrypt-badge{display:inline-block;padding:.35rem 1rem;background:var(--accent);color:#000;font-family:var(--font-display);font-weight:700;border-radius:4px;font-size:clamp(.62rem,2vw,.72rem);letter-spacing:1px;transition:box-shadow .2s;align-self:flex-start}.modal-drag-handle{width:40px;height:4px;background:#38bdf859;border-radius:2px;margin:0 auto 1rem}@media(min-width:700px){.modal-drag-handle{display:none}}.modal-overlay{position:fixed;inset:0;background:#000000e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center;z-index:5000;padding:0}@media(min-width:700px){.modal-overlay{align-items:center;padding:1rem}}.modal-content{background:#040e1f;border:1px solid var(--accent);width:100%;max-width:860px;padding:clamp(1rem,4vw,2rem);position:relative;box-shadow:0 0 40px var(--accent-glow);overflow-y:auto;border-radius:18px 18px 0 0;max-height:94vh}@media(min-width:700px){.modal-content{border-radius:14px;border-width:2px;max-height:92vh;margin:auto}}.close-btn{position:absolute;top:12px;right:14px;background:#38bdf81a;border:1px solid var(--border)!important;color:var(--accent);border:none;font-size:1.2rem;line-height:1;width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .2s,transform .2s;padding:0}.close-btn:hover{opacity:1;transform:scale(1.15)}.close-btn:active{transform:scale(.95)}.modal-header{text-align:center;margin-bottom:1.2rem;border-bottom:1px solid var(--border);padding-bottom:.9rem;padding-top:.3rem}.modal-system-tag{font-family:var(--font-display);font-size:clamp(.55rem,2vw,.65rem);letter-spacing:4px;color:var(--accent);margin-bottom:.4rem;text-transform:uppercase}.modal-title{font-family:var(--font-display);font-size:clamp(1rem,4vw,1.55rem);color:#fff;font-weight:700;letter-spacing:1.5px}.vs-arena{display:flex;justify-content:center;align-items:center;gap:clamp(.8rem,3vw,2.2rem);margin-bottom:1.2rem;flex-wrap:nowrap}.arena-actor{text-align:center;flex:0 0 auto;max-width:38%}.arena-avatar{width:clamp(72px,18vw,130px);height:clamp(72px,18vw,130px);border-radius:50%;object-fit:cover;object-position:top center;border:3px solid var(--border);transition:border-color .3s}.arena-avatar:hover{border-color:var(--accent)}.arena-name{font-family:var(--font-display);font-weight:700;color:var(--accent);margin-top:.4rem;font-size:clamp(.65rem,2.5vw,.88rem);word-break:break-all}.arena-char{font-size:clamp(.65rem,2vw,.78rem);color:var(--muted);margin-top:.1rem}.vs-sign{font-family:var(--font-display);font-size:clamp(1.3rem,5vw,2.5rem);color:#fff;text-shadow:0 0 16px var(--accent);font-weight:900;font-style:italic;flex-shrink:0}.terminal-box{background:#000d1a;border:1px solid #1e3a5f;padding:1rem;border-radius:6px;height:clamp(180px,35vh,300px);overflow-y:auto;font-family:Courier New,monospace;font-size:clamp(.82rem,2.5vw,.96rem);line-height:1.85;margin-bottom:1rem;scroll-behavior:smooth}.terminal-box::-webkit-scrollbar{width:4px}.terminal-box::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.dialogue-line{margin-bottom:.6rem;animation:lineAppear .3s ease both}@keyframes lineAppear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.d-actor{color:var(--accent);font-weight:700;margin-right:6px}.d-text{color:#dde6f0}.simulation-complete{text-align:center;color:var(--accent);font-style:italic;margin-top:1rem;opacity:.8}.vote-actions{display:flex;justify-content:center;gap:.8rem;margin-top:.8rem;flex-wrap:nowrap}@media(max-width:480px){.vote-actions{gap:.6rem}}.btn-vote{padding:.75rem 1.5rem;border-radius:8px;font-family:var(--font-display);font-size:clamp(.75rem,2.5vw,.85rem);font-weight:700;letter-spacing:1px;transition:all .25s ease;flex:1;max-width:200px;min-height:44px}.btn-perfect{background:var(--accent);color:#000}.btn-perfect:hover{box-shadow:0 0 18px var(--accent)}.btn-perfect:active{filter:brightness(.88);transform:scale(.97)}.btn-recast{background:transparent;border:1.5px solid var(--red);color:var(--red)}.btn-recast:hover{background:#ef44441a;box-shadow:0 0 14px #ef444480}.btn-recast:active{filter:brightness(.88);transform:scale(.97)}.vote-result{text-align:center;color:var(--accent);font-weight:700;font-size:clamp(.8rem,2.5vw,.95rem);margin-top:.8rem;letter-spacing:1px;font-family:var(--font-display);padding:.75rem;border:1px solid var(--border);border-radius:6px}.site-footer{text-align:center;padding:clamp(2rem,8vw,3rem) 1rem;border-top:1px solid rgba(255,255,255,.05);margin-top:3rem;color:var(--muted);font-size:clamp(.82rem,2.5vw,.9rem);font-style:italic;line-height:2}.footer-credit{font-family:var(--font-display);font-size:clamp(.5rem,2vw,.62rem);letter-spacing:2px;margin-top:.5rem;text-transform:uppercase;opacity:.6}
