:root{--bg: oklch(.11 .005 75);--text: oklch(.96 .004 75);--text-2: oklch(.74 .006 75);--text-3: oklch(.56 .006 75);--amber: oklch(.8 .135 66);--amber-soft: oklch(.85 .1 70);--glass: oklch(.2 .01 75 / .42);--glass-2: oklch(.26 .012 75 / .45);--line: oklch(1 0 0 / .1);--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, monospace;--sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:#f8ab574d}.app{position:relative;height:100dvh;display:grid;grid-template-columns:260px 1fr;grid-template-rows:minmax(0,1fr)}.shader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}.shader canvas{width:100%!important;height:100%!important;display:block}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(120% 100% at 50% 0%,#0504038c,#020201db)}.sidebar{position:relative;z-index:3;display:flex;flex-direction:column;gap:10px;padding:18px 14px;border-right:1px solid var(--line);background:#0706048c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.newchat{font:600 .85rem var(--sans);color:var(--bg);background:var(--amber-soft);border:0;border-radius:10px;padding:11px;cursor:pointer;transition:filter .15s ease}.newchat:hover{filter:brightness(1.07)}.history{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;margin-top:6px}.hist-empty{color:var(--text-3);font-size:.8rem;padding:8px}.hist-item{text-align:left;font:.84rem var(--sans);color:var(--text-2);background:transparent;border:0;border-radius:8px;padding:9px 10px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:background .15s ease}.hist-item:hover{background:#ffffff0d}.hist-item.active{background:#f8ab5724;color:var(--text)}.back{color:var(--text-3);font-size:.8rem;text-decoration:none;padding:8px}.back:hover{color:var(--amber-soft)}.main{position:relative;z-index:2;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;padding:16px}.top{display:flex;align-items:center;gap:12px;padding:4px 6px 14px}.burger{display:none;background:transparent;border:0;color:var(--text-2);font-size:1.2rem;cursor:pointer}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.01em}.brand .by{font:500 .7rem var(--mono);color:var(--amber-soft);border:1px solid oklch(.8 .135 66 / .3);border-radius:999px;padding:3px 9px;letter-spacing:0}.led{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 10px var(--amber);animation:led 2.6s ease-in-out infinite}@keyframes led{0%,to{opacity:1}50%{opacity:.3}}.glass{flex:1;min-height:0;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--glass);backdrop-filter:blur(22px) saturate(1.3);-webkit-backdrop-filter:blur(22px) saturate(1.3);box-shadow:inset 0 1px #ffffff1f,0 30px 80px -20px #0009}.messages{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:26px clamp(16px,4vw,40px);display:flex;flex-direction:column;gap:22px;scroll-behavior:smooth}.welcome{margin:auto 0;text-align:center;padding:30px 0}.welcome h1{font-size:clamp(1.4rem,3.5vw,2rem);letter-spacing:-.02em}.welcome p{color:var(--text-2);margin-top:12px;max-width:46ch;margin-inline:auto;line-height:1.6}.suggest{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin-top:24px}.suggest button{font:.82rem var(--sans);color:var(--text);background:var(--glass-2);border:1px solid var(--line);border-radius:999px;padding:9px 15px;cursor:pointer;transition:background .15s ease,transform .1s ease}.suggest button:hover{background:#312d2799}.suggest button:active{transform:translateY(1px)}.msg{display:flex;flex-direction:column;gap:12px;max-width:760px;width:100%;margin-inline:auto}.msg.user{align-items:flex-end}.bubble{border-radius:18px;padding:13px 17px;line-height:1.62;font-size:.95rem;max-width:88%}.msg.user .bubble{background:#f8ab5729;border:1px solid oklch(.8 .135 66 / .28);color:var(--text);border-bottom-right-radius:6px}.msg.assistant .bubble{background:var(--glass-2);border:1px solid var(--line);border-bottom-left-radius:6px}.bubble p{margin:0}.bubble p:empty{height:.5em}.bubble.typing{display:inline-flex;gap:5px;align-items:center}.bubble.typing span{width:7px;height:7px;border-radius:50%;background:var(--amber-soft);animation:blink 1.2s infinite both}.bubble.typing span:nth-child(2){animation-delay:.2s}.bubble.typing span:nth-child(3){animation-delay:.4s}@keyframes blink{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:11px;max-width:88%}.pcard{display:flex;flex-direction:column;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#0f0d0a80;transition:transform .15s ease,border-color .15s ease}.pcard:hover{transform:translateY(-2px);border-color:#f8ab5766}.pcard img,.pcard-noimg{width:100%;aspect-ratio:16/10;object-fit:contain;padding:8px;background:radial-gradient(120% 130% at 50% 25%,#1c1a18,#0f0d0b);display:block}.pcard-noimg{display:flex;align-items:center;justify-content:center;font:.8rem var(--mono);color:var(--text-3)}.pcard-info{padding:10px 12px 13px}.pcard-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pcard-name{font-weight:700;font-size:.9rem;letter-spacing:-.01em}.pcard-tag{font:600 .55rem var(--mono);letter-spacing:.1em;color:var(--amber-soft);border:1px solid oklch(.8 .135 66 / .3);border-radius:5px;padding:2px 6px}.pcard-desc{color:var(--text-2);font-size:.78rem;line-height:1.55;margin-top:6px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.composer{display:flex;gap:8px;align-items:flex-end;margin:14px;padding:8px 8px 8px 6px;border:1px solid oklch(1 0 0 / .14);border-radius:22px;background:#231f1957;backdrop-filter:blur(26px) saturate(1.6);-webkit-backdrop-filter:blur(26px) saturate(1.6);box-shadow:inset 0 1px #ffffff2e,inset 0 0 0 1px #ffffff0a,0 14px 34px -14px #0000008c;transition:border-color .18s ease,box-shadow .18s ease}.composer:focus-within{border-color:#f8ab576b;box-shadow:inset 0 1px #ffffff38,0 0 0 3px #f8ab5729,0 14px 34px -14px #0000008c}.composer textarea{flex:1;resize:none;max-height:168px;min-height:28px;font:.97rem/1.5 var(--sans);color:var(--text);background:transparent;border:0;padding:11px 8px 11px 14px;outline:none}.composer textarea::placeholder{color:var(--text-3)}.composer button{width:42px;height:42px;flex:none;border:0;border-radius:15px;cursor:pointer;background:var(--amber-soft);color:var(--bg);font-size:1.2rem;font-weight:700;box-shadow:0 4px 14px -4px #f8ab5799;transition:filter .15s ease,opacity .15s ease,transform .1s ease}.composer button:disabled{opacity:.4;cursor:default;box-shadow:none}.composer button:not(:disabled):hover{filter:brightness(1.08)}.composer button:not(:disabled):active{transform:translateY(1px)}@media (max-width: 820px){.app{grid-template-columns:1fr}.sidebar{position:fixed;left:0;top:0;bottom:0;width:250px;transform:translate(-100%);transition:transform .25s ease;z-index:10}.sidebar.open{transform:none}.burger{display:block}.cards,.bubble{max-width:100%}}@media (prefers-reduced-motion: reduce){.led{animation:none}.messages{scroll-behavior:auto}}
