@import"https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&display=swap";:root{--page:#F4F4EF;--card:#FFFFFF;--ink:#1B1D1F;--body:#3F413C;--muted:#5F615B;--line:#E1E1DB;--line-strong:#8C8E87;--navy:#122B40;--navy-ink:#B9C7D3;--blue:#1D5C8A;--accent:#C8690D;--accent-strong:#A8570A;--accent-light:#F0B070;--accent-weak:#FBEEDD;--error:#B3261E;--error-weak:#FBE9E7;--green:#2E8B57;--reply:#DCEBF5;--safe-top:env(safe-area-inset-top, 0px);--safe-bottom:env(safe-area-inset-bottom, 0px);--safe-left:env(safe-area-inset-left, 0px);--safe-right:env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;height:100%}body{margin:0;min-height:100%;font-family:Instrument Sans,system-ui,sans-serif;font-size:16px;line-height:1.4;background:var(--page);color:var(--ink);overflow-x:hidden}h1,h2,h3{font-weight:600;letter-spacing:-.01em;margin:0}p{margin:0}input,select,button,textarea{font-family:inherit;font-size:inherit}button{cursor:pointer}.mono{font-family:IBM Plex Mono,ui-monospace,monospace}.muted{color:var(--muted)}.stack{display:flex;flex-direction:column;gap:12px}.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}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:2px}.card{background:var(--card);border:1px solid var(--line);border-radius:0;padding:16px;min-width:0}.narrow{max-width:460px;margin:0 auto;padding:20px}.screen-msg{text-align:center;padding:60px 16px}.screen-error{margin:60px 16px;max-width:460px;color:var(--error);border-color:var(--error)}@media (min-width: 492px){.screen-error{margin:60px auto}}.entry{margin-top:48px;padding-top:20px}.entry-title{font-size:22px;line-height:1.25}.entry-copy{margin:0;font-size:16px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:10px 18px;font-size:17px;font-weight:600;border-radius:0;background:var(--blue);color:#fff;border:2px solid var(--blue)}.btn-accent{background:var(--accent-strong);border-color:var(--accent-strong)}.btn:disabled{opacity:.55;cursor:default}.input{border:1px solid var(--line-strong);border-radius:0;padding:10px 12px;font-size:16px;min-height:48px;width:100%;background:var(--card);color:var(--ink)}.input:focus{border-color:var(--ink)}.app{display:flex;flex-direction:column;height:100vh;height:100dvh;max-width:560px;margin:0 auto;background:var(--page);border-left:1px solid var(--line);border-right:1px solid var(--line);overflow:hidden}.head{flex:none;height:calc(64px + var(--safe-top));display:flex;align-items:center;gap:12px;background:var(--navy);color:#fff;border-bottom:3px solid var(--accent);padding:var(--safe-top) calc(16px + var(--safe-right)) 0 calc(16px + var(--safe-left))}.head svg{flex:none}.head-text{min-width:0}.head-title{font-size:17px;line-height:21px;font-weight:600;color:#fff;letter-spacing:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.head-sub{margin-top:2px;font-size:13px;line-height:17px;color:var(--navy-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px calc(16px + var(--safe-right)) 16px calc(16px + var(--safe-left))}.chat-list{display:flex;flex-direction:column;gap:12px;min-height:100%;justify-content:flex-end}.chat-list-top{justify-content:flex-start}.chat-list>*{flex:none}.loading{text-align:center}.foot{flex:none;background:var(--card);border-top:1px solid var(--line);text-align:center;font-size:12px;line-height:17px;color:var(--muted);padding:10px calc(16px + var(--safe-right)) calc(10px + var(--safe-bottom)) calc(16px + var(--safe-left))}.foot-link{color:inherit;text-decoration:underline;text-underline-offset:2px}.msg{display:flex;max-width:88%;min-width:0;animation:pop .16s ease-out}.msg-bot{align-self:flex-start}.msg-user{align-self:flex-end}.bubble{padding:10px 14px;font-size:16px;line-height:23px;color:var(--ink);overflow-wrap:anywhere;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:2px 14px 14px}.msg-user .bubble{background:var(--reply);border-color:#c5daea;border-radius:14px 2px 14px 14px}.bubble-time{margin-top:2px;text-align:right;font-size:11px;line-height:14px;color:var(--muted)}.tick{color:var(--blue)}@keyframes pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.choices{display:flex;flex-direction:column;gap:10px;width:88%;align-self:flex-start}.choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;width:100%;min-height:56px;padding:8px 14px;text-align:center;border-radius:0;border:2px solid;font-size:17px;line-height:22px;font-weight:600;overflow-wrap:anywhere}.choice-sub{font-size:13px;line-height:17px;font-weight:500}.choice-primary{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.choice-secondary{background:var(--card);border-color:var(--blue);color:var(--blue)}.choice-danger{background:var(--error);border-color:var(--error);color:#fff}.choice:active:not(:disabled){opacity:.85}.choice:disabled{cursor:default}.choice-primary:disabled,.choice-danger:disabled{opacity:.55}.choice-secondary:disabled{border-style:dashed;border-color:var(--line-strong);color:var(--muted);background:#edede8}.code-form{display:flex;flex-direction:column;gap:10px;width:88%;align-self:flex-start}.code-label{font-size:14px;font-weight:600}.code-form .input{text-transform:uppercase;letter-spacing:.06em}.ticket{align-self:flex-start;width:92%;background:var(--card);border:1px solid var(--line);border-radius:2px 14px 14px;overflow:hidden}.ticket-band{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--navy);padding:12px 16px}.ticket-band-label{min-width:0;font-size:14px;line-height:19px;color:var(--navy-ink);overflow-wrap:anywhere}.ticket-band-num{flex:none;font-size:26px;line-height:30px;font-weight:600;color:var(--accent-light)}.ticket-body{padding:16px;display:flex;flex-direction:column;gap:10px}.ticket-pos{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.pos-num{font-size:52px;line-height:56px;font-weight:600;color:var(--navy)}.pos-label{font-size:18px;line-height:24px;font-weight:600;color:var(--ink)}.ticket-text{font-size:16px;line-height:23px;color:var(--body)}.live-line{display:flex;align-items:center;gap:8px;font-size:13px;line-height:18px;color:var(--muted)}.live-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--green)}.live-line.is-off .live-dot{background:var(--accent)}.ticket-called{border-top:6px solid var(--accent)}.ticket-called .ticket-body{gap:6px}.ticket-sub{font-size:14px;line-height:19px;color:var(--muted)}.ticket-called-num{font-size:30px;line-height:36px;font-weight:600;color:var(--navy)}.called-title{margin-top:6px;font-size:26px;line-height:32px;font-weight:700;color:var(--ink);letter-spacing:-.01em}.called-room{color:var(--accent-strong)}.leave-link{align-self:flex-start;min-height:48px;padding:0 2px;background:none;border:0;color:var(--error);font-size:15px;font-weight:600;text-decoration:underline}.leave-confirm{display:flex;flex-direction:column;gap:10px}.leave-confirm .msg{max-width:88%}.ret-error{color:var(--error);font-size:14px}.ret-switch{display:flex;align-items:center;gap:12px;min-height:56px;background:var(--card);border:1px solid var(--line);padding:4px 14px;font-size:15px}.ret-switch-label{flex:1}.switch{flex:none;position:relative;width:52px;height:44px;padding:0;background:transparent;border:0;border-radius:0}.switch:before{content:"";position:absolute;left:3px;right:3px;top:9px;bottom:9px;background:#6b6d66}.switch.is-on:before{background:var(--blue)}.switch-knob{position:absolute;top:12px;left:6px;width:20px;height:20px;background:#fff;transition:transform .12s}.switch.is-on .switch-knob{transform:translate(20px)}.ret-fine{font-size:13px;line-height:19px;color:var(--muted)}.ret-offline{font-size:14px;line-height:20px;color:#7a4306;background:var(--accent-weak);padding:8px 10px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
