PageSourceSearch

https://ddutto.com/_next/static/chunks/1mrbumeooh5ro.js

js ddutto.com collected 2026-10-02 01:27:18 UTC 44,867 bytes, 1,319 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,278464,(e,n,t)=>{"use strict";e.i(562792),Object.defineProperty(t,"__esModule",{value:!0});var a={default:function(){return x},useLinkStatus:function(){return y}};for(var o in a)Object.defineProperty(t,o,{enumerable:!0,get:a[o]});let r=e.r(56421),i=e.r(627559),l=r._(e.r(927408)),s=e.r(259940),m=e.r(579776),d=e.r(984822),f=e.r(949004),g=e.r(636126),c=e.r(785100),p=e.r(208035),u=e.r(283845),h=e.r(509913);function x(n){var t;let a,o,r,[x,y]=(0,l.useOptimistic)(p.IDLE_LINK_STATUS),w=(0,l.useRef)(null),{href:N,as:v,children:S,prefetch:E=null,passHref:_,replace:k,shallow:T,scroll:P,onClick:B,onMouseEnter:R,onTouchStart:O,legacyBehavior:j=!1,onNavigate:A,transitionTypes:C,ref:L,unstable_dynamicOnHover:M,...z}=n;a=S,j&&("string"==typeof a||"number"==typeof a)&&(a=(0,i.jsx)("a",{children:a}));let I=l.default.useContext(m.AppRouterContext),U=!1!==E,D=!1===E?"none":!0===E?"full":"auto",F="none"!==D?"auto"===D?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,G="string"==typeof(t=v||N)?t:(0,s.formatUrl)(t);if(j){if(a?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=l.default.Children.only(a)}let H=j?o&&"object"==typeof o&&o.ref:L,K,$=l.default.useCallback(e=>(null!==I&&(w.current=(0,p.mountLinkInstance)(e,G,I,F,U,y,K)),()=>{w.current&&((0,p.unmountLinkForCurrentNavigation)(w.current),w.current=null),(0,p.unmountPrefetchableInstance)(e)}),[U,G,I,F,y,K]),Y={ref:(0,d.useMergedRef)($,H),onClick(n){j||"function"!=typeof B||B(n),j&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(n),!I||n.defaultPrevented||function(n,t,a,o,r,i,s,m="none"){if("u">typeof window){let d,{nodeName:f}=n.currentTarget;if("A"===f.toUpperCase()&&((d=n.currentTarget.getAttribute("target"))&&"_self"!==d||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.nativeEvent&&2===n.nativeEvent.which)||n.currentTarget.hasAttribute("download"))return;if(!(0,u.isLocalURL)(t)){o&&(n.preventDefault(),location.replace(t));return}if(n.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:g}=e.r(33540);l.default.startTransition(()=>{g(t,o?"replace":"push",!1===r?c.ScrollBehavior.NoScroll:c.ScrollBehavior.Default,a.current,s,m)})}}(n,G,w,k,P,A,C,D)},onMouseEnter(e){j||"function"!=typeof R||R(e),j&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){j||"function"!=typeof O||O(e),j&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,f.isAbsoluteUrl)(G)?Y.href=G:j&&!_&&("a"!==o.type||"href"in o.props)||(Y.href=(0,g.addBasePath)(G)),r=j?l.default.cloneElement(o,Y):(0,i.jsx)("a",{...z,...Y,children:a}),(0,i.jsx)(b.Provider,{value:x,children:r})}let b=(0,l.createContext)(p.IDLE_LINK_STATUS),y=()=>(0,l.useContext)(b);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},984822,(e,n,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let a=e.r(927408);function o(e,n){let t=(0,a.useRef)(null),o=(0,a.useRef)(null);return(0,a.useCallback)(a=>{if(null===a){let e=t.current;e&&(t.current=null,e());let n=o.current;n&&(o.current=null,n())}else e&&(t.current=r(e,a)),n&&(o.current=r(n,a))},[e,n])}function r(e,n){if("function"!=typeof e)return e.current=n,()=>{e.current=null};{let t=e(n);return"function"==typeof t?t:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esMo
1dule",{value:!0}),Object.assign(t.default,t),n.exports=t.default)},283845,(e,n,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return r}});let a=e.r(949004),o=e.r(595702);function r(e){if(!(0,a.isAbsoluteUrl)(e))return!0;try{let n=(0,a.getLocationOrigin)(),t=new URL(e,n);return t.origin===n&&(0,o.hasBasePath)(t.pathname)}catch(e){return!1}}},226652,(e,n,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a={assign:function(){return s},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return l}};for(var o in a)Object.defineProperty(t,o,{enumerable:!0,get:a[o]});function r(e){let n={};for(let[t,a]of e.entries()){let e=n[t];void 0===e?n[t]=a:Array.isArray(e)?e.push(a):n[t]=[e,a]}return n}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function l(e){let n=new URLSearchParams;for(let[t,a]of Object.entries(e))if(Array.isArray(a))for(let e of a)n.append(t,i(e));else n.set(t,i(a));return n}function s(e,...n){for(let t of n){for(let n of t.keys())e.delete(n);for(let[n,a]of t.entries())e.append(n,a)}return e}},259940,(e,n,t)=>{"use strict";e.i(562792),Object.defineProperty(t,"__esModule",{value:!0});var a={formatUrl:function(){return l},formatWithValidation:function(){return m},urlObjectKeys:function(){return s}};for(var o in a)Object.defineProperty(t,o,{enumerable:!0,get:a[o]});let r=e.r(56421)._(e.r(226652)),i=/https?|ftp|gopher|file/;function l(e){let{auth:n,hostname:t}=e,a=e.protocol||"",o=e.pathname||"",l=e.hash||"",s=e.query||"",m=!1;n=n?encodeURIComponent(n).replace(/%3A/i,":")+"@":"",e.host?m=n+e.host:t&&(m=n+(~t.indexOf(":")?`[${t}]`:t),e.port&&(m+=":"+e.port)),s&&"object"==typeof s&&(s=String(r.urlQueryToSearchParams(s)));let d=e.search||s&&`?${s}`||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||i.test(a))&&!1!==m?(m="//"+(m||""),o&&"/"!==o[0]&&(o="/"+o)):m||(m=""),l&&"#"!==l[0]&&(l="#"+l),d&&"?"!==d[0]&&(d="?"+d),o=o.replace(/[?#]/g,encodeURIComponent),d=d.replace("#","%23"),`${a}${m}${o}${d}${l}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function m(e){return l(e)}},949004,(e,n,t)=>{"use strict";e.i(562792),Object.defineProperty(t,"__esModule",{value:!0});var a={DecodeError:function(){return x},MiddlewareNotFoundError:function(){return N},MissingStaticPage:function(){return w},NormalizeError:function(){return b},PageNotFoundError:function(){return y},SP:function(){return u},ST:function(){return h},WEB_VITALS:function(){return r},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return m},getURL:function(){return d},isAbsoluteUrl:function(){return s},isResSent:function(){return g},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return v}};for(var o in a)Object.defineProperty(t,o,{enumerable:!0,get:a[o]});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let n,t=!1;return(...a)=>(t||(t=!0,n=e(...a)),n)}let l=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>{let n=e.charCodeAt(0);return!!(n>=65&&n<=90||n>=97&&n<=122)&&l.test(e)};function m(){let{protocol:e,hostname:n,port:t}=window.location;return`${e}//${n}${t?":"+t:""}`}function d(){let{href:e}=window.location,n=m();return e.substring(n.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function g(e){return e.finished||e.headersSent}function c(e){let n=e.split("?");return n[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(n[1]?`?${n.slice(1).join("?")}`:"")}async function p(e,n){let t=n.res||n.ctx&&n.ctx.res;if(!e.getInitialProps)return n.ctx&&n.Component?{pageProps:await p(n.Component,n.ctx)}:{};let a=await e.getInitialProps(n);if(t&&g(t))return a;if(!a)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${a}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return a}let u="u">typeof performance,h=u&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);
1class x extends Error{}class b extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class w extends Error{constructor(e,n){super(),this.message=`Failed to load static file for page: ${e} ${n}`}}class N extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},599022,(e,n,t)=>{n.exports=e.r(937336)},695152,e=>{"use strict";e.i(562792);let n=`
2#log {
3    word-break: break-word;
4}
5
6#log>div.deleted {
7    visibility: hidden;
8}
9
10#log .emote_wrap {
11    position: relative;
12}
13
14.emoticon {
15    height: 40px;
16    vertical-align: middle;
17    margin: -5px 0;
18}
19
20.badge,
21.colon,
22.name {
23    display: inline-block;
24    vertical-align: text-top;
25}
26.message { display: inline; }
27
28#log .meta {
29    padding-right: 4px;
30    position: relative;
31}
32
33.badge {
34    margin-right: 4px;
35    height: 1em;
36}
37
38.name {
39    font-weight: 600;
40    margin-left: .1em;
41}
42
43#log {
44    overflow: hidden;
45    position: absolute;
46    bottom: 0;
47    left: 0;
48    padding: 0 10px 10px;
49    width: 100%;
50    box-sizing: border-box;
51    font-weight: 600;
52    text-shadow: #000 0px 0px 2px, #000 0px 0px 2px, #000 0px 0px 2px, #000 0px 0px 2px, #000 0px 0px 2px, #000 0px 0px 2px; 
53    font: 32px 'Binggrae', serif;
54    word-break: break-word;
55    color: white;
56    --webkit-mask-image: -webkit-gradient(linear, left 10%, left top, from(rgba(0, 0, 0, 1)), to(rgba(0, 0, 0, 0)));
57    --webkit-mask-image: -webkit-gradient(linear, left 20%, left top, from(rgba(0, 0, 0, 1)), to(rgba(0, 0, 0, 0)));
58}
59
60#log>div:not(.donation) {
61    padding-bottom: .25em;
62}
63
64#log>div {
65    word-wrap: break-word;
66    animation: fadeInUp .15s ease forwards;
67}
68
69span.message>img {
70    height: 1em;
71}
72
73span.message>img.emote {
74    height: auto;
75    vertical-align: text-top;
76}
77
78.admin-icon,
79.global_mod-icon,
80.staff-icon {
81    display: none !important;
82}
83
84.bits-icon {
85    display: none !important;
86}
87
88.broadcaster-icon {
89    display: none !important;
90}
91
92.moderator-icon {
93    display: none !important;
94}
95
96.premium-icon {
97    display: none !important;
98}
99
100.turbo-icon {
101    display: none !important;
102}
103
104.subscriber-icon {
105    display: none !important;
106}
107
108span.message>img.emote {
109    height: auto !important;
110    vertical-align: text-top;
111}
112
113.cheese-amount {
114    align-items: center;
115    display: inline-block;
116    font-weight: 800;
117    gap: 0 5px;
118    letter-spacing: -.3px;
119    margin: 0 10px;
120}
121
122.cheese-img {
123    display: inline-block;
124    background-image: url(/static/overlay/cheese.png);
125    background-size: 100%;
126    background-repeat: no-repeat;
127    width: 30px;
128    height: 30px;
129    margin-right: 10px;
130}
131
132.donation {
133    background: linear-gradient(270deg, rgba(0, 0, 0, .2), transparent), linear-gradient(180deg, hsla(0, 0%, 100%, .1), hsla(0, 0%, 100%, 0)), #412776;
134    border-radius: 8px;
135    box-shadow: 0 6px 10px 0 rgba(0, 0, 0, .5), inset 1px 1px 1px 0 hsla(0, 0%, 100%, .1);
136    margin-bottom: 15px;
137    padding: 15px 10px;
138}
139
140.donation-name {
141    margin-right: 5px;
142}
143
144.donation-message {
145    font-weight: 700;
146    letter-spacing: -.3px;
147    margin-top: 6px;
148}
149
150.donation-meta {
151    word-wrap: break-word;
152    word-break: break-word
153}
154`,t=`
155body, html {
156  margin: 0;
157  padding: 0;
158  overflow: hidden;
159  height: 100%;
160  background-color: rgba(0, 0, 0, 0);
161}
162
163#log {
164  position: absolute;
165  width: 100%;
166  height: 100%;
167  overflow: hidden;
168}
169
170.emoji {
171  position: absolute;
172  animation: emoji-rotate 10s linear infinite;
173}
174
175@keyframes emoji-rotate {
176  0% {
177    transform: rotate(0deg);
178  }
179  100% {
180    left: -5%;
181    transform: rotate(3600deg);
182  }
183}
184
185.rotatingImage {
186    position: absolute;
187}`,a=`
188@font-face {
189  font-family: 'Paperlogy-8ExtraBold';
190  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/[email protected]/Paperlogy-8ExtraBold.woff2') format('woff2');
191  font-weight: 800;
192  font-style: normal;
193}
194#timer-container {
195  display: flex;
196  flex-direction: column;
197  justify-content: center;
198  align-items: center;
199  
200  width: 100%;
201  height: 50px;
202  background-color: #e0e0e0;
203  position: relative;
204  overflow: hidden;
205  
206  animation: fadeIn 1s;
207}
208@keyframes fadeIn {
209  from { opacity: 0; }
210  to { opacity: 1; }
211}
212  
213#timer {
214  height: 100%;
215  background-color: #76c7c0;
216  position: absolute;
217  right: 0;
218  transition: width 1s linear;
219}
220#timer-text {
221  position: absolute;
222  width: 100%;
223  text-align: center;
224  line-height: 30px;
225  color: #333;
226  font-family: 'Paperlogy-8ExtraBold', sans-serif;
227  font-size: 26px;
228  font-weight: bold;
229}`,o=`
230@font-face {
231  font-family: 'Pretendard-Regular';
232  src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/[email protected]/Pretendard-Regular.woff') format('woff');
233  font-weight: 400;
234  font-style: normal;
235}
236@font-face {
237  font-family: 'Paperlogy-8ExtraBold';
238  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/[email protected]/Paperlogy-8ExtraBold.woff2') format('woff2');
239  font-weight: 800;
240  font-style: normal;
241}
242@font-face {
243  font-family: 'Paperlogy-7Bold';
244  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/[email protected]/Paperlogy-7Bold.woff2') format('woff2');
245  font-weight: 700;
246  font-style: normal;
247}
248
249.donation-container {
250  font-family: 'Paperlogy-8ExtraBold', 'Pretendard-Regular', sans-serif;
251  font-size: 28px;
252  font-weight: 700;
253
254  display: flex;
255  flex-direction: column;
256  align-items: center;
257  margin: 10px;
258  opacity: 0; /* 초기 투명도 */
259  transition: opacity 1s ease-in-out; /* 페이드 인/아웃 효과 */
260
261  height: 100vh; /* 브라우저 높이를 기준으로 */
262  box-sizing: border-box; /* 패딩 포함 크기 계산 */
263}
264
265.donation-container.fade-in {
266  opacity: 1; /* 페이드 인 */
267}
268
269.donation-container.fade-out {
270  opacity: 0; /* 페이드 아웃 */
271}
272
273.donation-image {
274  shrink: 1; /* 부모 요소가 작아질 때 이미지 크기 조정 허용 */
275  width: 100%; /* 너비를 부모에 맞춤 */
276  height: auto; /* 세로 비율 유지 */
277  max-height: calc(100vh - 160px); /* 텍스트/메시지 줄을 제외한 공간에 맞춤 */
278  object-fit: contain; /* 비율 유지하면서 이미지 전체 표시 */
279  margin: 0; /* 여백 제거 */
280}
281
282.donation-text {
283  display: flex;
284  margin-top: 0.4em;
285  margin-bottom: 0.2em;
286  align-items: center;
287  letter-spacing: -.3px;
288  text-shadow: 0 0 8px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.9);
289  color: white;
290  white-space: nowrap;
291}
292
293.donation-text > span {
294  display: inline-flex;
295  align-items: center;
296}
297
298.donation-nick {
299  color: #00ffa3;
300  margin-right: 0.1em;
301  z-index: 10;
302}
303
304.donation-price {
305  color: #e4ce00;
306  margin-right: 0.1em;
307  z-index: 10;
308}
309
310.donation-cheese-container {
311  display: inline-flex;
312  align-items: center;
313  margin: 0 0.3em;
314}
315
316.donation-cheese {
317  background: url('/icons/cheese.png') no-repeat 50%/cover;
318  display: inline-block;
319  height: 1em;
320  vertical-align: top;
321  width: 1em;
322  filter: drop-shadow(0 0 8px rgba(0,0,0,.6));
323}
324
325/* 표시 형식에 $message 를 넣지 않은 경우, 후원 메시지가 이 줄에 표시된다. */
326.donation-message {
327  font-family: 'Paperlogy-7Bold', 'Pretendard-Regular', sans-serif;
328  font-weight: 700;
329  margin-bottom: 0.4em;
330  text-align: center;
331  letter-spacing: -.3px;
332  text-shadow: 0 0 8px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.9);
333  color: white;
334  word-break: break-word;
335}
336
337/* 표시 형식에 $message 를 넣은 경우, 텍스트 줄 안에 인라인으로 표시된다. */
338.donation-message-inline {
339  margin: 0 0.1em;
340}
341
342.donation-badge {
343  height: 1em;
344  margin-right: 0.15em;
345  vertical-align: middle;
346}`,r=`
347@font-face {
348  font-family: 'Pretendard-Regular';
349  src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/[email protected]/Pretendard-Regular.woff') format('woff');
350  font-weight: 400;
351  font-style: normal;
352}
353@font-face {
354  font-family: 'Paperlogy-8ExtraBold';
355  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/[email protected]/Paperlogy-8ExtraBold.woff2') format('woff2');
356  font-weight: 800;
357  font-style: normal;
358}
359
360.roulette-container {
361  font-family: 'Paperlogy-8ExtraBold', 'Pretendard-Regular', sans-serif;
362  font-size: 28px;
363  font-weight: 700;
364  
365  display: flex;
366  flex-direction: column;
367  align-items: center;
368  margin: 10px;
369  opacity: 0; /* 초기 투명도 */
370  transition: opacity 1s ease-in-out; /* 페이드 인/아웃 효과 */
371  
372  height: 100vh; /* 브라우저 높이를 기준으로 */
373  box-sizing: border-box; /* 패딩 포함 크기 계산 */
374}
375
376.roulette-container.fade-in {
377  opacity: 1; /* 페이드 인 */
378}
379
380.roulette-container.fade-out {
381  opacity: 0; /* 페이드 아웃 */
382}
383
384.roulette-image {
385  shrink: 1; /* 부모 요소가 작아질 때 이미지 크기 조정 허용 */
386  width: 100%; /* 너비를 부모에 맞춤 */
387  height: auto; /* 세로 비율 유지 */
388  max-height: calc(100vh - (80px * ((var(--multi-roulette-count-data, 1) / 2) + 1))); /* 다른 요소를 제외한 공간에 맞춤 */
389  object-fit: contain; /* 비율 유지하면서 이미지 전체 표시 */
390  margin: 0; /* 여백 제거 */
391}
392
393.slot-machine {
394  overflow: hidden;
395  width: 48%;
396  height: 46px;
397  border: 2px solid #333;
398  border-radius: 8px;
399  background-color: #fff;
400  position: relative;
401  margin-bottom: 0.2em;
402  
403  display: flex;
404  flex-direction: column;
405  justify-content: center;
406  align-items: center;
407}
408
409.full-width {
410  width: -webkit-fill-available;
411}
412
413.slot-machine-list {
414  display: flex;
415  flex-wrap: wrap;
416  justify-content: center;
417  align-items: center;
418  width: 100%;
419  gap: 0.2em;
420}
421
422.slot-list {
423  display: flex;
424  flex-direction: column;
425  position: absolute;
426  top: 0;
427  transition: transform 5s ease-out;
428  white-space: nowrap;
429}
430
431.slot-item {
432  font-size: 1em;
433  text-align: center;
434  padding: 5px 0;
435  white-space: nowrap;
436}
437
438.highlight {
439  animation: highlight 0.5s ease-in-out 5; /* 강조 애니메이션 */
440}
441
442@keyframes highlight {
443  0%, 100% { transform: scale(1); }
444  50% { transform: scale(1.1); }
445}
446
447.roulette-text {
448  display: flex;
449  margin-top: 0.4em;
450  margin-bottom: 0.4em;
451  align-items: center;
452  letter-spacing: -.3px;
453  text-shadow: 0 0 8px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.9);
454  color: white;
455  white-space: nowrap;
456}
457
458.roulette-text > span {
459  display: inline-flex;
460  align-items: center;
461}
462
463.roulette-nick {
464  color: #00ffa3;
465  margin-right: 0.1em;
466  z-index: 10;
467}
468
469.roulette-split {
470  color: #00ffa3;
471  margin-left: 0.3em;
472}
473
474.roulette-price {
475  color: #e4ce00;
476  margin-right: 0.1em;
477  z-index: 10;
478}
479
480.roulette-cheese-container {
481  display: inline-flex;
482  align-items: center;
483  margin: 0 0.3em;
484}
485
486.roulette-cheese {
487  background: url('/icons/cheese.png') no-repeat 50%/cover;
488  display: inline-block;
489  height: 1em;
490  vertical-align: top;
491  width: 1em;
492  filter: drop-shadow(0 0 8px rgba(0,0,0,.6));
493}`,i=`
494@font-face {
495    font-family: 'Gyeonggi_Title_Medium';
496    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/[email protected]/Title_Medium.woff') format('woff');
497    font-weight: 500;
498    font-style: normal;
499}
500
501#log {
502  display: flex;
503  flex-direction: column;
504  padding: 0.5rem;
505  
506  font-family: 'Gyeonggi_Title_Medium'; 
507  font-size: 30px;
508}
509
510@keyframes slide-right {
511  0% {
512    transform: translateX(calc((100% + 2em) * -1));
513  }
514  100% {
515    transform: translateX(0em);
516  }
517}
518
519@keyframes slide-top {
520  0% {
521    opacity: 0;
522    transform: translateY(calc((100% + 2em)));
523  }
524  50% {
525    opacity: 0.1;
526  }
527  100% {
528    opacity: 1.0;
529    transform: translateY(0em);
530  }
531}
532
533#log > div {
534  padding: 0.2em 0.45em 0.4em 0.45em;
535  background: #d1d5db;
536  border-radius: 15px;
537  width: fit-content;
538  
539  animation: slide-right 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
540}
541
542#log > div > p {
543  animation: slide-top 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940) both;
544}
545
546#log >
546 div:not(:first-child) {
547  margin-top: 0.4rem;
548}
549
550#log > div > p:not(:first-child) {
551  margin-top: 0.15rem;
552}
553`,l=`
554.song-player {
555  width: 100%;
556  height: 100%;
557}
558
559.video {
560  width: 100%;
561  height: 100%;
562}
563
564.video-iframe {
565  min-width: 100%;
566  min-height: 100%;
567}
568`,s=`
569.song-list {
570  display: flex;
571  gap: 0.5rem;
572  overflow-y: scroll; 
573  padding: 0.5rem; 
574  flex-direction: column; 
575  border-radius: 1.5rem; 
576  max-height: 100%; 
577  filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)); 
578}
579
580.song-item {
581  display: flex; 
582  padding: 0.5rem; 
583  padding-left: 0.75rem;
584  align-items: center; 
585  border-radius: 0.75rem; 
586  background-color: #ffffff; 
587  filter: drop-shadow(0 10px 8px rgba(0, 0, 0, 0.04)) drop-shadow(0 4px 3px rgba(0, 0, 0, 0.1)); 
588}
589
590.song-meta {
591  display: flex; 
592  flex-direction: column; 
593  width: 100%; 
594}
595
596.song-title {
597  font-size: 1.125rem;
598  line-height: 1.75rem; 
599  font-weight: 500;
600}
601
602.song-requester {
603  font-size: 0.875rem;
604  line-height: 1.25rem; 
605  text-align: right; 
606  color: #9CA3AF; 
607}
608
609.song-delete-btn {
610  position: absolute;
611  right: 0;
612  top: 0;
613  width: 4rem;
614  height: 2rem;
615  padding: 0.125rem;
616  border-radius: 0.5rem;
617  color: #ffffff;
618}
619.song-delete-btn:hover {
620  background-color: #FF0000;
621}
622`,m=`
623.song-list {
624  display: flex;
625  gap: 0.5rem;
626  overflow-y: scroll; 
627  padding: 0.5rem; 
628  flex-direction: column; 
629  border-radius: 1.5rem; 
630  max-height: 100%; 
631  background-color: #1F2937; 
632  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08); 
633}
634
635.song-item {
636  display: flex; 
637  padding: 0.5rem; 
638  padding-left: 0.75rem;
639  align-items: center; 
640  border-radius: 0.75rem; 
641  background-color: #374151; 
642  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 
643  position: relative; 
644}
645
646.song-meta {
647  display: flex; 
648  flex-direction: column; 
649  width: 100%; 
650}
651
652.song-title {
653  font-size: 1.125rem;
654  line-height: 1.75rem; 
655  font-weight: 500;
656  color: #E5E7EB; 
657}
658
659.song-requester {
660  font-size: 0.875rem;
661  line-height: 1.25rem; 
662  text-align: right; 
663  color: #9CA3AF; 
664}
665
666.song-delete-btn {
667  position: absolute;
668  right: 0;
669  top: 0;
670  width: 4rem;
671  height: 2rem;
672  padding: 0.125rem;
673  border-radius: 0.5rem;
674  color: #374151;
675}
676
677.song-delete-btn:hover {
678  color: #E5E7EB;
679  background-color: #DC2626; 
680}
681.song-list {
682  display: flex;
683  gap: 0.5rem;
684  overflow-y: scroll; 
685  padding: 0.5rem; 
686  flex-direction: column; 
687  border-radius: 1.5rem; 
688  max-height: 100%; 
689  background-color: #1F2937; 
690  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08); 
691}
692
693.song-item {
694  display: flex; 
695  padding: 0.5rem; 
696  padding-left: 0.75rem;
697  align-items: center; 
698  border-radius: 0.75rem; 
699  background-color: #374151; 
700  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); 
701  position: relative; 
702}
703
704.song-meta {
705  display: flex; 
706  flex-direction: column; 
707  width: 100%; 
708}
709
710.song-title {
711  font-size: 1.125rem;
712  line-height: 1.75rem; 
713  font-weight: 500;
714  color: #E5E7EB; 
715}
716
717.song-requester {
718  font-size: 0.875rem;
719  line-height: 1.25rem; 
720  text-align: right; 
721  color: #9CA3AF; 
722}
723
724.song-delete-btn {
725  position: absolute;
726  right: 0;
727  top: 0;
728  width: 4rem;
729  height: 2rem;
730  padding: 0.125rem;
731  border-radius: 0.5rem;
732  color: #374151;
733}
734
735.song-delete-btn:hover {
736  color: #E5E7EB;
737  background-color: #DC2626; 
738}`,d=`
739@font-face {
740  font-family: 'Pretendard-Regular';
741  src: url('https://fastly.jsdelivr.net/gh/Project-Noonnu/[email protected]/Pretendard-Regular.woff') format('woff');
742  font-weight: 400;
743  font-style: normal;
744}
745@font-face {
746  font-family: 'Paperlogy-8ExtraBold';
747  src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/[email protected]/Paperlogy-8ExtraBold.woff2') format('woff2');
748  font-weight: 800;
749  font-style: normal;
750}
751
752.follow-alert-container {
753  font-family: 'Paperlogy-8ExtraBold', 'Pretendard-Regular', sans-serif;
754  font-size: 28px;
755  font-weight: 700;
756  
757  display: flex;
758  flex-direction: column;
759  align-items: center;
760  margin: 10px;
761  opacity: 0; /* 초기 투명도 */
762  transition: opacity 1s ease-in-out; /* 페이드 인/아웃 효과 */
763  
764  height: 100vh; /* 브라우저 높이를 기준으로 */
765  box-sizing: border-box; /* 패딩 포함 크기 계산 */
766}
767
768.follow-alert-container.fade-in {
769  opacity: 1; /* 페이드 인 */
770}
771
772.follow-alert-container.fade-out {
773  opacity: 0; /* 페이드 아웃 */
774}
775
776.follow-alert-image {
777  shrink: 1; /* 부모 요소가 작아질 때 이미지 크기 조정 허용 */
778  width: 100%; /* 너비를 부모에 맞춤 */
779  height: auto; /* 세로 비율 유지 */
780  max-height: calc(100vh - 150px); /* 다른 요소를 제외한 공간에 맞춤 */
781  object-fit: contain; /* 비율 유지하면서 이미지 전체 표시 */
782}
783
784.follow-alert-text {
785  display: flex;
786  margin-bottom: 1em;
787  align-items: center;
788  letter-spacing: -.3px;
789  text-shadow: 0 0 8px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.9);
790  color: white;
791  white-space: nowrap;
792}
793
794.follow-alert-nick {
795  color: #00ffa3;
796  margin-right: 0.1em;
797}
798`,f=`
799@font-face {
800    font-family: 'yg-jalnan';
801    src: url('https://fastly.jsdelivr.net/gh/projectnoonnu/[email protected]/JalnanOTF00.woff') format('woff');
802    font-weight: normal;
803    font-style: normal;
804}
805
806.user_count_box {
807    top: 1%;
808    position: relative;
809    display: flex;
810    margin: 0.2em;
811    padding: 0.2em;
812    border-radius: 2em;
813    background-color: rgba(0, 0, 0, 0.3);
814    overflow: hidden;
815}
816
817.user_count {
818    display: flex;
819    width: -webkit-fill-available;
820    border-radius: 2em;
821    background: rgba(0, 0, 0, 0.3);
822    white-space: nowrap;
823    overflow: hidden;
824    text-align: center;
825    justify-content: center;
826    align-items: center;
827}
828
829.left-margin {
830    margin-left: 0.2em;
831}
832
833.counting {
834    display: inline;
835    margin-top: 0.1em;
836    margin-left: 0.4em;
837    line-height: 1.1em;
838    color: #fff;
839    font-size: 2em;
840    font-family: "yg-jalnan", "NotoSansKR", sans-serif;
841    font-weight: 500;
842    text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
843}
844
845.total .platform_badge {
846    filter: invert(100%);
847}
848`,g=`
849:root {
850  --timer-font-family: "Noto Sans KR", "Pretendard", "Segoe UI", sans-serif;
851  --timer-text-color: #ffffff;
852  --timer-muted-color: #9ca3af;
853  --timer-shadow: 0 1.2px 1.2px rgba(0, 0, 0, 0.8);
854  --timer-gap: 10px;
855  --timer-message-text: #fef2f2;
856  --timer-message-background: rgba(0, 0, 0, 0.55);
857}
858
859* {
860  box-sizing: border-box;
861}
862
863html,
864body {
865  margin: 0;
866  width: 100%;
867  height: 100%;
868  background: transparent;
869  color: var(--timer-text-color);
870  font-family: var(--timer-font-family);
871}
872
873body {
874  display: block;
875  overflow: hidden;
876}
877
878.timer-overlay-container {
879  width: 100%;
880  height: 100%;
881  padding: 0.75rem;
882}
883
884.timer-overlay-message {
885  display: flex;
886  align-items: center;
887  justify-content: center;
888  flex-wrap: wrap;
889  gap: 12px;
890  width: 100%;
891  height: 100%;
892  padding: 24px;
893  text-align: center;
894  color: var(--timer-message-text);
895  background: var(--timer-message-background);
896  border-radius: 24px;
897}
898
899.timer-overlay-message--stacked {
900  flex-direction: column;
901  gap: 16px;
902}
903
904.timer-overlay-message__title {
905  margin: 0;
906  font-size: 2.5rem;
907  font-weight: 700;
908}
909
910.timer-overlay-message__subtitle {
911  margin: 0;
912  font-size: 1.5rem;
913  color: var(--timer-message-text);
914  opacity: 0.85;
915}
916
917#log,
918.timer-list {
919  display: flex;
920  flex-wrap: wrap;
921  justify-content: flex-start;
922  align-items: flex-start;
923  gap: var(--timer-gap);
924  margin: 0;
925  padding: 0;
926  list-style: none;
927}
928
929.timer-list > div {
930  display: flex;
931  align-items: center;
932  justify-content: center;
933}
934
935.timer-display {
936  display: flex;
937  flex-direction: column;
938  align-items: center;
939  text-align: center;
940  color: var(--timer-text-color);
941  text-shadow: var(--timer-shadow);
942  line-height: 1.75rem;
943  white-space: nowrap;
944  gap: 0.2rem;
945}
946
947.timer-display--paused {
948  color: var(--timer-muted-color);
949}
950
951.timer-display__name {
952  width: 120px;
953  font-size: 1.5rem;
954  font-weight: 700;
955  overflow: hidden;
956  text-overflow: ellipsis;
957}
958
959.timer-display__time {
960  font-size: 2.25rem;
961  font-weight: 700;
962}
963
964.timer-list--clock > div {
965  display: flex;
966  align-items: center;
967  height: 100px !important;
968}
969
970.timer-list--clock > div > svg {
971  display: none;
972}
973
974@media (max-width: 768px) {
975  .timer-display__name {
976    width: auto;
977    font-size: 1.25rem;
978  }
979
980  .timer-display__time {
981    font-size: 1.75rem;
982  }
983}
984`,c=`
985#video-donation-info {
986  width: -webkit-fill-available;
987  display: inline-flex;
988  justify-content: space-between;
989  gap: 24px;
990  padding: 14px 20px;
991  border-radius: 16px;
992  background-color: rgba(0, 0, 0, 0.55);
993  color: #fff;
994  font-weight: bold;
995}
996
997/* 위: 무엇이 나오고 있는가 */
998.vdi-now {
999  display: flex;
1000  flex-direction: column;
1001  justify-content: space-between;
1002  gap: 2px;
1003  min-width: 0;
1004}
1005
1006.vdi-title {
1007  font-size: 22px;
1008  overflow: hidden;
1009  text-overflow: ellipsis;
1010  white-space: nowrap;
1011}
1012
1013.vdi-sender {
1014  font-size: 16px;
1015  opacity: 0.75;
1016}
1017
1018.vdi-sender::before { content: "— "; }
1019
1020.vdi-stats {
1021  display: flex;
1022  align-items: center;
1023  justify-content: end;
1024  gap: 14px;
1025  white-space: nowrap;
1026}
1027
1028.vdi-queue-info {
1029  display: flex;
1030  flex-direction: column;
1031  gap: 4px;
1032}
1033
1034.vdi-remaining {
1035  font-size: 48px;
1036  font-variant-numeric: tabular-nums;
1037}
1038
1039.vdi-queue,
1040.vdi-queue-total {
1041  font-size: 18px;
1042  opacity: 0.85;
1043  font-variant-numeric: tabular-nums;
1044}
1045
1046.vdi-queue-total { opacity: 0.65; }
1047
1048#video-donation-info[data-playing="false"] .vdi-now { display: none; }
1049`,p=`
1050#log {
1051  display: flex;
1052  flex-wrap: wrap;
1053  justify-content: center;
1054  gap: 10px;
1055  font-size: 64px;
1056}
1057
1058.counter-item {
1059  display: flex;
1060  align-items: center;
1061  justify-content: center;
1062  padding: 0.2em 1em;
1063  border-radius: 30px;
1064  background-color: rgba(0, 0, 0, 0.5);
1065  color: white;
1066  font-weight: bold;
1067}
1068
1069.counter-item-inner { 
1070  display: flex;
1071  flex-direction: column;
1072  align-items: center;
1073  gap: 5px;
1074}
1075
1076.counter-name {
1077  font-size: 1em;
1078}
1079
1080.counter-value {
1081  font-size: 1.5em;
1082  display: flex;
1083  column-gap: 8px;
1084}`,u=`@font-face {
1085    font-family: 'Isamanru';
1086    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/[email protected]/GongGothicLight.woff') format('woff');
1087    font-weight: 300;
1088    font-display: swap;
1089}
1090
1091@font-face {
1092    font-family: 'Isamanru';
1093    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/[email protected]/GongGothicMedium.woff') format('woff');
1094    font-weight: normal;
1095    font-display: swap;
1096}
1097
1098@font-face {
1099    font-family: 'Isamanru';
1100    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/[email protected]/GongGothicBold.woff') format('woff');
1101    font-weight: 700;
1102    font-display: swap;
1103}
1104
1105* {
1106  margin: 0;
1107  padding: 0;
1108  box-sizing: border-box;
1109  
1110  font-family: 'Isamanru';
1111}
1112
1113body {
1114  padding: 20px;
1115}
1116
1117.container {
1118  background: white;
1119  border: 3px solid #666;
1120  border-radius: 16px;
1121  padding: 24px;
1122  white-space: nowrap;
1123  
1124  width: 100%;
1125  min-width: 600px;
1126  
1127  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
1128}
1129
1130.header {
1131  display: flex;
1132  justify-content: space-between;
1133  align-items: center;
1134  margin-bottom: 16px;
1135  padding: 0 0.4em;
1136}
1137
1138.title {
1139  font-size: 3em;
1140  color: #000;
1141}
1142
1143.timer {
1144  display: flex;
1145  gap: 0.2em;
1146  align-items: center;
1147
1148  font-size: 1em;
1149  color: #333;
1150}
1151
1152.timer.closed {
1153  color: #e53935;
1154  font-weight: 700;
1155}
1156
1157.option {
1158  position: relative;
1159  border: 3px solid #999;
1160  border-radius: 12px;
1161  padding: 16px 20px;
1162  margin-bottom: 16px;
1163  display: flex;
1164  justify-content: space-between;
1165  align-items: center;
1166  transition: transform 0.2s;
1167}
1168
1169.option:last-child {
1170  margin-bottom: 0;
1171}
1172
1173.option-text {
1174  font-size: 2em;
1175  font-weight: 600;
1176  color: #000;
1177}
1178
1179.option-stats {
1180  text-align: right;
1181}
1182
1183.logs {
1184  font-size: 1.4em;
1185  font-weight: bold;
1186  color: #000;
1187  margin-bottom: 0.1em;
1188}
1189
1190.details {
1191  font-size: 0.9em;
1192  color: #555;
1193}
1194
1195.progress {
1196  position: absolute;
1197  height: 100%;
1198  width: 0%;
1199  top: 0;
1200  left: 0;
1201  background: rgba(244, 216, 159, 0.6);
1202  z-index: 1;
1203  transition: width 0.2s ease;
1204}
1205
1206.option-text, .option-stats {
1207  z-index: 2;
1208}`,h=`
1209#draw-stage {
1210  position: fixed;
1211  inset: 0;
1212  display: flex;
1213  align-items: center;
1214  justify-content: center;
1215  pointer-events: none;
1216}
1217#draw-canvas {
1218  max-width: 100%;
1219  max-height: 100%;
1220  transition: opacity linear;
1221}
1222#draw-meta {
1223  position: absolute;
1224  bottom: 5%;
1225  color: #ffffff;
1226  font-family: 'Pretendard', sans-serif;
1227  font-size: 32px;
1228  text-shadow: 0 2px 6px rgba(0,0,0,.6), 0 2px 6px rgba(0,0,0,.6), 0 2px 6px rgba(0,0,0,.6), 0 2px 6px rgba(0,0,0,.6);
1229}
1230`,x=`
1231.ticket-alert-container {
1232  font-family: 'Pretendard', sans-serif;
1233  font-size: 28px;
1234  font-weight: 700;
1235
1236  display: flex;
1237  flex-direction: column; /* 알림 이미지(설정 시)를 문장 위에 둔다. 이미지가 없으면 배치는 그대로다 */
1238  align-items: center;
1239  justify-content: center;
1240  margin: 10px;
1241  opacity: 0; /* 초기 투명도 */
1242  transition: opacity .5s ease-in-out; /* 페이드 인/아웃 효과 */
1243
1244  height: 100vh; /* 브라우저 높이를 기준으로 */
1245  box-sizing: border-box; /* 패딩 포함 크기 계산 */
1246}
1247
1248.ticket-alert-image {
1249  width: 100%; /* 너비를 부모에 맞춤 */
1250  height: auto; /* 세로 비율 유지 */
1251  max-height: calc(100vh - 100px); /* 문장 줄을 제외한 공간에 맞춤 */
1252  object-fit: contain; /* 비율 유지하면서 이미지 전체 표시 */
1253  margin: 0 0 0.4em; /* 문장과의 간격 */
1254}
1255
1256.ticket-alert-container.fade-in {
1257  opacity: 1; /* 페이드 인 */
1258}
1259
1260.ticket-alert-container.fade-out {
1261  opacity: 0; /* 페이드 아웃 */
1262}
1263
1264.ticket-alert-text {
1265  display: flex;
1266  align-items: center;
1267  letter-spacing: -.3px;
1268  text-shadow: 0 0 8px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.9);
1269  color: white;
1270  white-space: nowrap;
1271}
1272
1273.ticket-alert-nick {
1274  color: #00ffa3;
1275  margin-right: 0.1em;
1276}
1277
1278.ticket-alert-item {
1279  color: #ffd76a;
1280  margin: 0 0.1em;
1281}
1282
1283/* 사용 메시지(시청자가 사용할 때 적은 한 줄, 최대 200자). 적었을 때만 문장 아래에 그려진다. */
1284.ticket-alert-message {
1285  margin-top: 0.3em;
1286  max-width: 90%;
1287  font-size: 0.75em;
1288  font-weight: 500;
1289  color: white;
1290  text-align: center;
1291  text-shadow: 0 0 8px rgba(0,0,0,.9),0 0 4px rgba(0,0,0,.9);
1292  overflow-wrap: anywhere; /* 띄어쓰기 없는 긴 글도 화면 밖으로 새지 않게 */
1293}
1294`,b=`
1295#donation-bar { font-size: 30px; display: flex; flex-direction: column; gap: 0.6em; }
1296.donation-bar { display: flex; flex-direction: column; gap: 0.3em; width: 100%; color: #fff; font-weight: 800;
1297  font-family: "Pretendard Variable", "Noto Sans KR", sans-serif; text-shadow: 0 2px 4px rgba(0,0,0,0.6); }
1298.donation-bar-head { display: flex; justify-content: space-between; align-items: baseline; gap: 1em; }
1299.donation-bar-title { margin: 0; font-size: 0.9em; }
1300.donation-bar-text { margin: 0; font-size: 0.75em; font-variant-numeric: tabular-nums; display: flex; gap: 0.3em; align-items: baseline; }
1301.donation-bar-unit { font-size: 0.8em; opacity: 0.85; }
1302.donation-bar-percent { margin-left: 0.4em; color: #ffd25a; }
1303.donation-bar-track { height: 0.9em; border-radius: 999px; background: rgba(0,0,0,0.55); overflow: hidden;
1304  box-shadow: inset 0 0 0 2px rgba(255,255,255,0.15); }
1305.donation-bar-fill { height: 100%; width: calc(var(--progress) * 100%); border-radius: inherit;
1306  background: linear-gradient(90deg, #ffd25a, #ffb000); transition: width 0.6s cubic-bezier(.2,.8,.2,1); }
1307.donation-bar[data-reached="true"] .donation-bar-fill { animation: donation-bar-glow 1.6s ease-in-out infinite; }
1308@keyframes donation-bar-glow { 50% { filter: brightness(1.25) drop-shadow(0 0 0.3em #ffd25a); } }
1309.donation-bar[data-no-goal="true"] .donation-bar-track, .donation-bar[data-no-goal="true"] .donation-bar-divider,
1310.donation-bar[data-no-goal="true"] .donation-bar-goal, .donation-bar[data-no-goal="true"] .donation-bar-percent { display: none; }
1311.donation-bar[data-display="amount"] .donation-bar-percent { display: none; }
1312.donation-bar[data-display="percent"] .donation-bar-current, .donation-bar[data-display="percent"] .donation-bar-divider,
1313.donation-bar[data-display="percent"] .donation-bar-goal, .donation-bar[data-display="percent"] .donation-bar-unit { display: none; }
1314@media (prefers-reduced-motion: reduce) { .donation-bar-fill { transition: none; animation: none !important; } }
1315/* 목업에 없던 규칙: 목표가 없으면 '퍼센트만' 이어도 금액을 보인다(설계 \xa74-2 "목표가 0 이면 금액만").
1316   위 두 규칙만으로는 percent 가 금액을, no-goal 이 퍼센트를 숨겨 이름만 남는다. */
1317.donation-bar[data-no-goal="true"][data-display="percent"] .donation-bar-current,
1318.donation-bar[data-no-goal="true"][data-display="percent"] .donation-bar-unit { display: inline; }
1319`;e.s(["CHAT_DEFAULT_CSS",0,n,"COUNTER_DEFAULT_CSS",0,p,"CUSTOM_SCRIPT_LANGS",0,["Python 3.9"],"DATA_SOCKET_URL",0,{public:"https://chzzk-data.ddutto.com"},"DEFAULT_FILE_TYPES",0,{IMAGES:{"image/png":["png"],"image/jpeg":["jpg","jpeg"],"image/gif":["gif"],"image/webp":["webp"]},AUDIOS:{"audio/mpeg":["mp3"],"audio/ogg":["ogg"]}},"DEV_CONTACTS",0,{DISCORD:"https://discord.com/invite/QftHRJCTPZ",MAIL:"mailto:[email protected]",KAKAO:"https://open.kakao.com/me/lastdice",CHZZK:"https://chzzk.naver.com/4c3a50fe635854036b4dcf15c9a4d0a2"},"DONATION_BAR_DEFAULT_CSS",0,b,"DONATION_DEFAULT_CSS",0,o,"DRAW_DONATION_DEFAULT_CSS",0,h,"EMOTICON_SPREAD_DEFAULT_CSS",0,t,"FOLLOW_ALERT_DEFAULT_CSS",0,d,"HOST_URL",0,"https://chzzk-bot.ddutto.com","IS_TEST_MODE",0,!1,"KARAOKE_LIST_DEFAULT_CSS",0,"","MID_ADS_TIMELINE_DEFAULT_CSS",0,a,"OVERLAY_FONTS",0,[{innerName:"Youth",name:"청소년체"},{innerName:"GodoM",name:"고도체"},{innerName:"NanumSquareRound",name:"나눔스퀘어라운드"},{innerName:"Busan",name:"부산체"},{innerName:"BMDOHYEON",name:"배달의민족 도현체"},{innerName:"BusanBada",name:"부산바다체"},{innerName:"SBAggroB",name:"샌드박스 어그로체"},{innerName:"BMYEONSUNG",name:"배달의민족 연성체"},{innerName:"YiSunShinDotumM",name:"이순신돋움체 (M)"},{innerName:"HeirofLightRegular",name:"빛의계승자체 (R)"},{innerName:"HeirofLightBold",name:"빛의계승자체 (B)"},{innerName:"SDKukdetopokki",name:"산돌국대떡볶이체"},{innerName:"Binggrae",name:"빙그레체 (기본값, R)"},{innerName:"Binggrae-Bold",name:"빙그레체 (B)"},{innerName:"Intake",name:"인테이크 모닝죽체"},{innerName:"Swagger",name:"스웨거체"},{innerName:"KHNPHD",name:"한수원 한돋움체"},{innerName:"KHNPHU",name:"한수원 한울림체"},{innerName:"KBIZHanmaumGothic",name:"KBIZ한마음고딕체"},{innerName:"KBIZHanmaumMyungjo",name:"KBIZ한마음명조체"},{innerName:"GyeonggiBatang",name:"경기천년바탕"},{innerName:"GyeonggiTitleM",name:"경기천년제목 (M)"},{innerName:"Arita-dotum-Medium",name:"아리따돋움 (M)"},{innerName:"Arita-buri-SemiBold",name:"아리따부리 (SB)"},{innerName:"Daehan",name:"대한체"},{innerName:"HSBombaram",name:"HS봄바람체 2.0"},{innerName:"HSSummer",name:"HS여름물빛체"},{innerName:"HSGaeulsenggak",name:"HS가을생각체"},{innerName:"HSGyoulnoonkot",name:"HS겨울눈꽃체"},{innerName:"CHONBUKL",name:"전라북도체 (L)"},{innerName:"GIMJE-L",name:"김제시체 (L)"}
1319,{innerName:"SeoulNamsanM",name:"서울남산체 (M)"},{innerName:"Chosunilbo_myungjo",name:"조선일보명조체"},{innerName:"Hankc",name:"한겨레결체"},{innerName:"YunTaemin",name:"윤고래체"},{innerName:"WONTitle",name:"한둥근제목"},{innerName:"InkLipquid",name:"잉크립퀴드체"},{innerName:"GabiaSolmee",name:"가비아 솔미체"},{innerName:"GabiaBombaram",name:"가비아 봄바람체"},{innerName:"NapjakBlock",name:"가비아 납작블럭체"},{innerName:"TmonMonsori",name:"티몬체"},{innerName:"OSeongandHanEum",name:"포천오성과한음체"},{innerName:"Makgeolli",name:"포천막걸리체"},{innerName:"Goyang",name:"고양체"},{innerName:"GoyangDeogyang",name:"고양덕양체"},{innerName:"GoyangIlsan",name:"고양일산체"},{innerName:"OTEnjoystoriesBA",name:"즐거운이야기체"},{innerName:"FOUREYES",name:"안경잡이체"},{innerName:"HangeulNuri-Bold",name:"한글누리체 (B)"},{innerName:"designhouseOTFLight00",name:"디자인하우스체"},{innerName:"SangSangFlowerRoad",name:"꽃길"},{innerName:"SangSangShin",name:"신과장"},{innerName:"SangSangAnt",name:"개미똥꾸멍"},{innerName:"SangSangShinb7",name:"신비는일곱살"},{innerName:"DAONYOUTHGOTHICM",name:"다온 청년고딕 (M)"},{innerName:"Wolin",name:"월인석보체"},{innerName:"Kanibuk",name:"간이벽온방체"},{innerName:"Beopjeong",name:"법정체"},{innerName:"Bright",name:"밝은체"},{innerName:"Minguk-Regular",name:"민국체 (R)"},{innerName:"Minguk-Bold",name:"민국체 (B)"},{innerName:"SUITE-Regular",name:"스위트 (R)"},{innerName:"MaplestoryOTFBold",name:"넥슨 메이플스토리 (B)"},{innerName:"DungGeunMo",name:"둥근모꼴+ Fixedsys"},{innerName:"NeoDunggeunmo",name:"Neo둥근모"},{innerName:"SejonghospitalBold",name:"세종병원체"},{innerName:"yg-jalnan",name:"여기어때 잘난체"},{innerName:"BRBA_B",name:"배스킨라빈스 (B)"},{innerName:"CookieRun-Regular",name:"쿠키런 (R)"},{innerName:"GangwonEdu_OTFBoldA",name:"강원교육모두체 (B)"},{innerName:"Dovemayo_gothic",name:"둘기마요고딕"},{innerName:"NeoDunggeunmoPro-Regular",name:"Neo둥근고딕 Pro (R)"},{innerName:"Atomy-Bold",name:"애터미체 (B)"},{innerName:"YeongdeokSnowCrab",name:"영덕대게체"},{innerName:"MBC1961GulimM",name:"MBC 1961체 (M)"},{innerName:"Dovemayo-Medium",name:"둘기마요 (M)"},{innerName:"EF_watermelonSalad",name:"수박화체"},{innerName:"KartriderExtraBold",name:"넥슨 카드 고딕 - (EB)"},{innerName:"KOTRAHOPE",name:"코트라 희망체"},{innerName:"SOGANGUNIVERSITYTTF",name:"서강체"},{innerName:"omyu_pretty",name:"오뮤 다예쁨체"},{innerName:"TmoneyRoundWindRegular",name:"티머니 둥근바람 (R)"},{innerName:"insungitCutelivelyjisu",name:"귀염발랄체"},{innerName:"UhBeeZZIBA-Regular",name:"어비 찌바체"},{innerName:"MBC1961M",name:"MBC 1961체 (M)"},{innerName:"MabinogiClassicR",name:"마비옛체 서체 (R)"},{innerName:"PFStardust",name:"PF스타더스트"},{innerName:"KNUTRUTHTTF",name:"경북대진리체"},{innerName:"DOSPilgiMedium",name:"도스필기체 (M)"},{innerName:"BMJUA",name:"배달의민족 주아체"},{innerName:"Ownglyph_meetme-Rg",name:"밑미 폰트"},{innerName:"NPSfontBold",name:"국민연금체 (B)"},{innerName:"WAGURITTF",name:"와구리체"},{innerName:"GeekbleMalang2WOFF2",name:"긱블 말랑이체"},{innerName:"TTHakgyoansimKossuyeomR",name:"학교안심 콧수염 (R)"},{innerName:"NelnaLizzyChae",name:"낼나 리지체"},{innerName:"ONE-Mobile-POP",name:"원스토어 모바일 POP체"},{innerName:"JalnanGothic",name:"여기어때 잘난체 고딕"},{innerName:"BookkMyungjo-Bd",name:"부크크 명조"},{innerName:"LeeSeoyun",name:"이서윤체 흥국생명"},{innerName:"GangwonEduSaeeum_OTFMediumA",name:"강원교육새음체 (M)"},{innerName:"Ownglyph_okticon-Bd",name:"온글잎 쑴체"},{innerName:"Ownglyph_ParkDaHyun",name:"온글잎 박다현체"},{innerName:"Pretendard-Black",name:"프리텐다드 Black"},{innerName:"Pretendard-ExtraBold",name:"프리텐다드 ExtraBold"},{innerName:"Pretendard-Bold",name:"프리텐다드 Bold"},{innerName:"Pretendard-SemiBold",name:"프리텐다드 SemiBold"},{innerName:"Pretendard-Medium",name:"프리텐다드 Medium"},{innerName:"Pretendard-Regular",name:"프리텐다드 Regular"},{innerName:"Pretendard-Light",name:"프리텐다드 Light"},{innerName:"Pretendard-ExtraLight",name:"프리텐다드 ExtraLight"},{innerName:"Pretendard-Thin",name:"프리텐다드 Thin"},{innerName:"HakgyoansimDunggeunmisoTTF-R",name:"학교안심 둥근미소 (R)"},{innerName:"HakgyoansimDunggeunmisoTTF-B",name:"학교안심 둥근미소 (B)"},{innerName:"Bazzi",name:"넥슨 배찌체"},{innerName:"PyeongChangPeace-Light",name:"평창평화체 Light"},{innerName:"PyeongChangPeace-Bold",name:"평창평화체 Bold"}],"PREDICTION_DEFAULT_CSS",0,u,"ROULETTE_DEFAULT_CSS",0,r,"ROULETTE_RECENT_DEFAULT_CSS",0,i,"RoulettePermissionNames",0,{USER:"시청자 이상 (누구나)",FOLLOWER:"팔로워 이상",SUBSCRIBER:"구독자 이상",MANAGER:"매니저 이상",STREAMER:"스트리머 이상"},"SONG_REQUESTS_DEFAULT_CSS",0,l,"SONG_REQUESTS_LIST_DARKMODE_DEFAULT_CSS",0,m,"SONG_REQUESTS_LIST_DEFAULT_CSS",0,s,"SUBSCRIPTION_DETECT_DEFAULT",0,{selfEnabled:!1,giftSendEnabled:!1,tier1Count:1,tier2Count:1,maxCount:20},"SUBSCRIPTION_ROULETTE_MAX",0,3e3,"TICKET_DEFAULT_CSS",0,x,"TIMER_DEFAULT_CSS",0,g,"VIDEO_DONATION_INFO_DEFAULT_CSS",0,c,"VIEWER_COUNT_DEFAULT_CSS",0,f])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.