:root{color:#17231d;font-synthesis:none;text-rendering:optimizelegibility;--cream:#fffdf7;--chat:#f2f7ec;--white:#fff;--green:#075c3d;--green-dark:#064a33;--green-soft:#dfeeda;--line:#c8d0c6;--muted:#58665e;--danger:#9a332b;--radius-app:1.45rem;--radius-card:1rem;--radius-pill:999px;background:#fffdf7;font-family:Pretendard,Noto Sans KR,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%}body{background:var(--cream);min-height:100dvh;margin:0}button,input,textarea,select{font:inherit}button{touch-action:manipulation}a{color:var(--green);text-underline-offset:.18em}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.page{width:min(100% - 2rem,68rem);margin:0 auto;padding:4rem 0}.page--participant{max-width:42rem}.page--admin{max-width:68rem}.welcome-page{place-items:center;min-height:100dvh;padding:1.25rem;display:grid}.welcome-card{border:1px solid var(--line);border-radius:var(--radius-app);background:var(--chat);text-align:center;width:min(100%,34rem);padding:clamp(1.5rem,5vw,2.75rem)}.welcome-card__avatar{aspect-ratio:1;border:1px solid var(--line);background:var(--white);border-radius:50%;place-items:center;width:clamp(5rem,18vw,7rem);display:inline-grid;overflow:hidden}.welcome-card__avatar-image{object-fit:contain;width:80%;height:80%;display:block}.welcome-card h1{overflow-wrap:anywhere;max-width:24rem;margin:1.25rem auto .65rem;font-size:clamp(1.5rem,5vw,1.8rem);line-height:1.35}.welcome-card p{color:var(--muted);margin:0;font-size:clamp(1rem,3vw,1.1rem);line-height:1.65}.welcome-card__button{width:auto;min-width:min(100%,15rem);margin-top:1.6rem}.chat-page{place-items:center;min-height:100dvh;padding:clamp(1rem,4vh,3rem) 1rem;display:grid}.chat-app{border-radius:var(--radius-app);background:var(--chat);border:1px solid #aeb9af;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,58rem);height:min(88dvh,54rem);min-height:34rem;display:grid;overflow:hidden}.chat-header{z-index:2;border-bottom:1px solid var(--line);background:#fffdf7f5;justify-content:space-between;align-items:center;gap:1rem;min-height:6rem;padding:.9rem 1.5rem;display:flex;position:relative}.chat-header__leading{align-items:center;gap:.65rem;min-width:0;display:flex}.chat-brand{align-items:center;gap:.85rem;min-width:0;display:flex}.chat-brand__avatar{aspect-ratio:1;object-fit:cover;border:1px solid var(--line);background:var(--white);border-radius:1rem;width:4rem;height:4rem;display:block}.chat-brand__title{color:#17231d;text-align:left;flex-direction:column;align-items:flex-start;gap:.15rem;min-width:0;display:flex;overflow:hidden}.chat-brand__name{flex:none;font-size:1.35rem;font-weight:700;line-height:1.15}.chat-brand__challenge{width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;font-weight:500;line-height:1.2;display:block;overflow:hidden}.icon-button{border:1px solid var(--line);background:var(--white);width:3rem;height:3rem;color:var(--green);letter-spacing:.08em;cursor:pointer;border-radius:1rem;font-size:1.35rem}.header-back-button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:1rem;flex:none;place-items:center;width:3rem;height:3rem;display:grid}.header-back-button span{border-bottom:2px solid var(--green);border-left:2px solid var(--green);width:.72rem;height:.72rem;transform:rotate(45deg)}.chat-menu{position:relative}.chat-menu__panel{border:1px solid var(--line);background:var(--white);border-radius:.8rem;width:14rem;padding:.35rem;position:absolute;top:calc(100% + .45rem);right:0}.chat-menu__panel button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.55rem;width:100%;min-height:44px;padding:.7rem .8rem;display:block}.chat-menu__panel button:hover{background:var(--chat)}.chat-transcript{scroll-behavior:smooth;overscroll-behavior:contain;min-height:0;padding:1.5rem clamp(1rem,4vw,2rem) 2rem;position:relative;overflow:hidden auto}.message{align-items:flex-start;gap:.65rem;margin:0 0 1rem;display:flex}.message--user{justify-content:flex-end}.message__avatar-frame{aspect-ratio:1;border:1px solid var(--line);background:var(--white);border-radius:.8rem;flex:0 0 2.75rem;width:2.75rem;height:2.75rem;display:block;overflow:hidden}.message__avatar{object-fit:cover;width:100%;height:100%;display:block}.message__bubble{border:1px solid var(--line);background:var(--white);overflow-wrap:anywhere;border-radius:.35rem 1rem 1rem;max-width:min(78%,38rem);padding:.78rem 1rem;line-height:1.65}.message__bubble p{margin:0}.message__bubble p+p{margin-top:.35rem}.message__bubble--wide{width:min(88%,42rem);max-width:none}.message--user .message__bubble{border-color:var(--green);background:var(--green);color:var(--white);border-radius:1rem .35rem 1rem 1rem}.message__bubble--status{color:var(--muted)}.conversation-turn{margin-bottom:1.35rem;scroll-margin-top:.75rem}.conversation-turn>.message:last-of-type{margin-bottom:.55rem}.conversation-turn>.faq-options,.conversation-turn>.primary-button,.conversation-turn>.quick-replies{width:min(100% - 3.4rem,42rem);margin-left:3.4rem}.conversation-turn>.faq-options+.primary-button{margin-top:.65rem}.typing-indicator{place-items:center;width:4.2rem;min-height:2.75rem;padding:.65rem .8rem;display:grid}.typing-indicator__dots{justify-content:center;align-items:center;gap:.32rem;height:1rem;display:flex}.typing-indicator__dots i{background:var(--green);border-radius:50%;width:.42rem;height:.42rem;animation:.9s ease-in-out infinite typing-wave}.typing-indicator__dots i:nth-child(2){animation-delay:.14s}.typing-indicator__dots i:nth-child(3){animation-delay:.28s}@keyframes typing-wave{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-.28rem)}}.confirm-dialog__backdrop{z-index:20;background:#17231d7a;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.confirm-dialog{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--white);width:min(100%,30rem);padding:1.25rem;box-shadow:0 1rem 3rem #17231d38}.confirm-dialog h2{margin:0;font-size:1.25rem}.confirm-dialog p{color:var(--muted);margin:.8rem 0 1.2rem;line-height:1.65}.confirm-dialog__actions{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.chat-controls{padding:.9rem clamp(1rem, 3vw, 1.5rem) max(.9rem, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#fffdf7fa}.faq-options,.quick-replies{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.faq-options--questions{grid-template-columns:1fr}.faq-option,.secondary-button,.primary-button,.text-button,.faq-button{border-radius:var(--radius-pill);cursor:pointer;min-height:46px}.faq-option,.secondary-button,.faq-button{border:1px solid var(--green);background:var(--white);color:#17231d;overflow-wrap:anywhere;width:100%;padding:.72rem 1rem;font-weight:650}.faq-option{text-align:center}.primary-button{border:1px solid var(--green);background:var(--green);width:100%;color:var(--white);padding:.72rem 1rem;font-weight:700}.text-button{color:var(--green);background:0 0;border:0;padding:.6rem 1rem}.faq-option:hover:not(:disabled),.secondary-button:hover:not(:disabled){background:var(--green-soft)}.primary-button:hover:not(:disabled){background:var(--green-dark)}button:disabled{cursor:wait;opacity:.58}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex="-1"]:focus-visible{outline-offset:3px;outline:3px solid #efb640}.faq-status p{margin-top:0}.faq-status .secondary-button{margin-top:.5rem}.faq-answer{background:0 0}.faq-answer h2{margin:0 0 .8rem;font-size:clamp(1.12rem,4vw,1.4rem)}.faq-answer__body{line-height:1.75}.faq-answer__body p{white-space:pre-wrap;margin:0 0 .85rem}.faq-answer .faq-button+.faq-button{margin-top:.6rem}.auth-form label{margin-bottom:.4rem;font-weight:700;display:block}.auth-form__row{grid-template-columns:minmax(0,1fr) auto;gap:.6rem;display:grid}.auth-form input{background:var(--white);width:100%;min-height:46px;color:inherit;border:1px solid #758179;border-radius:.75rem;padding:.72rem .8rem}.auth-form .primary-button{width:auto;min-width:6rem}.field-error{color:var(--danger);margin:.45rem 0 0}.challenge-picker{gap:.45rem;padding:0;display:grid}.challenge-picker--conversation{grid-template-columns:1fr;max-width:30rem;margin:.9rem 0 1rem 3.4rem}.choice-group{animation:.16s ease-out both choice-group-enter}@keyframes choice-group-enter{0%{opacity:0;transform:translateY(.25rem)}to{opacity:1;transform:translateY(0)}}.inquiry-card{width:100%}.inquiry-card h1{margin:0;font-size:1.4rem}.inquiry-card p{white-space:pre-line;margin-top:.8rem;line-height:1.75}.conversation-turn>.message+.quick-replies{margin-top:-.65rem}@media (width<=42rem){.chat-page{padding:0;display:block}.chat-app{border-width:0;border-radius:0;width:100%;height:100dvh;min-height:30rem}.chat-header{min-height:5rem;padding:.65rem 1rem}.chat-brand__avatar{border-radius:.8rem;width:3.25rem;height:3.25rem}.chat-brand__name{font-size:1.25rem}.chat-transcript{padding:1rem .85rem 1.5rem}.message__bubble{max-width:calc(100% - 3.5rem)}.message__bubble--wide{width:calc(100% - 3.5rem)}.conversation-turn>.faq-options,.conversation-turn>.primary-button,.conversation-turn>.quick-replies{width:calc(100% - 3.4rem)}.faq-options{grid-template-columns:1fr}}@media (width<=23rem){.chat-header{padding-inline:.75rem}.auth-form__row{grid-template-columns:1fr}.auth-form .primary-button{width:100%}}@media (prefers-reduced-motion:reduce){.chat-transcript{scroll-behavior:auto}.typing-indicator__dots i{opacity:.7;animation:none}.choice-group{animation:none}}
