:root{--sea-deep: #0a1628;--sea-mid: #0f2040;--sea-light: #1a3a5c;--lava-dark: #141414;--lava-mid: #1e1e1e;--sun-orange: #e86a2b;--sun-warm: #f09040;--foam: #c8dff0;--white: #f5f5f5;--muted: #7a9bb5;--user-bubble: #c4520a;--user-dark: #a04008;--success: #3bbf7a;--error: #e85555;--font-main: system-ui, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "Courier New", Courier, monospace;--radius: 14px;--radius-sm: 8px;--trans: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-main);background:var(--sea-deep);color:var(--foam);line-height:1.5;-webkit-font-smoothing:antialiased}#root{height:100%}.app-root{display:flex;flex-direction:column;height:100vh;height:100dvh;width:100%;margin:0 auto;padding:0;background:var(--sea-deep)}.header-inner,.footer-inner,.messages-list{width:100%;max-width:820px;margin:0 auto}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.footer-inner{display:flex;flex-direction:column;gap:8px}.nicu-face{flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}.header-mark{filter:drop-shadow(0 2px 8px rgba(232,106,43,.25))}.avatar-mark{margin-bottom:2px}.app-header{position:relative;padding:16px 20px 12px;background:linear-gradient(135deg,var(--sea-deep) 0%,#0d1f3a 100%);border-bottom:1px solid var(--sea-light);box-shadow:0 2px 12px #0006;flex-shrink:0}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex-shrink:0;border-radius:50%;background:var(--sea-light);color:var(--foam);border:1px solid rgba(200,223,240,.2);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.icon-btn svg{width:18px;height:18px}.icon-btn:hover{background:var(--sun-orange);color:#fff;border-color:var(--sun-orange)}.header-brand{display:flex;align-items:center;gap:12px}.header-title{font-size:1.8rem;font-weight:800;color:var(--white);letter-spacing:-.5px}.header-tagline{font-size:.82rem;color:var(--muted);font-style:italic}.chat-area{flex:1;overflow-y:auto;padding:16px 12px;display:flex;flex-direction:column;scroll-behavior:smooth}.chat-area::-webkit-scrollbar{width:6px}.chat-area::-webkit-scrollbar-track{background:transparent}.chat-area::-webkit-scrollbar-thumb{background:var(--sea-light);border-radius:3px}.messages-list{display:flex;flex-direction:column;gap:10px}.bubble-row{display:flex;align-items:flex-end;gap:8px;max-width:85%;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.nicu-row{align-self:flex-start}.user-row{align-self:flex-end;flex-direction:row-reverse}.bubble-col{display:flex;flex-direction:column;min-width:0}.user-row .bubble-col{align-items:flex-end}.bubble{padding:10px 14px;border-radius:var(--radius);font-size:.95rem;line-height:1.55;word-break:break-word;position:relative}.bubble-nicu{background:var(--sea-mid);color:var(--foam);border:1px solid var(--sea-light);border-bottom-left-radius:4px}.bubble-user{background:linear-gradient(135deg,var(--user-bubble),var(--user-dark));color:#fff;border-bottom-right-radius:4px;box-shadow:0 2px 8px #c4520a4d}.share-btn{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin:3px 0 2px 2px;font-size:.72rem;font-weight:500;padding:3px 8px;border-radius:12px;background:transparent;color:var(--muted);border:1px solid transparent;cursor:pointer;opacity:.5;font-family:var(--font-main);transition:opacity var(--trans),color var(--trans),background var(--trans)}.share-btn:hover:not(:disabled){opacity:1;color:var(--sun-warm);background:#e86a2b1a}.share-btn:disabled{opacity:.6;cursor:default}.cursor-blink{display:inline-block;width:2px;height:1em;background:var(--sun-orange);margin-left:3px;vertical-align:text-bottom;animation:blink .8s step-end infinite}@keyframes blink{50%{opacity:0}}.typing-indicator{display:flex;align-items:center;gap:4px;padding:12px 16px}.typing-indicator span{display:block;width:7px;height:7px;border-radius:50%;background:var(--muted);animation:bounce 1.2s ease infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.empty-state{justify-content:center;align-items:center}.welcome-stack{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;width:100%;max-width:640px;margin:auto;padding:24px 16px;animation:fadeIn .25s ease}.hero-mark{filter:drop-shadow(0 6px 20px rgba(232,106,43,.3))}.hero-title{font-size:1.9rem;font-weight:800;color:var(--white);line-height:1.2;letter-spacing:-.5px;max-width:16ch}.hero-accent{background:linear-gradient(135deg,var(--sun-orange),var(--sun-warm));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-sub{font-size:.92rem;color:var(--muted);max-width:42ch;line-height:1.55}.hero-prompts{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;max-width:560px}.suggested-btn{font-size:.85rem;padding:9px 14px;min-height:40px;border-radius:20px;background:#1a3a5c99;color:var(--foam);border:1px solid var(--sea-light);cursor:pointer;transition:background var(--trans),border-color var(--trans),transform var(--trans);font-family:var(--font-main)}.suggested-btn:hover{background:var(--sea-light);border-color:var(--sun-orange);transform:translateY(-1px)}.suggested-btn:active{transform:translateY(0)}.hero-privacy-note{font-size:.72rem;color:var(--muted);margin-top:2px}.hero-privacy-note a,.modal-footer-link a{color:var(--sun-warm);text-decoration:underline;text-decoration-color:#f0904066}.hero-privacy-note a:hover,.modal-footer-link a:hover{color:var(--sun-orange)}.footer-privacy-note{text-align:center;margin:6px 0 0}.hero-lang-note{font-size:.82rem;color:var(--sun-warm);margin-top:-4px}.modal-footer-link{font-size:.75rem;text-align:center;margin-top:4px}.chat-footer{padding:8px 12px 14px;background:var(--sea-deep);flex-shrink:0}.input-form{display:flex;gap:8px;align-items:flex-end;width:100%;background:var(--sea-mid);border:1px solid var(--sea-light);border-radius:24px;padding:6px 6px 6px 18px;transition:border-color var(--trans),box-shadow var(--trans)}.input-form:focus-within{border-color:var(--sun-orange);box-shadow:0 0 0 3px #e86a2b1f}.chat-input{flex:1;background:transparent;color:var(--foam);border:none;padding:9px 0;font-size:16px;font-family:var(--font-main);resize:none;line-height:1.5;max-height:160px;overflow-y:auto}.chat-input:focus{outline:none}.chat-input::placeholder{color:var(--muted)}.chat-input:disabled{opacity:.6}.send-btn{width:40px;height:40px;border-radius:50%;background:var(--sun-orange);color:#fff;border:none;font-size:1.1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--trans),transform var(--trans),box-shadow var(--trans);box-shadow:0 2px 8px #e86a2b59}.send-btn:hover:not(:disabled){background:var(--sun-warm);transform:scale(1.05)}.send-btn:active:not(:disabled){transform:scale(.97)}.send-btn:disabled{background:var(--sea-light);opacity:.5;cursor:not-allowed;box-shadow:none}.controls-panel{background:var(--sea-mid);border:1px solid var(--sea-light);border-radius:var(--radius-sm);padding:10px 12px;margin-top:4px;display:flex;flex-direction:column;gap:8px}.control-row{display:flex;align-items:center;gap:10px}.control-row label{font-size:.78rem;color:var(--muted);min-width:170px;flex-shrink:0}.control-row .val{color:var(--sun-orange);font-weight:700;font-variant-numeric:tabular-nums}.control-row input[type=range]{flex:1;accent-color:var(--sun-orange);cursor:pointer}.controls-backend{font-size:.75rem;color:var(--muted);margin-top:2px}.controls-backend strong{color:var(--foam)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#050a14a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:100;animation:fadeIn .15s ease}.modal-sheet{position:relative;background:var(--sea-mid);border:1px solid var(--sea-light);border-radius:20px;max-width:460px;width:100%;max-height:min(88vh,88dvh);overflow-y:auto;box-shadow:0 12px 48px #00000080;animation:modalPop .18s ease}@keyframes modalPop{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-close{position:absolute;top:14px;right:14px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#1a3a5c99;color:var(--foam);border:1px solid var(--sea-light);cursor:pointer;z-index:1;transition:background var(--trans),color var(--trans)}.modal-close:hover{background:var(--sun-orange);color:#fff;border-color:var(--sun-orange)}.modal-content{display:flex;flex-direction:column;align-items:stretch;text-align:left;gap:12px;padding:22px 24px 20px}.modal-head{display:flex;align-items:center;gap:12px;padding-bottom:2px;padding-right:36px}.modal-mark{filter:drop-shadow(0 4px 12px rgba(232,106,43,.3))}.modal-title{font-size:1.25rem;font-weight:800;color:var(--white);letter-spacing:-.3px}.modal-copy{display:flex;flex-direction:column;gap:10px}.modal-copy p{font-size:.9rem;color:var(--foam);line-height:1.55}.modal-copy strong{color:var(--white)}.modal-curious{width:100%;border-top:1px solid var(--sea-light);padding-top:12px;display:flex;flex-direction:column;gap:6px}.modal-curious p{font-size:.78rem;color:var(--muted);line-height:1.55}.modal-curious strong{color:var(--foam)}.modal-curious-links a{color:var(--sun-warm);text-decoration:underline;text-decoration-color:#f0904066}.modal-curious-links a:hover{color:var(--sun-orange)}.modal-advanced{width:100%;border-top:1px solid var(--sea-light);padding-top:12px}.modal-advanced-toggle{display:flex;align-items:center;justify-content:flex-start;gap:6px;width:100%;font-size:.82rem;font-weight:600;color:var(--muted);background:transparent;border:none;outline:none;cursor:pointer;padding:4px;font-family:var(--font-main);transition:color var(--trans)}.modal-advanced-toggle:hover{color:var(--foam)}.modal-advanced-toggle svg{transition:transform .15s ease}.modal-advanced-toggle svg.chevron-open{transform:rotate(180deg)}.modal-advanced .controls-panel{text-align:left;margin-top:10px}@media(max-width:600px){.modal-backdrop{align-items:flex-end;padding:0}.modal-sheet{max-width:100%;max-height:85dvh;border-radius:20px 20px 0 0;border-bottom:none;animation:sheetUp .2s ease}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.loading-screen{height:100vh;height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#0d1f3a 0%,var(--sea-deep) 70%);padding:16px}.loading-card{background:var(--sea-mid);border:1px solid var(--sea-light);border-radius:20px;padding:40px 36px;max-width:440px;width:100%;text-align:center;box-shadow:0 8px 40px #00000080}.loading-mark{margin:0 auto 12px;filter:drop-shadow(0 6px 20px rgba(232,106,43,.3))}.loading-title{font-size:2.4rem;font-weight:800;color:var(--white);line-height:1;letter-spacing:-.5px;margin-bottom:4px}.loading-tagline{font-size:.85rem;color:var(--muted);font-style:italic;margin-bottom:28px}.progress-bar-outer{height:6px;background:var(--sea-light);border-radius:3px;overflow:hidden;margin-bottom:10px}.progress-bar-inner{height:100%;background:linear-gradient(90deg,var(--sun-orange),var(--sun-warm));border-radius:3px;transition:width .3s ease}.loading-status{font-size:.85rem;color:var(--foam);margin-bottom:12px;min-height:1.3em}.loading-quip{font-size:.98rem;font-weight:600;color:var(--foam);margin-bottom:12px;min-height:1.4em;animation:fadeIn .4s ease}.loading-note{font-size:.73rem;color:var(--muted);font-style:italic}.error-card h2{color:var(--error);margin-bottom:12px}.error-msg{font-size:.82rem;color:var(--muted);margin-bottom:20px;font-family:var(--font-mono);word-break:break-all}.error-card button{background:var(--sun-orange);color:#fff;border:none;padding:10px 24px;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;font-family:var(--font-main);transition:background var(--trans)}.error-card button:hover{background:var(--sun-warm)}@media(max-width:600px){.app-header{padding:12px 12px 10px}.header-brand{gap:10px}.header-title{font-size:1.4rem}.bubble-row{max-width:95%}.hero-title{font-size:1.55rem}.hero-sub{font-size:.86rem}.loading-card{padding:28px 20px}.control-row label{min-width:140px}}@media(max-width:380px){.control-row{flex-direction:column;align-items:flex-start;gap:4px}.control-row input[type=range]{width:100%}}
