:root{--night:#0c1230;--deep:#090e27;--mid:#192146;--violet:#aea0fb;--lilac:#d6c5ff;--sky:#9bd4ff;--pink:#f8bedc;--cream:#fff7ed;--muted:#bdc6e8;--outline:rgba(206,207,255,.22);--thin:rgba(236,225,255,.13);--panel:#21264d;--soft-shadow:0 24px 65px rgba(5,8,29,.28)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:#f6f3ff;font-family:'Pretendard','Noto Sans KR','Apple SD Gothic Neo','Malgun Gothic',sans-serif;background:radial-gradient(ellipse at 52% -18%,#37366a 0%,#172146 39%,var(--night) 66%,#090d22 100%);min-height:100vh;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--sky);outline-offset:3px}.starfield{position:fixed;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 18%,#fff9,transparent),radial-gradient(2px 2px at 65% 24%,#fff9,transparent),radial-gradient(1px 1px at 92% 15%,#fff8,transparent),radial-gradient(2px 2px at 26% 49%,#e0c8ff99,transparent),radial-gradient(1px 1px at 79% 72%,#fff7,transparent),radial-gradient(1px 1px at 37% 83%,#d0eaff99,transparent),radial-gradient(2px 2px at 8% 94%,#fff9,transparent),radial-gradient(1px 1px at 46% 10%,#fff9,transparent);background-size:620px 510px;opacity:.85;animation:starshift 14s ease-in-out infinite alternate}@keyframes starshift{from{opacity:.55}to{opacity:1}}
.shell{width:min(1160px,calc(100% - 36px));margin:auto}.site-header{height:72px;width:min(1230px,calc(100% - 32px));margin:18px auto 0;border:1px solid #d5d4ff33;border-radius:23px;background:rgba(17,22,53,.8);backdrop-filter:blur(17px);display:flex;align-items:center;justify-content:space-between;padding:10px 18px;position:relative;z-index:25;box-shadow:0 12px 38px #060a2933;gap:12px}.logo{display:flex;align-items:center;gap:9px;white-space:nowrap}.logo-moon{width:39px;height:39px;border-radius:14px;display:grid;place-items:center;color:#fff3d8;font-size:29px;background:linear-gradient(135deg,#8b81d766,#9cd0f533);border:1px solid #e2d7ff2e}.logo strong{font-family:Georgia,serif;font-size:23px;letter-spacing:.095em;font-weight:700;line-height:1}.logo small{display:block;margin-top:2px;letter-spacing:.39em;font-size:9px;color:#cfcaeb}.top-nav{display:flex;align-items:center;gap:1px;flex-wrap:wrap;justify-content:center}.top-nav a{font-size:13px;color:#e1dcf5;padding:10px 12px;border-radius:13px;white-space:nowrap;transition:.2s}.top-nav a:hover{background:#fff1;color:white}.header-actions{display:flex;gap:7px}.icon-pill{white-space:nowrap;border-radius:13px;color:#ece8ff;border:1px solid #ffffff2b;background:#ffffff10;padding:10px 11px;font-size:12px}.icon-pill:hover{background:#ffffff21}.notice-pill{position:relative}#inboxCount{position:absolute;top:-9px;right:-5px;background:var(--pink);color:#222344;border-radius:50%;padding:2px 5px;font-size:10px}
.main-hero{text-align:center;padding-top:67px}.kicker{display:inline-block;font-size:11px;letter-spacing:.25em;color:#e5d4ff;border:1px solid #c2b7f044;padding:9px 17px;border-radius:999px;background:#8a83d61c}.kicker span{color:#ffdabd}.main-hero h1,.monster-title h1{font-size:clamp(36px,5vw,63px);font-weight:750;letter-spacing:-.075em;line-height:1.28;margin:22px auto 10px;text-shadow:0 6px 34px #18143e88}.main-hero h1 em,.monster-title h1 em{font-style:normal;color:#dec9ff;background:linear-gradient(95deg,#f1d7ff,#a8d7ff);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.hero-desc{font-size:15px;color:#c9d3ef;line-height:1.95;margin:13px auto 0}.hero-actions{display:flex;justify-content:center;align-items:center;gap:12px;margin:26px auto 33px;flex-wrap:wrap}.magic-btn{display:inline-flex;justify-content:center;align-items:center;border:none;border-radius:999px;padding:14px 26px;box-shadow:0 13px 25px #7b80e33d,inset 0 1px #ffffffad;background:linear-gradient(120deg,#edc5fd,#acd8ff);color:#222345;font-size:14px;font-weight:800;transition:transform .18s,filter .18s}.magic-btn:hover:not(:disabled){transform:translateY(-3px);filter:brightness(1.05)}.magic-btn:disabled{opacity:.5;cursor:default}.outline-btn{display:inline-block;border-radius:999px;padding:13px 23px;border:1px solid #c8c0f358;background:#b2a9fc17;color:#eeeafd;font-size:13px;font-weight:650}.outline-btn:hover{background:#c9b8fe2d}.hero-landscape{position:relative;max-width:1110px;margin:0 auto;border-radius:32px;padding:8px;background:linear-gradient(150deg,#e6ceff75,#9abfea77 45%,#f6c5d057);box-shadow:0 25px 62px #050b2699,0 0 50px #b8a2ff26}.hero-landscape img{width:100%;height:auto;aspect-ratio:1472 / 640;object-fit:contain;border-radius:25px;background:#1c2140}.landscape-label{position:absolute;left:24px;bottom:23px;background:#101735cf;border:1px solid #ffffff3d;border-radius:999px;font-weight:700;padding:11px 18px;color:#fff7ef;font-size:13px;backdrop-filter:blur(10px)}.landscape-label span{font:italic 11px Georgia;color:#b4d5ff;margin-left:10px}.wander-strip{height:116px;display:flex;justify-content:space-around;align-items:end;gap:8px;max-width:1010px;margin:-9px auto 0;position:relative;z-index:1}.wander-strip img{width:clamp(55px,8vw,102px);height:111px;object-fit:contain;filter:drop-shadow(0 7px 9px #0007);animation:bob 4s ease-in-out infinite alternate}.wander-strip img:nth-of-type(2){animation-delay:.45s}.wander-strip img:nth-of-type(3){animation-delay:.8s}.wander-strip img:nth-of-type(4){animation-delay:1.2s}.wander-strip img:nth-of-type(5){animation-delay:.25s}.wander-strip img:nth-of-type(6){animation-delay:1.6s}.wander-spark{color:#e5c9ff79;padding-bottom:35px;white-space:nowrap}@keyframes bob{from{transform:translateY(0)}to{transform:translateY(-7px)}}
.paper-card{border:1px solid #bcb5eb41;background:linear-gradient(145deg,#242b59f0,#151b40ec);box-shadow:var(--soft-shadow);border-radius:25px;position:relative}.paper-card::before{content:'✧';position:absolute;right:16px;top:10px;color:#cabdff54;font-size:18px;pointer-events:none}.welcome-row{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:34px}.welcome-card,.postcard-card{padding:28px 30px}.small-label,.tiny-heading{font-size:11px;letter-spacing:.2em;color:#b5d8ff;font-weight:700}.welcome-row h2{margin:10px 0;font-size:25px;letter-spacing:-.055em}.welcome-row h2 span{color:var(--pink)}.welcome-row p{color:#c6cce9;margin:9px 0 20px;font-size:14px;line-height:1.7}.welcome-card label{display:block;font-size:13px;color:#eee7ff;font-weight:700;margin-bottom:9px}.name-controls{display:flex;gap:10px}.name-controls input{min-width:0;flex:1;border:1px solid #c5bcff4f;border-radius:13px;background:#0f1635a3;padding:13px 15px;color:white}.name-controls button{background:#ded0ff;color:#282b4d;border:0;border-radius:13px;padding:12px 20px;font-weight:700}.hint,.aside-hint{display:block;font-size:12px;color:#aab9db;margin-top:11px}.postcard-bubble{padding:16px 18px;border:1px dashed #e9bdd066;border-radius:17px;background:#f7cbeb10}.postcard-bubble span{font-size:12px;color:#fbc9de}.postcard-bubble p{color:#fff0f9;margin:8px 0 0;font-size:14px}.quiet-link{color:#b8d7ff;background:none;border:0;margin-top:13px;padding:8px 0;text-align:left;font-weight:700;font-size:13px}
.section-block{padding-top:95px}.section-header{margin:0 0 25px;text-align:center}.section-header h2{font-size:clamp(25px,3vw,35px);line-height:1.3;letter-spacing:-.05em;margin:12px 0}.section-header h2 span{color:#f4c3df}.section-header p{font-size:14px;line-height:1.8;color:#bfc8e7;margin:0}.world-box{padding:22px}.world-view{position:relative;border-radius:17px;overflow:hidden;border:1px solid #ffffff20;background:#0b0e23}.world-view img{display:block;width:100%;height:auto;aspect-ratio:1472/640;object-fit:contain}.world-title{position:absolute;left:19px;bottom:17px;background:#0d1434c7;border:1px solid #fff4;padding:12px 18px;border-radius:17px;backdrop-filter:blur(7px);text-align:left}.world-title span{display:block;color:#c9c6f5;font-size:11px;margin-bottom:3px}.world-title strong{font-size:20px}.world-desc{text-align:center;color:#d1d5ee;line-height:1.8;min-height:28px;margin:18px 0 15px;font-size:14px}.world-options{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.world-options button{border:1px solid #e3d8fa30;background:#f7f4ff0c;color:#d8d9f6;font-size:12px;padding:11px 14px;border-radius:999px;transition:.15s}.world-options button.selected,.world-options button:hover{background:#e1cafe;color:#202548;border-color:#e1cafe}
.jobs-box{padding:23px}.class-tabs{display:flex;justify-content:center;gap:9px;padding-bottom:20px;flex-wrap:wrap;border-bottom:1px solid #f9eff51a}.class-tabs button{background:#10163877;border:1px solid #d3c4ff46;border-radius:999px;padding:12px 21px;color:#d5cef6;font-size:14px;font-weight:700}.class-tabs button.selected{background:#e3ccff;color:#202341;border-color:#e3ccff}.job-layout{display:grid;grid-template-columns:195px 1fr;gap:22px;margin-top:22px}.job-rail{display:flex;flex-direction:column;gap:7px;max-height:585px;overflow:auto;padding-right:4px}.job-rail button{text-align:left;border:1px solid transparent;background:#10173888;color:#d4d7f1;border-radius:13px;padding:14px;font-size:14px;font-weight:650}.job-rail button:hover{border-color:#d9c6ff63}.job-rail button.selected{background:linear-gradient(95deg,#cdbaf63a,#afcfff20);color:white;border-color:#c8baf975}.job-detail{display:grid;grid-template-columns:minmax(255px,350px) minmax(210px,1fr);gap:26px}.job-art{padding:8px;border-radius:18px;background:radial-gradient(circle at 50% 34%,#abb2ef3b,#13193b 70%);border:1px solid #e6ddff27;display:flex;align-items:center;justify-content:center;min-height:435px}.job-art img{width:auto;height:auto;max-width:100%;max-height:420px;object-fit:contain;border-radius:12px}.job-copy{padding:34px 4px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.job-overline{font-size:11px;letter-spacing:.2em;color:#c8bafc}.job-copy h3{font-size:37px;margin:9px 0 14px;letter-spacing:-.07em}.job-pill{display:inline-block;border:1px solid #d5caff56;padding:9px 14px;border-radius:999px;background:#b7a8f82b;color:#f6eafa;font-weight:700;font-size:13px}.job-copy p{font-size:15px;line-height:1.9;color:#c4cdeb;margin:20px 0 26px}.job-field{padding:15px 0;border-top:1px solid #ffffff23;width:100%}.job-field small{display:block;color:#9eb9f0;margin-bottom:9px}.job-field strong{font-size:17px}.gender-switch{display:flex;gap:8px;margin-top:23px}.gender-switch button{padding:11px 16px;background:#ffffff11;color:#d2daf9;border:1px solid #ffffff29;border-radius:11px}.gender-switch button.active{background:#d7c9ff;color:#242545;border-color:#d7c9ff}
.wedding-box{padding:22px}.wedding-picture{border:1px solid #f3e8fb39;border-radius:18px;overflow:hidden}.wedding-picture img{width:100%;height:auto;aspect-ratio:1472/640;object-fit:contain}.wedding-intro{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:24px 6px}.wedding-intro h3{font-size:26px;margin:8px 0}.wedding-intro p{margin:8px 0 0;color:#c6d0ec;font-size:14px;line-height:1.8}.benefit-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.benefit-tiles>div{background:#13193b9c;border:1px solid #e6daff2f;border-radius:17px;padding:18px 14px;text-align:center}.benefit-tiles span{display:block;font-size:25px;margin-bottom:10px}.benefit-tiles b{display:block;font-size:14px}.benefit-tiles small{display:block;color:#afbddd;font-size:11px;margin-top:6px;line-height:1.5}
.story-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:18px}.story-highlight,.story-side{padding:27px}.story-grid h3{font-size:25px;letter-spacing:-.05em;margin:9px 0 16px}.story-grid p{font-size:14px;color:#cbd1ed;line-height:1.85}.story-duo{display:flex;gap:11px;flex-wrap:wrap}.story-duo>div{border-radius:17px;background:#10183987;border:1px solid #dfd5fc35;padding:18px;flex:1;min-width:140px}.story-duo small{color:#c4b5fc;display:block;font-size:11px}.story-duo b{display:block;margin:7px 0;font-size:20px}.story-duo span{font-size:12px;color:#b6c3e8}.secondary-note{border-top:1px solid #e9ddfa28;padding-top:16px;font-size:12px;color:#b9b9ed}.guild-mini{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.guild-mini div{background:#101739aa;border:1px solid #e8dfff24;border-radius:13px;padding:12px}.guild-mini b{display:block;font-size:14px}.guild-mini small{color:#b5c8ea;font-size:11px}.monster-invite{padding-bottom:45px}.monster-invite-card{background:radial-gradient(ellipse at 85% 20%,#827ad53d,transparent 45%),linear-gradient(110deg,#252856,#172046);border:1px solid #decbff62;border-radius:27px;padding:37px 40px;display:flex;justify-content:space-between;gap:15px;align-items:center;box-shadow:var(--soft-shadow)}.monster-invite-card h2{font-size:27px;letter-spacing:-.05em;margin:11px 0}.monster-invite-card p{color:#cbd7f5;font-size:14px;line-height:1.8;margin-bottom:23px}.invite-decor{font-size:59px;white-space:nowrap;filter:drop-shadow(0 8px 12px #0507236a)}.invite-decor span{font-size:48px}.site-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid #e9e4ff24;padding:26px 0 50px;color:#b2c0e6;font-size:12px}.logo-mini{font-family:Georgia,serif;color:#ece7ff;letter-spacing:.13em;font-size:15px}.site-footer p{margin:9px 0}.site-footer a:hover{color:white}
/* Entry screen */
.loading{position:fixed;inset:0;background:radial-gradient(ellipse at 40% 24%,#494275,#141a41 53%,#090c24 100%);z-index:100;display:grid;place-items:center;padding:15px}.loading-stars{position:absolute;top:6%;width:100%;text-align:center;letter-spacing:9vw;font-size:34px;color:#ffffff66;pointer-events:none}.loading-stars span{color:#a7d9ff}.loading-card{position:relative;text-align:center;width:min(570px,100%);padding:31px 37px 25px;border:1px solid #ead7ff87;border-radius:33px;background:radial-gradient(ellipse at top,#433e78f2,#1b214ae8 72%);box-shadow:0 25px 85px #060824aa,inset 0 1px #ffffff3a}.loading-card::before,.loading-card::after{content:'✧';position:absolute;font-size:28px;color:#ffe0f09c}.loading-card::before{left:17px;top:11px}.loading-card::after{right:17px;bottom:11px}.loading-overline{color:#e2d4ff;font-size:10px;letter-spacing:.26em}.loading-title{font-family:Georgia,serif;font-size:29px;color:#f2e1fb;margin:13px auto 0;display:flex;gap:9px;justify-content:center;align-items:center}.loading-title strong{font-size:42px;letter-spacing:.07em}.loading-title small{font:10px sans-serif;letter-spacing:.22em;align-self:flex-end;margin-bottom:7px}.loading-sub{margin:10px 0 14px;color:#d6d4f1;font-size:13px}.loading-sprites{height:114px;display:flex;justify-content:center;gap:26px;align-items:end;margin:0 auto 12px}.loading-sprites img{height:110px;width:95px;object-fit:contain;animation:bob 1s ease-in-out infinite alternate}.loading-sprites img:nth-child(2){animation-delay:.2s}.loading-sprites img:nth-child(3){animation-delay:.4s}.loading-bar-wrap{max-width:410px;margin:13px auto}.loading-progress{height:12px;background:#0b1331;border:1px solid #f7e7ff3a;border-radius:999px;padding:2px}.loading-progress>span{height:100%;width:0;display:block;border-radius:99px;background:linear-gradient(90deg,#9eaafa,#e7baf2,#9ed7ff);transition:width .15s}.loading-status{display:flex;justify-content:space-between;color:#c6cee9;font-size:11px;margin:7px 2px}.load-message{display:flex;align-items:center;gap:12px;text-align:left;margin:14px auto 17px;padding:13px 15px;border:1px solid #ecc4df6e;border-radius:16px;background:#120f3288}.message-icon{font-size:21px}.load-message small{display:block;color:#ffcde5;font-size:12px}.load-message p{color:#f7f5ff;font-size:13px;margin:6px 0 0;line-height:1.5}.loading-card>.magic-btn{width:100%;max-width:350px}.loading-note{font-size:11px;color:#b5bedf;margin:12px 0 0}
/* whisper */
.toast-zone{position:fixed;right:16px;top:92px;z-index:60;width:min(335px,calc(100% - 32px));pointer-events:none}.message-toast{background:#21254bf7;border:1px solid #d9bdf47a;border-radius:19px;box-shadow:0 16px 45px #0008;padding:15px 16px;transform:translateX(115%);opacity:0;transition:.4s ease;pointer-events:auto}.message-toast.visible{transform:translateX(0);opacity:1}.message-toast b{display:block;font-size:12px;color:#ffd2e5;margin-bottom:9px}.message-toast p{margin:0;color:white;font-size:13px;line-height:1.65}.message-drawer{z-index:90;position:fixed;right:15px;top:82px;bottom:16px;width:min(370px,calc(100% - 30px));background:#1a2148;border:1px solid #e4d6ff5e;border-radius:22px;box-shadow:0 24px 66px #0009;display:flex;flex-direction:column;transform:translateX(calc(100% + 35px));transition:.3s;visibility:hidden}.message-drawer.open{transform:translateX(0);visibility:visible}.drawer-header{padding:18px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ffffff27}.drawer-header small{color:#b8d0ff;font-size:10px}.drawer-header h2{margin:5px 0;font-size:17px}.drawer-header button,.modal-head button{background:#ffffff18;color:#fff;border:1px solid #ffffff30;border-radius:11px;padding:9px}.message-history{padding:17px;overflow:auto;flex:1}.history-entry{background:#11183b;border:1px solid #d8ceff28;border-radius:14px;padding:14px;margin-bottom:12px}.history-entry small{color:#eac2ff}.history-entry p{line-height:1.6;font-size:13px;margin:7px 0 0;color:#f2edff}.history-empty{font-size:13px;color:#bcbfe0}.drawer-foot{padding:14px;color:#bdc5ed;font-size:12px;border-top:1px solid #ffffff1e}.modal-shade{position:fixed;z-index:110;inset:0;display:grid;place-items:center;background:#060a24ce;padding:18px}.modal-shade[hidden]{display:none}.modal-card{width:min(850px,100%);max-height:95vh;overflow:auto;padding:18px}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.modal-head h2{font-size:20px;margin:0}.modal-card img{display:block;width:100%;height:auto;object-fit:contain;border-radius:15px}.modal-card p{font-size:13px;line-height:1.7;color:#cbd3f4}
/* Creature sub-page */
.monster-title{padding:90px 0 18px;text-align:center}.monster-title h1{margin-top:23px}.monster-title p{font-size:15px;line-height:1.8;color:#c1cfed}.monster-icons{font-size:32px;margin:24px 0 0}.creature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.creature-grid.mobs{grid-template-columns:repeat(3,1fr)}.creature{padding:13px;overflow:hidden}.creature-slot{height:250px;border-radius:16px;background:radial-gradient(circle at center,#55548285,#131938 73%);border:1px dashed #dec6ff70;display:flex;flex-direction:column;gap:11px;align-items:center;justify-content:center}.creature-slot>span{font-size:70px;filter:drop-shadow(0 8px 10px #0004)}.creature-slot small{font-size:12px;color:#c9c2ed}.mob-slot{height:198px;background:radial-gradient(circle at center,#6b6cb952,#15193e 75%)}.creature-copy{padding:15px 7px 9px}.creature-copy>span{font-size:12px;color:#b1d0f8}.creature-copy h3{font-size:21px;margin:7px 0 9px}.creature-copy p{font-size:13px;color:#c6cfeb;line-height:1.8}.creature-copy b{font-size:12px;color:#f6c8dd}
@media(max-width:990px){.site-header{height:auto;flex-wrap:wrap;justify-content:center;padding:12px}.top-nav{order:3;width:100%}.main-hero{padding-top:48px}.job-detail{grid-template-columns:minmax(190px,.8fr) 1fr}.job-layout{grid-template-columns:155px 1fr}.job-rail button{font-size:13px}.story-grid,.welcome-row{grid-template-columns:1fr}}
@media(max-width:700px){.shell{width:min(100% - 26px,1160px)}.site-header{margin-top:8px;width:calc(100% - 16px);border-radius:18px;gap:7px}.logo strong{font-size:19px}.logo-moon{width:34px;height:34px}.header-actions .icon-pill span{display:none}.top-nav{gap:0;overflow:auto;flex-wrap:nowrap;justify-content:flex-start}.top-nav a{font-size:12px;padding:8px 9px}.main-hero{padding-top:36px}.main-hero h1{font-size:35px}.hero-desc{font-size:13px}.hero-landscape{border-radius:20px;padding:4px}.hero-landscape img{border-radius:17px}.landscape-label{font-size:10px;left:10px;bottom:10px;padding:7px 10px}.landscape-label span{display:none}.wander-strip{height:77px;margin-top:-3px;gap:0}.wander-strip img{width:17%;height:75px}.wander-spark{display:none}.welcome-card,.postcard-card{padding:19px}.welcome-row h2{font-size:21px}.section-block{padding-top:63px}.world-box,.jobs-box,.wedding-box{padding:11px}.world-title{bottom:8px;left:8px;padding:6px 10px;border-radius:9px}.world-title strong{font-size:14px}.world-title span{font-size:9px}.world-desc{font-size:12px}.world-options{gap:6px}.world-options button{font-size:11px;padding:9px 11px}.class-tabs button{font-size:11px;padding:10px 12px}.job-layout{grid-template-columns:1fr;gap:11px}.job-rail{display:flex;flex-direction:row;overflow-x:auto;max-height:unset}.job-rail button{flex:0 0 auto;padding:10px 13px}.job-detail{grid-template-columns:1fr}.job-art{min-height:unset}.job-art img{max-height:380px}.job-copy{padding:11px 10px 20px}.job-copy h3{font-size:28px}.job-copy p{margin:13px 0 10px}.wedding-intro{display:block;padding:18px 4px}.wedding-intro h3{font-size:22px}.wedding-intro .outline-btn{margin-top:15px}.benefit-tiles{grid-template-columns:repeat(2,1fr)}.benefit-tiles b{font-size:12px}.story-highlight,.story-side{padding:19px}.monster-invite-card{padding:22px 19px}.monster-invite-card h2{font-size:20px}.invite-decor{display:none}.loading-card{padding:25px 18px}.loading-title strong{font-size:33px}.loading-title{font-size:22px}.loading-sprites{gap:6px}.loading-sprites img{width:79px;height:100px}.load-message p{font-size:12px}.creature-grid,.creature-grid.mobs{grid-template-columns:1fr 1fr}.creature-slot{height:180px}.mob-slot{height:160px}.creature-copy h3{font-size:17px}.creature-copy p{font-size:12px}.creature-slot>span{font-size:48px}.site-footer{display:block}}
@media(max-width:430px){.creature-grid,.creature-grid.mobs{grid-template-columns:1fr}.creature-slot{height:190px}.main-hero h1{font-size:31px}.hero-actions{gap:8px}.magic-btn,.outline-btn{padding:12px 16px;font-size:12px}.section-header p{font-size:12px}.class-tabs{gap:5px}.class-tabs button{font-size:10px;padding:9px 9px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}

/* Monster book lives inside the main homepage, alongside all other sections */
#monsters,#mobs,#bosses{scroll-margin-top:125px}
.monster-collection{padding-bottom:85px}
.monster-collection .creature-section-head{margin-bottom:20px}
.creature-quicklinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.creature-quicklinks a{border:1px solid #dbcaff74;background:linear-gradient(110deg,#3a376baf,#253966af);color:#f4e9ff;padding:12px 17px;border-radius:999px;font-size:13px;font-weight:600;box-shadow:0 6px 24px #0b123d2d;transition:transform .2s,background .2s}
.creature-quicklinks a:hover{transform:translateY(-2px);background:#6453a488}
.monster-category{background:linear-gradient(150deg,#262a5eac,#151c45cc);padding:23px;border-radius:27px;border:1px solid #ebdaff35;box-shadow:0 16px 48px #05082036;margin-bottom:22px}
.monster-category-title{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px}
.monster-category-title small{color:#c2baf5;font-size:11px;letter-spacing:.13em}
.monster-category-title h3{font-size:24px;letter-spacing:-.04em;margin:5px 0 0;color:#fff}
.monster-category-title h3 span{color:#ffd1ea}
.monster-category-count{padding:8px 12px;white-space:nowrap;border-radius:25px;background:#baa8ff20;border:1px solid #c9bdff4e;font-size:12px;color:#f3e8ff}
.monster-collection .creature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.monster-collection .creature-grid.mobs{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.monster-collection .creature{min-width:0;border-radius:20px;overflow:hidden;padding:9px;background:linear-gradient(180deg,#2f3268d9,#191f4cde)}
.monster-collection .creature-slot{height:214px;background:radial-gradient(circle at 48% 37%,#7f77b152,#33386565 40%,#0f1738 100%);border-radius:13px}
.monster-collection .creature-slot.mob-slot{height:152px}
.monster-collection .creature-slot>span{font-size:54px}
.monster-collection .creature-slot small{font-size:11px;color:#becaef}
.monster-collection .creature-copy{padding:12px 6px 8px}
.monster-collection .creature-copy h3{font-size:18px;line-height:1.3;margin:6px 0 7px;word-break:keep-all}
.monster-collection .creature-copy>span{font-size:11px;color:#b9cbf8}
.monster-collection .creature-copy p{font-size:12px;line-height:1.7;color:#d1d6f1;word-break:keep-all;margin:0 0 10px}
.monster-collection .creature-copy b{font-size:11px;line-height:1.5;color:#ffd9eb}
.raid-category{margin-top:26px}
.raid-caption{font-size:13px;color:#bdc8ef;margin:-4px 0 14px}
@media(max-width:1100px){.monster-collection .creature-grid.mobs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){#monsters,#mobs,#bosses{scroll-margin-top:160px}.monster-category{padding:14px}.monster-category-title h3{font-size:19px}.monster-collection .creature-grid,.monster-collection .creature-grid.mobs{grid-template-columns:repeat(2,minmax(0,1fr))}.monster-collection .creature-slot{height:170px}.monster-collection .creature-slot.mob-slot{height:135px}.monster-collection .creature-copy h3{font-size:16px}.monster-collection .creature-copy p{font-size:11px}}
@media(max-width:420px){.monster-collection .creature-grid,.monster-collection .creature-grid.mobs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.monster-category{padding:12px}.monster-collection .creature-slot{height:150px}.monster-collection .creature-slot.mob-slot{height:120px}.monster-collection .creature-slot>span{font-size:40px}.creature-quicklinks a{padding:10px 12px;font-size:12px}}


/* === v6: Larger legible UI + illustrated monster atlas + real-life guild roster === */
body{font-size:17px;line-height:1.65}
.logo strong{font-size:26px}.logo small{font-size:12px;letter-spacing:.25em}
.top-nav a{font-size:16px;font-weight:650;padding:10px 11px}
.icon-pill{font-size:15px;padding:10px 13px}
.kicker{font-size:14px;letter-spacing:.14em}
.main-hero h1{font-size:clamp(40px,5.2vw,68px)}
.hero-desc{font-size:18px;line-height:1.85}
.magic-btn,.outline-btn{font-size:17px;padding:15px 26px}
.landscape-label{font-size:16px}
.welcome-row h2{font-size:29px}
.welcome-row p,.story-grid p,.wedding-intro p,.world-desc{font-size:17px;line-height:1.8}
.small-label,.tiny-heading{font-size:14px;letter-spacing:.12em}
.welcome-card label,.hint,.aside-hint{font-size:15px}
.name-controls input,.name-controls button{font-size:17px}
.postcard-bubble span{font-size:15px}.postcard-bubble p{font-size:17px}
.quiet-link{font-size:16px}
.section-header h2{font-size:clamp(28px,3.5vw,42px)}
.section-header p{font-size:17px;line-height:1.8}
.world-title span{font-size:14px}.world-title strong{font-size:24px}
.world-options button{font-size:15px;padding:11px 16px}
.class-tabs button,.job-rail button{font-size:16px}
.job-overline{font-size:14px}.job-copy h3{font-size:42px}
.job-pill{font-size:16px}.job-copy p{font-size:17px}
.job-field small{font-size:15px}.job-field strong{font-size:19px}
.gender-switch button{font-size:16px}
.wedding-intro h3{font-size:30px}
.benefit-tiles b{font-size:17px}.benefit-tiles small{font-size:15px}
.story-grid h3{font-size:29px}.story-duo small{font-size:14px}.story-duo b{font-size:24px}.story-duo span{font-size:15px}
.secondary-note{font-size:15px}
.guild-mini a{display:block;background:#101739aa;border:1px solid #e8dfff24;border-radius:13px;padding:13px;transition:background .2s}
.guild-mini a:hover{background:#c5b0ff28}
.guild-mini b{font-size:17px}.guild-mini small{font-size:14px}
.site-footer{font-size:15px}.logo-mini{font-size:17px}
.loading-overline,.loading-title small,.loading-status,.loading-note{font-size:14px}
.loading-sub,.load-message p{font-size:16px}.load-message small{font-size:15px}
.message-toast b{font-size:15px}.message-toast p{font-size:16px}
.drawer-header small{font-size:14px}.drawer-header h2{font-size:21px}
.history-entry small{font-size:14px}.history-entry p,.history-empty,.drawer-foot{font-size:16px}
.modal-head h2{font-size:25px}.modal-card p{font-size:16px}
.monster-notice{display:inline-flex;align-items:center;gap:9px;margin:17px auto 1px;padding:11px 17px;border-radius:16px;background:#302e6385;border:1px solid #c6b2ff80;color:#fff0fa;font-size:16px;font-weight:700;line-height:1.6}
.monster-notice span{color:#ffdae9;font-size:20px}
.creature-quicklinks{justify-content:center}
.creature-quicklinks a{font-size:16px;padding:12px 18px}
.monster-category-title h3{font-size:28px}.monster-category-title small{font-size:14px}
.monster-category-count{font-size:16px}
.raid-caption{font-size:16px}
.monster-collection .creature-grid.mobs{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.monster-collection .creature-grid.bosses{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.monster-collection .creature{padding:10px;border-radius:21px;display:flex;flex-direction:column;background:linear-gradient(180deg,#30356c,#1a2150)}
.monster-collection .creature-slot,.monster-collection .creature-slot.mob-slot{height:auto;aspect-ratio:1216/832;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f9f8ff;border:1px solid #ddd7f6;border-radius:15px}
.monster-collection .creature-slot img{width:100%;height:100%;object-fit:contain;display:block;max-width:100%;border-radius:12px}
.monster-collection .creature-copy{padding:17px 10px 12px;flex:1}
.monster-collection .creature-copy>span{font-size:15px;color:#b8d9ff}
.monster-collection .creature-copy h4{font-size:23px;line-height:1.35;margin:7px 0 10px;letter-spacing:-.04em;word-break:keep-all;color:#fff}
.monster-collection .creature-copy p{font-size:16px;line-height:1.7;color:#e0e4ff;margin:0 0 10px;word-break:keep-all}
.monster-collection .creature-copy b{display:block;font-size:15px;line-height:1.65;color:#ffd8ee;font-weight:700}
.guild-roster{margin-top:32px}
.guild-roster-heading{text-align:center;margin-bottom:19px}
.guild-roster-heading h3{font-size:29px;margin:9px 0;color:#fff;letter-spacing:-.04em}
.guild-roster-heading h3 span{color:var(--pink)}
.guild-roster-heading p{margin:0;color:var(--muted);font-size:17px}
.guild-portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.guild-portrait-card{padding:12px;overflow:hidden;min-width:0}
.guild-portrait{border-radius:18px;overflow:hidden;background:#e8e1fa;border:1px solid #e7d8fb55;aspect-ratio:832/1216;display:flex;align-items:center;justify-content:center}
.guild-portrait img{width:100%;height:100%;object-fit:contain}
.guild-portrait-info{padding:15px 6px 8px}
.guild-portrait-info small{display:block;font-size:15px;color:#b6d6ff}
.guild-portrait-info h4{font-size:24px;color:#fff;margin:4px 0}
.guild-portrait-info span{display:block;font-size:15px;color:#f6ceec;font-weight:700}
.guild-portrait-info p{font-size:16px;color:#c9d6f3;line-height:1.7;margin:9px 0 0}
@media(max-width:1100px){
 .monster-collection .creature-grid.mobs{grid-template-columns:repeat(3,minmax(0,1fr))}
 .guild-portrait-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 body{font-size:16px}
 .top-nav a{font-size:15px;padding:9px 12px}
 .logo small{font-size:11px}
 .icon-pill{font-size:15px}
 .hero-desc{font-size:16px}
 .kicker{font-size:13px}
 .main-hero h1{font-size:clamp(35px,8vw,45px)}
 .landscape-label{font-size:13px}
 .magic-btn,.outline-btn{font-size:16px}
 .welcome-row h2{font-size:26px}
 .welcome-row p,.story-grid p,.wedding-intro p,.world-desc{font-size:16px}
 .small-label,.tiny-heading{font-size:13px}
 .section-header h2{font-size:30px}.section-header p{font-size:16px}
 .world-title strong{font-size:17px}.world-title span{font-size:12px}
 .world-options button{font-size:14px}
 .class-tabs button,.job-rail button{font-size:15px}
 .job-copy p{font-size:16px}.job-copy h3{font-size:32px}
 .benefit-tiles b{font-size:16px}.benefit-tiles small{font-size:14px}
 .guild-mini b{font-size:16px}.guild-mini small{font-size:13px}
 .guild-roster-heading h3{font-size:25px}
 .guild-portrait-info h4{font-size:22px}.guild-portrait-info p{font-size:15px}
 .monster-category-title h3{font-size:23px}
 .monster-category-count{font-size:14px}
 .monster-collection .creature-grid.mobs,.monster-collection .creature-grid.bosses{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .monster-collection .creature-copy h4{font-size:20px}
 .monster-collection .creature-copy>span{font-size:13px}
 .monster-collection .creature-copy p{font-size:15px}
 .monster-collection .creature-copy b{font-size:14px}
 .monster-notice{font-size:15px}
 .creature-quicklinks a{font-size:14px}
 .load-message p{font-size:15px}
}
@media(max-width:460px){
 .monster-collection .creature-grid.mobs,.monster-collection .creature-grid.bosses{grid-template-columns:1fr}
 .monster-collection .creature-copy{padding:15px 9px 12px}
 .monster-collection .creature-copy h4{font-size:22px}
 .monster-collection .creature-copy p{font-size:16px}
 .guild-portrait-grid{grid-template-columns:1fr 1fr;gap:10px}
 .guild-portrait-card{padding:7px}
 .guild-portrait-info{padding:10px 3px 4px}
 .guild-portrait-info small{font-size:13px}
 .guild-portrait-info h4{font-size:20px}
 .guild-portrait-info span{font-size:13px}
 .guild-portrait-info p{font-size:14px;line-height:1.6}
 .class-tabs button{font-size:14px;padding:11px}
 .site-header .icon-pill span{display:none}
 .load-message small{font-size:14px}
}
/* keep mobile layout inside the viewport when labels grow */
.welcome-row,.story-grid{grid-template-columns:minmax(0,1fr)}
.welcome-card,.postcard-card,.story-highlight,.story-side{min-width:0}
@media(min-width:991px){.welcome-row{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.story-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}}
.message-drawer{transform:scale(.97);opacity:0;pointer-events:none;transform-origin:top right;transition:transform .25s,opacity .25s,visibility .25s}
.message-drawer.open{transform:scale(1);opacity:1;pointer-events:auto}


/* v7: equalize two formal wedding sprites without changing artwork */
.wander-strip img[alt="신랑 캐릭터"], .wander-strip img[alt="신부 캐릭터"]{--sprite-scale:.72}
.wander-strip img{animation-name:float-sprite;animation-duration:4s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate;transform-origin:center bottom}
@keyframes float-sprite{from{transform:translateY(0) scale(var(--sprite-scale,1))}to{transform:translateY(-7px) scale(var(--sprite-scale,1))}}
@media(prefers-reduced-motion:reduce){.wander-strip img{transform:scale(var(--sprite-scale,1))}}
/* v7: full-size boss turnaround sheets */
.monster-collection .creature-grid.bosses{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.monster-collection .creature-grid.bosses .creature{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,1fr);gap:19px;align-items:center;padding:16px;border-radius:24px;min-height:350px}
.monster-collection .creature-grid.bosses .boss-slot{position:relative;width:100%;height:auto;aspect-ratio:1216 / 832;background:#fbfaff;border:1px solid #d9d4e9;overflow:hidden}
.monster-collection .creature-grid.bosses .boss-slot img{width:100%;height:100%;object-fit:contain;object-position:center}
.monster-collection .creature-grid.bosses .creature-copy{padding:16px 13px}
.monster-collection .creature-grid.bosses .creature-copy>span{display:none}
.boss-meta{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.boss-meta span{font-size:15px;font-weight:700;line-height:1.4;border-radius:999px;padding:8px 12px;background:#b7a7f126;border:1px solid #d7c9ff45;color:#d9d7ff}
.monster-collection .creature-grid.bosses .creature-copy h4{font-size:clamp(26px,2.4vw,36px);margin:5px 0 16px}
.monster-collection .creature-grid.bosses .creature-copy p{font-size:17px;line-height:1.8}
.monster-collection .creature-grid.bosses .creature-copy b{font-size:16px;line-height:1.75;margin-top:17px}
.boss-enlarge{position:absolute;right:12px;bottom:12px;background:#212553e8;color:#fff;border:1px solid #c6b3faab;border-radius:999px;padding:10px 15px;font-size:15px;cursor:pointer;backdrop-filter:blur(9px)}
.boss-enlarge:hover{background:#534a87f0}
.boss-lightbox[hidden]{display:none}
.boss-lightbox{position:fixed;inset:0;z-index:160;background:#07091bd9;display:flex;align-items:center;justify-content:center;padding:25px;backdrop-filter:blur(12px)}
.boss-lightbox-panel{max-width:min(1200px,100%);max-height:96vh;width:100%;display:flex;flex-direction:column;gap:12px;padding:17px;border-radius:25px;border:1px solid #d1bdfb76;background:linear-gradient(155deg,#292a62,#111736);box-shadow:0 25px 70px #000a}
.boss-lightbox-top{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:5px 8px;color:#fff;font-size:21px}
.boss-lightbox-top button{padding:9px 17px;border-radius:999px;background:#e1c9ff;color:#1b203d;font-weight:800;border:0;cursor:pointer}
.boss-lightbox-image{min-height:0;overflow:auto;display:grid;place-items:center;border-radius:15px;background:white}
.boss-lightbox-image img{width:100%;height:auto;max-height:72vh;object-fit:contain}
.boss-lightbox-panel p{margin:0 4px 4px;text-align:center;color:#ccd2f0;font-size:14px}
/* v7: the person behind the character */
.iheon-profile{padding:27px;margin:29px 0 8px;overflow:hidden;background:linear-gradient(135deg,#292d65,#171e49 74%)}
.iheon-profile-head{text-align:center;margin:5px 0 22px}
.iheon-profile-head h3{font-size:clamp(30px,3vw,40px);margin:9px 0 7px;line-height:1.3;color:#fff}
.iheon-profile-head h3 .iheon-age{color:#d1c0fb;font-size:18px;font-weight:650;white-space:nowrap;margin-left:9px}
.iheon-profile-head p{color:#ced6f5;font-size:17px;line-height:1.75;max-width:680px;margin:0 auto}
.iheon-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.iheon-photo-pair figure{margin:0;background:#101738;border:1px solid #bfb5f050;border-radius:20px;overflow:hidden;position:relative}
.iheon-photo-pair img{width:100%;aspect-ratio:1216 / 832;height:auto;object-fit:contain;display:block;background:#171e35}
.iheon-photo-pair figcaption{display:flex;flex-wrap:wrap;align-items:baseline;gap:11px;padding:15px 17px;background:linear-gradient(125deg,#282e64,#1a2350)}
.iheon-photo-pair figcaption span{font-size:13px;letter-spacing:.08em;color:#edc8ff}
.iheon-photo-pair figcaption b{font-size:20px;color:#fff}
.iheon-photo-pair figcaption small{font-size:15px;color:#cad3ef}
.iheon-bio-grid{margin-top:18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}
.iheon-bio-panel{border:1px solid #d5c4fc37;background:#10183d91;border-radius:20px;padding:24px;min-width:0}
.iheon-bio-title{color:#f2d9ff;font-size:15px;font-weight:800;letter-spacing:.1em;margin-bottom:15px}
.iheon-bio-panel dl{margin:0}
.iheon-bio-panel dl div{display:grid;grid-template-columns:103px 1fr;gap:10px;align-items:start;padding:10px 0;border-bottom:1px solid #d9d7ff1e}
.iheon-bio-panel dl div:last-child{border-bottom:0}
.iheon-bio-panel dt{color:#a9d2f7;font-size:16px;font-weight:750}
.iheon-bio-panel dd{margin:0;color:#f0eeff;font-size:16px;line-height:1.7;word-break:keep-all}
.taste-row{padding:11px 0;border-bottom:1px solid #d9d7ff1e}
.taste-row:last-child{border-bottom:0}
.taste-row strong{display:block;font-size:16px;color:#ffcfeb;margin-bottom:6px}
.taste-row.dislike strong{color:#b9d7ff}
.taste-row p{font-size:16px;line-height:1.7;margin:0;color:#e4e8ff;word-break:keep-all}
.iheon-bottom{margin:18px 3px 0;font-size:16px;line-height:1.8;color:#d4d8f5;text-align:center}
@media(max-width:900px){
 .monster-collection .creature-grid.bosses .creature{grid-template-columns:1fr;gap:5px}
 .iheon-bio-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
 .iheon-profile{padding:14px;margin-top:24px}
 .iheon-profile-head h3 .iheon-age{display:block;margin:7px 0 0}
 .iheon-profile-head p{font-size:16px}
 .iheon-photo-pair{grid-template-columns:1fr;gap:11px}
 .iheon-photo-pair figcaption b{font-size:18px}
 .iheon-bio-panel{padding:17px}
 .iheon-bio-panel dl div{grid-template-columns:85px 1fr}
 .iheon-bio-panel dt,.iheon-bio-panel dd{font-size:15px}
 .iheon-bottom{font-size:15px}
 .monster-collection .creature-grid.bosses .creature{padding:9px;min-height:0}
 .monster-collection .creature-grid.bosses .creature-copy{padding:14px 6px}
 .boss-meta span{font-size:14px}
 .boss-enlarge{font-size:13px;padding:8px 12px}
 .boss-lightbox{padding:10px}
 .boss-lightbox-top{font-size:16px}
 .boss-lightbox-image img{max-height:65vh}
}

/* v9 · Title-forward start page + gentle moonlit location carousel */
.story-title-wrap{position:relative;max-width:860px;margin:8px auto 0;padding:9px 0 3px}
.story-title{display:flex;flex-direction:column;align-items:center;gap:0;margin:8px 0 15px!important;line-height:1.15!important;letter-spacing:-.065em!important;font-size:clamp(50px,7vw,100px)!important;font-weight:900!important;filter:drop-shadow(0 13px 25px #080d30aa)}
.story-title span{color:#fff4ff;text-shadow:0 2px 0 #a69bd599,0 10px 38px #efbdf152}
.story-title em{font-style:normal;letter-spacing:-.055em;padding:0 .14em .07em;color:#edc9ff;background:linear-gradient(105deg,#fde5fa 1%,#d9c6ff 46%,#a9dcff 96%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none;filter:drop-shadow(0 8px 24px #a99eff5c)}
.little-moon{display:block;position:absolute;left:4%;top:15%;color:#ffe8b5;font-size:31px;transform:rotate(-10deg);opacity:.9}
.little-star{display:block;position:absolute;right:10%;bottom:10%;font-size:34px;color:#ffd1ee;opacity:.9}
.hero-desc{max-width:680px;margin:16px auto 0!important}
.main-hero .hero-actions{margin-bottom:45px}
.hero-world-block{text-align:left;position:relative;max-width:1170px;margin:0 auto;padding:20px 0 11px;border-radius:26px;background:linear-gradient(175deg,#28285a88,#1b224e42);border:1px solid #d8ceff3d;box-shadow:0 16px 65px #050a2580}
.hero-world-topline{padding:0 22px 17px;display:flex;justify-content:space-between;align-items:end;gap:12px}
.hero-world-topline strong{display:block;margin-top:5px;font-size:27px;line-height:1.25;color:#f8f4ff}
.hero-world-topline strong span{color:#f5c9e8}
.hero-world-eyebrow{font-size:13px;color:#bde1ff;letter-spacing:.13em;font-weight:750}
.hero-world-actions{display:flex;align-items:center;gap:8px}
.hero-world-count{color:#e8e3ff;font-size:15px;font-weight:800;white-space:nowrap;margin-right:7px;font-variant-numeric:tabular-nums}
.world-arrow{width:42px;height:42px;border-radius:50%;background:#efe0ff1f;border:1px solid #d8c5fa6b;color:#fff;font-size:21px;display:grid;place-items:center;line-height:1;transition:.2s}
.world-arrow:hover{background:#b9adfb59;transform:translateY(-1px)}
.hero-world-scroll{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#9d9edb77 transparent;padding:0 22px 12px;scroll-behavior:smooth}
.hero-world-scroll::-webkit-scrollbar{height:7px}.hero-world-scroll::-webkit-scrollbar-thumb{background:#9d9edb8a;border-radius:8px}
.hero-world-slide{flex:0 0 min(86%,900px);min-width:0;scroll-snap-align:center;overflow:hidden;border-radius:22px;border:1px solid #ece3ff45;background:#10152b;box-shadow:0 10px 25px #050b2566}
.hero-world-slide figure{margin:0;display:block;width:100%}
.hero-world-slide img{width:100%;height:auto;aspect-ratio:1472/640;object-fit:contain;background:#151b36;display:block}
.hero-world-slide figcaption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:7px;padding:16px 20px 17px;background:linear-gradient(110deg,#292b60,#212d59)}
.hero-world-slide figcaption strong{font-size:20px;color:#fff}
.hero-world-slide figcaption span{color:#c9d5ff;font-size:15px}
.hero-world-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 24px 0;min-height:38px}
.hero-world-bottom>span{color:#c8cbee;font-size:14px}
.hero-world-dots{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.hero-world-dots button{width:9px;height:9px;background:#bdb8e373;border:0;border-radius:15px;padding:0;transition:width .25s,background .25s}
.hero-world-dots button.active{width:24px;background:#ffd3f0}
.privacy-nudge{margin:15px 0 0!important;padding:13px 15px;border-radius:14px;border:1px solid #c7b2ef3c;background:#0c143052;font-size:15px!important;line-height:1.7!important;color:#dce3ff!important;text-align:left}
.privacy-nudge span{color:#ffd5eb;font-weight:900;margin-right:5px}
/* 3.2-second warning with occasional glitch bursts, fading only at the very end. */
.warning-screen{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 45%,#361a49,#100d22 58%,#06070d 100%);z-index:210;overflow:hidden;padding:18px;text-align:center;opacity:0}
.warning-screen.active{display:flex;opacity:1;animation:warning-flicker 3.2s linear both}
.warning-screen::before{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 5px,#ffffff0b 6px 7px,transparent 8px 11px);opacity:.48}
.warning-screen::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fc40701b,transparent 22% 78%,#5bc6ff13)}
.warning-noise{position:absolute;inset:-20%;opacity:.28;background:repeating-linear-gradient(100deg,transparent 0 13px,#c6d9ff36 14px 15px,transparent 16px 37px);transform:rotate(-2deg);animation:noise-jitter .28s steps(2,end) infinite}
.warning-inner{position:relative;z-index:1;max-width:780px;padding:30px 22px}
.warning-code{display:block;color:#ffd8e8;opacity:.85;letter-spacing:.16em;font-size:13px;font-family:monospace;margin-bottom:17px}
.warning-english{position:relative;display:block;letter-spacing:.12em;font-family:Arial,Helvetica,sans-serif;font-weight:950;font-size:clamp(62px,11vw,150px);line-height:1;color:#ffbed1;text-shadow:-4px 0 #ff4a72,4px 1px #69cfff,0 0 50px #ee477a73;animation:warning-shift .45s steps(2,end) infinite}
.warning-korean{font-size:clamp(23px,4vw,48px);font-weight:850;color:#fff5fa;margin:15px 0 10px;letter-spacing:-.04em}
.warning-hint{display:block;color:#eacde5;font-size:16px;line-height:1.5}
@keyframes warning-flicker{0%{opacity:0}5%{opacity:1}11%{opacity:.85}13%{opacity:1}34%{opacity:1}35%{opacity:.78}37%{opacity:1}69%{opacity:1}70%{opacity:.86}72%{opacity:1}91%{opacity:1}100%{opacity:0}}
@keyframes warning-shift{0%{transform:translateX(0)}35%{transform:translateX(4px)}65%{transform:translateX(-3px)}100%{transform:translateX(0)}}
@keyframes noise-jitter{0%{transform:translateX(0) rotate(-2deg)}50%{transform:translateX(6px) rotate(-2deg)}100%{transform:translateX(-6px) rotate(-2deg)}}
@media(max-width:700px){
 .story-title{font-size:clamp(44px,10vw,70px)!important}
 .little-moon{font-size:20px;left:2%;top:10%}.little-star{font-size:20px;right:2%}
 .hero-world-topline{padding:0 14px 13px;align-items:center}.hero-world-topline strong{font-size:21px}.hero-world-eyebrow{font-size:10px;letter-spacing:.06em}
 .hero-world-count{font-size:13px}.world-arrow{width:35px;height:35px;font-size:17px}
 .hero-world-scroll{gap:10px;padding:0 10px 10px}.hero-world-slide{flex-basis:93%;border-radius:14px}
 .hero-world-slide figcaption{padding:11px 13px}.hero-world-slide figcaption strong{font-size:18px}.hero-world-slide figcaption span{font-size:13px}
 .hero-world-bottom{padding:9px 15px 0}.hero-world-bottom>span{font-size:12px}.hero-world-dots{gap:5px}.hero-world-dots button{width:6px;height:6px}.hero-world-dots button.active{width:15px}
 .warning-korean{font-size:clamp(22px,5.6vw,36px)}.warning-code{font-size:10px}.warning-hint{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.warning-screen.active,.warning-english,.warning-noise{animation:none!important}.warning-screen.active{opacity:1}.hero-world-scroll{scroll-behavior:auto}}
/* Keep the world-preview title on one line beside carousel controls on phones. */
@media(max-width:700px){
 .hero-world-topline{gap:6px}
 .hero-world-topline strong{font-size:17px;white-space:nowrap;letter-spacing:-.055em}
 .hero-world-actions{gap:5px}
 .world-arrow{width:32px;height:32px}
 .hero-world-count{font-size:12px;margin-right:2px}
}
@media(max-width:370px){
 .hero-world-topline strong{font-size:15px}
 .hero-world-eyebrow{font-size:9px}
}
