@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&family=Playfair+Display:wght@500;600;700&display=swap');
:root{--bg:#0a0a0a;--bg2:#141414;--violet:#f5c518;--violet2:#ffd633;--navy:#1c1c1c;--silver:#e0e0e0;--cream:#ffffff;--muted:#a8a8a8;--line:rgba(224,224,224,.16);--panel:rgba(28,28,28,.72);--shadow:0 30px 90px rgba(0,0,0,.55)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% -10%,rgba(245,197,24,.14),transparent 32%),linear-gradient(180deg,#0a0a0a,#101010 55%,#0a0a0a);color:var(--cream);font-family:Manrope,Arial,sans-serif;overflow-x:hidden}body.lock{overflow:hidden}a{text-decoration:none;color:inherit}button{font:inherit}::selection{background:var(--violet);color:#000}.wrap{width:min(1240px,90%);margin:auto}.mono{font-family:'DM Mono',monospace}.eyebrow{font:500 11px 'DM Mono',monospace;letter-spacing:.28em;color:var(--violet2)}h1,h2,h3,p{margin-top:0}.display{font:600 clamp(48px,8vw,108px)/.92 'Playfair Display',serif;letter-spacing:-.035em}.small-display{font-size:clamp(42px,6vw,78px)}
/* studio nav */
.nav{position:fixed;top:0;left:0;right:0;height:76px;z-index:800;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid transparent;transition:.35s}.nav.scrolled{background:rgba(10,10,10,.8);backdrop-filter:blur(20px);border-color:var(--line)}.brand{display:flex;align-items:center;gap:14px}.brand img{width:92px;height:auto;display:block;filter:brightness(1.04)}.brand-word{font-size:13px;letter-spacing:.28em;font-weight:700}.links{display:flex;gap:25px;align-items:center}.links a{font:500 11px 'DM Mono',monospace;letter-spacing:.13em;color:#bdbdbd;transition:.25s}.links a:hover,.links a.active{color:var(--violet)}.links .social{border:1px solid var(--line);padding:10px 13px}.menu{display:none;background:none;border:1px solid var(--line);color:var(--cream);padding:8px 10px}
/* cursor */
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:100000;transform:translate(-50%,-50%);mix-blend-mode:screen}.cursor-dot{width:5px;height:5px;border-radius:50%;background:var(--violet)}.cursor-ring{width:28px;height:28px;border:1px solid rgba(245,197,24,.75);border-radius:50%;transition:width .2s,height .2s,border-color .2s}.cursor-ring.hover{width:46px;height:46px;border-color:var(--cream)}@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}
/* reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.reveal.show{opacity:1;transform:none}
/* intro */
#intro{position:fixed;inset:0;z-index:99999;background:#050505;display:grid;place-items:center;overflow:hidden;transition:opacity .9s ease,visibility .9s ease}#intro.hide{opacity:0;visibility:hidden;pointer-events:none}.intro-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(245,197,24,.16),transparent 26%),radial-gradient(circle at 18% 82%,rgba(28,28,28,.5),transparent 32%)}.intro-lines{position:absolute;inset:-20%;background:linear-gradient(115deg,transparent 46%,rgba(224,224,224,.06) 50%,transparent 54%);transform:rotate(-12deg);animation:introSweep 7s ease-in-out infinite}.intro-copy{position:relative;z-index:2;text-align:center;display:flex;flex-direction:column;align-items:center}.intro-logo{width:min(520px,72vw);max-height:180px;object-fit:contain;opacity:0;filter:drop-shadow(0 0 35px rgba(245,197,24,.22));animation:introLogo 1.15s .25s forwards}.intro-name{font:700 clamp(25px,4vw,48px) 'Manrope',sans-serif;letter-spacing:.38em;margin-left:.38em;margin-top:25px;opacity:0;animation:introUp .75s 1.25s forwards}.intro-line{height:1px;width:0;background:linear-gradient(90deg,transparent,var(--violet),transparent);margin-top:24px;animation:lineGrow .8s 2s forwards}.intro-presents{font:500 11px 'DM Mono',monospace;letter-spacing:.28em;color:var(--silver);margin-top:22px;opacity:0;animation:introUp .7s 2.15s forwards}.intro-author{font:500 12px 'DM Mono',monospace;letter-spacing:.2em;color:var(--muted);margin-top:14px;opacity:0;animation:introUp .7s 2.5s forwards}.intro-author strong{color:var(--violet)}@keyframes introLogo{to{opacity:1;transform:scale(1)}}@keyframes introUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes lineGrow{to{width:min(300px,48vw)}}@keyframes introSweep{0%,100%{transform:translateX(-12%) rotate(-12deg)}50%{transform:translateX(12%) rotate(-12deg)}}
/* section entry */
.section-entry{position:fixed;inset:0;z-index:9998;background:#070707;display:grid;place-items:center;opacity:1;visibility:visible;transition:opacity .7s,visibility .7s}.section-entry.leave{opacity:0;visibility:hidden;pointer-events:none}.entry-inner{text-align:center}.entry-kicker{font:500 10px 'DM Mono',monospace;letter-spacing:.28em;color:var(--violet2)}.entry-title{font:600 clamp(42px,7vw,92px) 'Playfair Display',serif;margin-top:16px}.entry-rule{width:70px;height:1px;background:var(--violet);margin:20px auto}
/* hero */
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;padding:170px 0 110px;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 70% 35%,rgba(245,197,24,.15),transparent 30%),linear-gradient(90deg,rgba(10,10,10,.98),rgba(10,10,10,.72) 48%,rgba(10,10,10,.35));z-index:1}.hero-art{position:absolute;inset:0;background:url('assets/hero/shinkage-visual.png') center/cover no-repeat;opacity:.22;filter:saturate(.75) contrast(1.08)}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(224,224,224,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(224,224,224,.035) 1px,transparent 1px);background-size:70px 70px;mask-image:linear-gradient(to bottom,transparent,black 35%,transparent)}.hero-content{position:relative;z-index:2;width:min(1240px,90%);margin:auto}.hero-kicker{display:flex;align-items:center;gap:12px}.hero-kicker i{width:32px;height:1px;background:var(--violet)}.hero-title{font-size:clamp(68px,13vw,180px);margin:22px 0 18px;line-height:.8}.hero-copy{max-width:590px;color:var(--silver);font-size:17px;line-height:1.8}.hero-meta{display:flex;gap:24px;margin-top:30px;color:var(--muted);font:500 10px 'DM Mono',monospace;letter-spacing:.18em}.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border:1px solid var(--line);font:500 10px 'DM Mono',monospace;letter-spacing:.16em;transition:.25s}.btn:hover{transform:translateY(-3px);border-color:var(--violet);color:var(--violet)}.btn.primary{background:var(--violet);color:#0a0a0a;border-color:var(--violet)}.btn.primary:hover{background:var(--violet2);border-color:var(--violet2);color:#0a0a0a}
/* sections */
.section{padding:125px 0}.section.alt{background:linear-gradient(180deg,transparent,rgba(28,28,28,.35),transparent)}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:55px}.section-head p{max-width:440px;color:var(--muted);line-height:1.8}.doors{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.door{min-height:360px;position:relative;overflow:hidden;border:1px solid var(--line);background:linear-gradient(180deg,rgba(28,28,28,.72),rgba(12,12,12,.94));padding:25px;display:flex;flex-direction:column;justify-content:space-between;transition:.4s}.door::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 75% 15%,rgba(245,197,24,.2),transparent 35%);opacity:.55;transition:.4s}.door:hover{transform:translateY(-8px);border-color:rgba(245,197,24,.6);box-shadow:var(--shadow)}.door:hover::before{opacity:1}.door>*{position:relative}.door-num{font:500 11px 'DM Mono',monospace;color:var(--violet2)}.door h3{font-size:29px;letter-spacing:.02em;margin:0}.door small{display:block;color:var(--muted);font:500 10px 'DM Mono',monospace;letter-spacing:.14em;margin-top:8px}.door-arrow{font-size:26px;color:var(--violet);align-self:flex-end}.project-grid,.novel-grid,.news-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.project-card,.novel-card,.news-card,.contact-card{border:1px solid var(--line);background:linear-gradient(145deg,rgba(28,28,28,.8),rgba(10,10,10,.94));padding:32px;position:relative;overflow:hidden;transition:.35s}.project-card:hover,.novel-card:hover,.news-card:hover{transform:translateY(-5px);border-color:rgba(245,197,24,.5)}.project-card::after,.novel-card::after{content:'';position:absolute;width:220px;height:220px;border-radius:50%;background:rgba(245,197,24,.1);filter:blur(30px);right:-90px;top:-90px}.project-card h3,.novel-card h3{font:600 clamp(34px,5vw,60px) 'Playfair Display',serif;margin:16px 0}.status{display:inline-flex;border:1px solid rgba(245,197,24,.4);padding:7px 10px;color:var(--violet2);font:500 9px 'DM Mono',monospace;letter-spacing:.14em}.project-card p,.novel-card p,.news-card p{color:var(--muted);line-height:1.8;max-width:620px}.data-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.data-chip{font:500 9px 'DM Mono',monospace;letter-spacing:.1em;color:var(--silver);border-bottom:1px solid var(--line);padding-bottom:7px}.timeline{position:relative;margin-top:40px;padding-left:30px}.timeline::before{content:'';position:absolute;left:5px;top:0;bottom:0;width:1px;background:linear-gradient(var(--violet),transparent)}.time-item{position:relative;padding:0 0 48px 28px}.time-item::before{content:'';position:absolute;left:-30px;top:4px;width:9px;height:9px;border-radius:50%;background:var(--violet);box-shadow:0 0 0 5px rgba(245,197,24,.14)}.time-date{font:500 10px 'DM Mono',monospace;color:var(--violet2);letter-spacing:.16em}.time-item h3{font-size:25px;margin:10px 0}.time-item p{color:var(--muted);line-height:1.7}.news-grid{grid-template-columns:repeat(3,1fr)}.news-card .date{font:500 9px 'DM Mono',monospace;color:var(--violet2);letter-spacing:.15em}.news-card h3{font-size:21px;margin:13px 0}
/* archive */
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.character{border:1px solid var(--line);padding:20px;min-height:180px;background:linear-gradient(145deg,rgba(28,28,28,.78),rgba(9,9,9,.95));display:flex;flex-direction:column;justify-content:space-between;transition:.3s;cursor:pointer}.character:hover{transform:translateY(-5px);border-color:rgba(245,197,24,.55)}.character .code{font:500 9px 'DM Mono',monospace;color:var(--violet2)}.character h3{font-size:22px;margin:0;color:var(--cream);word-break:break-word;overflow-wrap:anywhere;line-height:1.15}.character small{color:var(--muted);font:500 9px 'DM Mono',monospace;letter-spacing:.1em}.modal{position:fixed;inset:0;z-index:5000;background:rgba(0,0,0,.88);backdrop-filter:blur(16px);display:none;place-items:center;padding:30px}.modal.open{display:grid}.modal-box{width:min(720px,100%);border:1px solid var(--line);background:#101010;padding:35px;box-shadow:var(--shadow);position:relative}.close{position:absolute;right:18px;top:18px;border:1px solid var(--line);background:none;color:var(--cream);width:36px;height:36px}.close:hover{border-color:var(--violet);color:var(--violet)}.fields{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:25px 0}.field{border:1px solid var(--line);padding:14px}.field span{display:block;color:var(--muted);font:500 8px 'DM Mono',monospace;letter-spacing:.14em}.field b{display:block;margin-top:7px;font-size:12px}.corrupt{border-color:var(--violet)!important;background:radial-gradient(circle at 50%,rgba(245,197,24,.16),transparent 50%),#0a0a0a!important}.corrupt .corrupt-text{color:var(--violet2)}
/* contact/footer */
.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.contact-list{display:grid;gap:12px}.contact-item{border:1px solid var(--line);padding:20px;background:rgba(20,20,20,.62)}.contact-item:hover{border-color:var(--violet)}.contact-item span{display:block;color:var(--muted);font:500 9px 'DM Mono',monospace;letter-spacing:.14em}.contact-item strong{display:block;margin-top:8px;font-size:16px}.footer{border-top:1px solid var(--line);padding:55px 0 30px;background:#070707}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-logo{font:700 27px 'Playfair Display',serif;letter-spacing:.08em}.footer-logo::after{content:'.';color:var(--violet)}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.footer-links a{font:500 9px 'DM Mono',monospace;color:var(--muted);letter-spacing:.12em}.footer-links a:hover{color:var(--violet)}.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;color:#808080;font:500 9px 'DM Mono',monospace;letter-spacing:.1em}
/* page hero */
.page-hero{padding:170px 0 75px;min-height:50vh;display:flex;align-items:flex-end;background:radial-gradient(circle at 75% 20%,rgba(245,197,24,.16),transparent 28%)}.page-hero p{max-width:600px;color:var(--muted);line-height:1.8}.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:25px;max-width:600px}.countdown div{border:1px solid var(--line);padding:18px;text-align:center}.countdown b{display:block;font:600 28px 'DM Mono',monospace;color:var(--violet)}.countdown span{color:var(--muted);font:500 8px 'DM Mono',monospace;letter-spacing:.12em}
/* watch outer theme only */
.watch-studio{padding:150px 0 90px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.video-card{border:1px solid var(--line);background:rgba(12,12,12,.8);overflow:hidden}.video-info{padding:22px}.video-info h3{margin:10px 0}.video-info p{color:var(--muted);font-size:13px;line-height:1.6}.watch-player-wrap{background:#050505}.video-box{position:relative;aspect-ratio:16/9;background:#050505;overflow:hidden}.video-box video{width:100%;height:100%;object-fit:contain;background:#050505}.player-idle{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(245,197,24,.12),rgba(5,5,5,.85));color:var(--cream);text-align:center}.player-idle span{font:500 10px 'DM Mono',monospace;letter-spacing:.22em}.player-idle small{display:block;color:var(--muted);font:500 8px 'DM Mono',monospace;margin-top:8px}.fullscreen-btn{margin-top:15px;border:1px solid rgba(245,197,24,.4);background:rgba(15,15,15,.75);color:var(--violet);padding:11px 15px;font:500 9px 'DM Mono',monospace;letter-spacing:.12em;cursor:pointer}.fullscreen-btn:hover{background:var(--violet);color:#0a0a0a}.player-status{display:none}.custom-player-controls{position:absolute;left:15px;right:15px;bottom:15px;display:flex;justify-content:space-between;align-items:center;opacity:0;pointer-events:none;transition:.2s}.custom-player-controls.controls-visible{opacity:1;pointer-events:auto}.center-play,.fullscreen-control,.volume-step{border:1px solid var(--line);background:rgba(10,10,10,.85);color:var(--cream);cursor:pointer}.volume-hud{display:flex;align-items:center;gap:7px}.volume-track{width:80px;height:3px;background:rgba(255,255,255,.14)}.volume-track i{display:block;height:100%;width:100%;background:var(--violet)}.volume-hud b{font:500 9px 'DM Mono',monospace;min-width:42px}.fullscreen-control{width:36px;height:36px}.video-label{position:absolute;left:15px;top:15px;z-index:2;font:500 8px 'DM Mono',monospace;letter-spacing:.14em;color:var(--violet2)}.play-note{margin-top:18px;color:var(--muted);font:500 9px 'DM Mono',monospace;letter-spacing:.1em}
/* responsive */
@media(max-width:1050px){.links{gap:14px}.doors{grid-template-columns:repeat(3,1fr)}.archive-grid{grid-template-columns:repeat(3,1fr)}.news-grid{grid-template-columns:1fr 1fr}.video-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr}}
@media(max-width:760px){.nav{height:66px;padding:0 5%}.brand img{width:78px}.brand-word{display:none}.links{display:none;position:absolute;left:0;right:0;top:66px;background:rgba(10,10,10,.97);padding:18px 5%;border-bottom:1px solid var(--line);flex-direction:column;align-items:flex-start}.links.open{display:flex}.menu{display:block}.hero{padding:140px 0 80px;min-height:90vh}.hero-title{font-size:70px}.hero-copy{font-size:14px}.section{padding:90px 0}.section-head{display:block}.section-head p{margin-top:20px}.doors,.project-grid,.novel-grid,.news-grid,.video-grid,.contact-grid{grid-template-columns:1fr}.door{min-height:260px}.archive-grid{grid-template-columns:1fr 1fr}.footer-top,.footer-bottom{display:block}.footer-links{margin-top:25px}.footer-bottom>*{display:block;margin-top:10px}.countdown{grid-template-columns:repeat(2,1fr)}.fields{grid-template-columns:1fr}.page-hero{padding:135px 0 60px}.display{font-size:56px}.intro-logo{width:78vw}.intro-name{letter-spacing:.22em}.intro-presents{max-width:80vw;line-height:1.6}.watch-studio{padding-top:120px}}
@media(max-width:430px){.archive-grid{grid-template-columns:1fr}.hero-title{font-size:58px}.hero-meta{flex-direction:column;gap:8px}.btn{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
/* BAIIKES refinements — preserve the existing studio design, only add requested details */
.brand{min-width:0}.brand-word{display:block;white-space:nowrap}.brand img{display:none}
@media(max-width:760px){.brand-word{display:block;font-size:11px;letter-spacing:.22em}.brand{min-width:0}}
.has-section-entry .cursor-dot,.has-section-entry .cursor-ring{opacity:0}
/* Official logo is intentionally reserved for the intro and About page. */
.about-logo-panel{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:55px;align-items:center;border:1px solid var(--line);background:linear-gradient(145deg,rgba(28,28,28,.78),rgba(8,8,8,.94));padding:46px;overflow:hidden;position:relative}
.about-logo-panel::before{content:'';position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(245,197,24,.1);filter:blur(50px);left:-100px;top:-120px}.about-logo-panel img{position:relative;width:min(300px,100%);max-height:180px;object-fit:contain;margin:auto;filter:drop-shadow(0 0 35px rgba(245,197,24,.14))}.about-logo-panel h2{position:relative;font:600 clamp(34px,5vw,62px) 'Playfair Display',serif;margin:12px 0}.about-logo-panel p{position:relative;color:var(--muted);line-height:1.8;max-width:520px}
/* Character archive selector */
.archive-selector{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:55px}.archive-option{min-height:190px;text-align:left;border:1px solid var(--line);background:linear-gradient(145deg,rgba(28,28,28,.84),rgba(9,9,9,.96));color:var(--cream);padding:28px;cursor:pointer;position:relative;overflow:hidden;transition:.35s}.archive-option::after{content:'';position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-100px;background:rgba(245,197,24,.1);filter:blur(35px)}.archive-option:hover:not(:disabled),.archive-option.active{border-color:rgba(245,197,24,.65);transform:translateY(-4px);box-shadow:var(--shadow)}.archive-option.locked{cursor:not-allowed;opacity:.55}.archive-option-code{position:relative;z-index:1;display:block;color:var(--violet2);font:500 9px 'DM Mono',monospace;letter-spacing:.16em}.archive-option strong{position:relative;z-index:1;display:block;font:600 clamp(25px,3vw,40px) 'Playfair Display',serif;line-height:1;margin:18px 0}.archive-option small{position:relative;z-index:1;color:var(--muted);font:500 9px 'DM Mono',monospace;letter-spacing:.1em}.archive-panel{display:none}.archive-panel.active{display:block}.locked-archive{border:1px dashed rgba(245,197,24,.32);padding:70px 40px;text-align:center;background:radial-gradient(circle at center,rgba(245,197,24,.08),transparent 55%)}.locked-archive h2{margin:16px 0}.locked-archive p{max-width:650px;margin:0 auto 25px;color:var(--muted);line-height:1.8}
/* Manga development viewer */
.manga-hero-card{display:grid;grid-template-columns:1.15fr .85fr;min-height:560px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(28,28,28,.88),rgba(8,8,8,.96));overflow:hidden;position:relative}.manga-hero-card::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:rgba(245,197,24,.09);filter:blur(70px);right:-160px;top:-160px}.manga-hero-copy{position:relative;z-index:1;padding:55px;display:flex;flex-direction:column;justify-content:center}.manga-hero-copy h2{margin:18px 0}.manga-hero-copy p{color:var(--muted);line-height:1.8;max-width:620px}.manga-cover-frame{min-height:560px;position:relative;overflow:hidden;border-left:1px solid var(--line);background:#070707}.manga-cover-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.55),transparent 45%,rgba(10,10,10,.12))}.manga-cover-frame img{width:100%;height:100%;object-fit:cover;display:block}.manga-viewer{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.7fr);gap:18px}.manga-main-view{min-height:620px;border:1px solid var(--line);background:#050505;display:grid;place-items:center;overflow:hidden;cursor:zoom-in}.manga-main-view img{width:100%;height:100%;max-height:760px;object-fit:contain;display:block;transition:transform .5s ease}.manga-main-view:hover img{transform:scale(1.015)}.manga-viewer-side{border:1px solid var(--line);background:linear-gradient(145deg,rgba(28,28,28,.78),rgba(9,9,9,.95));padding:30px}.manga-viewer-side h3{font-size:28px;margin:14px 0}.manga-viewer-side>p{color:var(--muted);line-height:1.8}.manga-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:28px}.manga-thumb{border:1px solid var(--line);padding:0;background:#050505;cursor:pointer;overflow:hidden;aspect-ratio:3/4;transition:.25s}.manga-thumb img{width:100%;height:100%;object-fit:cover;display:block}.manga-thumb:hover,.manga-thumb.active{border-color:var(--violet);transform:translateY(-3px)}.manga-lightbox{position:fixed;inset:0;z-index:10001;background:rgba(0,0,0,.96);backdrop-filter:blur(18px);display:none;place-items:center;padding:35px}.manga-lightbox.open{display:grid}.manga-lightbox img{max-width:94vw;max-height:92vh;width:auto;height:auto;object-fit:contain;box-shadow:0 30px 100px rgba(0,0,0,.55)}.manga-lightbox-close{position:fixed;right:25px;top:20px;width:44px;height:44px;border:1px solid var(--line);background:rgba(10,10,10,.85);color:var(--cream);font-size:26px;cursor:pointer;z-index:2}
/* Fullscreen player: the fullscreen icon is transient, never permanently visible over playback. */
.custom-player-controls{transition:opacity .25s ease,transform .25s ease}.custom-player-controls:not(.controls-visible){transform:translateY(10px)}.is-fullscreen .fullscreen-control{opacity:.78}.is-fullscreen .custom-player-controls:not(.controls-visible){pointer-events:none}.is-fullscreen video{cursor:none}.is-fullscreen .player-idle{display:none}.is-fullscreen .video-label{display:none}
@media(max-width:760px){.about-logo-panel{grid-template-columns:1fr;padding:30px;gap:25px}.archive-selector{grid-template-columns:1fr}.manga-hero-card{grid-template-columns:1fr}.manga-cover-frame{min-height:360px;border-left:0;border-top:1px solid var(--line)}.manga-hero-copy{padding:35px}.manga-viewer{grid-template-columns:1fr}.manga-main-view{min-height:460px}.manga-viewer-side{padding:24px}}
/* ===== V28 Cinematic player — black/yellow/white theme ===== */
.cinematic-player{position:relative;overflow:hidden;background:#050505}
.cinematic-player video{width:100%;height:100%;display:block;object-fit:contain;background:#050505;cursor:pointer}
.cinematic-player.is-fullscreen{cursor:none}
.cinematic-player.is-fullscreen.controls-visible{cursor:default}

/* ===== Center overlays ===== */
.net-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:4}

.net-big-play{
  width:100px;height:100px;border-radius:50%;
  background:radial-gradient(circle at 30% 30%,rgba(245,197,24,.55),rgba(30,22,0,.85));
  backdrop-filter:blur(10px);
  border:2px solid rgba(245,197,24,.75);
  color:#0a0a0a;font-size:36px;display:flex;align-items:center;justify-content:center;
  opacity:0;transform:scale(.7);
  transition:opacity .22s ease,transform .22s ease;
  pointer-events:none;
  box-shadow:0 0 40px rgba(245,197,24,.5),inset 0 0 20px rgba(245,197,24,.25);
}
.net-big-play.show{opacity:1;transform:scale(1)}

.net-feedback{
  position:absolute;
  background:linear-gradient(135deg,rgba(30,22,0,.9),rgba(15,12,0,.9));
  backdrop-filter:blur(12px);
  border:1px solid rgba(245,197,24,.4);
  color:#fff;padding:16px 30px;border-radius:12px;
  font:600 20px 'DM Mono',monospace;letter-spacing:.08em;
  opacity:0;transform:translateY(12px);transition:.22s;
  pointer-events:none;
  box-shadow:0 8px 32px rgba(245,197,24,.35);
}
.net-feedback.show{opacity:1;transform:translateY(0)}

.net-skip{
  position:absolute;top:50%;transform:translateY(-50%);
  color:#0a0a0a;font:700 22px 'DM Mono',monospace;
  background:radial-gradient(circle,rgba(245,197,24,.55),rgba(30,22,0,.85));
  backdrop-filter:blur(10px);
  border:1px solid rgba(245,197,24,.6);
  width:86px;height:86px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  opacity:0;transition:.2s;pointer-events:none;
  box-shadow:0 0 30px rgba(245,197,24,.5);
}
.net-skip.left{left:16%}
.net-skip.right{right:16%}
.net-skip.show{opacity:1;transform:translateY(-50%) scale(1.08)}

/* ===== Top bar ===== */
.net-top{
  position:absolute;top:0;left:0;right:0;
  padding:22px 26px;
  background:linear-gradient(180deg,rgba(5,5,5,.92) 0%,rgba(5,5,5,.5) 60%,transparent 100%);
  display:flex;align-items:center;justify-content:space-between;
  opacity:0;transform:translateY(-10px);transition:.25s;
  z-index:6;pointer-events:none;
}
.cinematic-player.controls-visible .net-top{opacity:1;transform:none;pointer-events:auto}

.net-top-title{
  color:#f5c518;font:600 11px 'DM Mono',monospace;letter-spacing:.24em;
  text-shadow:0 1px 6px rgba(245,197,24,.5);
}

.net-exit{
  background:linear-gradient(135deg,rgba(45,35,0,.85),rgba(20,15,0,.85));
  border:1px solid rgba(245,197,24,.45);
  color:#f5c518;
  width:42px;height:42px;border-radius:50%;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:.18s ease;
  padding:0;
}
.net-exit:hover{
  background:linear-gradient(135deg,rgba(245,197,24,.55),rgba(120,95,0,.7));
  border-color:rgba(245,197,24,.9);
  color:#0a0a0a;
  transform:scale(1.08);
  box-shadow:0 0 20px rgba(245,197,24,.6);
}
.net-exit:active{transform:scale(.95)}

/* ===== Bottom bar ===== */
.net-bottom{
  position:absolute;left:0;right:0;bottom:0;
  padding:34px 26px 22px;
  background:linear-gradient(0deg,
    rgba(5,5,5,.97) 0%,
    rgba(8,8,8,.85) 35%,
    rgba(10,10,10,.5) 65%,
    transparent 100%);
  opacity:0;transform:translateY(14px);transition:.25s;
  z-index:6;pointer-events:none;
}
.cinematic-player.controls-visible .net-bottom{opacity:1;transform:none;pointer-events:auto}

/* ===== Progress bar ===== */
.net-progress{
  position:relative;height:5px;
  background:rgba(245,197,24,.18);
  border-radius:3px;cursor:pointer;
  margin-bottom:18px;transition:height .16s ease;
  box-shadow:inset 0 0 8px rgba(0,0,0,.6);
}
.net-progress:hover{height:8px}

.net-progress-buffer{
  position:absolute;left:0;top:0;bottom:0;width:0;
  background:rgba(245,197,24,.32);
  border-radius:3px;transition:width .25s;
}
.net-progress-fill{
  position:relative;height:100%;width:0;
  background:linear-gradient(90deg,#f5c518,#ffd633);
  border-radius:3px;transition:width .08s linear;
  box-shadow:0 0 14px rgba(245,197,24,.7);
}
.net-progress-knob{
  position:absolute;right:-8px;top:50%;
  transform:translateY(-50%) scale(0);
  width:16px;height:16px;border-radius:50%;
  background:#fff;
  box-shadow:0 0 0 5px rgba(245,197,24,.4),0 0 14px rgba(245,197,24,.9);
  transition:transform .18s ease;
}
.net-progress:hover .net-progress-knob{transform:translateY(-50%) scale(1)}

/* ===== Bottom row ===== */
.net-row{display:flex;align-items:center;gap:6px;color:#f5c518}

.net-btn{
  background:transparent;border:none;color:#f5c518;
  cursor:pointer;padding:9px 11px;border-radius:8px;
  transition:.15s ease;
  display:flex;align-items:center;justify-content:center;
  gap:4px;min-width:40px;position:relative;
}
.net-btn svg{display:block}
.net-btn:hover{background:rgba(245,197,24,.25);transform:translateY(-1px);color:#fff}
.net-btn:active{transform:scale(.94)}

.net-skip-num{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  font:700 7px 'DM Mono',monospace;
  color:#fff;pointer-events:none;
  margin-top:1px;
}

.net-play{
  background:linear-gradient(135deg,rgba(245,197,24,.35),rgba(160,120,0,.35));
  border:1px solid rgba(245,197,24,.45);
  padding:10px 12px;min-width:46px;
}
.net-play:hover{
  background:linear-gradient(135deg,rgba(245,197,24,.75),rgba(200,155,0,.75));
  border-color:rgba(255,214,51,.9);
  color:#0a0a0a;
  box-shadow:0 0 22px rgba(245,197,24,.6);
}

/* ===== Volume ===== */
.net-volume{display:flex;align-items:center;gap:8px;padding:0 6px}
.net-volume-slider{
  -webkit-appearance:none;appearance:none;
  width:90px;height:4px;border-radius:2px;
  background:linear-gradient(90deg,#f5c518 0%,#f5c518 100%);
  background-color:rgba(245,197,24,.25);
  outline:none;cursor:pointer;transition:.15s;
}
.net-volume-slider:hover{height:5px}
.net-volume-slider::-webkit-slider-thumb{
  -webkit-appearance:none;width:14px;height:14px;border-radius:50%;
  background:#fff;cursor:pointer;
  box-shadow:0 0 0 4px rgba(245,197,24,.5),0 0 10px rgba(245,197,24,.7);
}
.net-volume-slider::-moz-range-thumb{
  width:14px;height:14px;border-radius:50%;background:#fff;
  border:none;cursor:pointer;
  box-shadow:0 0 0 4px rgba(245,197,24,.5);
}

/* ===== Time ===== */
.net-time{
  font:500 12px 'DM Mono',monospace;
  color:#f5c518;letter-spacing:.06em;
  padding:0 10px;
  display:flex;align-items:center;gap:6px;
}
.net-time-sep{color:rgba(245,197,24,.4)}

.net-spacer{flex:1}

/* ===== Speed ===== */
.net-speed{
  font:700 12px 'DM Mono',monospace;letter-spacing:.06em;
  min-width:52px;padding:9px 12px;
  background:linear-gradient(135deg,rgba(45,35,0,.6),rgba(20,15,0,.6));
  border:1px solid rgba(245,197,24,.3);
}
.net-speed:hover{
  background:linear-gradient(135deg,rgba(245,197,24,.5),rgba(120,95,0,.6));
  border-color:rgba(245,197,24,.7);
  color:#fff;
}

/* ===== Preview (non-fullscreen) ===== */
.cinematic-player:not(.is-fullscreen) .net-bottom,
.cinematic-player:not(.is-fullscreen) .net-top,
.cinematic-player:not(.is-fullscreen) .net-center{display:none}

/* ===== Mobile ===== */
@media(max-width:640px){
  .net-volume-slider{width:56px}
  .net-time{display:none}
  .net-btn{padding:8px 9px;min-width:34px}
  .net-bottom{padding:26px 16px 16px}
  .net-top{padding:16px 16px}
  .net-big-play{width:78px;height:78px;font-size:28px}
}
/* ============================================================
   MOBILE FIXES — layered on top of existing styles
   ============================================================ */

/* Tablets and small laptops */
@media (max-width: 900px) {
  .doors { grid-template-columns: repeat(2, 1fr); }
  .archive-grid { grid-template-columns: repeat(2, 1fr); }
  .news-grid { grid-template-columns: 1fr 1fr; }
  .video-grid { grid-template-columns: 1fr; }
  .contact-grid { grid-template-columns: 1fr; }
  .manga-viewer { grid-template-columns: 1fr; }
}

/* Standard phones (iPhone, Pixel, Motorola, Samsung) */
@media (max-width: 600px) {
  /* Nav */
  .nav { height: 60px; padding: 0 4%; }
  .brand-word { font-size: 11px; letter-spacing: 0.2em; }
  .links { gap: 14px; }
  .links a { font-size: 10px; letter-spacing: 0.1em; }

  /* Hero */
  .hero { padding: 110px 0 70px; min-height: 85vh; }
  .hero-title { font-size: clamp(38px, 11vw, 56px); line-height: 0.95; letter-spacing: -0.02em; }
  .hero-copy { font-size: 14px; line-height: 1.7; max-width: 100%; }
  .hero-kicker { font-size: 9px; }
  .hero-meta { flex-direction: column; gap: 6px; font-size: 9px; margin-top: 22px; }

  /* Buttons */
  .btns { flex-direction: column; width: 100%; gap: 8px; margin-top: 22px; }
  .btn { width: 100%; min-height: 48px; font-size: 10px; letter-spacing: 0.14em; }

  /* Sections */
  .section { padding: 65px 0; }
  .section-head { flex-direction: column; align-items: flex-start; gap: 14px; margin-bottom: 32px; }
  .section-head p { font-size: 13px; }
  .display { font-size: clamp(30px, 9vw, 44px); line-height: 1; }
  .small-display { font-size: clamp(26px, 8vw, 38px); }

  /* Doors */
  .doors { grid-template-columns: 1fr; gap: 10px; }
  .door { min-height: 200px; padding: 20px; }

  /* Cards */
  .project-grid, .novel-grid, .news-grid, .video-grid, .contact-grid, .manga-viewer {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .project-card, .novel-card, .news-card, .contact-card {
    padding: 22px 20px;
  }
  .project-card h3, .novel-card h3 { font-size: clamp(26px, 8vw, 38px); }

  /* Character archive */
  .archive-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .character { min-height: 140px; padding: 16px 14px; }
  .character h3 { font-size: 18px; }
  .archive-selector { grid-template-columns: 1fr; }
  .archive-option { min-height: 150px; padding: 22px; }

  /* Timeline */
  .timeline { padding-left: 20px; }
  .time-item { padding: 0 0 36px 22px; }
  .time-item h3 { font-size: 20px; }

  /* Page hero */
  .page-hero { padding: 100px 0 50px; min-height: 40vh; }

  /* Countdown */
  .countdown { grid-template-columns: repeat(2, 1fr); }
  .countdown b { font-size: 22px; }

  /* Manga page */
  .manga-hero-card { grid-template-columns: 1fr; min-height: auto; }
  .manga-cover-frame { min-height: 300px; border-left: 0; border-top: 1px solid var(--line); }
  .manga-hero-copy { padding: 28px 22px; }
  .manga-main-view { min-height: 380px; }
  .manga-viewer-side { padding: 22px; }
  .manga-thumbs { grid-template-columns: repeat(3, 1fr); }

  /* About */
  .about-logo-panel { grid-template-columns: 1fr; padding: 22px; gap: 20px; }
  .about-logo-panel img { max-height: 130px; }

  /* Watch page video player */
  .video-grid { gap: 18px; }
  .video-card { border-radius: 8px; overflow: hidden; }
  .video-info { padding: 16px 18px; }

  /* Footer */
  .footer { padding: 40px 0 22px; }
  .footer-top { flex-direction: column; gap: 20px; }
  .footer-links { flex-wrap: wrap; gap: 10px 16px; margin-top: 18px; }
  .footer-links a { font-size: 9px; }
  .footer-bottom { margin-top: 26px; padding-top: 18px; flex-direction: column; gap: 8px; font-size: 9px; text-align: left; }

  /* Modal */
  .modal { padding: 16px; }
  .modal-box { padding: 22px; }
  .fields { grid-template-columns: 1fr; gap: 8px; }
  .field { padding: 12px; }
}

/* Small phones (iPhone SE, older Android, Infinix Hot) */
@media (max-width: 400px) {
  .hero-title { font-size: clamp(32px, 10vw, 44px); }
  .hero-copy { font-size: 13px; }
  .display { font-size: clamp(26px, 8vw, 36px); }
  .small-display { font-size: clamp(22px, 7vw, 30px); }
  .archive-grid { grid-template-columns: 1fr; }
  .character { min-height: 120px; }
  .door { min-height: 160px; }
  .project-card, .novel-card, .news-card { padding: 18px 16px; }
  .btn { min-height: 44px; padding: 0 16px; }
  .countdown { grid-template-columns: 1fr 1fr; gap: 6px; }
  .countdown div { padding: 14px 10px; }
  .countdown b { font-size: 20px; }
}

/* Landscape phones (short screens) */
@media (max-height: 500px) and (orientation: landscape) {
  .hero { padding: 80px 0 50px; min-height: auto; }
  .hero-title { font-size: clamp(40px, 12vh, 80px); }
  .page-hero { padding: 70px 0 40px; min-height: auto; }
  .section { padding: 50px 0; }
}
@media (max-width: 760px) {
  .links.open {
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    padding-bottom: 30px;
  }
  .links a {
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
    width: 100%;
    font-size: 12px;
  }
  .links a:last-child { border-bottom: none; }
  .links .social {
    margin-top: 8px;
    width: 100%;
    text-align: center;
    padding: 14px 0;
  }
}