:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:#f3f4f6;color:#1f2937}*{box-sizing:border-box}body{margin:0;padding:0;background:#f4f5f7}body,main.page{min-height:100vh}main.page{display:flex;align-items:center;justify-content:center;padding:2rem}.card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 15px 35px rgba(15,23,42,.15);width:min(500px,100%)}.chat-screen{height:100vh;display:flex;flex-direction:column;background:#f2f3f5;overflow:hidden}h1{margin:0 0 .5rem}.form{gap:1rem}.form,label{display:flex;flex-direction:column}label{gap:.5rem;font-weight:600}input{padding:.75rem 1rem;border-radius:8px;border:1px solid #d1d5db}button,input{font-size:1rem}button{border:none;border-radius:999px;background:#2563eb;color:#fff;padding:.75rem 1.5rem;cursor:pointer;transition:background .2s ease,opacity .2s ease}button:disabled{opacity:.4;cursor:not-allowed;background:#9ca3af!important}button.secondary{background:transparent;color:#374151;border:1px solid #d1d5db}.error{color:#dc2626;margin:0}.muted{color:#6b7280;margin:0}.notice{margin:0;padding:.75rem 1rem;background:#eef2ff;border-radius:12px;color:#312e81}.chat-notice{box-shadow:inset 0 0 0 1px rgba(99,102,241,.15)}.chat-error{margin:0}.chat-topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.chat-topbar__user{font-size:1rem;font-weight:600;color:#111827}.secondary.compact{border-radius:999px;padding:.25rem .85rem;border-color:#d1d5db;font-size:.85rem}.chat__messages{flex:1 1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat__messages::-webkit-scrollbar{width:8px}.chat__messages::-webkit-scrollbar-track{background:transparent}.chat__messages::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.chat__messages::-webkit-scrollbar-thumb:hover{background:#9ca3af}.chat-segment{display:flex;flex-direction:column;gap:.35rem}.chat-timestamp{align-self:center;font-size:.7rem;color:#9ca3af;font-weight:400;margin:.25rem 0}.chat-row{display:flex;align-items:flex-end}.chat-row--me{justify-content:flex-end}.chat__form{display:flex;align-items:center;padding:.75rem 1rem;background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0}.chat__input-wrapper{flex:1 1;display:flex;align-items:center;gap:.5rem;position:relative;min-width:200px;background:#f7f8fa;border-radius:8px;padding:.5rem .75rem;border:1px solid #e5e7eb}.chat__input-wrapper input{flex:1 1;border:none;background:transparent;padding:.35rem .15rem;font-size:.95rem}.chat__input-wrapper input:focus{outline:none}.chat__input-actions{display:flex;align-items:center;gap:.25rem}.submit-button.inline{padding:.5rem 1rem;font-size:.9rem;line-height:1;background:#10b981;color:#fff;font-weight:500}.emoji-button,.submit-button.inline{border-radius:6px;display:flex;align-items:center;justify-content:center;box-shadow:none}.emoji-button{width:32px;height:32px;border:none;background:transparent;color:#6b7280;font-size:1.2rem;cursor:pointer}.emoji-button:hover{background:#f3f4f6}.emoji-button:active{background:#e5e7eb}.emoji-picker{position:absolute;bottom:calc(100% + 8px);right:0;background:#fff;border-radius:16px;padding:.75rem;box-shadow:0 15px 35px rgba(15,23,42,.2);display:grid;grid-template-columns:repeat(6,48px);grid-gap:.5rem;gap:.5rem;z-index:5;max-height:260px;overflow-y:auto}.emoji-picker button{border:none;background:transparent;font-size:1.5rem;cursor:pointer;padding:.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.emoji-picker__image{width:44px;height:44px;-o-object-fit:contain;object-fit:contain}.bubble{background:#fff;border-radius:12px;padding:.75rem 1rem;align-self:flex-start;max-width:min(75%,450px);box-shadow:0 1px 2px rgba(0,0,0,.05);border:1px solid #e5e7eb;word-wrap:break-word;word-break:break-word;overflow-wrap:break-word;-ms-hyphens:auto;hyphens:auto}.bubble p{margin:0;white-space:pre-wrap;line-height:1.5;font-size:.95rem}.bubble--me{background:#3b82f6;color:#fff;align-self:flex-end;border-color:#3b82f6}.bubble--unread{border:1px dashed #6366f1;background:#eef2ff}.bubble__meta{display:flex;justify-content:space-between;margin-top:.35rem;font-size:.75rem;opacity:.7}.bubble__status{display:block;margin-top:.25rem;font-size:.7rem;opacity:.8;font-weight:400}.bubble--me .bubble__status{color:hsla(0,0%,100%,.85);opacity:1}.bubble__sticker{max-width:100px;border-radius:8px;margin-top:.25rem;display:block;box-shadow:0 4px 12px rgba(15,23,42,.1)}.news-page{min-height:100vh;padding:2rem clamp(1rem,4vw,4rem);background:linear-gradient(180deg,#eef2ff,#fff 35%);display:flex;flex-direction:column;gap:2rem}.news-hero{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:1rem}.tag{display:inline-block;padding:.25rem .75rem;background:#e0e7ff;color:#312e81;border-radius:999px;font-weight:600;margin-bottom:.5rem}.news-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1.5rem;gap:1.5rem}.news-card{background:#fff;border-radius:16px;box-shadow:0 20px 45px rgba(15,23,42,.12);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.news-card a{text-decoration:none;color:inherit;display:block;height:100%}.news-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px rgba(15,23,42,.18)}.news-card__image{height:180px;overflow:hidden;background:#e5e7eb}.news-card__image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.news-card__body{padding:1rem 1.25rem 1.5rem;display:flex;flex-direction:column;gap:.5rem}.news-card__body h3{margin:0;font-size:1.1rem;line-height:1.4}.news-card__meta{font-size:.85rem;color:#6b7280}.news-card__meta,.news-footer{display:flex;justify-content:space-between}.news-footer{align-items:center;padding-top:1rem;border-top:1px solid #e5e7eb}.maintain-link{border-radius:999px;background:#2563eb;color:#fff;padding:.75rem 1.5rem;text-decoration:none;box-shadow:0 10px 25px rgba(37,99,235,.35)}@media (max-width:640px){.card{padding:1.5rem}.chat__messages{padding:.75rem .75rem 0}.chat__form{flex-wrap:wrap}.chat__input-wrapper{width:100%}.emoji-picker{right:auto;left:0}.news-card__meta{flex-direction:column;gap:.25rem}.news-footer{flex-direction:column;gap:.75rem;align-items:flex-start}}