/* Brand and motion. Shared tokens remain in studio-palette.css. */
.an-site-brand span { letter-spacing:.08em; font-size:17px; }
.an-site-header { position:relative; isolation:isolate; }
.an-site-header nav>a { position:relative; z-index:1; }
.an-site-header nav>a.anyun-nav-target { background:transparent!important; }
.anyun-nav-motion { position:absolute; z-index:0; border-radius:7px; background:var(--an-soft); pointer-events:none; transform-origin:left center; }
:where(button,a,input,textarea,select) { transition:background-color 140ms linear,border-color 140ms linear,color 140ms linear,box-shadow 140ms linear; }
.tool-card { transition:transform 160ms linear,border-color 140ms linear,box-shadow 140ms linear; }
.tool-card:hover { transform:translateY(-2px); }
.anyun-mascot { display:inline-flex; justify-content:center; width:140px; height:140px; position:relative; flex:none; }
.anyun-mascot img { width:100%; height:100%; object-fit:contain; animation:anyun-cloud-float 5s linear infinite; }
.anyun-mascot:hover img { animation:anyun-cloud-wave 650ms linear 1; }
.an-welcome .anyun-mascot { margin:0 auto 2px; }
.an-welcome:has(.anyun-mascot) h2 { margin-top:8px; }
.anyun-home-label { display:flex; align-items:center; gap:12px; }
.anyun-home-label>a { margin-left:auto; font-size:13px; color:var(--an-blue); display:flex; align-items:center; gap:8px; }
.anyun-home-label img { width:42px; height:42px; object-fit:contain; }
@keyframes anyun-cloud-float { 0%,100%{transform:translateY(2px) rotate(-2deg)} 25%{transform:translateY(-3px) rotate(0)} 50%{transform:translateY(-6px) rotate(2deg)} 75%{transform:translateY(-2px) rotate(0)} }
@keyframes anyun-cloud-wave { 0%,100%{transform:rotate(0)} 25%{transform:rotate(-7deg)} 75%{transform:rotate(7deg)} }
.anyun-library { height:calc(100dvh - 48px); display:flex; flex-direction:column; max-width:1920px; margin:auto; padding:16px 24px; gap:14px; color:var(--an-ink); }
.anyun-library-bar { display:flex; align-items:center; gap:24px; justify-content:space-between; flex:none; }
.anyun-library-bar>div { display:flex; align-items:baseline; gap:16px; }.anyun-library h1 { font-size:20px; margin:0; }.anyun-library-bar span { color:var(--an-muted); font-size:13px; }
.anyun-style-search { display:flex; gap:8px; align-items:center; border:1px solid var(--an-line); border-radius:10px; padding:0 12px; background:var(--an-surface); width:290px; }
.anyun-style-search input { min-width:0; width:100%; height:36px; border:0; outline:0; background:transparent; color:var(--an-ink); font:inherit; font-size:13px; }.anyun-style-search:focus-within { outline:2px solid var(--mac-thumb); outline-offset:2px; }
.anyun-style-toolbar { display:flex; justify-content:space-between; gap:16px; align-items:center; flex:none; }.anyun-style-filters { display:flex; gap:5px; flex-wrap:wrap; }
.anyun-library button { font:inherit; cursor:pointer; color:var(--an-ink); background:var(--an-surface); border:1px solid var(--an-line); border-radius:8px; padding:7px 11px; font-size:13px; }
.anyun-library button:disabled { cursor:default; opacity:.5; }.anyun-library button:focus-visible { outline:2px solid var(--mac-thumb); outline-offset:2px; }
.anyun-library button:hover:not(:disabled) { border-color:var(--mac-thumb); }.anyun-style-filters button[aria-pressed="true"] { background:var(--an-soft); color:var(--an-blue); border-color:var(--mac-primary); }
.anyun-style-scroll { overflow:auto; min-height:0; scrollbar-gutter:stable; padding:1px 3px 12px 1px; }
.anyun-style-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.anyun-style-card { min-width:0; border:1px solid var(--an-line); border-radius:16px; overflow:hidden; background:var(--an-surface); transition:transform 160ms linear,box-shadow 160ms linear; }.anyun-style-card:hover { box-shadow:var(--mac-shadow); transform:translateY(-2px); }
.anyun-library .anyun-style-cover { display:block; width:100%; border:0; padding:0; border-radius:0; position:relative; overflow:hidden; background:var(--mac-field); }
.anyun-style-cover img { display:block; width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; transition:transform 220ms linear; }.anyun-style-cover:hover img { transform:scale(1.025); }.anyun-style-cover>span { position:absolute; bottom:12px; right:12px; background:var(--an-surface); color:var(--an-ink); border-radius:30px; padding:6px 10px; font-size:12px; opacity:0; transition:opacity 140ms linear; }.anyun-style-cover:hover>span,.anyun-style-cover:focus-visible>span { opacity:1; }
.anyun-style-card-body { padding:14px 16px; }.anyun-style-card-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; }.anyun-style-card h2 { font-size:16px; margin:0; }.anyun-swatches { display:flex; gap:4px; }.anyun-swatches i { width:14px; height:14px; border-radius:50%; border:1px solid #35324418; }.anyun-style-card p { font-size:13px; line-height:1.6; color:var(--an-muted); margin:9px 0 14px; }
.anyun-style-card-bottom { display:flex; gap:6px; align-items:center; }.anyun-style-card-bottom>span { margin-right:auto; color:var(--an-muted); font-size:11px; }.anyun-library .anyun-style-use { background:var(--mac-primary); color:var(--mac-primary-ink); border-color:transparent; font-weight:650; }.anyun-library .anyun-style-use:hover { background:var(--mac-primary-hover); }.anyun-style-card-bottom button[aria-pressed="true"] { background:var(--mac-mint); color:var(--mac-mint-ink); }
.anyun-style-empty { padding:80px 20px; text-align:center; grid-column:1/-1; color:var(--an-muted); }
.anyun-style-dialog { color:var(--an-ink); background:var(--an-surface); border:1px solid var(--an-line); border-radius:18px; padding:0; width:min(1100px,92vw); max-height:calc(100dvh - 50px); box-shadow:0 25px 90px #16101f40; }.anyun-style-dialog::backdrop { background:#211c324d; backdrop-filter:blur(4px); }
.anyun-style-dialog>header { display:flex; align-items:center; justify-content:space-between; padding:12px 20px; border-bottom:1px solid var(--an-line); }.anyun-style-dialog>header button { font-size:20px; padding:0; width:30px; height:30px; }.anyun-style-detail { display:grid; grid-template-columns:1.15fr 1fr; gap:24px; padding:20px; }
.anyun-style-visual>button,.anyun-style-comparison section>button[data-image-preview] { border:0; padding:0; display:block; width:100%; overflow:hidden; border-radius:12px; }.anyun-style-visual img,.anyun-style-comparison img { display:block; width:100%; aspect-ratio:3/2; object-fit:cover; }
.anyun-style-visual p,.anyun-style-dialog li,.anyun-style-dialog details { color:var(--an-muted); font-size:13px; line-height:1.8; }.anyun-style-dialog ul { padding-left:18px; }.anyun-style-dialog li { margin-bottom:6px; }
.anyun-style-recipe { display:flex; flex-direction:column; gap:12px; min-height:0; }.anyun-style-tags { display:flex; flex-wrap:wrap; gap:6px; }.anyun-style-tags span { background:var(--an-soft); color:var(--an-blue); border-radius:6px; padding:5px 8px; font-size:12px; }.anyun-style-recipe label { font-size:14px; font-weight:650; }
.anyun-style-recipe textarea { width:100%; min-height:190px; flex:1; border:1px solid var(--an-line); background:var(--mac-field); color:var(--an-ink); border-radius:10px; padding:12px; font:inherit; font-size:14px; line-height:1.8; resize:vertical; }.anyun-style-recipe small { color:var(--an-muted); font-size:12px; }.anyun-style-recipe footer { display:flex; justify-content:flex-end; gap:8px; margin-top:auto; }.anyun-style-recipe summary { cursor:pointer; }
.anyun-style-comparison { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:20px; }.anyun-style-comparison h2 { font-size:17px; }
@media(min-width:2100px) { .anyun-style-grid { gap:24px; }.anyun-library { padding-top:22px; } }
@media(max-width:1000px) { .anyun-style-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.anyun-library-bar>div>span { display:none; } }
@media(max-width:680px) { .anyun-library { padding:12px; }.anyun-library-bar { flex-wrap:wrap; gap:10px; }.anyun-style-search { width:100%; }.anyun-style-grid,.anyun-style-detail,.anyun-style-comparison { grid-template-columns:1fr; }.anyun-style-toolbar { align-items:flex-start; }.anyun-style-filters { gap:3px; }.anyun-style-dialog { max-height:90dvh; }.anyun-library button { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .anyun-mascot img { animation:none!important; } :where(button,a,input,textarea,select),.tool-card,.anyun-style-card,.anyun-style-cover img,.anyun-style-cover>span { transition:none!important; }.tool-card:hover,.anyun-style-card:hover,.anyun-style-cover:hover img { transform:none; } }
