/* Pretendard v1.3.9, unmodified OFL font. Optional prevents late swaps on slow links. */
@font-face{font-family:'CW Pretendard';src:url('../fonts/PretendardVariable-v1.3.9.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:optional}
:root{--cw-font:'CW Pretendard','Apple SD Gothic Neo','Noto Sans KR','Malgun Gothic',system-ui,-apple-system,'Segoe UI',sans-serif;--font-sans:var(--cw-font);--default-font-family:var(--cw-font)}
html,body{font-family:var(--cw-font);font-size:16px;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
body button,body input,body select,body textarea,body summary,[data-sonner-toast]{font-family:var(--cw-font)}
button,input,select,textarea{font-size:inherit}
button,summary,[role=button],[role=tab],[role=option]{line-height:1.45;word-break:keep-all;overflow-wrap:anywhere;white-space:normal}
h1,h2,h3,h4,p,label,li,dd,dt,small,span,strong,b,a,button,input,textarea,summary{word-break:keep-all;overflow-wrap:anywhere}
h1,h2,h3,h4{font-weight:700;line-height:1.4;letter-spacing:-.025em}
p,li,dd,label{line-height:1.65}
small{line-height:1.55}
input,textarea{font-size:16px;line-height:1.5}
.game-modal h2{font-size:23px}.game-modal h3{font-size:18px}
.game-modal p,.game-modal label,.game-modal .input-label{font-size:15px}
.game-modal button{font-weight:600}
.channel55 .home-channel-heading h1{font-size:25px;line-height:1.4;letter-spacing:-.025em}
.creator-heading-ui5 .creator-name56{word-break:keep-all;overflow-wrap:anywhere;font-size:18px;font-weight:650;line-height:1.45}
.hall-world .hall-channel .hall-name{word-break:keep-all;overflow-wrap:anywhere;line-height:1.45;letter-spacing:-.02em}
.hall-world .hall-hero .hall-name{font-size:25px;font-weight:700}
.hall-world .hall-runner .hall-name{font-size:17px;font-weight:650}
.hall-world .hall-video-title{word-break:keep-all;overflow-wrap:anywhere;line-height:1.55}
.hall-world .hall-runner .hall-video-title{font-size:15px;-webkit-line-clamp:3}
.hall-world .hall-earned .online59-title,.channel55 .title58-equipped{word-break:keep-all;overflow-wrap:anywhere;font-weight:550;line-height:1.55}
.hall-current-rank,.tier58-badge,.title58-equipped{line-height:1.5;letter-spacing:0;font-weight:650}
.hall-world .hall-current-rank{font-size:13px;line-height:1.5}
.hall-world .hall-video-empty{font-size:14px;line-height:1.55}
.hero-number55 strong,.header-cash51,.result-big,.hall-video-views strong,.hall-stat strong,.cash55,.stat-value{font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.025em;font-weight:700}
.hall-number-group{white-space:nowrap;word-break:normal;overflow-wrap:normal}
/* Body prose wraps at spaces; only an over-wide token may split. Existing numeric triads remain intact. */
.game-modal,.compose-modal,.result-modal,.ui-world,.cw-entry,.account59,.ui-save-info,[data-sonner-toast]{word-break:keep-all;overflow-wrap:anywhere}
.nickname-guide{display:flex;justify-content:space-between;gap:12px;font-size:13px;line-height:1.55;color:var(--soft);margin-top:6px;font-variant-numeric:tabular-nums}
.game-modal .nickname-feedback{font-size:14px;line-height:1.6;margin:5px 0 12px;color:var(--soft)}
#creator-nickname[aria-invalid=true]{border-color:#f19b90}
#creator-nickname[aria-invalid=true]~.nickname-feedback{color:#f5b4ac}
/* Independent 'scale' leaves hall WAAPI transforms intact; only the closest active control gets the class. */
body :is(button,a[href],summary,[role=button],[role=tab],[role=option],input[type=button],input[type=submit]){transition:scale 110ms ease-out,background-color 110ms ease-out,border-color 110ms ease-out;transform-origin:center;-webkit-tap-highlight-color:transparent}
body .game-shell button:active,body .game-modal button:active,body .hall-world button:active{translate:none!important}
body .cw-pressed:not(:disabled):not([aria-disabled=true]){scale:var(--cw-press-scale,.985);filter:brightness(.94)}
body .hall-channel,body .hero55,body .idea-card{--cw-press-scale:.995}
body .cw-pressed:has(.cw-pressed){scale:1;filter:none}
body :is(button,a,summary,[role=button],[role=tab],[role=option]):focus-visible{outline:2px solid #e6e8f2;outline-offset:3px}
@media(prefers-reduced-motion:reduce){body .cw-pressed{scale:1!important;filter:none!important;outline:2px solid #ffffff66;outline-offset:-3px}body :is(button,a[href],summary,[role=button],[role=tab],[role=option]){transition:none!important}}
html[data-cw-reduced=true] body .cw-pressed{scale:1!important;filter:none!important;outline:2px solid #ffffff66;outline-offset:-3px}
html[data-cw-reduced=true] body :is(button,a[href],summary,[role=button],[role=tab],[role=option]){transition:none!important}
/* Only the perimeter is composited; light never crosses text or changes layout. */
.hall-world .hall-hero{box-shadow:0 14px 28px #0006,inset 0 0 0 3px #090a0e,inset 0 0 0 4px color-mix(in srgb,var(--hall-color) 40%,transparent)}
.hall-world .hall-frame-window{position:absolute;inset:3px;z-index:1;pointer-events:none;padding:2px;border-radius:inherit;overflow:hidden;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.hall-frame-window i{position:absolute;inset:-100%;display:block;opacity:0;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg 245deg,var(--hall-color) 295deg,#fff5da 315deg,transparent 345deg)}
.hall-frame-window .hall-orbit{opacity:.38;background:conic-gradient(transparent 0deg 260deg,var(--hall-color) 305deg,transparent 350deg)}
.hall-tier-diamond .hall-frame-window i{background:conic-gradient(transparent 0deg 245deg,#80b7ff 290deg,#e3f2ff 315deg,transparent 345deg)}
.hall-tier-master .hall-frame-window i{background:conic-gradient(transparent 0deg 235deg,#c29af5 285deg,#eee1ff 315deg,transparent 345deg)}
.hall-tier-world .hall-frame-window{padding:2.5px}
.hall-world .hall-hero .hall-aura{opacity:.45}
@media(prefers-reduced-motion:reduce){.hall-frame-window{display:none!important}}
html[data-cw-reduced=true] .hall-frame-window{display:none!important}
@media(min-width:900px){.hall-world .hall-hero .hall-name{font-size:29px}.hall-world .hall-runner .hall-name{font-size:20px}.channel55 .home-channel-heading h1{font-size:29px}}
@media(max-width:374px){.hall-world .hall-hero .hall-name{font-size:23px}.channel55 .home-channel-heading h1{font-size:24px}.creator-heading-ui5 .creator-name56{word-break:keep-all;overflow-wrap:anywhere;font-size:17px}}
/* Replace retained vendor :active offsets; WAAPI entrance transforms remain independent. */
body button:active:not(:disabled),body .primary:active:not(:disabled),body .polish55 button:active:not(:disabled),body .game-modal button:active:not(:disabled){transform:none;translate:none!important}
