.ws-home{--ws-line: hsl(var(--border));--ws-panel: hsl(var(--card));--ws-muted: hsl(var(--muted-foreground));--ws-accent: hsl(var(--primary));width:100%;max-width:1240px;margin:0 auto;padding:0 0 48px;color:hsl(var(--foreground))}.ws-head{max-width:760px;margin:0 auto 28px;text-align:center}.ws-title{font-size:var(--ui-fs-figure-lg);font-weight:600;letter-spacing:-.02em;line-height:1.1}.ws-lede{margin-top:10px;font-size:var(--ui-fs-body);line-height:1.6;color:var(--ws-muted)}.ws-loading,.ws-error{display:flex;align-items:center;justify-content:center;gap:8px;min-height:120px;font-size:var(--ui-fs-body);color:var(--ws-muted)}.ws-error{color:hsl(var(--destructive))}.ws-spin{width:16px;height:16px;animation:ws-spin .9s linear infinite}@keyframes ws-spin{to{transform:rotate(360deg)}}.ws-skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ws-skill{display:flex;flex-direction:column;overflow:hidden;border-radius:18px;border:1px solid var(--ws-line);background:var(--ws-panel);transition:border-color .25s ease,transform .25s ease,box-shadow .25s ease}@media(hover:hover){.ws-skill:hover{border-color:hsl(var(--primary) / .35);transform:translateY(-2px);box-shadow:0 24px 60px -32px #7c5cff8c}}.ws-skill-art{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:#0b0b10}.ws-skill-art img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .6s ease}@media(hover:hover){.ws-skill:hover .ws-skill-art img{transform:scale(1.03)}}.ws-tag{position:absolute;left:10px;top:10px;padding:3px 8px;border-radius:999px;font-size:var(--ui-fs-micro);letter-spacing:.04em;color:#ffffffd9;background:#0000008c;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(6px)}.ws-skill-body{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}.ws-skill-title{font-size:var(--ui-fs-title);font-weight:600}.ws-skill-fit{font-size:var(--ui-fs-body);line-height:1.55;color:hsl(var(--foreground) / .8)}.ws-skill-fit:first-letter{text-transform:uppercase}.ws-skill-meta{font-size:var(--ui-fs-meta);line-height:1.5;color:var(--ws-muted);margin-bottom:4px}.ws-cta{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border:0;border-radius:12px;cursor:pointer;font-size:var(--ui-fs-body);font-weight:600;color:#fff;background:linear-gradient(135deg,#7c5cff,#c24dff);box-shadow:0 10px 30px -14px #a05affcc;transition:filter .2s ease,transform .2s ease}.ws-cta svg{width:16px;height:16px}.ws-cta:hover{filter:brightness(1.08)}.ws-cta:active{transform:translateY(1px)}.ws-cta--compact{margin-top:0;min-height:44px}.ws-cta:focus-visible,.ws-ghost:focus-visible,.ws-link:focus-visible,.ws-example-media:focus-visible{outline:2px solid var(--ws-accent);outline-offset:2px}.ws-subtitle{margin:40px 0 14px;font-size:var(--ui-fs-title);font-weight:600;color:hsl(var(--foreground))}.ws-examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ws-example{border-radius:16px;overflow:hidden;border:1px solid var(--ws-line);background:var(--ws-panel)}.ws-example-media{position:relative;display:block;width:100%;aspect-ratio:16 / 9;padding:0;border:0;cursor:pointer;background:#000;overflow:hidden}.ws-example-media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .6s ease}@media(hover:hover){.ws-example:hover .ws-example-media img{transform:scale(1.03)}}.ws-play{position:absolute;left:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;font-size:var(--ui-fs-micro);color:#fff;background:#0009;border:1px solid rgba(255,255,255,.16);backdrop-filter:blur(6px)}.ws-play svg{width:12px;height:12px}.ws-example-body{padding:14px 16px 16px}.ws-example-title{font-size:var(--ui-fs-title);font-weight:600}.ws-example-meta{margin-top:4px;font-size:var(--ui-fs-meta);color:var(--ws-muted)}.ws-example-actions{display:flex;gap:8px;margin-top:12px}.ws-ghost{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;border-radius:10px;border:1px solid var(--ws-line);background:transparent;color:hsl(var(--foreground));font-size:var(--ui-fs-body);font-weight:500;cursor:pointer;transition:background .2s ease}.ws-ghost svg{width:14px;height:14px}.ws-ghost:hover{background:hsl(var(--muted) / .15)}.ws-classic{margin-top:28px;text-align:center;font-size:var(--ui-fs-meta);color:var(--ws-muted)}.ws-link{min-height:44px;padding:0 4px;border:0;background:none;cursor:pointer;color:var(--ws-accent);font:inherit;text-decoration:underline;text-underline-offset:3px}.ws-preview[data-dialog-variant]{width:min(1400px,calc(100vw - 40px));max-width:none;height:calc(100dvh - 48px);max-height:none;padding:0;gap:0;display:flex;flex-direction:column;overflow:hidden;background:#09090d;border:1px solid var(--ws-line, rgba(255, 255, 255, .09));color:#fff}.ws-preview-bar{display:flex;align-items:center;gap:12px;padding:10px 56px 10px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.ws-preview-title{flex:1;min-width:0;font-size:var(--ui-fs-title);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-preview-frame{flex:1;min-height:0;display:flex}.ws-preview-frame>*{flex:1;min-height:0}.ws-preview .cv-page-preview{display:flex;flex-direction:column;gap:8px;padding:8px}.ws-preview .cv-page-preview__frame{display:block;flex:1;min-height:0;width:100%;border:0;border-radius:10px;background:#000}.ws-preview .cv-page-preview__bar{display:flex;align-items:center;justify-content:flex-end;gap:8px}.ws-preview .cv-page-preview__note{margin-right:auto;font-size:var(--ui-fs-meta);color:#fff9}.ws-preview .cv-page-preview__bar .cv-btn{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid rgba(255,255,255,.16);background:#ffffff0f;color:#fff;font:inherit;font-size:var(--ui-fs-meta);cursor:pointer}@media(max-width:48rem){.ws-tag,.ws-play{font-size:.875rem}}@media(max-width:960px){.ws-skills,.ws-examples{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ws-home{padding-bottom:32px}.ws-skills,.ws-examples{grid-template-columns:1fr;gap:14px}.ws-cta{min-height:56px;width:100%}.ws-cta--compact{min-height:48px;width:auto}.ws-skill-art{aspect-ratio:16 / 9}.ws-skill-title{order:1}.ws-skill-body>.ws-cta{order:2;margin-block:2px 4px}.ws-skill-fit{order:3}.ws-skill-meta{order:4}.ws-preview[data-dialog-variant]{width:100vw;height:92dvh;border-radius:18px 18px 0 0}.ws-preview .cv-page-preview__bar .cv-btn{width:100%;min-height:48px;font-size:.875rem}}
