@layer components{.nova-app .ns-frame{border-radius:var(--ns-r-m);background:var(--ns-raised);width:100%;box-shadow:inset 0 0 0 1px var(--ns-edge);isolation:isolate;display:block;position:relative;overflow:hidden}.nova-app .ns-frame[data-aspect="16:9"]{aspect-ratio:16/9}.nova-app .ns-frame[data-aspect="9:16"]{aspect-ratio:9/16}.nova-app .ns-frame[data-aspect="1:1"]{aspect-ratio:1}.nova-app .ns-still{display:contents}.nova-app .ns-frame-media{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.nova-app .ns-frame-empty{background:radial-gradient(60% 60%,#6b4dff14,#0000 70%);place-items:center;display:grid;position:absolute;inset:0}.nova-app .ns-frame-line{z-index:2;inset-inline:0;background:#ffffff10;height:3px;position:absolute;bottom:0}.nova-app .ns-frame-line>span{background:var(--ns-waiting);height:100%;transition:width var(--ns-calm) var(--ns-ease);display:block}.nova-app .ns-frame[data-state=ready] .ns-frame-line>span{background:var(--ns-ready)}.nova-app .ns-frame[data-state=failed] .ns-frame-line>span{background:var(--ns-failed)}.nova-app .ns-frame[data-state=stopped] .ns-frame-line>span{background:var(--ns-stopped)}.nova-app .ns-frame[data-state=rendering] .ns-frame-line>span{background:var(--ns-spectrum)}.nova-app .ns-frame-shimmer{z-index:1;pointer-events:none;background:linear-gradient(100deg,#0000 30%,#9b4dff2e 45%,#ee38a824 50%,#2e7bff2e 55%,#0000 70%) 0 0/250% 100%;animation:1.8s linear infinite ns-shimmer;position:absolute;inset:0}@keyframes ns-shimmer{0%{background-position:120% 0}to{background-position:-120% 0}}.nova-app .ns-tile{gap:var(--ns-1);width:100%;min-width:0;color:inherit;font:inherit;text-align:start;border-radius:var(--ns-r-m);transition:transform var(--ns-fast) var(--ns-ease);background:0 0;border:0;flex-direction:column;margin:0;padding:0;display:flex;position:relative}.nova-app button.ns-tile{cursor:pointer}.nova-app button.ns-tile:hover .ns-frame{box-shadow:inset 0 0 0 1px var(--ns-edge-strong)}.nova-app .ns-tile:focus-visible{outline:2px solid var(--ns-accent-ink);outline-offset:3px}.nova-app .ns-tile-preview{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity var(--ns-calm) var(--ns-ease);pointer-events:none;z-index:1;display:block;position:absolute;inset:0}.nova-app .ns-tile:hover .ns-tile-preview,.nova-app .ns-tile:focus-visible .ns-tile-preview,.nova-app [data-awake="1"] .ns-tile-preview{opacity:1}.nova-app .ns-tile-badge{top:var(--ns-1);z-index:3;border-radius:var(--ns-r-s);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);min-height:24px;color:var(--ns-ink);font:500 var(--ns-11) / 1 var(--ns-mono);letter-spacing:.04em;background:#000000a6;align-items:center;padding:0 8px;display:inline-flex;position:absolute;inset-inline-start:var(--ns-1)}.nova-app .ns-tile-ring{z-index:3;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 2px var(--ns-white), 0 0 0 1px #00000080;position:absolute;inset:0}.nova-app .ns-tile-selected .ns-frame{box-shadow:0 0 24px -6px #9b4dff80}.nova-app .ns-tile-words{flex-direction:column;gap:2px;min-width:0;padding-inline:2px;display:flex}.nova-app .ns-tile-caption{font-size:var(--ns-13);color:var(--ns-ink);-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.nova-app .ns-tile-detail{font-size:var(--ns-11);color:var(--ns-muted);line-height:1.3;font-family:var(--ns-mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (prefers-reduced-motion:reduce){.nova-app .ns-frame-shimmer{opacity:.6;animation:none}.nova-app .ns-tile-preview{display:none}}}
