@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+KR:wght@300;400;500;600;700&family=Rajdhani:wght@500;600;700&display=swap");
:root{--bg:#010102;--panel:#050609;--panel-soft:#090b10;--panel-card:#0d1016;--text:#f4f6fb;--muted:#9ba4b3;--dim:#646d7c;--line:rgba(234,238,246,.11);--line-strong:rgba(234,238,246,.22);--seira:#9b6cff;--seira-soft:rgba(155,108,255,.18);--astra:#f7c84d;--astra-soft:rgba(247,200,77,.16);--bureau:#9da5b1;--danger:#ff4b73;--radius:24px;color-scheme:dark;}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;min-height:100vh;overflow-x:hidden;background:radial-gradient(circle at 8% -6%,rgba(155,108,255,.08),transparent 28rem),radial-gradient(circle at 102% 0%,rgba(247,200,77,.045),transparent 24rem),linear-gradient(180deg,#010102 0%,#030406 54%,#010102 100%);color:var(--text);font-family:"IBM Plex Sans KR","Noto Sans KR",system-ui,sans-serif;letter-spacing:-.025em;}
a{color:inherit;text-decoration:none;}
button,input{font:inherit;color:inherit;}
button{cursor:pointer;}
body::before{content:"";position:fixed;inset:0;z-index:-5;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:40px 40px;opacity:.18;mask-image:linear-gradient(180deg,black,transparent 92%);}
.noise{position:fixed;inset:0;z-index:-4;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.74' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");}
.grain-line{position:fixed;inset:0;z-index:80;pointer-events:none;opacity:.07;background:repeating-linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.045) 1px,transparent 1px,transparent 5px);}
.circuit-bg{position:fixed;inset:0;z-index:-3;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 94px,rgba(155,108,255,.026) 95px,transparent 96px),repeating-linear-gradient(180deg,transparent 0 76px,rgba(247,200,77,.02) 77px,transparent 78px);opacity:.6;}
.access-screen{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 40%,rgba(155,108,255,.13),transparent 25rem),radial-gradient(circle at 56% 58%,rgba(247,200,77,.07),transparent 24rem),linear-gradient(180deg,#000 0%,#040409 56%,#000 100%);transition:opacity .46s ease,visibility .46s ease;overflow:hidden;}
body.entered .access-screen{opacity:0;visibility:hidden;pointer-events:none;}
.access-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;}
.ghost-word{position:absolute;top:50%;font-family:"Rajdhani",sans-serif;font-size:clamp(80px,18vw,250px);font-weight:700;line-height:.75;letter-spacing:.06em;opacity:.075;filter:blur(.15px);user-select:none;white-space:nowrap;}
.seira-word{left:-4vw;transform:translateY(-65%);color:#fff;text-shadow:0 0 42px var(--seira-soft);}
.astra-word{right:-4vw;transform:translateY(-12%);color:#fff;text-shadow:0 0 42px var(--astra-soft);}
.thin-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);opacity:.6;}
.line-a{width:58vw;left:2vw;top:38%;transform:rotate(-7deg);}
.line-b{width:48vw;right:4vw;bottom:34%;transform:rotate(-7deg);}
.node-dot{position:absolute;width:7px;height:7px;border-radius:50%;box-shadow:0 0 22px currentColor;}
.node-a{color:var(--seira);background:var(--seira);left:23%;top:33%;}
.node-b{color:var(--astra);background:var(--astra);right:24%;bottom:30%;}
.access-inner{position:relative;text-align:center;display:grid;gap:18px;justify-items:center;width:min(980px,92vw);}
.access-kicker,.view-tab,.brand-copy b,.brand-copy em,.section-title span,.world-card small,.search-box span,.filter-pills button,.character-count,.org-chip,.modal-watermark,.front-badge,.access-button,.eyebrow,.rule-box span{font-family:"Rajdhani","IBM Plex Sans KR",sans-serif;letter-spacing:.16em;}
.access-kicker{margin:0;color:#b7bfce;font-size:14px;font-weight:600;}
.access-inner h1{margin:0;display:flex;align-items:center;gap:clamp(14px,3vw,42px);font-family:"Rajdhani",sans-serif;font-size:clamp(58px,11vw,138px);line-height:.84;font-weight:700;letter-spacing:.05em;text-shadow:0 0 34px rgba(255,255,255,.09);}
.access-inner h1 i{font-style:normal;color:rgba(255,255,255,.28);font-weight:500;}
.front-pair{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:2px;}
.front-badge{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.035);font-size:13px;font-weight:700;color:#e8edf7;backdrop-filter:blur(10px);}
.seira-border{border:1px solid rgba(155,108,255,.58);box-shadow:0 0 20px rgba(155,108,255,.08);}
.astra-border{border:1px solid rgba(247,200,77,.62);box-shadow:0 0 20px rgba(247,200,77,.08);}
.access-button{margin-top:4px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,255,255,.035);padding:13px 24px;font-size:14px;font-weight:700;color:#f2f4f8;transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;}
.access-button:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.075);box-shadow:0 0 28px rgba(255,255,255,.06);}
.site-header,.app-shell{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease;}
body.entered .site-header,body.entered .app-shell{opacity:1;visibility:visible;pointer-events:auto;}
.site-header{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px clamp(14px,4vw,50px);background:rgba(1,1,2,.82);border-bottom:1px solid var(--line);}
.brand{display:flex;align-items:center;gap:12px;min-width:0;}
.brand-mark{width:34px;height:34px;border:1px solid var(--line-strong);border-radius:50%;background:radial-gradient(circle at 45% 45%,rgba(255,255,255,.85) 0 2px,transparent 3px),linear-gradient(135deg,var(--seira-soft),var(--astra-soft));}
.brand-copy b{display:block;font-size:14px;font-weight:700;}
.brand-copy em{display:block;margin-top:1px;color:var(--muted);font-size:11px;font-style:normal;font-weight:600;}
.view-nav{display:flex;gap:8px;padding:4px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.022);}
.view-tab{min-width:148px;padding:10px 14px;border-radius:999px;border:1px solid transparent;background:transparent;color:#aeb6c4;font-size:13px;font-weight:700;transition:.18s ease;}
.view-tab:hover{color:#fff;border-color:var(--line-strong);}
.view-tab.active{color:#fff;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.2);}
.app-shell{max-width:1500px;margin:0 auto;padding:36px clamp(12px,4vw,54px) 80px;}
.view-panel{display:none;}
.view-panel.active{display:block;}
.panel-head{position:relative;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--line);}
.panel-head p{margin:0 0 6px;font-family:"Rajdhani",sans-serif;color:var(--muted);font-size:16px;font-weight:700;letter-spacing:.18em;}
.panel-head h1{margin:0;font-size:clamp(34px,5vw,62px);line-height:1;font-weight:700;letter-spacing:-.045em;}
.lead-block{display:grid;gap:14px;max-width:1100px;margin-bottom:28px;}
.lead-block>p{margin:0;color:#d7dde8;line-height:1.85;font-size:16px;}
.content-section{margin-top:26px;}
.content-section:first-of-type{margin-top:18px;}
.section-title{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.section-title span{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;color:#c9d0dc;font-size:13px;font-weight:700;}
.section-title h2{margin:0;font-size:25px;line-height:1;font-weight:700;}
.section-title.small h2{font-size:22px;}
.compact-section{margin-top:24px;}
.rule-box{display:grid;gap:8px;padding:16px 18px;border-radius:20px;border:1px solid rgba(255,75,115,.25);background:rgba(255,75,115,.045);}
.rule-box span{font-size:12px;font-weight:700;color:#ff9eb7;}
.rule-box p{margin:0;line-height:1.75;color:#edf0f7;}
.compact-rule{max-width:920px;}
.world-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;}
.world-card,.command-card,.team-box,.team-card,.faction-detail,.search-box,.character-card,.info-item,.modal-info-side blockquote,.detail-accordion details{background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.012));border:1px solid var(--line);box-shadow:inset 0 0 0 1px rgba(255,255,255,.012);}
.world-card{position:relative;overflow:hidden;padding:18px;border-radius:24px;}
.world-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--card-color);}
.world-card.org-seira{border-color:rgba(155,108,255,.34);}
.world-card.org-astra{border-color:rgba(247,200,77,.36);}
.world-card small{display:block;margin-bottom:10px;color:var(--muted);font-weight:700;font-size:13px;}
.world-card h3{margin:0 0 9px;font-size:26px;line-height:1.05;}
.world-card .org-word{display:inline;color:inherit;}
.world-card .front{margin:0 0 12px;color:#f1f3f8;font-weight:700;}
.front-name{display:inline-flex;align-items:center;margin-left:5px;padding:3px 8px;border-radius:999px;font-weight:700;background:rgba(255,255,255,.035);}
.front-name.seira-border{border:1px solid rgba(155,108,255,.45);box-shadow:none;}
.front-name.astra-border{border:1px solid rgba(247,200,77,.45);box-shadow:none;}
.world-card p{margin:0;color:#cbd3df;line-height:1.72;}
.split-section{display:grid;grid-template-columns:.82fr 1.18fr;gap:14px;align-items:start;}
.command-card,.team-box{padding:18px;border-radius:24px;}
.command-chain{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.command-chain li{display:flex;align-items:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:15px;background:rgba(255,255,255,.032);color:#dce1eb;}
.command-chain span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;border:1px solid var(--line);font-family:"Rajdhani",sans-serif;font-weight:700;color:#d8deea;}
.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
.team-card{padding:15px;border-radius:18px;}
.team-card strong{display:block;margin-bottom:8px;font-size:19px;}
.team-card p{margin:0;color:#ced6e3;line-height:1.68;font-size:15px;}
.faction-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.faction-detail{position:relative;overflow:hidden;padding:20px;border-radius:24px;}
.faction-detail::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--dept-color);}
.faction-detail.org-seira{border-color:rgba(155,108,255,.34);}
.faction-detail.org-astra{border-color:rgba(247,200,77,.36);}
.faction-detail h3{margin:4px 0 8px;font-size:30px;}
.faction-detail .meta{margin:0 0 12px;color:#e6ebf5;font-weight:700;}
.faction-detail p{margin:0 0 12px;color:#cfd6e3;line-height:1.72;}
.dept-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;}
.dept-list div{padding:12px 13px;border-radius:16px;background:rgba(255,255,255,.033);border:1px solid rgba(255,255,255,.045);}
.dept-list strong{display:block;margin-bottom:5px;color:#f2f4fa;}
.dept-list span{display:block;color:#cbd3df;line-height:1.62;font-size:14px;}
.org-word,.org-inline{border:none;padding:0;background:transparent;}
.org-seira .org-word,.org-inline.seira-border{color:#d8c9ff;}
.org-astra .org-word,.org-inline.astra-border{color:#ffe6a0;}
.org-bureau .org-word{color:#d7dce5;}
.org-chip{border:1px solid rgba(255,255,255,.14);}
.org-chip.org-seira{border-color:rgba(155,108,255,.5);}
.org-chip.org-astra{border-color:rgba(247,200,77,.5);}
.toolbox{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin-bottom:14px;}
.search-box{display:grid;gap:6px;padding:13px 15px;border-radius:18px;}
.search-box span{color:var(--muted);font-size:12px;font-weight:700;}
.search-box input{width:100%;border:none;outline:none;background:transparent;font-size:15px;color:#fff;}
.filter-pills{display:flex;flex-wrap:wrap;gap:8px;}
.filter-pills button{padding:11px 15px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.028);color:#cfd5df;font-size:13px;font-weight:700;}
.filter-pills button[data-filter="세이라"].active{border-color:rgba(155,108,255,.65);background:var(--seira-soft);}
.filter-pills button[data-filter="아스트라"].active{border-color:rgba(247,200,77,.65);background:var(--astra-soft);}
.filter-pills button[data-filter="전체"].active{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.07);}
.character-count{margin:10px 0 16px;color:var(--muted);font-weight:700;font-size:13px;}
.character-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.character-card{position:relative;overflow:hidden;padding:0;border-radius:22px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;background:#050609;}
.character-card.org-seira{border-color:rgba(155,108,255,.34);}
.character-card.org-astra{border-color:rgba(247,200,77,.36);}
.character-card:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(0,0,0,.34);border-color:rgba(255,255,255,.24);}
.character-card:focus-visible{outline:2px solid rgba(255,255,255,.45);outline-offset:3px;}
.card-image{position:relative;overflow:hidden;background:#090a0d;}
.card-image img{display:block;width:100%;aspect-ratio:1216/832;object-fit:cover;}
.org-chip{position:absolute;left:12px;bottom:12px;z-index:1;padding:7px 10px;border-radius:999px;background:rgba(0,0,0,.58);font-size:12px;font-weight:700;letter-spacing:.08em;}
.card-body{padding:15px 16px 16px;}
.card-body h3{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;font-size:24px;line-height:1.1;}
.card-role{margin:8px 0 12px;color:#d4dae4;font-weight:500;}
.trait-list{display:flex;flex-wrap:wrap;gap:7px;}
.trait-list span{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.05);color:#cfd6e2;font-size:13px;}
.character-modal{width:min(1380px,calc(100vw - 26px));max-height:92dvh;padding:0;border:none;border-radius:28px;overflow:hidden;background:#050609;color:var(--text);box-shadow:0 30px 90px rgba(0,0,0,.64);}
.character-modal::backdrop{background:rgba(0,0,0,.78);}
.modal-close{position:absolute;top:14px;right:14px;z-index:5;width:40px;height:40px;border:none;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;font-size:26px;}
.modal-layout{display:grid;grid-template-columns:minmax(0,1.14fr) minmax(380px,.86fr);max-height:92dvh;}
.modal-image-side{min-width:0;padding:24px;border-right:1px solid var(--line);display:grid;grid-template-rows:auto auto;gap:14px;align-content:start;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.006));}
.modal-image-frame{position:relative;overflow:hidden;border-radius:24px;background:#020203;border:1px solid var(--line);}
.modal-image-frame img{display:block;width:100%;aspect-ratio:1216/832;object-fit:cover;}
.modal-watermark{position:absolute;left:14px;bottom:14px;padding:8px 11px;border-radius:999px;background:rgba(0,0,0,.56);border:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:700;}
.expression-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;}
.expression-tabs button{padding:10px 7px;border-radius:13px;border:1px solid var(--line);background:rgba(255,255,255,.025);font-size:13px;}
.expression-tabs button.active{border-color:var(--modal-color);background:var(--modal-glow);}
.modal-info-side{padding:28px;overflow:auto;display:grid;align-content:start;gap:15px;}
.eyebrow{margin:0;color:var(--muted);font-size:13px;font-weight:700;}
.modal-info-side h2{margin:0;font-size:38px;line-height:1.06;}
.modal-role{margin:0;color:#d8deea;font-weight:500;}
.modal-info-side blockquote{margin:0;padding:15px 17px;border-radius:18px;border-left:3px solid var(--modal-color);color:#f0f3f9;font-size:17px;line-height:1.65;}
.modal-intro,.modal-profile{margin:0;color:#d9dfea;line-height:1.82;}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.info-item{padding:13px 14px;border-radius:17px;}
.info-item span{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;}
.info-item strong{display:block;color:#f1f4fa;font-size:15px;line-height:1.55;}
.detail-accordion{display:grid;gap:9px;}
.detail-accordion details{padding:0 15px;border-radius:17px;overflow:hidden;}
.detail-accordion summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 0;cursor:pointer;font-weight:700;list-style:none;}
.detail-accordion summary::-webkit-details-marker{display:none;}
.detail-accordion summary::after{content:"+";font-family:"Rajdhani",sans-serif;font-size:22px;color:var(--muted);}
.detail-accordion details[open] summary::after{content:"−";}
.detail-accordion details p{margin:0;padding:0 0 14px;color:#d4dbe7;line-height:1.76;}
@media (max-width:1200px){.world-grid,.character-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.split-section,.faction-detail-grid,.modal-layout{grid-template-columns:1fr;}
.modal-layout{overflow:auto;}
.modal-image-side{border-right:none;border-bottom:1px solid var(--line);}
.modal-info-side{overflow:visible;}
.dept-list{grid-template-columns:1fr;}
}
@media (max-width:860px){.site-header{flex-wrap:wrap;}
.view-nav{order:3;width:100%;justify-content:stretch;}
.view-tab{flex:1;min-width:0;}
.app-shell{padding-top:24px;}
.world-grid,.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.toolbox{grid-template-columns:1fr;}
.team-grid,.command-chain{grid-template-columns:1fr;}
.access-inner h1{gap:12px;}
.front-pair{max-width:340px;}
.expression-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
.info-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){.access-screen{padding:16px;}
.access-kicker{font-size:12px;}
.access-inner h1{font-size:clamp(46px,17vw,78px);}
.front-badge{font-size:12px;padding:8px 12px;}
.site-header{padding:12px 10px;}
.brand-mark{width:30px;height:30px;}
.brand-copy b{font-size:12px;}
.brand-copy em{font-size:10px;}
.app-shell{padding:20px 10px 56px;}
.panel-head{margin-bottom:18px;}
.panel-head h1{font-size:36px;}
.content-section{margin-top:22px;}
.section-title h2{font-size:22px;}
.world-grid,.character-grid{grid-template-columns:1fr 1fr;gap:10px;}
.world-card,.command-card,.team-box,.faction-detail{padding:14px;border-radius:20px;}
.world-card h3,.faction-detail h3{font-size:23px;}
.card-body{padding:12px;}
.card-body h3{font-size:20px;}
.card-role{font-size:13px;}
.trait-list span{font-size:12px;padding:5px 7px;}
.character-modal{width:calc(100vw - 10px);max-height:94dvh;border-radius:18px;}
.modal-layout{max-height:94dvh;}
.modal-image-side{padding:12px;}
.modal-info-side{padding:16px;}
.modal-info-side h2{font-size:30px;}
.modal-close{top:10px;right:10px;}
.expression-tabs button{font-size:12px;}
}
.audio-panel{position:fixed;right:18px;bottom:18px;z-index:70;display:grid;grid-template-columns:auto minmax(96px,auto) 110px;align-items:center;gap:12px;padding:10px 12px;border-radius:18px;background:rgba(5,6,9,.86);border:1px solid rgba(234,238,246,.16);box-shadow:0 14px 34px rgba(0,0,0,.36);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease;}
body.entered .audio-panel{opacity:1;pointer-events:auto;transform:translateY(0);}
.audio-panel button{width:38px;height:38px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);color:#fff;font-weight:800;}
.audio-panel strong{display:block;font-family:"Rajdhani",sans-serif;letter-spacing:.08em;font-size:13px;line-height:1;}
.audio-panel span{display:block;margin-top:4px;font-family:"Rajdhani",sans-serif;letter-spacing:.14em;font-size:10px;color:var(--muted);line-height:1;}
.audio-panel input{width:110px;accent-color:#9b6cff;}
@media (hover:none){.character-card:hover{transform:none;box-shadow:none;}
}
@media (max-width:760px){.noise,.grain-line,.circuit-bg{display:none;}
body::before{opacity:.08;background-size:52px 52px;}
.site-header{background:rgba(1,1,2,.94);}
.character-card,.world-card,.faction-detail,.team-card,.command-card,.team-box{box-shadow:none;}
.character-card{content-visibility:auto;contain-intrinsic-size:210px 220px;}
.modal-info-side{overscroll-behavior:contain;}
.audio-panel{left:10px;right:10px;bottom:10px;grid-template-columns:auto 1fr 92px;}
.audio-panel input{width:92px;}
}
.access-screen{background:radial-gradient(circle at 26% 34%,rgba(155,108,255,.16),transparent 18rem),radial-gradient(circle at 74% 62%,rgba(247,200,77,.12),transparent 18rem),linear-gradient(135deg,#000 0%,#030305 45%,#000 100%);}
.access-inner{width:min(860px,92vw);padding:clamp(26px,5vw,54px);border:1px solid rgba(255,255,255,.13);border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));box-shadow:0 22px 80px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,255,255,.025);position:relative;overflow:hidden;}
.access-inner::before,.access-inner::after{content:"";position:absolute;top:0;bottom:0;width:3px;opacity:.9;}
.access-inner::before{left:0;background:linear-gradient(180deg,transparent,var(--seira),transparent);}
.access-inner::after{right:0;background:linear-gradient(180deg,transparent,var(--astra),transparent);}
.access-kicker{font-size:13px;letter-spacing:.28em;color:#cdd4e0;}
.access-inner h1{display:grid;grid-template-columns:1fr auto 1fr;width:100%;align-items:center;gap:clamp(10px,2vw,24px);font-size:clamp(52px,9vw,118px);letter-spacing:.08em;text-shadow:0 0 26px rgba(255,255,255,.08);}
.access-inner h1 span:first-child{text-align:right;color:#fff;text-shadow:0 0 28px rgba(155,108,255,.22);}
.access-inner h1 span:last-child{text-align:left;color:#fff;text-shadow:0 0 28px rgba(247,200,77,.16);}
.front-pair{gap:10px;margin:2px 0 4px;}
.access-button{margin-top:4px;min-width:min(320px,80vw);}
.ghost-word{opacity:.04;filter:blur(.4px);}
.thin-line,.node-dot{display:none;}
.audio-panel{z-index:70;}
body:not(.entered) .audio-panel{opacity:0;pointer-events:none;transform:translateY(10px);}
body.entered .audio-panel{opacity:1;pointer-events:auto;transform:translateY(0);}
@media (max-width:1200px){.character-modal{width:min(760px,calc(100vw - 12px));height:94dvh;max-height:94dvh;overflow:hidden;}
.modal-layout{display:block;height:100%;max-height:100%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.modal-image-side{border-right:0;border-bottom:1px solid var(--line);}
.modal-info-side{overflow:visible;max-height:none;}
}
@media (max-width:760px){body{background:#010102;}
body::before,.noise,.grain-line,.circuit-bg{opacity:.04;}
.site-header{position:sticky;padding:10px;gap:10px;}
.brand-copy b{font-size:11px;letter-spacing:.12em;}
.brand-copy em{font-size:9px;letter-spacing:.14em;}
.view-nav{padding:3px;gap:4px;}
.view-tab{padding:9px 8px;font-size:12px;letter-spacing:.06em;}
.app-shell{padding:16px 10px 86px;}
.panel-head{margin-bottom:14px;}
.panel-head p{font-size:12px;letter-spacing:.2em;}
.panel-head h1{font-size:31px;}
.lead-block{gap:14px;padding-bottom:8px;}
.lead-block>p{font-size:15px;line-height:1.78;}
.rule-box{padding:14px;border-radius:18px;}
.content-section{margin-top:18px;}
.section-title{margin-bottom:12px;}
.section-title h2{font-size:22px;}
.world-grid,.split-section,.faction-detail-grid{grid-template-columns:1fr !important;gap:12px;}
.world-card,.command-card,.team-box,.faction-detail{padding:15px;border-radius:20px;}
.world-card h3,.faction-detail h3{font-size:24px;}
.world-card p,.faction-detail p,.team-card p,.dept-list span{line-height:1.68;font-size:14px;}
.front-name{padding:2px 8px;margin-left:4px;}
.team-grid{gap:9px;}
.team-card{padding:12px 13px;border-radius:16px;}
.command-chain{gap:8px;}
.command-chain li{padding:9px 10px;}
.toolbox{gap:10px;}
.search-box{padding:12px 14px;}
.filter-pills{width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:7px;}
.filter-pills button{padding:10px 6px;font-size:12px;}
.character-grid{grid-template-columns:1fr 1fr !important;gap:10px;}
.character-card{border-radius:18px;}
.card-image img{aspect-ratio:1216/832;object-fit:cover;}
.card-body{padding:10px 8px 9px;}
.card-body h3{font-size:18px;}
.card-role{font-size:12px;line-height:1.45;}
.trait-list{display:none;}
.access-inner{padding:28px 18px;border-radius:24px;}
.access-inner h1{grid-template-columns:1fr;gap:4px;font-size:clamp(48px,18vw,82px);letter-spacing:.08em;}
.access-inner h1 span:first-child,.access-inner h1 span:last-child{text-align:center;}
.access-inner h1 i{line-height:.5;}
.front-pair{grid-template-columns:1fr;width:100%;}
.front-badge{justify-content:center;}
.character-modal{width:calc(100vw - 8px);height:94dvh;border-radius:18px;}
.modal-image-side{padding:10px;gap:10px;}
.modal-image-frame{border-radius:16px;}
.expression-tabs{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;}
.expression-tabs button{padding:8px 3px;font-size:10px;border-radius:10px;}
.modal-info-side{padding:16px 14px 26px;gap:12px;}
.modal-info-side h2{font-size:30px;}
.modal-role,.modal-intro,.modal-profile,.rule-box p,.detail-accordion details p{font-size:14px;line-height:1.72;}
.modal-info-side blockquote{padding:13px 14px;font-size:15px;line-height:1.6;}
.info-grid{grid-template-columns:1fr;gap:8px;}
.info-item{padding:12px 13px;}
.audio-panel{left:10px;right:10px;bottom:10px;grid-template-columns:38px 1fr 96px;padding:9px 10px;}
.audio-panel input{width:96px;}
}
.lead-copy{position:relative;padding:18px 20px;border:1px solid rgba(234,238,246,.12);border-radius:22px;background:linear-gradient(90deg,rgba(155,108,255,.07),transparent 44%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));overflow:hidden;}
.lead-copy::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:linear-gradient(180deg,var(--seira),var(--astra));}
.lead-copy p{margin:0;color:#e4e8f1;line-height:1.9;font-size:16px;word-break:keep-all;overflow-wrap:break-word;}
.brief-points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.brief-point{padding:14px 16px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid rgba(234,238,246,.1);}
.brief-point span{display:block;margin-bottom:7px;font-family:"Rajdhani",sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--muted);}
.brief-point strong{display:block;font-size:15px;line-height:1.55;color:#f3f5fb;word-break:keep-all;}
.brief-point.seira-point{border-color:rgba(155,108,255,.32);box-shadow:inset 3px 0 0 rgba(155,108,255,.85);}
.brief-point.astra-point{border-color:rgba(247,200,77,.32);box-shadow:inset 3px 0 0 rgba(247,200,77,.85);}
.compact-rule{background:linear-gradient(90deg,rgba(255,75,115,.09),transparent 46%),linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.012));}
.compact-rule p{word-break:keep-all;overflow-wrap:break-word;}
@media (max-width:760px){.panel-head{padding:4px 0 16px;}
.panel-head::after{content:"";position:absolute;left:0;bottom:-1px;width:92px;height:2px;background:linear-gradient(90deg,var(--seira),var(--astra));}
.panel-head p{color:#b4bccb;}
.panel-head h1{letter-spacing:-.055em;}
.lead-block{gap:11px;margin-bottom:22px;}
.lead-copy{padding:16px 16px 16px 18px;border-radius:20px;}
.lead-copy p{font-size:15.5px;line-height:1.86;}
.brief-points{grid-template-columns:1fr;gap:9px;}
.brief-point{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:8px;padding:12px 14px;border-radius:16px;}
.brief-point span{margin:0;font-size:11px;}
.brief-point strong{font-size:14px;line-height:1.45;}
.compact-rule{padding:16px 16px 16px 18px;border-radius:20px;}
.compact-rule span{display:inline-flex;width:auto;padding:5px 9px;border-radius:999px;background:rgba(255,75,115,.12);border:1px solid rgba(255,75,115,.18);color:#ff9bb2;margin-bottom:2px;}
.compact-rule p{font-size:15px;line-height:1.78;color:#e8ebf3;}
}
@media (max-width:390px){.lead-copy p{font-size:15px;line-height:1.82;}
.compact-rule p{font-size:14.5px;}
}
.modal-intro,.modal-profile,.detail-accordion details p,.rule-box p,.lead-copy p,.world-card p,.faction-detail p,.team-card p{word-break:keep-all;overflow-wrap:break-word;}
.modal-info-side{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent;}
.modal-info-side::-webkit-scrollbar,.modal-layout::-webkit-scrollbar{width:8px;}
.modal-info-side::-webkit-scrollbar-thumb,.modal-layout::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px;}
.character-card img,.modal-image-frame img{transform:translateZ(0);backface-visibility:hidden;}
@media (max-width:760px){.app-shell{padding-left:12px;padding-right:12px;padding-bottom:92px;}
.site-header{border-bottom-color:rgba(255,255,255,.09);}
.view-tab{min-height:40px;}
.panel-head{margin-bottom:16px;}
.panel-head h1{font-size:32px;line-height:1.08;}
.lead-copy{padding:17px 17px 17px 19px;}
.lead-copy p{font-size:15px;line-height:1.82;}
.compact-rule p{font-size:14.5px;line-height:1.76;}
.section-title{gap:10px;margin-bottom:13px;}
.section-title span{width:34px;height:34px;font-size:12px;}
.world-card,.command-card,.team-box,.faction-detail{background:rgba(255,255,255,.018);}
.world-card p,.faction-detail p,.team-card p,.dept-list span{font-size:14.2px;line-height:1.7;}
.character-card{border-radius:17px;background:#050609;}
.card-body h3{font-size:18px;line-height:1.18;}
.card-role{margin-bottom:0;color:#cbd3df;}
.character-modal{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;background:#040507;}
.modal-layout{height:100dvh;max-height:100dvh;padding-bottom:18px;}
.modal-image-side{position:relative;padding:12px 12px 10px;background:#050609;}
.modal-image-frame{border-radius:18px;}
.modal-info-side{padding:17px 16px 34px;gap:13px;}
.modal-info-side h2{font-size:32px;letter-spacing:-.045em;}
.modal-role{font-size:14px;line-height:1.5;color:#cfd6e2;}
.modal-intro,.modal-profile{font-size:15px;line-height:1.82;color:#e2e7f0;}
.modal-info-side blockquote{font-size:15px;line-height:1.62;border-radius:17px;}
.info-grid{gap:9px;}
.info-item{background:rgba(255,255,255,.02);}
.detail-accordion summary{padding:14px 0;font-size:15px;}
.detail-accordion details p{font-size:14.5px;line-height:1.78;}
.expression-tabs{position:relative;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;}
.expression-tabs button{min-height:38px;padding:7px 2px;font-size:10.5px;}
.audio-panel{border-radius:16px;background:rgba(5,6,9,.92);backdrop-filter:none;}
}
@media (max-width:430px){.brand-copy em{display:none;}
.character-grid{gap:9px;}
.card-body{padding:9px 8px 10px;}
.card-body h3{font-size:17px;}
.card-role{font-size:11.5px;}
.org-chip{font-size:10.5px;padding:6px 8px;left:8px;bottom:8px;}
.audio-title strong{font-size:12px;}
.audio-panel{grid-template-columns:38px 1fr 84px;gap:8px;}
.audio-panel input{width:84px;}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
.access-screen{padding:clamp(18px,4vw,40px);background:radial-gradient(circle at 18% 18%,rgba(155,108,255,.12),transparent 26rem),radial-gradient(circle at 82% 22%,rgba(247,200,77,.08),transparent 24rem),linear-gradient(180deg,rgba(1,1,2,.92),rgba(2,3,6,.98));}
.access-backdrop{opacity:.82;}
.ghost-word{font-size:clamp(88px,18vw,260px);letter-spacing:.04em;opacity:.08;filter:blur(1px);}
.seira-word{top:14%;left:-1%;}
.astra-word{bottom:10%;right:-2%;}
.access-frame{width:min(980px,92vw);padding:clamp(26px,5vw,48px);border-radius:32px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)),linear-gradient(135deg,rgba(155,108,255,.06),rgba(247,200,77,.04));box-shadow:0 20px 60px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.02);gap:22px;}
.access-frame::before,.access-frame::after{content:"";position:absolute;top:22px;bottom:22px;width:1px;opacity:.8;}
.access-frame::before{left:18px;background:linear-gradient(180deg,transparent,rgba(155,108,255,.9),transparent);}
.access-frame::after{right:18px;background:linear-gradient(180deg,transparent,rgba(247,200,77,.9),transparent);}
.access-meta{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#aeb7c7;font-family:"Rajdhani",sans-serif;font-size:12px;letter-spacing:.24em;text-transform:uppercase;}
.access-title-wrap{display:grid;gap:10px;justify-items:center;}
.access-kicker{margin:0;color:#d7deea;font-size:12px;letter-spacing:.34em;}
.access-inner h1{display:grid;grid-template-columns:auto auto auto;align-items:end;gap:clamp(12px,2vw,26px);font-size:clamp(56px,10vw,126px);line-height:.88;letter-spacing:.03em;}
.access-inner h1 span:first-child{color:#ffffff;text-shadow:0 0 26px rgba(155,108,255,.15);}
.access-inner h1 span:last-child{color:#f8fafc;text-shadow:0 0 26px rgba(247,200,77,.10);}
.access-inner h1 i{font-style:normal;color:rgba(255,255,255,.22);font-weight:400;transform:translateY(-4px);}
.access-subtitle{margin:0;color:#c6cfdb;font-size:16px;letter-spacing:.04em;}
.access-status{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;}
.status-chip{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);color:#dde4ee;font-family:"Rajdhani",sans-serif;font-size:12px;font-weight:600;letter-spacing:.16em;}
.front-pair{gap:12px;}
.front-badge{min-height:42px;padding:10px 16px;background:rgba(255,255,255,.035);backdrop-filter:blur(10px);}
.access-button{margin-top:4px;min-width:min(300px,80vw);min-height:52px;padding:13px 24px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.03));color:#ffffff;font-family:"Rajdhani",sans-serif;font-size:15px;font-weight:700;letter-spacing:.18em;box-shadow:0 10px 26px rgba(0,0,0,.24);}
.access-button:hover{border-color:rgba(255,255,255,.4);box-shadow:0 14px 32px rgba(0,0,0,.28),0 0 0 1px rgba(255,255,255,.06) inset;}
@media (max-width:860px){.access-frame{padding:22px 18px 24px;border-radius:26px;gap:18px;}
.access-meta{font-size:10px;letter-spacing:.18em;}
.access-inner h1{font-size:clamp(44px,14vw,72px);gap:10px;}
.access-subtitle{font-size:14px;}
.access-status{gap:8px;}
}
@media (max-width:560px){.access-screen{padding:14px;}
.ghost-word{font-size:88px;opacity:.07;}
.access-frame{width:min(100%,94vw);padding:18px 14px 20px;border-radius:22px;}
.access-frame::before,.access-frame::after{top:16px;bottom:16px;}
.access-meta{font-size:9px;letter-spacing:.14em;}
.access-kicker{font-size:11px;letter-spacing:.26em;}
.access-inner h1{font-size:clamp(40px,15vw,60px);grid-template-columns:1fr auto 1fr;width:100%;}
.access-subtitle{font-size:13px;text-align:center;}
.status-chip{min-height:32px;padding:7px 10px;font-size:10px;letter-spacing:.12em;}
.front-pair{gap:8px;flex-wrap:wrap;justify-content:center;}
.front-badge{font-size:12px;padding:9px 12px;min-height:38px;}
.access-button{min-width:100%;font-size:14px;letter-spacing:.14em;}
}
.character-modal{overflow-y:auto !important;overflow-x:hidden !important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;}
.modal-layout{max-height:none !important;height:auto !important;overflow:visible !important;}
.modal-info-side{overflow:visible !important;max-height:none !important;}
.detail-accordion{padding-bottom:clamp(48px,8dvh,96px);}
.character-modal::-webkit-scrollbar{width:8px;}
.character-modal::-webkit-scrollbar-thumb{background:rgba(255,255,255,.22);border-radius:999px;}
@media (min-width:1201px){.character-modal{max-height:92dvh;}
.modal-layout{min-height:auto;}
}
@media (max-width:760px){.character-modal{width:100vw !important;height:100dvh !important;max-height:100dvh !important;border-radius:0 !important;padding-bottom:env(safe-area-inset-bottom);}
.modal-layout{padding-bottom:calc(76px+env(safe-area-inset-bottom)) !important;}
.detail-accordion{padding-bottom:calc(110px+env(safe-area-inset-bottom));}
}
.access-title-wrap{gap:8px;}
.access-status,.access-subtitle{display:none !important;}
.access-frame{gap:24px;}
.access-inner h1{margin-bottom:4px;}
.front-pair{margin-top:0;}
@media (max-width:560px){.access-frame{gap:18px;}
.access-title-wrap{gap:6px;}
}
html,body{overflow-x:hidden;}
.modal-image-frame img{transition:opacity .14s ease;background:#050609;}
.modal-image-frame img.is-loading{opacity:.82;}
@media (max-width:760px){.access-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;min-height:100dvh;width:100vw;padding:18px 14px calc(18px+env(safe-area-inset-bottom));overflow:hidden;}
.access-backdrop{inset:0;overflow:hidden;}
.ghost-word{font-size:clamp(72px,23vw,112px) !important;opacity:.055 !important;max-width:100vw;}
.seira-word{left:-18px !important;top:17% !important;transform:none !important;}
.astra-word{right:-22px !important;bottom:16% !important;top:auto !important;transform:none !important;}
.line-a,.line-b,.node-dot{display:none !important;}
.access-frame{width:100% !important;max-width:calc(100vw - 28px) !important;min-width:0 !important;max-height:78dvh;padding:22px 18px !important;border-radius:24px !important;gap:18px !important;overflow:hidden;}
.access-meta{width:100%;min-width:0;display:flex;justify-content:center;overflow:hidden;white-space:nowrap;font-size:10px !important;letter-spacing:.18em !important;}
.access-meta span:last-child{display:none;}
.access-title-wrap{width:100%;min-width:0;gap:10px !important;}
.access-kicker{font-size:11px !important;letter-spacing:.24em !important;}
.access-inner h1{width:100%;max-width:100%;display:grid !important;grid-template-columns:1fr auto 1fr !important;align-items:center;justify-content:center;gap:8px !important;margin:0 !important;font-size:clamp(42px,13.2vw,56px) !important;line-height:.92 !important;letter-spacing:.018em !important;white-space:nowrap;}
.access-inner h1 span{min-width:0;overflow:hidden;text-overflow:clip;}
.access-inner h1 span:first-child{text-align:right;}
.access-inner h1 span:last-child{text-align:left;}
.access-inner h1 i{transform:none !important;}
.front-pair{width:100%;max-width:100% !important;display:grid !important;grid-template-columns:1fr 1fr;gap:10px !important;margin:0 !important;}
.front-badge{min-width:0;width:100%;padding:10px 8px !important;font-size:12px !important;letter-spacing:.08em !important;white-space:nowrap;text-align:center;}
.access-button{width:100%;min-width:0 !important;min-height:50px;margin:0 !important;font-size:14px !important;letter-spacing:.16em !important;}
}
@media (max-width:380px){.access-frame{max-width:calc(100vw - 20px) !important;padding:18px 12px !important;}
.access-inner h1{font-size:clamp(36px,12.2vw,46px) !important;gap:6px !important;}
.front-badge{font-size:11px !important;padding:9px 6px !important;}
}
@media (max-width:700px){.access-screen{min-height:100svh !important;padding:20px 16px max(24px,env(safe-area-inset-bottom)) !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;background:radial-gradient(circle at 20% 18%,rgba(155,108,255,.12),transparent 16rem),radial-gradient(circle at 84% 18%,rgba(247,200,77,.09),transparent 15rem),linear-gradient(180deg,#030306 0%,#04050a 55%,#020203 100%) !important;}
.access-backdrop{opacity:.5 !important;}
.ghost-word{font-size:74px !important;opacity:.06 !important;filter:blur(0.5px) !important;}
.seira-word{top:12% !important;left:-4% !important;}
.astra-word{bottom:20% !important;right:-8% !important;}
.thin-line,.node-dot{display:none !important;}
.access-frame{width:min(100%,380px) !important;max-width:380px !important;padding:20px 16px 16px !important;border-radius:26px !important;border:1px solid rgba(255,255,255,.12) !important;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02)),linear-gradient(135deg,rgba(155,108,255,.045),rgba(247,200,77,.04)) !important;box-shadow:0 14px 40px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.02) !important;gap:16px !important;}
.access-frame::before,.access-frame::after{display:none !important;}
.access-meta{display:flex !important;justify-content:center !important;align-items:center !important;gap:0 !important;font-size:10px !important;letter-spacing:.22em !important;color:#bfc8d8 !important;}
.access-meta span:last-child{display:none !important;}
.access-title-wrap{gap:8px !important;}
.access-kicker{font-size:10px !important;letter-spacing:.26em !important;color:#d8ddea !important;}
.access-inner h1{width:100% !important;margin:0 !important;display:grid !important;grid-template-columns:1fr !important;gap:4px !important;justify-items:center !important;font-size:clamp(34px,11.2vw,48px) !important;line-height:.96 !important;letter-spacing:.02em !important;}
.access-inner h1 i{display:none !important;}
.access-inner h1 span{display:block !important;width:auto !important;min-width:0 !important;text-align:center !important;}
.access-inner h1 span:first-child{text-shadow:0 0 22px rgba(155,108,255,.14) !important;}
.access-inner h1 span:last-child{text-shadow:0 0 22px rgba(247,200,77,.12) !important;}
.front-pair{width:100% !important;display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin:2px 0 0 !important;}
.front-badge{width:100% !important;min-height:46px !important;justify-content:center !important;font-size:13px !important;letter-spacing:-.01em !important;border-radius:999px !important;padding:10px 14px !important;background:rgba(255,255,255,.035) !important;}
.access-button{width:100% !important;min-width:100% !important;min-height:48px !important;margin-top:2px !important;border-radius:999px !important;font-size:14px !important;letter-spacing:.16em !important;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04)) !important;}
}
.character-modal{overflow:hidden !important;overscroll-behavior:contain;}
.modal-layout{scroll-behavior:auto !important;}
.detail-accordion details,.detail-accordion summary{scroll-margin:0 !important;}
.detail-accordion summary{touch-action:manipulation;}
.detail-accordion details[open]{overflow:visible;}
@media (max-width:1200px){.character-modal{width:min(920px,calc(100vw - 12px)) !important;max-height:94dvh !important;margin:auto !important;}
.modal-layout{display:block !important;max-height:94dvh !important;overflow-y:auto !important;overflow-x:hidden !important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding-bottom:42px !important;}
.modal-info-side{overflow:visible !important;max-height:none !important;padding-bottom:48px !important;}
.modal-image-side{position:relative !important;}
.detail-accordion details{contain:paint;}
}
@media (max-width:560px){.character-modal{max-height:94svh !important;}
.modal-layout{max-height:94svh !important;padding-bottom:64px !important;}
.detail-accordion{padding-bottom:20px;}
.detail-accordion details{min-height:54px;}
.detail-accordion summary{min-height:54px;align-items:center;}
}
@media (max-width:700px){.access-screen{min-height:100svh !important;padding:20px 16px calc(20px+env(safe-area-inset-bottom)) !important;display:flex !important;align-items:center !important;justify-content:center !important;overflow:hidden !important;background:radial-gradient(circle at 18% 14%,rgba(155,108,255,.14),transparent 13rem),radial-gradient(circle at 84% 12%,rgba(247,200,77,.11),transparent 12rem),linear-gradient(180deg,#020205 0%,#04050a 58%,#020203 100%) !important;}
.access-backdrop{opacity:.34 !important;}
.ghost-word{font-size:68px !important;opacity:.045 !important;filter:none !important;}
.seira-word{top:10% !important;left:-7% !important;}
.astra-word{bottom:16% !important;right:-11% !important;}
.thin-line,.node-dot{display:none !important;}
.access-frame{position:relative !important;width:min(100%,352px) !important;max-width:352px !important;padding:22px 18px 18px !important;border-radius:28px !important;border:1px solid rgba(255,255,255,.10) !important;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.02)),linear-gradient(135deg,rgba(155,108,255,.05),rgba(247,200,77,.04)) !important;box-shadow:0 18px 42px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.02) !important;gap:18px !important;overflow:hidden !important;}
.access-frame::before,.access-frame::after{content:"" !important;position:absolute !important;top:0 !important;bottom:0 !important;width:2px !important;display:block !important;opacity:.95 !important;}
.access-frame::before{left:0 !important;background:linear-gradient(180deg,transparent 0%,rgba(155,108,255,.9) 18%,rgba(155,108,255,.32) 82%,transparent 100%) !important;}
.access-frame::after{right:0 !important;background:linear-gradient(180deg,transparent 0%,rgba(247,200,77,.88) 18%,rgba(247,200,77,.28) 82%,transparent 100%) !important;}
.access-meta{display:flex !important;justify-content:center !important;align-items:center !important;font-size:10px !important;letter-spacing:.24em !important;color:#bdc7d7 !important;gap:0 !important;}
.access-meta span:last-child{display:none !important;}
.access-title-wrap{position:relative !important;display:grid !important;gap:10px !important;justify-items:center !important;padding-bottom:14px !important;}
.access-title-wrap::after{content:"";position:absolute;left:50%;bottom:0;width:64px;height:1px;transform:translateX(-50%);background:linear-gradient(90deg,rgba(155,108,255,0),rgba(255,255,255,.22),rgba(247,200,77,0));}
.access-kicker{margin:0 !important;font-size:10px !important;letter-spacing:.28em !important;color:#d8deea !important;}
.access-inner h1{margin:0 !important;display:grid !important;grid-template-columns:1fr !important;justify-items:center !important;gap:2px !important;width:100% !important;font-size:clamp(36px,12.8vw,48px) !important;line-height:.94 !important;letter-spacing:.02em !important;}
.access-inner h1 i{display:none !important;}
.access-inner h1 span{display:block !important;width:auto !important;min-width:0 !important;text-align:center !important;}
.access-inner h1 span:first-child{color:#ffffff !important;text-shadow:0 0 24px rgba(155,108,255,.14) !important;}
.access-inner h1 span:last-child{color:#f9fafc !important;text-shadow:0 0 24px rgba(247,200,77,.12) !important;}
.front-pair{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;width:100% !important;margin:0 !important;}
.front-badge{width:100% !important;min-height:44px !important;padding:11px 14px !important;display:flex !important;align-items:center !important;justify-content:center !important;border-radius:16px !important;background:rgba(255,255,255,.03) !important;backdrop-filter:none !important;font-size:14px !important;letter-spacing:-.01em !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02) !important;}
.access-button{width:100% !important;min-width:100% !important;min-height:50px !important;margin-top:2px !important;padding:12px 16px !important;border-radius:18px !important;border:1px solid rgba(255,255,255,.14) !important;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035)) !important;font-size:14px !important;font-weight:700 !important;letter-spacing:.16em !important;box-shadow:0 8px 20px rgba(0,0,0,.22) !important;}
}
@media (max-width:700px){.access-screen{min-height:100svh !important;padding:18px 14px calc(18px+env(safe-area-inset-bottom)) !important;display:flex !important;align-items:center !important;justify-content:center !important;background:radial-gradient(circle at 18% 14%,rgba(155,108,255,.10),transparent 11rem),radial-gradient(circle at 84% 10%,rgba(247,200,77,.08),transparent 10rem),linear-gradient(180deg,#020205 0%,#04050a 100%) !important;overflow:hidden !important;}
.access-backdrop{opacity:.22 !important;}
.ghost-word{font-size:64px !important;opacity:.03 !important;}
.seira-word{top:10% !important;left:-10% !important;}
.astra-word{bottom:14% !important;right:-14% !important;}
.thin-line,.node-dot{display:none !important;}
.access-frame{width:min(100%,340px) !important;max-width:340px !important;padding:22px 16px 16px !important;border-radius:26px !important;gap:16px !important;border:1px solid rgba(255,255,255,.08) !important;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.015)),linear-gradient(135deg,rgba(155,108,255,.035),rgba(247,200,77,.03)) !important;box-shadow:0 18px 42px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.015) !important;overflow:hidden !important;}
.access-frame::before,.access-frame::after{display:none !important;}
.access-meta{display:flex !important;justify-content:center !important;align-items:center !important;gap:0 !important;font-size:10px !important;letter-spacing:.24em !important;color:#b8c1d1 !important;}
.access-meta span:last-child{display:none !important;}
.access-title-wrap{display:grid !important;gap:8px !important;justify-items:center !important;padding:2px 0 4px !important;}
.access-kicker{margin:0 !important;font-size:10px !important;letter-spacing:.26em !important;color:#dbe1eb !important;}
.access-inner h1{width:100% !important;margin:0 !important;display:grid !important;grid-template-columns:1fr !important;gap:2px !important;justify-items:center !important;font-size:clamp(34px,11.2vw,44px) !important;line-height:.95 !important;letter-spacing:.02em !important;}
.access-inner h1 i{display:none !important;}
.access-inner h1 span{display:block !important;text-align:center !important;width:auto !important;}
.access-inner h1 span:first-child{color:#fff !important;text-shadow:0 0 20px rgba(155,108,255,.12) !important;}
.access-inner h1 span:last-child{color:#f8fafc !important;text-shadow:0 0 20px rgba(247,200,77,.10) !important;}
.front-pair{width:100% !important;display:grid !important;grid-template-columns:1fr !important;gap:10px !important;margin:2px 0 0 !important;}
.front-badge{position:relative !important;width:100% !important;min-height:56px !important;padding:14px 14px !important;border-radius:18px !important;background:rgba(255,255,255,.025) !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02) !important;display:flex !important;align-items:center !important;justify-content:flex-start !important;font-size:14px !important;font-weight:700 !important;letter-spacing:-.01em !important;text-align:left !important;padding-left:16px !important;}
.front-badge::before{content:"COVER";position:absolute;top:10px;right:12px;font-family:"Rajdhani",sans-serif;font-size:10px;font-weight:600;letter-spacing:.18em;color:rgba(255,255,255,.38);}
.front-badge.seira-border{border:1px solid rgba(155,108,255,.72) !important;background:linear-gradient(180deg,rgba(155,108,255,.12),rgba(255,255,255,.02)) !important;}
.front-badge.astra-border{border:1px solid rgba(247,200,77,.72) !important;background:linear-gradient(180deg,rgba(247,200,77,.12),rgba(255,255,255,.02)) !important;}
.access-button{width:100% !important;min-width:100% !important;min-height:52px !important;margin-top:4px !important;padding:12px 16px !important;border-radius:16px !important;border:1px solid rgba(255,255,255,.12) !important;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.035)) !important;box-shadow:0 10px 20px rgba(0,0,0,.22) !important;font-size:14px !important;font-weight:700 !important;letter-spacing:.16em !important;}
}
@media (max-width:700px){.access-title-wrap{gap:10px !important;padding:4px 0 6px !important;}
.access-inner h1{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;flex-wrap:nowrap !important;gap:10px !important;width:100% !important;font-size:clamp(28px,9vw,40px) !important;line-height:1 !important;letter-spacing:.02em !important;}
.access-inner h1 i{display:inline-block !important;color:rgba(255,255,255,.24) !important;transform:none !important;font-style:normal !important;}
.access-inner h1 span{display:inline-block !important;width:auto !important;text-align:center !important;white-space:nowrap !important;}
.front-pair{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;justify-content:center !important;align-items:center !important;gap:10px !important;width:100% !important;margin:2px 0 0 !important;}
.front-badge{width:auto !important;min-width:132px !important;max-width:148px !important;min-height:42px !important;padding:10px 12px !important;border-radius:999px !important;justify-content:center !important;text-align:center !important;font-size:12px !important;line-height:1.2 !important;letter-spacing:-.01em !important;}
.front-badge::before{display:none !important;}
}
@media (max-width:380px){.access-inner h1{font-size:clamp(26px,8.8vw,34px) !important;gap:8px !important;}
.front-badge{min-width:124px !important;max-width:140px !important;font-size:11px !important;padding:10px 10px !important;}
}
.modal-image-frame img{transform:translateZ(0);backface-visibility:hidden;}
.character-card{content-visibility:auto;contain-intrinsic-size:260px 220px;}
@media (max-width:700px){.character-card{content-visibility:auto;contain-intrinsic-size:220px 190px;}
.modal-image-frame img.is-loading{opacity:.92;}
}
@media (max-width:760px){.character-modal{position:fixed !important;inset:0 !important;width:100vw !important;height:100dvh !important;max-width:none !important;max-height:none !important;margin:0 !important;border-radius:0 !important;overflow-y:auto !important;overflow-x:hidden !important;-webkit-overflow-scrolling:touch !important;overscroll-behavior:contain !important;padding:0 !important;background:#040507 !important;}
.character-modal::backdrop{background:rgba(0,0,0,.82) !important;}
.modal-layout{display:block !important;height:auto !important;min-height:100dvh !important;max-height:none !important;overflow:visible !important;padding:0 0 calc(170px+env(safe-area-inset-bottom)) !important;scroll-behavior:auto !important;}
.modal-image-side,.modal-info-side{display:grid !important;overflow:visible !important;max-height:none !important;height:auto !important;}
.modal-image-side{position:relative !important;padding:12px !important;border-right:none !important;border-bottom:1px solid var(--line) !important;}
.modal-info-side{padding:16px 16px 0 !important;gap:13px !important;}
.detail-accordion{display:grid !important;gap:10px !important;padding-bottom:calc(220px+env(safe-area-inset-bottom)) !important;}
.detail-accordion details{contain:none !important;overflow:visible !important;min-height:auto !important;height:auto !important;}
.detail-accordion details[open]{overflow:visible !important;}
.detail-accordion summary{min-height:54px !important;align-items:center !important;touch-action:manipulation !important;}
.detail-accordion details p{display:block !important;overflow:visible !important;padding-bottom:18px !important;}
.modal-close{position:fixed !important;top:calc(10px+env(safe-area-inset-top)) !important;right:10px !important;z-index:9999 !important;}
}
@media (min-width:761px){.character-modal{position:fixed !important;inset:50% auto auto 50% !important;transform:translate(-50%,-50%) !important;width:min(1380px,calc(100vw - 32px)) !important;height:auto !important;max-width:none !important;max-height:92dvh !important;margin:0 !important;padding:0 !important;border-radius:28px !important;overflow:hidden !important;background:#050609 !important;}
.modal-layout{display:grid !important;grid-template-columns:minmax(0,1.14fr) minmax(380px,.86fr) !important;height:92dvh !important;min-height:0 !important;max-height:92dvh !important;padding:0 !important;overflow:hidden !important;}
.modal-image-side{min-height:0 !important;height:100% !important;padding:24px !important;border-right:1px solid var(--line) !important;border-bottom:none !important;overflow:auto !important;-webkit-overflow-scrolling:touch !important;}
.modal-image-frame{flex:0 0 auto !important;}
.modal-info-side{min-height:0 !important;height:100% !important;max-height:92dvh !important;padding:28px 28px 110px !important;overflow-y:auto !important;overflow-x:hidden !important;-webkit-overflow-scrolling:touch !important;display:grid !important;align-content:start !important;}
.detail-accordion{padding-bottom:90px !important;}
.detail-accordion details{contain:none !important;}
.modal-close{position:absolute !important;top:14px !important;right:14px !important;}
}
@media (min-width:761px) and (max-width:1200px){.character-modal{width:min(920px,calc(100vw - 24px)) !important;max-height:94dvh !important;}
.modal-layout{display:block !important;height:94dvh !important;max-height:94dvh !important;overflow-y:auto !important;overflow-x:hidden !important;-webkit-overflow-scrolling:touch !important;}
.modal-image-side{height:auto !important;border-right:none !important;border-bottom:1px solid var(--line) !important;overflow:visible !important;}
.modal-info-side{height:auto !important;max-height:none !important;overflow:visible !important;padding-bottom:120px !important;}
}
