.api-explorer{flex-direction:column;gap:1.5rem;display:flex}.api-explorer__error{color:#fca5a5;border-radius:var(--radius-md);text-align:center;background:#ef44441f;border:1px solid #ef444440;padding:.75rem 1rem;font-size:.875rem}.api-explorer__controls{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.api-explorer__search-wrapper{flex:240px;min-width:0;position:relative}.api-explorer__search-icon{color:var(--color-muted);pointer-events:none;font-size:1.1rem;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.api-explorer__search{width:100%;color:var(--color-white);background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-full);transition:var(--transition-fast);outline:none;padding:.65rem 1rem .65rem 2.5rem;font-family:inherit;font-size:.9rem}.api-explorer__search::placeholder{color:var(--color-muted)}.api-explorer__search:focus{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.api-explorer__filters{flex-wrap:wrap;gap:.5rem;display:flex}.api-explorer__filter{color:var(--color-light);background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;padding:.4rem .9rem;font-family:inherit;font-size:.8rem;font-weight:500}.api-explorer__filter:hover{border-color:var(--border-medium);color:var(--color-white)}.api-explorer__filter--active,.api-explorer__filter--active:hover{background:var(--color-primary);color:var(--color-bg,#0a0f0d);border-color:var(--color-primary)}.api-explorer__filter:disabled{opacity:.5;cursor:default}.api-explorer__grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.api-explorer__card{background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:var(--transition);overflow:hidden}.api-explorer__card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.api-explorer__flag{aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid var(--border-subtle);border-radius:var(--radius-sm) var(--radius-sm) 0 0;width:100%}.api-explorer__info{flex-direction:column;gap:.25rem;padding:.85rem 1rem 1rem;display:flex}.api-explorer__name{color:var(--color-white);white-space:nowrap;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden}.api-explorer__detail{color:var(--color-light);font-size:.8rem;line-height:1.5}.api-explorer__label{color:var(--color-muted);font-weight:500}.api-explorer__empty{text-align:center;justify-content:center;align-items:center;min-height:200px;display:flex}.api-explorer__empty p{color:var(--color-muted);font-size:.95rem}.api-explorer__skeleton{pointer-events:none}.api-explorer__skeleton-flag{aspect-ratio:3/2;background:var(--color-bg-alt);border-bottom:1px solid var(--border-subtle);width:100%;animation:1.4s ease-in-out infinite apiPulse}.api-explorer__skeleton-lines{flex-direction:column;gap:.5rem;padding:.85rem 1rem 1rem;display:flex}.api-explorer__skeleton-line{background:var(--color-bg-alt);border-radius:var(--radius-sm);width:75%;height:.65rem;animation:1.4s ease-in-out infinite apiPulse}.api-explorer__skeleton-line--title{width:55%;height:.85rem}@keyframes apiPulse{0%,to{opacity:.4}50%{opacity:1}}@media screen and (max-width:600px){.api-explorer__controls{flex-direction:column;align-items:stretch}.api-explorer__search-wrapper{flex:auto}.api-explorer__filters{justify-content:center}.api-explorer__grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}}
.palette{flex-direction:column;gap:1.5rem;max-width:720px;margin:0 auto;display:flex}.palette__top{background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.palette__picker-row{align-items:center;gap:1rem;display:flex}.palette__color-input{border:2px solid var(--border-subtle);border-radius:var(--radius-lg);cursor:pointer;width:56px;height:56px;transition:var(--transition-fast);background:0 0;flex-shrink:0;padding:0}.palette__color-input::-webkit-color-swatch-wrapper{padding:0}.palette__color-input::-webkit-color-swatch{border-radius:var(--radius-md);border:none}.palette__color-input:hover{border-color:var(--color-primary);transform:scale(1.05)}.palette__color-info{flex-direction:column;flex:1;gap:.15rem;display:flex}.palette__hex{color:var(--color-white);font-family:Courier New,monospace;font-size:1rem;font-weight:700}.palette__hsl{color:var(--color-muted);font-family:Courier New,monospace;font-size:.75rem}.palette__random-btn{border-radius:var(--radius-full);background:var(--color-bg-alt);width:44px;height:44px;color:var(--color-light);border:1px solid var(--border-subtle);cursor:pointer;transition:var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.palette__random-btn:hover{border-color:var(--color-primary);color:var(--color-primary);transform:rotate(180deg)}.palette__sliders{flex-direction:column;gap:.5rem;display:flex}.palette__slider{align-items:center;gap:.6rem;display:flex}.palette__slider-label{color:var(--color-muted);text-align:center;width:1rem;font-family:Courier New,monospace;font-size:.75rem;font-weight:700}.palette__slider-input{appearance:none;border-radius:var(--radius-full);background:var(--color-bg-alt);cursor:pointer;outline:none;flex:1;height:6px}.palette__slider-input::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-full);background:var(--color-primary);border:2px solid var(--color-bg-variant);cursor:pointer;width:18px;height:18px;transition:transform .15s}.palette__slider-input::-webkit-slider-thumb:hover{transform:scale(1.2)}.palette__slider-input--hue{background:linear-gradient(90deg,#e61a1a,#e6e61a,#1ae61a,#1ae6e6,#1a1ae6,#e61ae6,#e61a1a)}.palette__slider-value{color:var(--color-light);text-align:right;min-width:2.5rem;font-family:Courier New,monospace;font-size:.72rem}.palette__harmonies{flex-wrap:wrap;gap:.4rem;display:flex}.palette__harmony-btn{background:var(--color-bg-alt);color:var(--color-light);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);padding:.4rem .75rem;font-family:inherit;font-size:.78rem;font-weight:500}.palette__harmony-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.palette__harmony-btn--active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.palette__harmony-btn--active:hover{color:#fff}.palette__strip{border-radius:var(--radius-xl);min-height:120px;display:flex;overflow:hidden}.palette__swatch{cursor:pointer;transition:var(--transition-fast);border:none;flex:1;justify-content:center;align-items:flex-end;padding-bottom:.75rem;display:flex;position:relative}.palette__swatch:hover{flex:1.3}.palette__swatch-hex{text-shadow:0 1px 4px #00000080;opacity:0;transition:var(--transition-fast);align-items:center;gap:.2rem;font-family:Courier New,monospace;font-size:.7rem;font-weight:700;display:flex}.palette__swatch:hover .palette__swatch-hex{opacity:1}.palette__swatch-hex svg{font-size:1rem}.palette__gradient-bar{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);height:32px}.palette__export{gap:.5rem;display:flex}.palette__export-btn{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);flex:1;justify-content:center;align-items:center;gap:.4rem;padding:.6rem 1rem;font-family:inherit;font-size:.8rem;font-weight:600;display:flex}.palette__export-btn:hover{opacity:.9;transform:translateY(-1px)}.palette__export-btn--secondary{background:var(--color-bg-variant);color:var(--color-light);border-color:var(--border-subtle)}.palette__export-btn--secondary:hover{border-color:var(--color-primary);color:var(--color-primary);opacity:1}.palette__preview{flex-direction:column;gap:.75rem;display:flex}.palette__preview-title{color:var(--color-muted);margin:0;font-size:.85rem;font-weight:500}.palette__preview-card{border-radius:var(--radius-xl);border:1px solid var(--border-subtle);transition:var(--transition);overflow:hidden}.palette__preview-header{padding:1.25rem 1.5rem;font-size:.9rem;font-weight:600}.palette__preview-body{padding:1.25rem 1.5rem}.palette__preview-body h3{margin:0 0 .35rem;font-size:1rem}.palette__preview-body p{margin:0 0 1rem;font-size:.8rem;line-height:1.5}.palette__preview-btns{gap:.5rem;display:flex}.palette__preview-btn{border-radius:var(--radius-md);padding:.45rem 1rem;font-size:.78rem;font-weight:600}@media screen and (max-width:600px){.palette__top{padding:1.25rem}.palette__strip{min-height:90px}.palette__swatch-hex{opacity:1;font-size:.6rem}.palette__export{flex-direction:column}}
.signature{flex-direction:column;gap:1.5rem;max-width:700px;margin:0 auto;display:flex}.signature__canvas-wrapper{background:var(--color-bg-alt);border:2px dashed var(--border-medium);border-radius:var(--radius-xl);position:relative;overflow:hidden}.signature__canvas{cursor:crosshair;touch-action:none;width:100%;height:280px;display:block}.signature__hint{color:var(--color-muted);pointer-events:none;-webkit-user-select:none;user-select:none;font-size:.95rem;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signature__controls{flex-wrap:wrap;align-items:flex-end;gap:1.5rem;display:flex}.signature__control-group{flex-direction:column;gap:.5rem;display:flex}.signature__label{color:var(--color-light);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.signature__colors{gap:.5rem;display:flex}.signature__color-btn{border-radius:var(--radius-full);border:2px solid var(--border-subtle);cursor:pointer;width:28px;height:28px;transition:var(--transition-fast)}.signature__color-btn:hover{transform:scale(1.15)}.signature__color-btn--active{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-variant)}.signature__slider{appearance:none;border-radius:var(--radius-full);background:var(--color-bg-variant);outline:none;width:120px;height:6px}.signature__slider::-webkit-slider-thumb{appearance:none;border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:none;width:18px;height:18px}.signature__slider::-moz-range-thumb{border-radius:var(--radius-full);background:var(--color-primary);cursor:pointer;border:none;width:18px;height:18px}.signature__actions{gap:.75rem;margin-left:auto;display:flex}.signature__btn{align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.85rem;display:inline-flex}.signature__btn:disabled{opacity:.4;pointer-events:none}@media screen and (max-width:600px){.signature__canvas{height:220px}.signature__controls{flex-direction:column;align-items:stretch}.signature__actions{justify-content:center;margin-left:0}}
.ai-chat{background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);flex-direction:column;max-width:720px;margin:0 auto;display:flex;overflow:hidden}.ai-chat__messages{flex-direction:column;flex:1;gap:1rem;min-height:360px;max-height:480px;padding:1.5rem;display:flex;overflow-y:auto}.ai-chat__messages::-webkit-scrollbar{width:4px}.ai-chat__messages::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}.ai-chat__message{gap:.75rem;max-width:85%;display:flex}.ai-chat__message--user{flex-direction:row-reverse;align-self:flex-end}.ai-chat__message--ai{align-self:flex-start}.ai-chat__avatar{border-radius:var(--radius-full);background:var(--color-primary-variant);width:32px;height:32px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:700;display:flex}.ai-chat__bubble{border-radius:var(--radius-lg);padding:.75rem 1rem;font-size:.9rem;line-height:1.6;position:relative}.ai-chat__message--ai .ai-chat__bubble{background:var(--color-bg-alt);color:var(--color-light);border-bottom-left-radius:var(--radius-sm)}.ai-chat__message--user .ai-chat__bubble{background:var(--color-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.ai-chat__cursor{background:var(--color-primary);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite chatBlink;display:inline-block}@keyframes chatBlink{0%,to{opacity:1}50%{opacity:0}}.ai-chat__bubble--typing{align-items:center;gap:.3rem;padding:.85rem 1.25rem;display:flex}.ai-chat__dot{border-radius:var(--radius-full);background:var(--color-muted);width:7px;height:7px;animation:1.4s ease-in-out infinite chatDot}.ai-chat__dot:nth-child(2){animation-delay:.2s}.ai-chat__dot:nth-child(3){animation-delay:.4s}@keyframes chatDot{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.ai-chat__suggestions{padding:0 1.5rem .5rem}.ai-chat__suggestions-label{color:var(--color-muted);margin-bottom:.5rem;font-size:.75rem;display:block}.ai-chat__suggestions-list{flex-wrap:wrap;gap:.5rem;display:flex}.ai-chat__suggestion{background:var(--color-bg-alt);color:var(--color-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-full);cursor:pointer;transition:var(--transition-fast);padding:.4rem .8rem;font-family:inherit;font-size:.8rem}.ai-chat__suggestion:hover{background:var(--color-primary-variant);border-color:var(--color-primary)}.ai-chat__input-area{border-top:1px solid var(--border-subtle);background:var(--color-bg-alt);gap:.5rem;padding:1rem 1.5rem;display:flex}.ai-chat__input{border-radius:var(--radius-full);border:1px solid var(--border-subtle);background:var(--color-bg-variant);color:var(--color-white);transition:var(--transition-fast);outline:none;flex:1;padding:.65rem 1rem;font-family:inherit;font-size:.9rem}.ai-chat__input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-glow)}.ai-chat__send{border-radius:var(--radius-full);background:var(--color-primary);color:#fff;cursor:pointer;width:40px;height:40px;transition:var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;display:flex}.ai-chat__send:hover:not(:disabled){background:var(--color-primary-hover);transform:scale(1.05)}.ai-chat__send:disabled{opacity:.4;cursor:default}@media screen and (max-width:600px){.ai-chat__messages{min-height:280px;max-height:360px;padding:1rem}.ai-chat__message{max-width:92%}.ai-chat__input-area{padding:.75rem 1rem}.ai-chat__suggestions{padding:0 1rem .5rem}}
.google-demo{flex-direction:column;align-items:center;gap:2rem;max-width:520px;margin:0 auto;padding:2.5rem;display:flex}.google-demo__explain{color:var(--color-light);text-align:center;background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);width:100%;padding:1.25rem 1.5rem;font-size:.95rem;line-height:1.7}.google-demo__btn{margin-top:.5rem}.google-demo__icon{flex-shrink:0;width:22px;height:22px}.google-demo__profile{flex-direction:column;align-items:center;gap:1.5rem;width:100%;animation:.4s fadeInUp;display:flex}.google-demo__profile-card{background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);width:100%;box-shadow:var(--shadow-md);transition:var(--transition);flex-direction:column;align-items:center;gap:1.25rem;padding:2rem;display:flex}.google-demo__profile-card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-glow)}.google-demo__avatar{border-radius:var(--radius-full);border:2px solid var(--color-primary);width:80px;height:80px;box-shadow:var(--shadow-sm);object-fit:cover}.google-demo__info{border-top:1px solid var(--border-subtle);flex-direction:column;align-items:center;gap:.15rem;width:100%;padding:.5rem 0;display:flex}.google-demo__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);font-size:.75rem;font-weight:500}.google-demo__value{color:var(--color-white);font-size:1rem;font-weight:400}@media screen and (max-width:600px){.google-demo,.google-demo__profile-card{padding:1.5rem}.google-demo__avatar{width:64px;height:64px}}
.iot-dashboard{background:var(--color-bg-variant);border-radius:var(--radius-xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-sm);flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.iot-dashboard__devices{gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.iot-dashboard__device-tab{border:1px solid var(--border-medium);border-radius:var(--radius-md);background:var(--color-bg-alt);color:var(--color-light);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.6rem 1.2rem;display:flex}.iot-dashboard__device-tab:hover{border-color:var(--color-primary-variant);color:var(--color-white)}.iot-dashboard__device-tab--active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white);box-shadow:var(--shadow-glow)}.iot-dashboard__device-name{font-size:.95rem;font-weight:600}.iot-dashboard__device-type{opacity:.7;font-size:.75rem}.iot-dashboard__controls{justify-content:flex-end;display:flex}.iot-dashboard__play-btn{border:1px solid var(--border-medium);border-radius:var(--radius-full);background:var(--color-bg-alt);width:42px;height:42px;color:var(--color-white);cursor:pointer;transition:var(--transition-fast);justify-content:center;align-items:center;display:flex}.iot-dashboard__play-btn:hover{background:var(--color-primary);border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.iot-dashboard__gauges{flex-wrap:wrap;justify-content:center;gap:2rem;display:flex}.iot-gauge{flex-direction:column;align-items:center;gap:.5rem;display:flex}.iot-gauge__svg{filter:drop-shadow(0 0 6px #00000040)}.iot-gauge__label{color:var(--color-light);text-align:center;font-size:.9rem;font-weight:500}.iot-dashboard__charts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;display:grid}.iot-dashboard__chart-card{background:var(--color-bg-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:var(--transition);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.iot-dashboard__chart-card:hover{border-color:var(--color-primary-variant);box-shadow:var(--shadow-sm)}.iot-dashboard__chart-label{color:var(--color-light);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:600}.iot-chart__svg{border-radius:var(--radius-sm);display:block}.iot-dashboard__alerts-section{flex-direction:column;gap:.75rem;display:flex}.iot-dashboard__alerts-title{color:var(--color-white);margin:0;font-size:1rem;font-weight:600}.iot-dashboard__alerts{flex-direction:column;gap:.4rem;max-height:220px;padding-right:.25rem;display:flex;overflow-y:auto}.iot-dashboard__alerts::-webkit-scrollbar{width:4px}.iot-dashboard__alerts::-webkit-scrollbar-thumb{background:var(--color-muted);border-radius:var(--radius-full)}.iot-dashboard__no-alerts{color:var(--color-muted);margin:0;padding:.5rem 0;font-size:.85rem}.iot-dashboard__alert{background:var(--color-bg-alt);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm);transition:var(--transition-fast);align-items:baseline;gap:.75rem;padding:.5rem .75rem;font-size:.82rem;display:flex}.iot-dashboard__alert-time{color:var(--color-muted);flex-shrink:0;font-family:monospace;font-size:.78rem}.iot-dashboard__alert-msg{color:var(--color-light)}@media screen and (max-width:600px){.iot-dashboard{gap:1rem;padding:1rem}.iot-dashboard__devices{flex-wrap:nowrap;gap:.4rem}.iot-dashboard__device-tab{padding:.5rem .8rem}.iot-dashboard__gauges{flex-direction:column;align-items:center;gap:1.25rem}.iot-dashboard__charts{grid-template-columns:1fr}}
.demos{padding-top:4rem}.demos__grid{max-width:var(--max-width);grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.demos__card{background:var(--color-bg-variant);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);cursor:pointer;transition:var(--transition);flex-direction:column;gap:.75rem;padding:2rem;display:flex}.demos__card:hover{border-color:var(--border-medium);box-shadow:var(--shadow-glow);transform:translateY(-4px)}.demos__card-icon{color:var(--color-primary);margin-bottom:.5rem;font-size:2rem}.demos__card h3{color:var(--color-white);font-size:1.1rem}.demos__card p{color:var(--color-light);flex:1;font-size:.875rem;line-height:1.6}.demos__card-tags{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.demos__tag{background:var(--color-primary-variant);color:var(--color-primary);border-radius:var(--radius-full);letter-spacing:.02em;padding:.2rem .6rem;font-size:.7rem;font-weight:500}.demos__active{padding:4rem 0 2rem}.demos__back{margin-bottom:2rem;font-size:.85rem}.demos__active-title{margin-bottom:2.5rem}@media screen and (max-width:1024px){.demos__grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media screen and (max-width:600px){.demos__grid{grid-template-columns:1fr;gap:1.5rem}.demos__card{padding:1.5rem}}
