*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0f1117;--bg-elevated: #1a1d27;--bg-card: #222633;--border: #2e3345;--text: #e8eaef;--text-muted: #8b92a8;--accent: #6366f1;--accent-hover: #818cf8;--radius: 12px;--radius-sm: 8px;--shadow: 0 4px 24px rgba(0, 0, 0, .4);--font: "Inter", system-ui, -apple-system, sans-serif}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}#app{min-height:100vh;display:flex;flex-direction:column}.hidden{display:none!important}.header{padding:1.5rem 2rem;background:var(--bg-elevated);border-bottom:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem}.header__brand{display:flex;align-items:center;gap:.875rem;flex-shrink:0}.header__logo{color:var(--accent);display:flex}.header__title{font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.header__subtitle{font-size:.8125rem;color:var(--text-muted);margin-top:.125rem}.url-form{display:flex;gap:.75rem;flex:1;min-width:280px}.url-form__input-wrap{position:relative;flex:1}.url-form__icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.url-form__input{width:100%;padding:.75rem 1rem .75rem 2.75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);font-family:inherit;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.url-form__input::placeholder{color:var(--text-muted)}.url-form__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:var(--radius-sm);font-family:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-hover)}.btn--primary:disabled{opacity:.6;cursor:not-allowed}.btn--ghost{background:transparent;color:var(--text-muted);border:1px solid var(--border)}.btn--ghost:hover{background:var(--bg-card);color:var(--text)}.btn--sm{padding:.5rem .875rem;font-size:.8125rem}.main{flex:1;padding:2rem}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 2rem;max-width:480px;margin:2rem auto}.empty-state__icon{color:var(--border);margin-bottom:1.5rem}.empty-state__title{font-size:1.375rem;font-weight:600;margin-bottom:.75rem}.empty-state__text{color:var(--text-muted);font-size:.9375rem;line-height:1.6}.previews-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.previews-toolbar__url{font-size:.875rem;color:var(--text-muted);word-break:break-all}.previews-toolbar__url:before{content:"Visualizando: ";color:var(--text);font-weight:500}.previews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.device-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:border-color .2s}.device-card:hover{border-color:var(--category-color, var(--accent))}.device-card__header{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-wrap:wrap}.device-card__icon{font-size:1.25rem;line-height:1}.device-card__info{flex:1;min-width:0}.device-card__name{font-size:.875rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.device-card__size{font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.device-card__actions{display:flex;gap:.25rem;margin-left:auto;flex-shrink:0}.device-card__action{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text-muted);cursor:pointer;transition:color .15s,background .15s,border-color .15s}.device-card__action:hover{color:var(--text);background:var(--bg-card);border-color:var(--category-color, var(--accent))}.device-card__badge{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.2rem .5rem;border-radius:999px;background:color-mix(in srgb,var(--category-color, var(--accent)) 15%,transparent);color:var(--category-color, var(--accent));flex-shrink:0}.device-card__frame{margin:1rem auto;background:#fff;border-radius:var(--radius-sm);overflow:hidden;box-shadow:inset 0 0 0 1px #00000014;position:relative}.device-card__viewport{transform-origin:top left;position:relative;background:#fff}.device-card__viewport iframe{width:100%;height:100%;border:none;display:block;pointer-events:none}.device-card:hover .device-card__viewport iframe{pointer-events:auto}.device-card__overlay{position:absolute;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;font-size:.8125rem;color:var(--text-muted);transition:opacity .3s;pointer-events:none}.device-card__overlay--loaded{opacity:0}.device-card__overlay--error{background:#0f1117eb;color:#f87171;opacity:1}.custom-form{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.875rem 1rem;margin-bottom:1.5rem;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.custom-form__label{font-size:.8125rem;font-weight:600;color:var(--text-muted);margin-right:.25rem}.custom-form__input{width:5.5rem;padding:.5rem .625rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:inherit;font-size:.8125rem}.custom-form__input--name{width:10rem}.custom-form__input:focus{outline:none;border-color:var(--accent)}.custom-form__sep{color:var(--text-muted);font-size:.875rem}.fullscreen-modal{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center}.fullscreen-modal__backdrop{position:absolute;inset:0;background:#000000d9;backdrop-filter:blur(4px)}.fullscreen-modal__content{position:relative;z-index:1;display:flex;flex-direction:column;width:100%;height:100%;max-width:100vw;max-height:100vh}.fullscreen-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--bg-elevated);border-bottom:1px solid var(--border);flex-shrink:0}.fullscreen-modal__title{font-size:1rem;font-weight:600}.fullscreen-modal__size{font-size:.8125rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.fullscreen-modal__actions{display:flex;gap:.5rem;flex-shrink:0}.fullscreen-modal__frame-wrap{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:auto}.fullscreen-modal__frame{background:#fff;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 8px 40px #00000080}.fullscreen-modal__viewport{transform-origin:top left;position:relative;background:#fff}.fullscreen-modal__viewport iframe{width:100%;height:100%;border:none;display:block}.footer{padding:1.5rem 2rem;border-top:1px solid var(--border);background:var(--bg-elevated)}.footer__grid{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.footer__company{font-size:.875rem;font-weight:600;color:var(--text)}.footer__company a{color:var(--accent);text-decoration:none;transition:color .15s}.footer__company a:hover{color:var(--accent-hover)}.footer__tagline{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.footer__links{display:flex;gap:1.25rem;flex-wrap:wrap}.footer__links a{font-size:.8125rem;color:var(--text-muted);text-decoration:none;transition:color .15s}.footer__links a:hover{color:var(--text)}.footer__note,.footer__copy{font-size:.75rem;color:var(--text-muted);text-align:center;line-height:1.6}.footer__note{padding-top:1rem;border-top:1px solid var(--border);margin-bottom:.75rem}@media(max-width:640px){.header{padding:1rem;flex-direction:column;align-items:stretch}.url-form{flex-direction:column}.main{padding:1rem}.previews-grid{grid-template-columns:1fr}.custom-form{flex-direction:column;align-items:stretch}.custom-form__input,.custom-form__input--name{width:100%}.fullscreen-modal__header{flex-direction:column;align-items:stretch}.fullscreen-modal__actions{flex-wrap:wrap}.footer{padding:1.25rem 1rem}.footer__grid{flex-direction:column;align-items:center;text-align:center}.footer__links{justify-content:center}}
