:root{--bg:#090a0c;--panel:#111215;--panel2:#171719;--line:#353033;--line-soft:#262326;--white:#ede8e5;--muted:#aaa3a2;--dim:#6f6b70;--red:#d43939;--redhot:#ff4440;--red-deep:#691d1e;--gold:#c1a799;--serif:'Cinzel',Georgia,serif;--sans:'Noto Sans KR',-apple-system,BlinkMacSystemFont,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--white);font-family:var(--sans);font-size:14px;letter-spacing:-.02em;-webkit-font-smoothing:antialiased}body::selection{background:#a02b2f;color:white}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img{max-width:100%;display:block}#app{min-height:70vh;outline:none}h1,h2,h3,h4,p{margin-top:0}.container{width:min(1160px,calc(100% - 64px));margin:auto}.muted{color:var(--muted)}.red{color:var(--redhot)}.small{font-size:12px}.eyebrow{display:flex;align-items:center;gap:12px;color:#d1a1a0;letter-spacing:.3em;font:600 11px var(--serif);text-transform:uppercase}.eyebrow::before{content:'';width:26px;height:1px;background:#ba3539}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:32px}.section-title{font-size:31px;font-weight:600;letter-spacing:-.05em;margin:11px 0 0}.section-heading .sub{color:#a39d9d;font-size:13px;margin-top:10px}.text-link{color:#c9b9b8;font-size:12px;letter-spacing:.02em;white-space:nowrap;transition:color .2s}.text-link:hover{color:white}.text-link span{color:var(--redhot);margin-left:10px}.ornament{display:flex;align-items:center;gap:12px;color:#ae4141;font-family:var(--serif)}.ornament::before,.ornament::after{content:'';height:1px;width:65px;background:linear-gradient(90deg,transparent,#713438)}.ornament::after{transform:rotate(180deg)}
/* header */
.site-header{position:absolute;z-index:90;top:0;left:0;width:100%;background:linear-gradient(180deg,rgba(4,4,6,.94),rgba(8,8,10,.65));border-bottom:1px solid rgba(203,91,91,.2);transition:background .25s,box-shadow .25s}.site-header.scrolled,.site-header:not(.on-home){position:sticky;background:rgba(10,10,12,.96);backdrop-filter:blur(16px);box-shadow:0 8px 30px #0008}.header-inner{display:flex;align-items:center;width:min(1350px,calc(100% - 66px));margin:auto;height:78px;gap:28px}.header-brand{display:flex;align-items:center;gap:9px;flex-shrink:0}.header-brand img{height:48px;width:48px;object-fit:contain;filter:drop-shadow(0 0 10px #cb232438)}.header-brand span{font:600 18px var(--serif);letter-spacing:.06em;color:#f4e7df;white-space:nowrap}.header-brand em{font-style:normal;color:#decdca}.desktop-nav{display:flex;align-items:center;gap:33px;margin:auto}.desktop-nav a{font-size:12px;color:#c0b9ba;letter-spacing:.01em;height:78px;display:flex;align-items:center;position:relative;transition:color .2s;white-space:nowrap}.desktop-nav a:hover,.desktop-nav a.active{color:#fff}.desktop-nav a.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--redhot);box-shadow:0 0 12px #ed3c3c}.header-actions{display:flex;align-items:center;gap:12px;white-space:nowrap}.header-login{color:#c6bebd;padding:11px 4px;font-size:12px}.header-login:hover{color:#fff}.header-register{border:1px solid #954145;color:#e6d0d0;padding:10px 18px;background:linear-gradient(120deg,#35191b,#141114);font-size:12px;transition:all .2s}.header-register:hover{border-color:#ec5253;background:#48191d}.header-user{display:flex;align-items:center;gap:10px;font-size:12px;color:#e2c7c0}.header-user svg{width:15px;height:15px}.header-user-menu{border:1px solid #5b3537;background:#241718;padding:8px 11px;color:#ddd;font-size:11px}.mobile-menu-button{display:none;background:none;border:0;width:35px;height:35px;flex-direction:column;justify-content:center;gap:6px}.mobile-menu-button span{height:1px;width:23px;background:#ddd}.mobile-nav{display:none}.mobile-nav.open{display:flex}
/* buttons */
.btn{appearance:none;display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:14px 22px;border:1px solid #5c4646;color:#f4ece9;background:linear-gradient(130deg,#212023,#100d10);font-size:13px;font-weight:600;transition:transform .22s,border-color .2s,background .2s;min-height:46px;text-align:center}.btn:hover{transform:translateY(-2px);border-color:#ac6967;background:#292024}.btn-primary{background:linear-gradient(125deg,#ac2a2c,#701d20 85%);border-color:#ec5554;box-shadow:inset 0 1px 0 #ffffff28,0 6px 28px #b31b2545}.btn-primary:hover{background:linear-gradient(125deg,#c83a3b,#8e2124);border-color:#fb8882}.btn-ghost{background:#100f11ae;backdrop-filter:blur(8px)}.btn-lg{padding:19px 35px;font-size:14px;min-height:58px;letter-spacing:.03em}.btn-small{padding:9px 14px;min-height:35px;font-size:12px}.btn-icon{font-size:18px;font-weight:300}.btn-block{width:100%}.btn-danger{border-color:#763a3d;color:#e7a2a2;background:#230e13}.btn:focus-visible,.header-login:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #ff6666;outline-offset:3px}
/* home hero */
.hero-mobile-logo{display:none}
.hero{position:relative;min-height:840px;height:min(95vh,960px);overflow:hidden;isolation:isolate;display:flex;align-items:flex-end;justify-content:center;background:#100c10 url('assets/blackveil-hero.webp') center center/cover no-repeat}.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#08080a15 0%,transparent 46%,#08080b27 63%,#08090d 93%),linear-gradient(90deg,#02030550,transparent 18%,transparent 82%,#02030550)}.hero::after{content:'';position:absolute;inset:auto 0 0;height:135px;background:linear-gradient(transparent,#090a0c);pointer-events:none}.hero-glow{position:absolute;z-index:-1;top:5%;left:50%;width:45%;aspect-ratio:1;transform:translateX(-50%);border-radius:50%;background:#d02c2a09;filter:blur(90px);animation:pulse 9s ease-in-out infinite alternate}.hero-embers{position:absolute;inset:0;pointer-events:none;opacity:.8;background-image:radial-gradient(1px 1px at 10% 23%,#ffaaa9 90%,transparent),radial-gradient(2px 2px at 55% 28%,#f65b4b 90%,transparent),radial-gradient(1px 1px at 70% 64%,#ffc5a0 90%,transparent),radial-gradient(2px 2px at 22% 68%,#c84138 90%,transparent),radial-gradient(1px 1px at 90% 42%,#f65b4b 90%,transparent);animation:embers 13s ease-in-out infinite alternate}.hero-content{position:relative;z-index:1;width:100%;text-align:center;padding:0 20px 97px}.hero-kicker{font:500 12px var(--serif);color:#eee4e5;letter-spacing:.34em;text-shadow:0 2px 18px black;margin:0 0 20px}.hero-ctas{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.hero-ctas .btn{min-width:182px}.hero-scroll{position:absolute;bottom:27px;left:50%;transform:translateX(-50%);color:#ad9795;font:10px var(--serif);letter-spacing:.26em;z-index:2;display:flex;flex-direction:column;align-items:center;gap:7px}.hero-scroll::after{content:'';height:25px;width:1px;background:linear-gradient(#c53d41,transparent)}.hero-bottom-border{height:2px;background:linear-gradient(90deg,transparent,#b23a3c 49%,transparent);box-shadow:0 0 22px #b83f3d}
/* home sections */
.home-section{padding:102px 0}.dark-section{background:linear-gradient(120deg,#0b0b0e,#101012 55%,#0b0a0c)}.section-intro{text-align:center;margin-bottom:42px}.section-intro .eyebrow{justify-content:center}.section-intro h2{font:500 clamp(26px,4vw,43px) var(--serif);letter-spacing:.08em;margin:21px auto 12px}.section-intro p{color:#a79e9e;line-height:1.95}.section-intro .ornament{justify-content:center;margin-top:24px}.feature-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:17px}.feature-card{min-height:285px;position:relative;overflow:hidden;border:1px solid #4c3434;isolation:isolate;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:#171416;transition:border-color .25s,transform .25s}.feature-card:hover{border-color:#bb4749;transform:translateY(-5px)}.feature-card::before{content:'';position:absolute;inset:0;z-index:-2;background-image:url('assets/blackveil-hero.webp');background-size:auto 180%;filter:brightness(.55) saturate(.65);transition:transform .5s,filter .4s}.feature-card:hover::before{transform:scale(1.06);filter:brightness(.72) saturate(.9)}.feature-card:nth-child(1)::before{background-position:3% 34%}.feature-card:nth-child(2)::before{background-position:50% 13%}.feature-card:nth-child(3)::before{background-position:98% 55%}.feature-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0a090913,#080709 88%)}.feature-index{color:#df7773;letter-spacing:.25em;font:13px var(--serif);margin-bottom:auto}.feature-icon{color:#da5550;font:29px var(--serif);margin-bottom:10px}.feature-title{font-size:20px;letter-spacing:-.03em;font-weight:600;margin-bottom:9px}.feature-desc{font-size:12px;line-height:1.8;color:#aca2a1;margin:0}.feature-card .feature-arrow{position:absolute;right:23px;bottom:32px;color:#ee6f70;font:22px Georgia,serif}
.news-section{background:radial-gradient(ellipse at 85% 0%,#2a13171e,transparent 45%),#0b0b0d}.news-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:26px}.news-panel{border:1px solid var(--line-soft);background:linear-gradient(135deg,#161416,#0f0f11);padding:30px 32px;min-height:330px;position:relative}.news-panel::before{content:'';position:absolute;height:2px;top:-1px;left:0;width:95px;background:linear-gradient(90deg,#da4443,transparent)}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:22px}.panel-heading h3{font-size:18px;margin:0}.post-rows{display:flex;flex-direction:column}.post-row{display:flex;align-items:center;gap:15px;border-bottom:1px solid #302b2d;padding:15px 0;min-height:55px}.post-row:last-child{border:0}.post-row-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;color:#d4cdca;flex:1}.post-row:hover .post-row-title{color:#fff}.post-row-date{font-size:11px;color:#777276;white-space:nowrap}.post-row-badge{font-size:10px;letter-spacing:.03em;color:#e39b97;background:#39191b;border:1px solid #693637;padding:5px 8px;white-space:nowrap}.news-more{display:flex;align-items:center;gap:10px;color:#b99b9b;font-size:12px}.news-more span{font-family:Georgia;font-size:18px}
.world-banner{position:relative;min-height:430px;display:flex;align-items:center;isolation:isolate;background:#111 url('assets/blackveil-hero.webp') 50% 54%/cover;overflow:hidden;border-top:1px solid #392326;border-bottom:1px solid #392326}.world-banner::before{content:'';inset:0;position:absolute;z-index:-1;background:linear-gradient(90deg,#09090cee 0%,#09090cd9 35%,#09090c8a 68%,#09090c50),linear-gradient(0deg,#09090c66,#09090c66)}.world-content{width:min(1100px,calc(100% - 64px));margin:auto;padding:70px 0}.world-content h2{font:500 clamp(28px,4vw,50px) var(--serif);letter-spacing:.07em;margin:20px 0}.world-content p{color:#aea4a4;line-height:2.15;font-size:14px;max-width:560px;margin-bottom:28px}.world-content .btn{min-width:192px}
.bottom-cta{padding:88px 0;background:radial-gradient(ellipse at center 0%,#54191c30,transparent 65%),#0b0a0c;text-align:center}.bottom-cta img{width:82px;height:82px;object-fit:contain;margin:0 auto 15px;filter:drop-shadow(0 0 20px #a42b2a40)}.bottom-cta h2{font:500 26px var(--serif);letter-spacing:.1em;margin-bottom:13px}.bottom-cta p{font-size:13px;color:var(--muted);margin-bottom:26px}
/* inner pages */
.page-cover{position:relative;min-height:245px;display:flex;align-items:center;justify-content:center;text-align:center;background:#131014 url('assets/blackveil-hero.webp') center 42%/cover;isolation:isolate;border-bottom:1px solid #633031}.page-cover::before{content:'';z-index:-1;position:absolute;inset:0;background:linear-gradient(0deg,#09090cf0,#09090cbd 80%,#09090cc5),linear-gradient(90deg,#000b,transparent,#000b)}.page-cover h1{font:500 clamp(27px,4vw,39px) var(--serif);letter-spacing:.12em;margin:14px 0 10px}.page-cover p{margin:0;color:#b4a7a7;font-size:12px;letter-spacing:.07em}.inner-content{padding:62px 0 100px;min-height:470px}.category-tabs{display:flex;align-items:center;gap:0;border-bottom:1px solid #403336;margin-bottom:30px;flex-wrap:wrap}.category-tabs a{display:block;padding:15px 23px;color:#999197;font-size:13px;position:relative}.category-tabs a:hover,.category-tabs a.active{color:#fff}.category-tabs a.active::after{content:'';position:absolute;bottom:-1px;left:13px;right:13px;height:2px;background:#f04a4b}.board-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:17px}.board-count{color:#bdb2b2;font-size:12px}.board-count strong{color:#e65050}.board-search{display:flex;align-items:center;gap:7px}.board-search input{background:#141315;color:#ded7d5;border:1px solid #40383a;padding:11px 14px;width:min(255px,50vw);outline:0;font-size:12px}.board-search input:focus{border-color:#b84a4a}.board-list{border-top:2px solid #6e3639}.board-heading,.board-item{display:grid;grid-template-columns:83px minmax(0,1fr) 145px 100px;align-items:center;gap:12px;padding:17px 18px;border-bottom:1px solid #322d2f}.board-heading{background:#181719;color:#9d9292;font-size:11px;text-align:center}.board-heading span:nth-child(2){text-align:left}.board-item{min-height:69px;transition:background .16s}.board-item:hover{background:#171316}.board-item .category{color:#cd8987;font-size:11px;text-align:center}.board-item .title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eee6e4}.board-item:hover .title{color:#ffb6ac}.board-item .author,.board-item .date{font-size:11px;color:#a19898;text-align:center}.pinned-badge{font-size:10px;margin-right:6px;color:#f18b83}.board-foot{margin-top:28px;display:flex;justify-content:space-between;align-items:center;gap:12px}.pagination{display:flex;align-items:center;justify-content:center;gap:6px}.page-btn{background:#1b191b;border:1px solid #3b3234;color:#aaa;padding:8px 12px;min-width:34px}.page-btn.active,.page-btn:hover{border-color:#b74b4b;color:white}.empty-state{text-align:center;padding:85px 20px;color:#8e8486;border-bottom:1px solid #352d30}.empty-state-symbol{font:35px var(--serif);color:#9c3b40;display:block;margin-bottom:13px}.empty-state h3{font-size:16px;color:#dcd1ce;margin-bottom:9px}.empty-state p{font-size:12px;margin:0;line-height:1.8}.sample-note{color:#a88777;font-size:11px;margin:0 0 14px;line-height:1.7}
/* forms */
.auth-page{padding:72px 16px 110px;background:radial-gradient(ellipse at 50% 5%,#5a151b33,transparent 55%),#0b0b0d}.auth-card{width:min(450px,100%);margin:0 auto;border:1px solid #483539;background:linear-gradient(145deg,#1b181b,#100f11);padding:43px 42px 38px;box-shadow:0 28px 90px #0008;position:relative}.auth-card::before{content:'';position:absolute;top:-1px;left:25%;right:25%;height:2px;background:linear-gradient(90deg,transparent,#d84145,transparent)}.auth-mark{height:79px;width:79px;object-fit:contain;margin:0 auto 16px}.auth-card h1{text-align:center;font:500 25px var(--serif);letter-spacing:.12em;margin:0 0 10px}.auth-sub{text-align:center;color:#aaa0a1;font-size:12px;margin-bottom:30px;line-height:1.8}.form-field{margin-bottom:17px}.form-field label{display:block;margin-bottom:9px;color:#c7bdbd;font-size:12px}.form-field input,.form-field textarea,.form-field select{width:100%;background:#0d0d0f;color:#eee5e3;border:1px solid #493d3f;padding:14px 13px;outline:none;border-radius:0;font-size:13px;min-height:49px}.form-field textarea{min-height:225px;line-height:1.8;resize:vertical}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{border-color:#d25051}.form-field input::placeholder,.form-field textarea::placeholder{color:#645c5e}.form-hint{color:#8e8284;font-size:11px;line-height:1.8}.form-error{color:#fa8583;font-size:12px;line-height:1.6;margin:14px 0}.form-success{color:#a5c9ab;font-size:12px;line-height:1.8;margin:13px 0}.auth-switch{text-align:center;margin-top:22px;color:#8f8586;font-size:12px}.auth-switch a{color:#ef8b89;margin-left:8px}.auth-switch a:hover{text-decoration:underline}.auth-hr{display:flex;gap:14px;align-items:center;margin:23px 0;color:#756e70;font-size:11px}.auth-hr::before,.auth-hr::after{content:'';height:1px;flex:1;background:#3c3537}.demo-buttons{display:flex;gap:8px}.demo-buttons .btn{flex:1;padding:11px 5px;font-size:11px}.demo-label{display:inline-flex;padding:5px 9px;color:#efb38c;background:#382419;border:1px solid #68412f;font-size:10px;letter-spacing:.03em}
/* post detail */
.post-shell{max-width:970px;margin:0 auto}.post-detail{border-top:2px solid #82373c}.post-head{padding:32px 25px;border-bottom:1px solid #42373a}.post-head .meta{display:flex;gap:12px;align-items:center;color:#bc9291;font-size:11px;margin-bottom:15px}.post-head h1{font-size:23px;letter-spacing:-.04em;line-height:1.55;margin:0 0 20px}.post-author{display:flex;gap:18px;flex-wrap:wrap;color:#958b8d;font-size:12px}.post-body{padding:45px 25px 75px;min-height:250px;color:#dad1ce;line-height:2;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.post-buttons{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #3c3034;padding:22px 0}.post-buttons>div{display:flex;gap:9px}.comments{margin-top:35px;padding-top:30px;border-top:1px solid #403438}.comments h2{font-size:18px;font-weight:600;margin:0 0 21px}.comments h2 span{color:var(--redhot);margin-left:6px}.comment{padding:19px 5px;border-bottom:1px solid #302b2e}.comment-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.comment-top .name{font-size:12px;color:#e9d7d3;font-weight:600}.comment-top .date{color:#807779;font-size:11px;margin-left:10px}.comment-content{font-size:13px;line-height:1.9;color:#bdb3b1;white-space:pre-wrap;overflow-wrap:anywhere}.comment-delete{background:none;border:0;color:#9c7777;font-size:11px}.comment-delete:hover{color:#f08786}.comment-compose{margin-top:28px}.comment-compose textarea{width:100%;min-height:103px;background:#141315;border:1px solid #46373a;color:#ddd;padding:16px;outline:none;resize:vertical;line-height:1.7}.comment-compose textarea:focus{border-color:#bd494a}.comment-compose-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:12px;gap:12px}.comment-compose-bottom p{font-size:11px;color:#7f7779;margin:0}
/* world page */
.lore-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center;padding:28px 0 80px}.lore-copy h2{font:500 40px var(--serif);letter-spacing:.06em;line-height:1.4;margin:20px 0 23px}.lore-copy p{font-size:13px;color:#ada4a5;line-height:2.2}.lore-art{min-height:370px;background:url('assets/blackveil-hero.webp') 48% 18%/cover;border:1px solid #5b3235;position:relative;box-shadow:20px 20px 0 #131114}.lore-art::after{content:'';position:absolute;inset:0;border:7px solid #0e0d0f60;pointer-events:none}.lore-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.lore-step{padding:28px 26px;background:#161315;border-top:2px solid #733035;min-height:210px}.lore-step .num{font:25px var(--serif);color:#b44447;margin-bottom:20px}.lore-step h3{font-size:17px;margin-bottom:12px}.lore-step p{font-size:12px;color:#a69b9d;line-height:2;margin:0}
/* footer */
.site-footer{background:#070709;border-top:1px solid #38272a;padding:60px 0 22px}.footer-inner{width:min(1160px,calc(100% - 64px));margin:0 auto}.footer-brand img{width:187px;height:auto;opacity:.86}.footer-brand p{font-size:12px;color:#918789;margin:8px 0 28px}.footer-links{display:flex;gap:25px;flex-wrap:wrap;padding:0 0 32px}.footer-links a{color:#b8afb0;font-size:12px}.footer-links a:hover{color:white}.footer-bottom{border-top:1px solid #292326;padding-top:21px;display:flex;gap:10px;justify-content:space-between;color:#666166;font:10px var(--serif);letter-spacing:.05em}.toast{z-index:200;position:fixed;right:25px;bottom:25px;max-width:min(370px,calc(100vw - 50px));padding:15px 20px;color:#ebdedd;border:1px solid #855054;background:#231719;box-shadow:0 16px 50px #000b;font-size:12px;line-height:1.7;opacity:0;transform:translateY(14px);transition:opacity .25s,transform .25s;pointer-events:none}.toast.show{opacity:1;transform:translateY(0)}.loading-screen{height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#eee;font:32px var(--serif);letter-spacing:.18em}.loading-screen span{font:10px var(--serif);margin-top:20px;color:#b54a4a;letter-spacing:.4em}@keyframes pulse{to{opacity:.3;transform:translateX(-50%) scale(1.13)}}@keyframes embers{to{transform:translate3d(9px,-36px,0);opacity:.4}}
@media(max-width:1100px){.desktop-nav{gap:19px}.header-inner{gap:15px;width:calc(100% - 40px)}.header-brand span{font-size:16px}.header-actions{gap:8px}}
@media(max-width:880px){.desktop-nav,.header-actions{display:none}.mobile-menu-button{display:flex;margin-left:auto}.site-header .header-inner{height:68px}.mobile-nav{flex-direction:column;gap:0;padding:6px 22px 16px;background:#0d0b0e;border-top:1px solid #46262a;box-shadow:0 20px 30px #0009}.mobile-nav a{padding:13px 6px;border-bottom:1px solid #2d2327;font-size:13px;color:#d5c9c8}.hero{height:780px;min-height:710px}.feature-grid{grid-template-columns:1fr 1fr}.feature-card:nth-child(3){grid-column:span 2;min-height:230px}.news-grid{grid-template-columns:1fr}.lore-hero{grid-template-columns:1fr;gap:28px}.lore-art{order:-1;min-height:315px}.world-banner{min-height:380px}}
@media(max-width:600px){.container,.footer-inner{width:calc(100% - 36px)}.header-brand span{font-size:15px}.header-brand img{width:43px;height:43px}.site-header .header-inner{width:calc(100% - 34px)}.hero{height:690px;min-height:610px;background-image:linear-gradient(#04050722,#06060933),url('assets/blackveil-mobile-bg.webp');background-position:center center;background-size:cover}.hero-content{padding-bottom:84px}.hero-kicker{font-size:10px;letter-spacing:.12em;margin-bottom:16px}.hero-ctas{gap:9px}.hero-ctas .btn{min-width:130px}.hero-ctas .btn-lg{font-size:11px;padding:12px 13px;min-height:45px}.hero-scroll{bottom:12px}.home-section{padding:72px 0}.section-heading{align-items:start}.section-heading .sub{font-size:12px}.section-title{font-size:25px}.section-intro h2{font-size:27px}.section-intro p{font-size:12px}.feature-grid{grid-template-columns:1fr}.feature-card,.feature-card:nth-child(3){grid-column:auto;min-height:242px}.feature-card::before{background-size:cover}.news-panel{padding:23px 19px;min-height:290px}.news-grid{gap:15px}.post-row{gap:7px}.post-row-date{font-size:10px}.post-row-badge{padding:3px 6px;font-size:9px}.world-content{width:calc(100% - 40px)}.world-content h2{font-size:29px}.world-content p{font-size:12px}.bottom-cta{padding:66px 0}.bottom-cta h2{font-size:20px}.page-cover{min-height:183px}.page-cover h1{font-size:28px}.inner-content{padding:35px 0 65px}.category-tabs a{padding:13px 13px;font-size:12px}.board-heading,.board-item{grid-template-columns:55px minmax(0,1fr) 66px;gap:6px;padding:13px 9px}.board-heading span:nth-child(3),.board-item .author{display:none}.board-item .title{font-size:12px}.board-item .date{font-size:10px}.board-search input{width:150px}.board-count{font-size:11px}.board-foot{flex-wrap:wrap;justify-content:center}.board-foot .btn{order:-1;width:100%}.auth-page{padding:38px 13px 68px}.auth-card{padding:34px 22px}.post-head{padding:25px 12px}.post-head h1{font-size:19px}.post-body{padding:32px 12px 60px}.lore-copy h2{font-size:30px}.lore-art{min-height:235px;box-shadow:10px 10px 0 #131114}.lore-steps{grid-template-columns:1fr}.lore-step{min-height:150px}.footer-links{gap:16px}.footer-bottom{flex-direction:column;line-height:1.7}.comment-compose-bottom{align-items:stretch;flex-direction:column}.comment-compose-bottom .btn{align-self:flex-end}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}

@media(max-width:600px){.hero-mobile-logo{display:block;position:absolute;z-index:2;width:min(93%,460px);height:auto;left:50%;top:40%;transform:translate(-50%,-50%);filter:drop-shadow(0 0 22px #100205)} }

/* v2.0 — official lore alignment, game guide, regional overview, UX fixes */
.skip-link{position:fixed;left:16px;top:-90px;z-index:500;background:#f3ded7;color:#211013;padding:12px 18px;font-weight:700;border:2px solid #d94549}
.skip-link:focus{top:12px}
.hero-storyline{font-size:clamp(13px,1.1vw,16px);line-height:1.95;letter-spacing:.13em;text-align:center;color:#eee2dc;text-shadow:0 3px 14px #000,0 0 22px #270408;font-weight:400;margin:0 0 22px}
.project-disclaimer{max-width:950px;margin:30px auto 0;text-align:center;font-size:11px;line-height:1.85;color:#97888b}
.center-eyebrow{justify-content:center}
.journey-preview{border-top:1px solid #2d2428;border-bottom:1px solid #2d2428;background:radial-gradient(ellipse at center top,#3d111c35,transparent 58%),#0e0d0f}
.journey-flow{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:38px}
.journey-point{min-width:180px;text-align:center;padding:28px 20px 26px;border:1px solid #533033;background:linear-gradient(145deg,#1d171b,#0e0d10);position:relative;flex:1;max-width:292px;box-shadow:0 15px 45px #0004}
.journey-point::before{content:'';position:absolute;top:0;left:30%;right:30%;height:1px;background:#a64750}
.journey-point span{display:block;color:#b15a61;font:19px var(--serif);margin-bottom:10px}
.journey-point strong{font-size:17px;display:block;color:#eee2dc}
.journey-point small{display:block;margin-top:9px;color:#9d9090;letter-spacing:.03em;font-size:12px}
.journey-line{color:#9c4048;font-size:22px;flex:0 0 12px}
.journey-branches{margin:24px 0 0;text-align:center;font-size:12px;color:#b7a1a1;letter-spacing:.07em}
.regions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 42px}
.region-card{border:1px solid #423138;background:linear-gradient(155deg,#191517,#110f12 75%);padding:28px 25px 25px;min-height:270px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:border-color .2s,transform .2s}
.region-card:hover{border-color:#a0454b;transform:translateY(-3px)}
.region-card::before{content:'';position:absolute;right:-55px;top:-75px;width:160px;height:160px;border-radius:50%;border:1px solid #7c34333b;box-shadow:0 0 0 34px #9b242011,0 0 0 65px #9b242009;pointer-events:none}
.region-meta{display:flex;justify-content:space-between;gap:10px;font:11px var(--serif);color:#ca7b7d;letter-spacing:.08em}
.region-meta span:last-child{font-family:var(--sans);color:#85777a;letter-spacing:0}
.region-card h3{font-size:19px;margin:24px 0 8px;font-weight:600}
.region-tag{font-size:12px;color:#c68282;margin:0 0 16px}
.region-description{font-size:12px;line-height:1.9;color:#afa2a4;margin:0 0 24px}
.region-place{border-top:1px solid #3a2b31;padding-top:14px;margin-top:auto;font-size:11px;line-height:1.7;color:#857d7e}
.lore-whisper{font-style:italic;color:#d3a3a0!important;border-left:2px solid #ab3b43;padding:11px 16px;margin:17px 0 22px}
.lore-note{padding:22px 26px;margin:10px 0 45px;border-left:2px solid #9d4246;background:linear-gradient(95deg,#24171c,#141116);color:#c2b5b3;line-height:1.9;font-size:12px}
.lore-note strong{font-size:13px;color:#f1d9d3}
.lore-note p{margin:8px 0 0}
.lore-appendix{margin-top:18px}
.class-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0 65px}
.class-card{position:relative;overflow:hidden;border:1px solid #4c3037;padding:39px 29px 29px;min-height:367px;background:radial-gradient(ellipse at top right,#7e1c2c33,transparent 55%),linear-gradient(155deg,#1c1519,#0e0e11)}
.class-mark{font:clamp(76px,9vw,126px) var(--serif);position:absolute;right:15px;top:8px;color:#76292d3a;line-height:1;pointer-events:none}
.class-english{font:11px var(--serif);letter-spacing:.25em;color:#cc777b;position:relative}
.class-card h3{font-size:27px;margin:25px 0 15px;position:relative}
.class-card p{font-size:13px;color:#ad9fa2;line-height:2;min-height:110px;position:relative}
.class-trees{border-top:1px solid #473037;padding-top:18px;display:flex;flex-direction:column;gap:9px;font-size:12px;line-height:1.7}
.class-trees strong{font-weight:500;color:#c8797a}
.class-trees span{color:#e0d0ca}
.game-principles{display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:stretch;margin:20px 0 45px}
.principle-copy{padding:40px 20px 30px 0}
.principle-copy h2{font-size:clamp(24px,3vw,36px);font-weight:600;line-height:1.5;margin:25px 0}
.principle-copy p{font-size:13px;line-height:2.1;color:#b7aaad}
.principle-card{padding:38px;background:linear-gradient(145deg,#2d171d,#130f12);border:1px solid #633139;display:flex;flex-direction:column;justify-content:center}
.principle-card>span{font:11px var(--serif);letter-spacing:.18em;color:#c77c81}
.principle-card blockquote{margin:22px 0;font-size:clamp(23px,3vw,35px);font-weight:600;line-height:1.6;color:#eee1db}
.principle-card p{font-size:12px;line-height:2;color:#b5a4a8}
.demo-preview-box{border:1px solid #724249;background:#2a191e;padding:18px 19px;margin:0 0 24px;color:#e6d4cf}
.demo-preview-box strong{font-size:13px}
.demo-preview-box p{font-size:12px;line-height:1.9;color:#bca9a9;margin:9px 0 0}
@media(max-width:1050px){.regions-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.class-grid{gap:12px}.class-card{padding:31px 19px 24px}.journey-flow{gap:10px}.journey-point{min-width:0}}
@media(max-width:760px){.journey-flow{flex-direction:column;gap:7px}.journey-line{transform:rotate(90deg);line-height:1}.journey-point{width:100%;max-width:450px;min-height:115px;padding:17px}.journey-branches{font-size:11px;line-height:2}.class-grid{grid-template-columns:1fr}.class-card{min-height:250px}.class-card p{min-height:0}.game-principles{grid-template-columns:1fr;gap:10px}.principle-copy{padding:15px 0}.regions-grid{grid-template-columns:1fr}.region-card{min-height:225px}}
@media(max-width:600px){.hero-storyline{font-size:12px;letter-spacing:.04em;margin-bottom:17px}.hero-kicker{margin-top:2px}.region-card h3{font-size:18px}.region-card{padding:22px}.principle-card{padding:25px}.project-disclaimer{font-size:10px}.hero-content{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){.region-card:hover{transform:none}}
/* Fix intrinsic grid minimum causing horizontal scroll on narrow phones. */
@media(max-width:880px){.news-grid{grid-template-columns:minmax(0,1fr)}.news-panel,.post-rows,.post-row-title{min-width:0}}

/* v2.2 — game launch actions and official events */
.hero-ctas .btn {cursor:pointer;min-width:230px}
.hero-ctas .hero-play{border-color:#f76d65;box-shadow:0 8px 34px #b41e2373,inset 0 1px 0 #ffffff26;min-width:242px}
.hero-ctas .hero-store{min-width:265px;border-color:#8d7375;background:linear-gradient(135deg,#171517e8,#080709e3);backdrop-filter:blur(12px)}
.action-symbol{font-size:21px;color:#f7cccc}
.store-triangle{font-size:24px;color:#f3ddd8;text-shadow:0 0 12px #ff5b55a1}
.store-label{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;line-height:1.15;letter-spacing:0}
.store-label small{font:500 9px var(--serif);letter-spacing:.11em;color:#b9a8a6}
.store-label b{font-size:14px;font-weight:700}
.hero-quick-links{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;margin-top:22px}
.hero-quick-links a{font-size:12px;color:#ead8d4;text-shadow:0 2px 7px #000;transition:color .2s}
.hero-quick-links a:hover{color:#ff8f88}
.hero-quick-links a span{color:#c64b4c;margin-left:3px}
.feature-grid:has(> .feature-card:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.feature-grid:has(> .feature-card:nth-child(4))>.feature-card{min-width:0;padding:24px 19px;min-height:265px}
.feature-grid:has(> .feature-card:nth-child(4)) .feature-title{font-size:22px}
.event-home-section{padding-top:36px;padding-bottom:52px;background:#0b0b0d}
.event-home-panel{position:relative;overflow:hidden;padding:35px 40px;border:1px solid #583031;background:linear-gradient(120deg,#190d11,#0c0b0e 75%)}
.event-home-panel:before{content:'';position:absolute;pointer-events:none;inset:0;background:radial-gradient(circle at 92% 0%,#8d222b40,transparent 50%)}
.event-home-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:22px;border-bottom:1px solid #4a3133}
.event-home-head h2{font:500 29px var(--serif);margin:8px 0 11px}
.event-home-head p{font-size:13px;color:#aaa0a0}
.event-home-list{position:relative;margin-top:22px}
.event-home-list .empty-state{min-height:130px;padding:27px 12px}
.event-home-list .empty-state h3{font-size:17px}
@media(max-width:1180px){.desktop-nav{gap:19px}.header-inner{gap:18px}.feature-grid:has(> .feature-card:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero-ctas{gap:10px}.hero-ctas .btn{min-width:0}.hero-ctas .hero-play{min-width:0}.hero-ctas .hero-store{min-width:0}.event-home-panel{padding:24px 18px}.event-home-head{align-items:flex-start;flex-direction:column}.event-home-head h2{font-size:24px}}
@media(max-width:600px){.hero-ctas{width:min(94vw,340px);margin:0 auto;flex-direction:column}.hero-ctas .btn{width:100%;min-height:54px;padding:12px 18px}.hero-ctas .hero-store{justify-content:center}.hero-quick-links{gap:13px;margin-top:16px}.hero-quick-links a{font-size:11px}.hero-content{padding-bottom:92px}.feature-grid:has(> .feature-card:nth-child(4)){grid-template-columns:1fr 1fr;gap:10px}.feature-grid:has(> .feature-card:nth-child(4))>.feature-card{min-height:220px;padding:19px 13px}.feature-grid:has(> .feature-card:nth-child(4)) .feature-title{font-size:19px}.feature-grid:has(> .feature-card:nth-child(4)) .feature-desc{font-size:11px}.event-home-section{padding-top:0}.event-home-list .empty-state p{font-size:12px}}
@media(max-width:370px){.feature-grid:has(> .feature-card:nth-child(4)){grid-template-columns:1fr}.feature-grid:has(> .feature-card:nth-child(4))>.feature-card{min-height:170px}}
