/* Dedicated service theme. No legacy/global stylesheet or game overrides. */
@font-face{font-family:"Ticket Service Serif";src:url("../fonts/ticket-services-20260916/serif.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
.ticket-service{--paper:#f7f4ee;--ink:#152139;--muted:#626575;--gold:#80602d;--line:#d1ccd2;--lavender:#eeebf3;--serif:"Ticket Service Serif","Noto Serif KR",Batang,"AppleMyungjo",Georgia,serif;margin:0;background:var(--paper);color:var(--ink);font:15px/1.75 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",sans-serif;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}
.ticket-service *,.ticket-service *::before,.ticket-service *::after{box-sizing:border-box}
.ticket-service a{color:inherit;text-decoration:none}
.ticket-service :is(a,button,input,textarea,[tabindex]):focus-visible{outline:3px solid #92703b;outline-offset:4px}
.ticket-service h1,.ticket-service h2,.ticket-service h3,.ticket-service p{margin:0}
.ticket-service h1,.ticket-service h2,.ticket-service h3{font-family:var(--serif);font-weight:400}
.ticket-service button,.ticket-service input,.ticket-service textarea{font:inherit}
.ticket-service button{cursor:pointer}
.ticket-service button:disabled{cursor:wait;opacity:.65}
.ticket-service .service-shell{width:min(100% - 64px,1100px);margin:0 auto}
.ticket-service .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ticket-service .skip-link{position:absolute;z-index:10;left:16px;top:10px;transform:translateY(-180%);padding:8px 16px;background:var(--ink);color:white}
.ticket-service .skip-link:focus{transform:none}
.ticket-service .masthead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:23px 0 25px}
.ticket-service .back-home,.ticket-service .carnival-link{font-size:12px;color:#4f566a}
.ticket-service .carnival-link{justify-self:end;border-bottom:1px solid #7c7e87;padding-bottom:3px}
.ticket-service .site-brand{display:flex;flex-direction:column;align-items:center;font:30px/1.55 var(--serif);letter-spacing:.12em}
.ticket-service .site-brand small{font:9px/1.7 sans-serif;letter-spacing:.27em;margin-top:3px}
.ticket-service .brand-dots{display:grid;grid-template-columns:repeat(3,5px);gap:4px 7px;margin-bottom:7px}
.ticket-service .brand-dots i{width:5px;height:5px;background:#a68345;border-radius:50%}
.ticket-service .brand-dots i:nth-child(2n){opacity:.6}
.ticket-service .service-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--line)}
.ticket-service .service-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:13px 8px;border-bottom:2px solid transparent;transition:background .15s ease}
.ticket-service .service-nav a span{font-size:14px}
.ticket-service .service-nav small{font-size:10px;color:var(--muted)}
.ticket-service .service-nav a:hover{background:#eeebf0}
.ticket-service .service-nav a[aria-current=page]{background:#ede9f1;border-bottom-color:#987744}
.ticket-service .page-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:32px 0 29px}
.ticket-service .eyebrow{display:block;font-size:10px;color:var(--gold);letter-spacing:.17em;line-height:1.6}
.ticket-service .page-intro h1{font-size:34px;line-height:1.5;letter-spacing:-.04em;margin:7px 0 9px}
.ticket-service .page-intro p{font-size:13px;color:var(--muted)}
.ticket-service .section-art{flex:0 0 90px;width:90px;height:90px;background-image:url("../img/lucky-ticket-20260916/icons.png");background-size:300% 100%;background-repeat:no-repeat;mix-blend-mode:darken}
.ticket-service .art-luck{background-position:left center}
.ticket-service .art-numbers,.ticket-service .art-stats{background-position:center}
.ticket-service .art-community{background-position:right center}
.ticket-service .art-dream{background-image:url("../img/lucky-ticket-20260916/dream.png");background-size:cover;background-position:right center;border-radius:50%;mix-blend-mode:normal}
.ticket-service .art-notice,.ticket-service .art-print{display:none}
.ticket-service .round-summary{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;margin-bottom:17px;font-size:12px;color:var(--muted)}
.ticket-service .round-summary strong{color:var(--ink);font-size:15px;font-weight:500}
.ticket-service .round-tag{margin-left:auto;padding:3px 13px;border:1px solid #b6a68a;border-radius:30px;color:#735626;font-size:11px}
.ticket-service .number-tickets{display:grid;gap:13px}
.ticket-service .number-ticket{position:relative;display:grid;grid-template-columns:130px minmax(0,1fr) 80px;align-items:center;gap:12px 24px;padding:23px 30px;border:1px solid #b6adbd;background:linear-gradient(110deg,#eeebf3,#f4f1f7);border-radius:3px}
.ticket-service .number-ticket::before,.ticket-service .number-ticket::after{content:"";position:absolute;top:calc(50% - 13px);width:14px;height:26px;background:var(--paper);border:1px solid #b6adbd}
.ticket-service .number-ticket::before{left:-1px;border-left:0;border-radius:0 30px 30px 0}
.ticket-service .number-ticket::after{right:-1px;border-right:0;border-radius:30px 0 0 30px}
.ticket-service .ticket-label{border-right:1px dashed #bfb4c5;padding-right:18px}
.ticket-service .ticket-label .eyebrow{font-size:8px;letter-spacing:.15em}
.ticket-service .ticket-label h2{font:36px/1.35 var(--serif)}
.ticket-service .ticket-label small{font:11px/1.4 sans-serif;margin-left:9px;color:var(--muted)}
.ticket-service .number-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;list-style:none;margin:0;padding:0;max-width:630px}
.ticket-service .number-row li{display:flex;align-items:center;justify-content:center;width:100%;max-width:69px;aspect-ratio:1;justify-self:center;border-radius:50%;border:1px solid #aa894d;background:#faf7f1;font:32px/1 var(--serif);font-variant-numeric:lining-nums tabular-nums}
.ticket-service .ticket-spark{justify-self:center;font-size:27px;color:#a17b37}
.ticket-service .number-note{grid-column:2 / 3;color:var(--muted);font-size:11px;white-space:pre-wrap}
.ticket-service .result-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px}
.ticket-service .helper-text{font-size:12px;color:var(--muted);line-height:1.9}
.ticket-service .text-link{display:inline-block;border-bottom:1px solid #bcb4aa;margin-top:9px;color:var(--ink)}
.ticket-service .btn-primary,.ticket-service .btn-secondary,.ticket-service .btn-more{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:11px 24px;border:1px solid var(--ink);border-radius:28px;background:var(--ink);color:#fff;font-size:13px;line-height:1.6;white-space:nowrap}
.ticket-service .btn-primary:hover{background:#303954}
.ticket-service .btn-secondary,.ticket-service .btn-more{background:transparent;color:var(--ink);border-color:#aaa0af}
.ticket-service .btn-secondary:hover,.ticket-service .btn-more:hover{background:#ede9f2}
.ticket-service .chat-panel{background:#fffdf9;border:1px solid #c3bac9;border-radius:5px;overflow:hidden}
.ticket-service .chat-panel-heading{display:flex;align-items:center;gap:9px;padding:14px 23px;border-bottom:1px solid #d9d2de;background:#eeebf3;font-size:12px}
.ticket-service .chat-panel-heading strong{font-weight:500}
.ticket-service .chat-panel-heading>span:last-child,.ticket-service .chat-panel-heading>a{margin-left:auto;color:var(--muted);font-size:11px}
.ticket-service .status-dot{width:6px;height:6px;background:#8a7450;border-radius:50%;flex-shrink:0}
.ticket-service .chat-log{height:440px;height:clamp(300px,49dvh,540px);overflow-y:auto;padding:24px;overscroll-behavior-y:contain;scrollbar-color:#bbb2c4 transparent}
.ticket-service .chat-welcome{display:flex;flex-direction:column;justify-content:center;min-height:100%;padding:35px;border-radius:3px;background:#eee9f4 url("../img/lucky-ticket-20260916/dream.png") right center/cover no-repeat}
.ticket-service .chat-welcome h2{font-size:30px;margin:14px 0}
.ticket-service .chat-welcome p{color:#4e556a;font-size:13px}
.ticket-service .chat-log:has(.chat-message) .chat-welcome{display:none}
.ticket-service .chat-compose{padding:17px 22px 13px;border-top:1px solid #ded8e1;background:#f5f2f7}
.ticket-service .chat-input-group{display:flex;align-items:flex-end;gap:10px}
.ticket-service input[type=text],.ticket-service input[type=number],.ticket-service textarea{min-width:0;border:1px solid #bdb7c6;border-radius:7px;background:#fffdf9;color:var(--ink);padding:12px 14px;line-height:1.65}
.ticket-service input::placeholder,.ticket-service textarea::placeholder{color:#747080;opacity:1}
.ticket-service .chat-input-group textarea,.ticket-service .chat-input-group input{flex:1;width:100%;min-height:47px;font-size:14px}
.ticket-service .chat-input-group textarea{resize:vertical;max-height:160px;overflow-y:auto}
.ticket-service .chat-input-group .btn-primary{min-width:72px;border-radius:7px;padding:11px 17px;min-height:47px}
.ticket-service .speech-button{display:flex;align-items:center;justify-content:center;flex:0 0 44px;height:47px;border:1px solid #b2a4bf;border-radius:7px;color:var(--ink);background:#e7e0ef}
.ticket-service .speech-button.active{background:#d8c9e8;box-shadow:0 0 0 2px #bba5ce}
.ticket-service .speech-button:disabled{opacity:.45}
.ticket-service .speech-status:empty{display:none}
.ticket-service .speech-status,.ticket-service .input-hint{font-size:10px;color:var(--muted);margin-top:8px}
.ticket-service .chat-message{display:flex;width:100%;margin:0 0 18px}
.ticket-service .chat-message.user{justify-content:flex-end}
.ticket-service .ai-message-container{display:flex;align-items:flex-start;gap:10px;min-width:0;max-width:92%}
.ticket-service .ai-avatar{width:38px;height:38px;flex:0 0 38px;border-radius:50%;object-fit:contain;background:#ece6f3;padding:3px}
.ticket-service .message-bubble{padding:15px 18px;border-radius:12px;min-width:0;font-size:14px;line-height:1.85;overflow-wrap:anywhere;word-break:normal}
.ticket-service .message-bubble.user{max-width:85%;background:#e8e1ef;border:1px solid #d5cadd;border-bottom-right-radius:3px}
.ticket-service .message-bubble.ai{background:#f8f5ef;border:1px solid #e2d9c9;border-bottom-left-radius:3px}
.ticket-service .message-bubble :is(h1,h2,h3){font-family:inherit;font-size:1.1em;font-weight:600;margin:10px 0}
.ticket-service .message-bubble p+ p,.ticket-service .message-bubble ul,.ticket-service .message-bubble ol{margin-top:9px}
.ticket-service .message-bubble a{color:#615082;text-decoration:underline;text-underline-offset:3px}
.ticket-service .message-bubble img{max-width:100%;height:auto}
.ticket-service .message-bubble pre{white-space:pre-wrap}
.ticket-service .message-bubble blockquote{margin:10px 0;padding-left:12px;border-left:2px solid #b09561;color:#55596a}
.ticket-service .message-bubble.ai span[style*="color:"]{color:#765624!important}
.ticket-service .message-bubble .btn-primary{margin-top:7px}
.ticket-service .lotto-numbers-container{font-variant-numeric:tabular-nums;padding:10px;border:1px solid #cbb9a3;border-radius:4px;background:#f3ede4}
.ticket-service .loading-text::after{content:"";display:inline-block;width:6px;height:6px;margin-left:9px;background:#9f8047;border-radius:50%;animation:ticket-pulse 1.3s ease-in-out infinite}
@keyframes ticket-pulse{50%{opacity:.25;transform:translateY(-3px)}}
.ticket-service .notice-box{padding:18px 22px;border:1px solid #d4c7aa;border-left:3px solid #ab8850;background:#f1ece2;margin-bottom:22px;border-radius:3px;font-size:13px}
.ticket-service .notice-box strong{font-weight:500}
.ticket-service .notice-box p{color:#646174;font-size:12px;margin-top:5px}
.ticket-service .board-panel,.ticket-service .panel{background:#fffdf9;border:1px solid var(--line);border-radius:4px;padding:27px}
.ticket-service .board-panel h2,.ticket-service .panel h2{font-size:24px;margin-bottom:20px}
.ticket-service .input-area{display:flex;gap:11px}
.ticket-service .input-area input{flex:1;width:100%;font-size:14px}
.ticket-service .input-area .btn-primary{border-radius:7px}
.ticket-service .board-list{list-style:none;padding:0;margin:28px 0 0}
.ticket-service .board-list:empty::before{content:"나누고 싶은 이야기를 남겨주세요.";display:block;padding:35px 0;text-align:center;color:var(--muted);font-size:13px}
.ticket-service .post-item{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:18px 4px;border-top:1px solid #e4dde5;font-size:14px}
.ticket-service .msg-text{overflow-wrap:anywhere;word-break:normal}
.ticket-service .msg-time{font-size:10px;color:var(--muted);white-space:nowrap}
.ticket-service .hidden-text{color:#736c7c;font-size:13px}
.ticket-service .load-more-wrap{text-align:center;margin-top:22px}
.ticket-service #loadMoreBtn{margin-inline:auto}
.ticket-service .stats-context{font-size:12px;color:var(--muted);margin:0 0 22px}
.ticket-service .stats-panel{background:#fffdf9;border:1px solid var(--line);border-radius:4px;margin-bottom:24px;overflow:hidden}
.ticket-service .panel-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:21px 24px;background:#ede9f2;border-bottom:1px solid var(--line)}
.ticket-service .panel-heading h2{font-size:24px;margin-top:4px}
.ticket-service .panel-heading>span{font-size:12px;color:var(--muted)}
.ticket-service .table-scroll{overflow:auto;max-height:520px;scrollbar-color:#bbb2c4 transparent}
.ticket-service .stats-table{border-collapse:collapse;min-width:650px;width:100%;font-size:12px;font-variant-numeric:tabular-nums}
.ticket-service .stats-table th,.ticket-service .stats-table td{padding:15px 16px;border-bottom:1px solid #e5dfe7;text-align:center;vertical-align:top}
.ticket-service .stats-table thead th{background:#f7f4f9;color:#4d5063;font-size:11px;font-weight:500;position:sticky;top:0;z-index:1;white-space:nowrap}
.ticket-service .stats-table tbody th{font-weight:500;white-space:nowrap}
.ticket-service .stats-table tbody tr:last-child>*{border-bottom:0}
.ticket-service .stats-table .numbers-cell{text-align:left;min-width:260px;word-break:normal}
.ticket-service .numbers-cell p+p{margin-top:8px}
.ticket-service .stat-ai{color:#815a35}
.ticket-service .stat-si{color:#5c4e83}
.ticket-service .mobile-table-hint{display:none}
.ticket-service .print-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ticket-service .panel .eyebrow{margin-bottom:7px}
.ticket-service .orientation-control{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 18px;border:0;padding:0;font-size:12px}
.ticket-service .orientation-control legend{font-size:12px;color:var(--muted);margin-bottom:8px}
.ticket-service .orientation-control label{display:flex;align-items:center;gap:6px}
.ticket-service input[type=radio]{accent-color:#725d89;width:17px;height:17px}
.ticket-service .position-control{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:22px}
.ticket-service .position-center{display:flex;align-items:center;justify-content:center;gap:24px;width:100%}
.ticket-service .position-control>div:not(.position-center),.ticket-service .position-left,.ticket-service .position-right{display:flex;flex-direction:column;gap:5px;align-items:center}
.ticket-service .position-control label{font-size:11px;color:var(--muted)}
.ticket-service .position-control input{width:65px;padding:8px 4px;text-align:center;font-size:12px}
.ticket-service #lottoPaperImage{object-fit:contain;flex-shrink:1;max-width:45%;height:auto}
.ticket-service #lottoNumbers{display:block;width:100%;margin:15px 0 12px;resize:vertical;min-height:210px;line-height:2}
.ticket-service .input-section>.btn-primary{margin-top:20px}
.ticket-service .notice-panel{text-align:center;padding:60px 25px;background:#eeebf3;border:1px solid var(--line)}
.ticket-service .large-star{font-size:48px;color:#9f7a39}
.ticket-service .notice-panel h2{font-size:28px;margin:16px 0 10px}
.ticket-service .notice-panel p{color:var(--muted);font-size:13px;margin-bottom:25px}
.ticket-service .site-footer{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:22px 0 26px;margin-top:36px;border-top:1px solid #bcb7be}
.ticket-service .footer-brand{font:16px var(--serif)}
.ticket-service .softline{font-size:9px;letter-spacing:.14em;color:var(--muted);margin-left:12px}
.ticket-service .site-footer p{margin-left:auto;color:var(--muted);font-size:10px}
.ticket-service .site-footer>small{width:100%;font-size:9px;color:var(--muted);text-align:right}
@media(max-width:800px){
.ticket-service .service-shell{width:calc(100% - 40px)}
.ticket-service .number-ticket{grid-template-columns:85px minmax(0,1fr) 25px;gap:10px 16px;padding:21px 24px}
.ticket-service .number-row{gap:8px}
.ticket-service .number-row li{font-size:27px}
.ticket-service .ticket-label .eyebrow{font-size:7px}
.ticket-service .print-grid{grid-template-columns:1fr}
.ticket-service .position-control{max-width:400px;margin-inline:auto}
.ticket-service .mobile-table-hint{display:block}
}
@media(max-width:540px){
.ticket-service .service-shell{width:calc(100% - 28px)}
.ticket-service .masthead{padding:19px 0 21px;gap:10px}
.ticket-service .site-brand{font-size:23px;letter-spacing:.04em}
.ticket-service .site-brand small{font-size:7px}
.ticket-service .back-home,.ticket-service .carnival-link{font-size:10px}
.ticket-service .service-nav a{padding:11px 2px}
.ticket-service .service-nav a span{font-size:12px}
.ticket-service .service-nav small{font-size:8px;white-space:nowrap}
.ticket-service .page-intro{padding:25px 0;gap:12px}
.ticket-service .page-intro h1{font-size:26px;line-height:1.5}
.ticket-service .page-intro p{font-size:12px}
.ticket-service .eyebrow{font-size:9px}
.ticket-service .section-art{flex-basis:55px;width:55px;height:55px}
.ticket-service .round-summary{gap:5px 12px;font-size:10px}
.ticket-service .round-summary strong{font-size:13px}
.ticket-service .round-tag{font-size:9px}
.ticket-service .number-ticket{grid-template-columns:1fr auto;padding:17px 20px 20px;gap:12px}
.ticket-service .ticket-label{border:0;padding:0;display:flex;align-items:center;gap:14px}
.ticket-service .ticket-label .eyebrow{font-size:8px}
.ticket-service .ticket-label h2{font-size:21px}
.ticket-service .ticket-label small{font-size:10px}
.ticket-service .ticket-spark{grid-column:2;grid-row:1;font-size:19px}
.ticket-service .number-row{grid-column:1 / -1;grid-row:2;gap:7px}
.ticket-service .number-row li{font-size:26px}
.ticket-service .number-note{grid-column:1 / -1;font-size:10px}
.ticket-service .result-actions{align-items:stretch;flex-direction:column;margin-top:20px;gap:17px}
.ticket-service .print-form .btn-primary{width:100%}
.ticket-service .helper-text{font-size:11px}
.ticket-service .chat-panel-heading{padding:12px 14px;font-size:11px}
.ticket-service .chat-panel-heading>span:last-child{display:none}
.ticket-service .chat-panel-heading>a{font-size:9px}
.ticket-service .chat-log{height:400px;height:clamp(320px,49dvh,520px);padding:16px 12px}
.ticket-service .chat-welcome{padding:24px 18px}
.ticket-service .chat-welcome h2{font-size:25px}
.ticket-service .chat-welcome .eyebrow{font-size:8px}
.ticket-service .chat-compose{padding:12px 10px}
.ticket-service .chat-input-group{gap:6px}
.ticket-service .chat-input-group input,.ticket-service .chat-input-group textarea{padding:11px 10px;font-size:16px}
.ticket-service .chat-input-group .btn-primary{min-width:55px;padding:11px 12px;font-size:12px}
.ticket-service .speech-button{flex-basis:40px}
.ticket-service .input-hint{font-size:9px}
.ticket-service .ai-message-container{max-width:100%;gap:7px}
.ticket-service .ai-avatar{width:30px;height:30px;flex-basis:30px}
.ticket-service .message-bubble{font-size:13px;padding:12px 13px}
.ticket-service .message-bubble .btn-primary{font-size:12px;padding:9px 17px}
.ticket-service .notice-box{padding:15px 16px;font-size:12px;margin-bottom:16px}
.ticket-service .notice-box p{font-size:11px}
.ticket-service .board-panel,.ticket-service .panel{padding:20px 16px}
.ticket-service .board-panel h2,.ticket-service .panel h2{font-size:22px}
.ticket-service .input-area{gap:7px}
.ticket-service .input-area input{font-size:16px;padding:11px 10px}
.ticket-service .input-area .btn-primary{padding:11px 16px;font-size:12px}
.ticket-service .post-item{flex-direction:column;gap:7px;font-size:13px;padding:16px 1px}
.ticket-service .msg-time{font-size:10px}
.ticket-service .panel-heading{padding:17px 16px}
.ticket-service .panel-heading h2{font-size:21px}
.ticket-service .panel-heading>span{font-size:10px}
.ticket-service .position-center{gap:14px}
.ticket-service .position-control input{width:58px}
.ticket-service .site-footer{margin-top:27px;gap:12px}
.ticket-service .site-footer p{margin:0;width:100%;font-size:9px}
.ticket-service .site-footer>small{text-align:left}
}
@media(prefers-reduced-motion:reduce){.ticket-service *{transition:none!important;animation:none!important}}
/* Printed canvas dimensions and millimetre coordinates remain owned by print.js. */
@media print{
@page{size:A4;margin:0}
body.ticket-service{margin:0;background:white}
.ticket-service .service-shell,.ticket-service .skip-link{display:none!important}
.ticket-service #lottoCanvas{display:block!important;border:0!important;position:absolute;top:0;left:0;margin:0;padding:0;max-width:none;page-break-after:avoid}
}
