@font-face{font-family:Galmuri14;font-style:normal;font-stretch:normal;font-weight:400;font-display:swap;src:local("Galmuri14 Regular"),url(/assets/Galmuri14-BIHuh8Vm.woff2) format("woff2"),url(/assets/Galmuri14-D4Pmir6R.ttf) format("truetype")}@font-face{font-family:Galmuri11;font-style:normal;font-stretch:normal;font-weight:400;font-display:swap;src:local("Galmuri11 Regular"),url(/assets/Galmuri11-DfQIlyDK.woff2) format("woff2"),url(/assets/Galmuri11-vgeXnu_q.ttf) format("truetype")}@font-face{font-family:Galmuri11;font-style:normal;font-stretch:normal;font-weight:700;font-display:swap;src:local("Galmuri11 Bold"),url(/assets/Galmuri11-Bold-QdFGsJ3v.woff2) format("woff2"),url(/assets/Galmuri11-Bold-CgKcsNKD.ttf) format("truetype")}@font-face{font-family:Galmuri11;font-style:normal;font-stretch:condensed;font-weight:400;font-display:swap;src:local("Galmuri11 Condensed"),url(/assets/Galmuri11-Condensed-WKbBpJxC.woff2) format("woff2"),url(/assets/Galmuri11-Condensed-CaNimRey.ttf) format("truetype")}@font-face{font-family:Galmuri9;font-style:normal;font-stretch:normal;font-weight:400;font-display:swap;src:local("Galmuri9 Regular"),url(/assets/Galmuri9-B9HMP827.woff2) format("woff2"),url(/assets/Galmuri9-CGMT27DB.ttf) format("truetype")}@font-face{font-family:Galmuri7;font-style:normal;font-stretch:normal;font-weight:400;font-display:swap;src:local("Galmuri7 Regular"),url(/assets/Galmuri7-DZrunm1m.woff2) format("woff2"),url(/assets/Galmuri7-BwA8cdXI.ttf) format("truetype")}@font-face{font-family:GalmuriMono11;font-style:normal;font-stretch:normal;font-weight:400;font-display:swap;src:local("GalmuriMono11 Regular"),url(/assets/GalmuriMono11-gm2AMfCH.woff2) format("woff2"),url(/assets/GalmuriMono11-CvSoCsUl.ttf) format("truetype")}@font-face{font-family:GalmuriMono9;font-style:normal;font-stretch:normal;font-weight:400;font-display:swap;src:local("GalmuriMono9 Regular"),url(/assets/GalmuriMono9-QBu4wfLg.woff2) format("woff2"),url(/assets/GalmuriMono9-Blpdijm2.ttf) format("truetype")}@font-face{font-family:GalmuriMono7;font-style:normal;font-stretch:normal;font-weight:400;font-display:swap;src:local("GalmuriMono7 Regular"),url(/assets/GalmuriMono7-lv5DbgyP.woff2) format("woff2"),url(/assets/GalmuriMono7-B1SRTL28.ttf) format("truetype")}:root{--color-bg: #0b0f1f;--color-panel: #131933;--color-border: #2c3566;--color-cosmo: #ff6b9d;--color-cosmo-light: #ffb3cc;--color-matt: #aa25ff;--color-matt-light: #d9a3ff;--color-text: #f5f7fa;--color-text-dim: #8a90b8;--color-outline: #05060d;--color-danger: #ff5c5c;--font-pixel: "Galmuri11", ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--border-pixel: 2px solid var(--color-border)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-pixel);color:var(--color-text);background:var(--color-bg);overflow:hidden}#root{display:flex;flex-direction:column}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-frame{width:100%;max-width:480px;margin:0 auto;flex:1;min-height:0;display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--color-border)}.app-footer{flex-shrink:0}.screen{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}.navbar{display:grid;grid-template-columns:32px 1fr 32px;align-items:center;padding:14px 12px;border-bottom:var(--border-pixel);flex-shrink:0}.navbar-back{background:none;border:none;font-size:16px;color:var(--color-text-dim);transition:color .12s ease}.navbar-back:hover:not(:disabled){color:var(--color-text)}.navbar-back:disabled{visibility:hidden}.navbar-title{display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-pixel);font-size:12px;letter-spacing:.06em}.navbar-right{display:flex;justify-content:flex-end}.credit-pill{font-family:var(--font-pixel);font-size:10px;color:var(--color-text);background:var(--color-panel);border:var(--border-pixel);padding:3px 7px;white-space:nowrap}button.credit-pill{transition:border-color .12s ease}button.credit-pill:hover{border-color:var(--color-cosmo)}.pixel-panel{background:var(--color-panel);border:var(--border-pixel);box-shadow:5px 5px 0 var(--color-border);padding:16px}.pixel-button{font-family:var(--font-pixel);font-size:13px;letter-spacing:.08em;text-transform:uppercase;text-align:center;padding:14px;background:var(--color-cosmo);color:var(--color-outline);border:2px solid var(--color-outline);box-shadow:4px 4px 0 var(--color-matt);transition:transform .1s ease,box-shadow .1s ease,background .1s ease}.pixel-button:hover:not(:disabled){background:var(--color-cosmo-light);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--color-matt)}.pixel-button:active:not(:disabled){transform:translate(2px,2px);box-shadow:2px 2px 0 var(--color-matt)}.pixel-button:disabled{background:var(--color-panel);color:var(--color-text-dim);box-shadow:4px 4px 0 var(--color-border);cursor:default}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-family:var(--font-pixel);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-dim)}.field input,.field select{background:var(--color-panel);border:var(--border-pixel);color:var(--color-text);font-size:13px;padding:10px 12px}.segmented{display:flex;border:var(--border-pixel)}.segmented button{flex:1;font-family:var(--font-pixel);font-size:12px;padding:9px;background:transparent;color:var(--color-text-dim);border:none;border-right:var(--border-pixel);transition:background .12s ease}.segmented button:last-child{border-right:none}.segmented button:hover:not([aria-pressed=true]){background:var(--color-panel);color:var(--color-text)}.segmented button[aria-pressed=true]{background:var(--color-bg);color:var(--color-text)}.status-peek{flex-shrink:0;margin:12px 14px 0;display:flex;align-items:center;justify-content:space-between;font-family:var(--font-pixel);font-size:11px;padding:9px 12px;background:var(--color-panel);border:var(--border-pixel);color:var(--color-text-dim);transition:border-color .12s ease}.status-peek:hover{border-color:var(--color-cosmo)}.status-peek .go{color:var(--color-cosmo-light)}.chat-body{flex:1;min-height:0;padding:16px 14px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}.msg-row{display:flex;gap:8px;max-width:88%;align-items:flex-start}.msg-row.user{align-self:flex-end;flex-direction:row-reverse;max-width:78%}.avatar-slot{flex-shrink:0}.bubble-stack{display:flex;flex-direction:column;gap:4px}.speaker-name{font-family:var(--font-pixel);font-size:9.5px}.speaker-name.cosmo{color:var(--color-cosmo-light)}.speaker-name.mat{color:var(--color-matt-light)}.bubble{border:var(--border-pixel);background:var(--color-panel);padding:10px 12px;font-size:13px;line-height:1.55}.msg-row.user .bubble{background:#1c2140;border-color:#3a4380}.bubble-text{white-space:pre-wrap}.example-questions{display:flex;flex-direction:column;gap:8px}.example-chip-row{display:flex;flex-wrap:wrap;gap:8px}.example-chip{font-family:var(--font-pixel);font-size:11px;background:var(--color-panel);color:var(--color-text);border:var(--border-pixel);padding:8px 10px;transition:border-color .12s ease}.example-chip:hover:not(:disabled){border-color:var(--color-cosmo)}.example-chip:disabled{color:var(--color-text-dim);cursor:default}.citation-block{margin-top:2px}.citation-toggle{font-family:var(--font-pixel);font-size:9.5px;color:var(--color-cosmo-light);background:none;border:none;padding:0}.citation-toggle:hover{text-decoration:underline}.citation-list{margin-top:6px;border-left:2px solid var(--color-border);padding-left:8px;display:flex;flex-direction:column;gap:6px}.citation-item{font-size:11.5px;color:var(--color-text-dim);line-height:1.5;margin:0;padding-left:4px;border-left:2px solid transparent}.citation-item.highlighted{border-left-color:var(--color-cosmo);background:#ff6b9d1f}.citation-mark{display:inline;font:inherit;font-weight:700;color:var(--color-cosmo-light);background:none;border:none;padding:0;cursor:pointer}.typing-dots{display:inline-flex;gap:4px}.typing-dots span{width:6px;height:6px;background:var(--color-text-dim);display:inline-block;animation:typing-bounce 1.2s infinite ease-in-out}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}.pixel-button .typing-dots{margin-left:6px;vertical-align:middle}.pixel-button .typing-dots span{background:currentcolor}@keyframes typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.composer{flex-shrink:0;border-top:var(--border-pixel);padding:10px 12px;display:flex;flex-direction:column;gap:8px}.composer-row{display:flex;gap:8px}.composer-counter{text-align:right}.composer input{flex:1;background:var(--color-panel);border:var(--border-pixel);color:var(--color-text);font-size:13px;padding:10px 12px}.send-btn{font-family:var(--font-pixel);font-size:11px;letter-spacing:.06em;text-transform:uppercase;padding:0 16px;background:var(--color-cosmo);color:var(--color-outline);border:2px solid var(--color-outline);display:flex;align-items:center;justify-content:center;transition:background .12s ease}.send-btn:hover:not(:disabled){background:var(--color-cosmo-light)}.send-btn:disabled{background:var(--color-panel);color:var(--color-text-dim);border-color:var(--color-border)}.pillars{display:flex;gap:8px;justify-content:center}.pillar-col{display:flex;flex-direction:column;gap:6px;align-items:center;width:62px}.pillar-col .p-label{font-family:var(--font-pixel);font-size:9.5px;color:var(--color-text-dim);text-align:center}.char-tile{width:56px;height:56px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px solid var(--color-outline);box-shadow:3px 3px 0 var(--color-border)}.char-tile .hanja{font-size:22px;line-height:1}.char-tile .eum{font-family:var(--font-pixel);font-size:9px;margin-top:3px;opacity:.85}.char-tile.day{box-shadow:3px 3px 0 var(--color-cosmo)}.stat-lines{display:flex;flex-direction:column;gap:10px}.stat-line{display:flex;justify-content:space-between;align-items:baseline;border-bottom:2px dotted var(--color-border);padding-bottom:8px}.stat-line .k{font-family:var(--font-pixel);font-size:11px;color:var(--color-text-dim)}.helper-note{font-family:var(--font-pixel);font-size:9.5px;color:var(--color-text-dim);line-height:1.5}.app-footer{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px;font-size:11px;color:var(--color-text-dim)}.app-footer-links{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}.app-footer a{color:var(--color-text-dim);transition:color .12s ease}.app-footer a:hover{color:var(--color-text)}.login-screen{background:radial-gradient(1px 1px at 10% 20%,#fff,transparent),radial-gradient(1px 1px at 30% 70%,#fff,transparent),radial-gradient(1px 1px at 55% 15%,#fff,transparent),radial-gradient(1px 1px at 70% 45%,#fff,transparent),radial-gradient(1px 1px at 85% 80%,#fff,transparent),radial-gradient(1px 1px at 20% 90%,#fff,transparent),radial-gradient(1px 1px at 92% 25%,#fff,transparent),var(--color-bg);background-repeat:no-repeat}.login-hero{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px}.login-hero-img{width:100%;max-width:260px;aspect-ratio:1 / 1;object-fit:cover;border:var(--border-pixel);box-shadow:6px 6px 0 var(--color-border)}.login-body{flex-shrink:0;display:flex;flex-direction:column;gap:14px;padding:0 14px 20px}.login-dialogue{position:relative;background:var(--color-panel);border:3px solid var(--color-text);box-shadow:5px 5px 0 var(--color-border);padding:16px 18px;font-size:13px;line-height:1.6}.login-dialogue p{margin:0}.login-dialogue p+p{margin-top:8px}.login-dialogue-arrow{position:absolute;right:14px;bottom:10px;color:var(--color-text);font-size:11px;animation:login-dialogue-blink 1s steps(1) infinite}@keyframes login-dialogue-blink{0%,49%{opacity:1}50%,to{opacity:0}}
