.campus-page{color-scheme:light}.campus-bgm-toggle{position:fixed;right:16px;bottom:16px;z-index:20;padding:8px 14px;font-size:12.5px}.campus-page :is(button,a,input,select):focus-visible{outline:3px solid #2e6ff2;outline-offset:3px}.campus-page button:disabled{cursor:wait}.campus-header{position:relative;z-index:4;width:calc(100% - 64px);max-width:1240px;margin:0 auto;padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.campus-brand{display:flex;align-items:center;gap:14px;color:#202b36;text-decoration:none;font-size:14px;font-weight:700}.campus-brand>span{border-left:1px solid rgba(77,93,85,.24);padding-left:14px;line-height:1.3}.campus-brand small{display:block;margin-top:2px;color:#687782;font-size:10px;font-weight:500;letter-spacing:.8px}.campus-header-actions{display:flex;align-items:center;gap:10px;font-size:13px}.campus-frontpage-content{position:relative;isolation:isolate;min-height:var(--ws-vh);display:grid;grid-template-rows:auto 1fr auto;overflow:hidden;background:#f4eddf url(/brand/campus-hero-v2.webp) center 58% / cover no-repeat}.campus-frontpage-content:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(251,250,243,.9) 0,rgba(251,250,243,.18) 18%,transparent 38%),radial-gradient(ellipse at 14% 42%,rgba(255,253,245,.76) 0,rgba(255,253,245,.38) 28%,transparent 54%),linear-gradient(0deg,rgba(247,248,242,.88) 0,transparent 15%)}.campus-notice{position:absolute;z-index:8;top:82px;left:50%;width:min(720px,calc(100% - 40px));transform:translate(-50%)}.campus-landing{position:relative;z-index:1;width:100%;max-width:1304px;margin:0 auto;padding:clamp(24px,3vh,44px) 32px clamp(72px,10vh,124px);display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:clamp(36px,6vw,80px);align-items:center;align-content:center;align-content:safe center}.campus-intro{min-width:0}.campus-intro-copy{max-width:610px;text-shadow:0 1px 18px rgba(255,255,255,.82)}.campus-eyebrow{color:#456358;font-size:11px;font-weight:800;letter-spacing:1.4px}.campus-intro h1{margin:14px 0 16px;color:#243b35;font-size:clamp(36px,4vw,54px);line-height:1.24;letter-spacing:-2.4px;word-break:keep-all}.campus-intro h1 em{color:#1f58cc;font-style:normal}.campus-intro-copy>p{margin:0;color:#344c40;font-size:14px;line-height:1.85;word-break:keep-all}.campus-auth{width:100%;min-width:0;align-self:start;padding:26px;gap:14px;scroll-margin-top:24px;background:#ffffffe6;border:1px solid rgba(255,255,255,.92);box-shadow:0 18px 48px #27392b2b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.campus-page-footer{position:relative;z-index:3;width:100%;margin-top:auto;padding:19px 20px 24px}.campus-frontpage-content>.campus-page-footer{border:0;background:linear-gradient(0deg,#f7f8f2f0,#f7f8f28c)}.campus-page-footer>p{margin:0!important}.campus-footer-text{font-size:12px;line-height:1.9}.campus-homepage-content{min-height:var(--ws-vh);display:flex;flex-direction:column;background:radial-gradient(circle at 10% 18%,rgba(255,210,91,.12),transparent 23%),radial-gradient(circle at 88% 22%,rgba(46,111,242,.09),transparent 26%),#f6f8f3}.campus-homepage-content .campus-header{max-width:1160px;border-bottom:1px solid rgba(93,111,100,.18)}.campus-home-main{flex:1;width:100%;max-width:1160px;margin:0 auto;padding:34px 32px 48px}.campus-homepage-content>.campus-page-footer{border-top:1px solid #dce3d9;background:#ffffff75}.campus-welcome{margin:0 0 26px}.campus-welcome h1{margin:7px 0;color:#263e33;font-size:32px;line-height:1.35;letter-spacing:-1.2px}.campus-welcome p{margin:0;color:#66756a;font-size:13px}.campus-selection{display:grid;grid-template-columns:minmax(0,1fr);gap:20px;align-items:start}.campus-choices,.campus-enter-card{border-radius:22px;box-shadow:0 10px 30px #3046370f}.campus-choices{padding:26px;background:#ffffffeb;border:1px solid #e0e5de}.campus-section-title{display:flex;align-items:center;gap:9px;margin:0 0 8px;color:#2e4238;font-size:16px}.campus-step{padding:4px 7px;border-radius:6px;color:#2e6ff2;background:#eff4ff;font-size:11px}.campus-section-desc{margin:0 0 20px;color:#67776d;font-size:12px;line-height:1.7;word-break:keep-all}.campus-character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.campus-customizer{display:flex;flex-direction:column;gap:14px}.campus-character-card{position:relative;min-width:0;padding:12px 7px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;color:#293f34;background:#fafbf8;border:2px solid #e9ece6;border-radius:16px;transition:border-color .14s ease,box-shadow .14s ease,transform .14s ease}.campus-character-card[aria-pressed=true]{color:#183965;background:#f1f6ff;border-color:#2e6ff2;box-shadow:0 7px 18px #2e6ff21f}.campus-character-card>strong{font-size:14px}.campus-character-card>small{min-height:35px;color:#667468;font-size:11px;line-height:1.6;word-break:keep-all}.campus-character-status{align-self:flex-end;height:21px;padding:2px 6px;color:#536d60;background:#eaf0e5;border-radius:5px;font-size:10px;font-weight:700}.campus-character-card[aria-pressed=true] .campus-character-status{color:#fff;background:#2e6ff2}.campus-character-art{width:128px;height:128px;display:flex;align-items:center;justify-content:center;overflow:visible}.campus-page .weniv-pick-card:disabled{opacity:.65;transform:none}.campus-enter-card{padding:22px 26px;background:#eaf0e6;border:1px solid #dbe4d5}.campus-enter-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.campus-selected-preview{position:relative;flex:none;width:128px;height:128px;margin:0}.campus-enter-copy{flex:1 1 240px;min-width:0}.campus-selected-label{margin:0 0 6px;color:#345140;font-size:14px;font-weight:700}.campus-enter-row>button{flex:0 0 auto;min-width:240px;min-height:46px}.campus-entry-note{margin:0;color:#61735f;font-size:11px;line-height:1.8;word-break:keep-all}.campus-staff{margin-top:16px;padding-top:12px;border-top:1px solid #d7e1d0}.campus-staff>button{width:100%;padding:10px 0;color:#526650;background:transparent;border:0;font-size:12px;text-align:left}.campus-save-error{margin:16px 0 0;padding:12px;color:#9c3036;background:#fff1ef;border:1px solid #efd4d2;border-radius:10px;font-size:12px;line-height:1.7}.campus-selection-hint{display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 0;color:#6a786d;font-size:11px}@media (hover: hover){.campus-character-card:not(:disabled):hover{border-color:#b9c6bd;box-shadow:0 8px 20px #30463717;transform:translateY(-2px)}}@media (max-width: 1000px){.campus-landing{grid-template-columns:minmax(0,1fr) 370px;gap:30px}.campus-choices,.campus-enter-card{padding:20px}.campus-character-grid{gap:7px}.campus-character-art{margin:-8px;transform:scale(.875)}}@media (max-width: 760px){.campus-header{width:calc(100% - 40px);padding:20px 0;gap:10px}.campus-header-actions{gap:6px}.campus-header-actions>span{display:none}.campus-frontpage-content{overflow:visible;background-position:50% -260px;background-size:auto 720px}.campus-frontpage-content:before{background:linear-gradient(180deg,rgba(251,250,243,.82) 0,rgba(251,250,243,.12) 9%,transparent 16%),radial-gradient(ellipse 70% 22% at 44% 28%,rgba(255,253,245,.88) 0,rgba(255,253,245,.55) 45%,transparent 100%),linear-gradient(180deg,#faf8ef40 36%,#f7f8f2f2 74%)}.campus-notice{top:64px}.campus-header{padding:12px 0}.campus-landing{padding:8px 20px 12px;grid-template-columns:minmax(0,1fr);gap:14px}.campus-intro{min-height:0;padding-top:0}.campus-eyebrow{display:none}.campus-intro h1{margin:0 0 8px;font-size:clamp(30px,8.5vw,38px);letter-spacing:-1.6px}.campus-intro-copy>p{font-size:12.5px;line-height:1.65}.campus-auth{width:100%;max-width:480px;justify-self:center;padding:18px;gap:10px;background:#fffffff5}.campus-auth .weniv-input{padding:9px 12px!important}.campus-auth .weniv-btn-primary{padding:10px 20px!important}.campus-bgm-toggle{right:12px;bottom:12px;padding:9px}.campus-bgm-label{display:none}.campus-page-footer{padding:8px 20px 10px}.campus-footer-text{font-size:11px;line-height:1.6}.campus-home-main{padding:28px 20px 40px}.campus-enter-row{gap:10px 14px}.campus-selected-preview{width:80px;height:80px}.campus-selected-preview>div{transform:scale(.625);transform-origin:top left}.campus-enter-copy{flex-basis:160px}.campus-enter-row>button{flex:1 1 100%;min-width:0}.campus-welcome h1{font-size:27px}.campus-character-art{margin:-16px;transform:scale(.75)}.campus-character-card{padding:10px 4px}.campus-character-card>strong{font-size:12px}.campus-character-card>small{font-size:10px}}@media (max-width: 480px){.campus-brand{gap:9px;font-size:12px}.campus-brand>span{padding-left:9px}.campus-footer-rights{display:none}}@media (max-width: 370px){.campus-character-grid{grid-template-columns:minmax(0,1fr)}.campus-character-card{padding:12px;display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:12px;row-gap:4px;text-align:left}.campus-character-art{grid-column:1;grid-row:1 / 4;margin:-32px;transform:scale(.5)}.campus-character-status{grid-column:2;grid-row:1;justify-self:start}.campus-character-card>strong{grid-column:2;grid-row:2}.campus-character-card>small{grid-column:2;grid-row:3;min-height:0}}@media (prefers-reduced-motion: reduce){.campus-page *,.campus-page *:before,.campus-page *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}@media (prefers-reduced-transparency: reduce){.campus-auth{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none}}:root{font-family:Pretendard,Pretendard Variable,Apple SD Gothic Neo,Malgun Gothic,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;color-scheme:light dark;color:#ffffffeb;background-color:#eef1f8;--ws-vh: 100vh}@supports (height: 100dvh){:root{--ws-vh: 100dvh}}*{box-sizing:border-box}html{touch-action:manipulation;overscroll-behavior:none}body{margin:0;min-height:var(--ws-vh);-webkit-tap-highlight-color:transparent}@media (pointer: coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select{font-size:16px!important}}@media (orientation: landscape) and (max-height: 500px){.ws-mobile-menu-sheet{width:min(560px,calc(100vw - 16px))!important}.ws-mobile-menu-header{padding-block:8px!important}.ws-mobile-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}body,.weniv-backdrop{background-color:#f7f8f2;background-image:none}#root{min-height:var(--ws-vh)}button{font:inherit;cursor:pointer}.weniv-input:focus{outline:none;border-color:#2e6ff2;box-shadow:0 0 0 3px #2e6ff22e}.weniv-input::placeholder{color:#a8acb3}@media (hover: hover){.weniv-btn-primary:not(:disabled):hover{background:#1f58cc}.weniv-btn-ghost:hover{background:#f3f5fa;border-color:#c3c7cf}.weniv-pick-card:hover{border-color:#a9bcf0!important;transform:translateY(-2px)}}.weniv-pick-card:active{transform:translateY(0)}@media (hover: hover){.ws-hud-btn:not(:disabled):hover{border-color:#ffffff47!important;filter:brightness(1.18)}}.ws-hud-btn:not(:disabled):active{transform:translateY(1px)}.ws-hud-scroll{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.22) transparent}.ws-hud-scroll::-webkit-scrollbar{width:8px;height:8px}.ws-hud-scroll::-webkit-scrollbar-thumb{background:#ffffff2e;border-radius:999px}.ws-hud-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.ws-hud-scroll::-webkit-scrollbar-track{background:transparent}@keyframes ws-spin{to{transform:rotate(360deg)}}@keyframes ws-hit-flash{0%{filter:brightness(2.6) saturate(.2)}45%{filter:brightness(1.5) saturate(.7)}to{filter:none}}@keyframes ws-boss-bob{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-6px) scaleY(1.03)}}@keyframes ws-aoe-warn{0%{opacity:.55}to{opacity:1}}@keyframes ws-aoe-fill{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes ws-aoe-hit{0%{transform:scale(.85);opacity:1}to{transform:scale(1.15);opacity:0}}@keyframes ws-rock-drop{0%{transform:translateY(-360px);opacity:0}20%{opacity:1}to{transform:translateY(0);opacity:1}}@keyframes ws-gas-breathe{0%,to{transform:scale(.94);opacity:.85}50%{transform:scale(1.06);opacity:1}}@keyframes ws-pit-open{0%{transform:scale(.6);opacity:.2}to{transform:scale(1);opacity:1}}@keyframes ws-hit-flash-b{0%{filter:brightness(2.6) saturate(.2)}45%{filter:brightness(1.5) saturate(.7)}to{filter:none}}@keyframes ws-screen-shake{0%{transform:translateZ(0)}20%{transform:translate3d(-5px,3px,0)}40%{transform:translate3d(4px,-3px,0)}60%{transform:translate3d(-3px,-2px,0)}80%{transform:translate3d(2px,2px,0)}to{transform:translateZ(0)}}@keyframes ws-screen-shake-b{0%{transform:translateZ(0)}20%{transform:translate3d(-5px,3px,0)}40%{transform:translate3d(4px,-3px,0)}60%{transform:translate3d(-3px,-2px,0)}80%{transform:translate3d(2px,2px,0)}to{transform:translateZ(0)}}@keyframes ws-hurt-vignette{0%{opacity:0}15%{opacity:1}to{opacity:0}}@keyframes ws-ready-ping{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.35)}}@keyframes target-pulse{0%,to{box-shadow:0 0 #f8717199}50%{box-shadow:0 0 0 6px #f8717100}}@keyframes speaking-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes wenivspace-sprite-walk{0%{background-position-x:0%}to{background-position-x:100%}}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%,calc(-100% + 6px)) scale(.92)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}@keyframes bubble-dot{0%,65%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}@keyframes wsGroundBlink{0%,to{opacity:1}50%{opacity:.25}}@keyframes ws-ground-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes live-pulse{0%,to{box-shadow:0 0 8px #dc262680}50%{box-shadow:0 0 16px #dc2626f2}}@keyframes ws-alert-drop{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}@keyframes ws-alert-glow{0%,to{box-shadow:0 10px 30px #00000080,0 0 0 1px #f8717159}50%{box-shadow:0 10px 30px #00000080,0 0 22px #f8717173,0 0 0 1px #f87171b3}}@keyframes marble-halo{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.9);opacity:.05}}@keyframes marble-flash{0%{transform:scale(.9);opacity:.85}to{transform:scale(3.4);opacity:0}}@keyframes marble-hop{0%,to{transform:translateY(0) scaleY(1)}35%{transform:translateY(-38%) scaleY(1.04)}70%{transform:translateY(-12%) scaleY(1)}}@keyframes marble-turn{0%,to{opacity:.15;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}@keyframes marble-shake{0%,to{transform:translateY(0) rotate(-7deg)}25%{transform:translateY(-18%) rotate(9deg)}50%{transform:translateY(0) rotate(6deg)}75%{transform:translateY(-12%) rotate(-9deg)}}
