.signchips{margin-top:1.4vh}.signchips-label{color:var(--muted);font-weight:700;letter-spacing:.02em;margin-bottom:.8em}.signchips-row{display:flex;flex-wrap:wrap;gap:12px}.signchip{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 10px 12px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.signchip-plate{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000059}.signchip-plate img{width:100%;height:100%;object-fit:contain}.signchip-code{font-weight:800;color:var(--ink);margin-top:.5em}.signchip-name{color:var(--muted);line-height:1.2}.signchips-sm .signchip{width:108px}.signchips-sm .signchip-plate{width:84px;height:84px;padding:7px}.signchips-sm .signchip-code{font-size:15px}.signchips-sm .signchip-name{font-size:11px}.signchips-tv .signchips-label{font-size:2.2vh}.signchips-tv .signchip{width:15vh;border-radius:1.6vh;padding:1.2vh 1.2vh 1.4vh}.signchips-tv .signchip-plate{width:11vh;height:11vh;padding:1vh;border-radius:1.2vh}.signchips-tv .signchip-code{font-size:2.4vh;margin-top:.8vh}.signchips-tv .signchip-name{font-size:1.7vh}:root{--ink: #f4f6ff;--muted: rgba(230, 236, 255, .62);--line: rgba(255, 255, 255, .1);--line-strong: rgba(255, 255, 255, .18);--card: rgba(255, 255, 255, .055);--card-solid: rgba(22, 26, 46, .72);--accent-a: #6366f1;--accent-b: #a855f7;--accent-c: #ec4899;--accent-grad: linear-gradient(135deg, var(--accent-a), var(--accent-b) 55%, var(--accent-c));--good: #34d399;--bad: #fb7185;--opt-0: linear-gradient(150deg, #fb4d6d, #cf2551);--opt-1: linear-gradient(150deg, #4f7cff, #2d55dd);--opt-2: linear-gradient(150deg, #ffb224, #e08b00);--opt-3: linear-gradient(150deg, #2fd583, #0e9e5b);--opt-0-glow: rgba(251, 77, 109, .35);--opt-1-glow: rgba(79, 124, 255, .35);--opt-2-glow: rgba(255, 178, 36, .32);--opt-3-glow: rgba(47, 213, 131, .32);--radius: 20px;--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", "Segoe UI", Roboto, system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:var(--font);color:var(--ink);background:#0b0f1e;overflow:hidden;-webkit-font-smoothing:antialiased;letter-spacing:.01em}.rainbow-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-3;background:radial-gradient(42% 55% at 12% 8%,rgba(99,102,241,.5),transparent 70%),radial-gradient(45% 60% at 88% 12%,rgba(236,72,153,.38),transparent 70%),radial-gradient(50% 65% at 78% 92%,rgba(16,185,129,.3),transparent 70%),radial-gradient(45% 55% at 15% 90%,rgba(56,189,248,.34),transparent 70%),#0b0f1e;animation:aurora 24s ease-in-out infinite alternate}.rainbow-veil{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(120% 100% at 50% 0%,transparent 30%,rgba(7,9,20,.55) 100%)}@keyframes aurora{0%{filter:hue-rotate(0deg) saturate(1)}50%{filter:hue-rotate(18deg) saturate(1.15)}to{filter:hue-rotate(-14deg) saturate(1.05)}}.rainbow-text{background:linear-gradient(100deg,#8ea2ff,#c084fc 40%,#f472b6 75%,#fbbf24);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sheen 9s ease-in-out infinite alternate}@keyframes sheen{to{background-position:100% 0}}.confetti-canvas{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:40}.btn{font:inherit;font-weight:700;border:none;color:#fff;cursor:pointer;border-radius:14px;background:var(--accent-grad);box-shadow:0 8px 24px #8c5af059,inset 0 1px #ffffff40;transition:transform .12s ease,box-shadow .12s ease,opacity .12s}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 30px #8c5af073,inset 0 1px #ffffff40}.btn:active{transform:translateY(0) scale(.98)}.btn:disabled{opacity:.4;cursor:default;transform:none}.btn-ghost{background:var(--card);border:1px solid var(--line-strong);box-shadow:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.btn-ghost:hover{box-shadow:none;background:#ffffff17}.muted{color:var(--muted)}.dots:after{content:"";animation:dots 1.2s steps(4,end) infinite}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.chat{display:flex;flex-direction:column;min-height:0;background:var(--card-solid);border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:12px;margin:10px 0;flex:1}.chat-log{flex:1;min-height:120px;max-height:42dvh;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:4px 2px}.chat-hint{color:var(--muted);font-size:14px;text-align:center;margin:auto}.chat-msg{max-width:88%;padding:9px 13px;border-radius:15px;font-size:15px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-msg.user{align-self:flex-end;background:var(--accent-grad);color:#fff;border-bottom-right-radius:5px}.chat-msg.assistant{align-self:flex-start;background:#ffffff14;border:1px solid var(--line);border-bottom-left-radius:5px}.chat-busy{color:var(--muted);font-style:italic}.chat-sugg{display:flex;gap:6px;flex-wrap:wrap;padding:8px 0 2px}.chat-chip{font:inherit;font-size:13px;font-weight:600;color:var(--ink);cursor:pointer;background:#ffffff12;border:1px solid var(--line-strong);border-radius:999px;padding:7px 12px}.chat-input{display:flex;gap:8px;padding-top:8px}.chat-input input{flex:1;font:inherit;font-size:15px;color:var(--ink);background:#00000040;border:1px solid var(--line-strong);border-radius:12px;padding:11px 13px;outline:none}.chat-input input::placeholder{color:var(--muted)}.chat-input button{font:inherit;font-size:17px;width:46px;border:none;border-radius:12px;color:#fff;cursor:pointer;background:var(--accent-grad)}.chat-input button:disabled{opacity:.35}
