.ds-icon{display:inline-block;flex:none;width:var(--s,20px);height:var(--s,20px);background:currentColor;-webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat}
textarea.ds-input{resize:vertical;min-height:96px;line-height:1.5}select.ds-input{appearance:none;padding-right:40px;background-image:url("https://unpkg.com/lucide-static@0.469.0/icons/chevron-down.svg");background-repeat:no-repeat;background-position:right 14px center;background-size:16px}
.ds-check{display:inline-flex;align-items:center;gap:10px;font:500 var(--text-sm) var(--font-ui);color:var(--fg-1);cursor:pointer}.ds-check input{width:18px;height:18px;accent-color:var(--accent);margin:0;cursor:pointer}
.ds-switch{width:44px;height:26px;border-radius:var(--radius-pill);border:0;background:var(--neutral-300);position:relative;cursor:pointer;transition:background var(--dur) var(--ease);padding:0}.ds-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:transform var(--dur) var(--ease)}.ds-switch[aria-checked=true]{background:var(--accent)}.ds-switch[aria-checked=true]::after{transform:translateX(18px)}.ds-switch:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}
.ds-dialog-scrim{position:fixed;inset:0;background:rgba(20,17,31,.5);display:grid;place-items:center;z-index:50}.ds-dialog-scrim--inline{position:absolute}.ds-dialog{background:var(--surface);border-radius:var(--radius-lg);padding:var(--space-6);width:min(440px,90%);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:var(--space-3)}.ds-dialog h3{font-size:var(--text-xl)}.ds-dialog p{margin:0;color:var(--fg-2)}.ds-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-3)}
.ds-toast{display:inline-flex;align-items:center;gap:12px;background:var(--surface-inverse);color:var(--fg-inverse);font:500 var(--text-sm) var(--font-ui);padding:12px 18px;border-radius:var(--radius-pill);box-shadow:var(--shadow-lg)}.ds-toast .ds-icon{color:var(--accent-2)}
.ds-tip{position:relative;display:inline-flex}.ds-tip-bubble{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--surface-inverse);color:#fff;font:500 var(--text-xs) var(--font-ui);padding:6px 10px;border-radius:var(--radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur)}.ds-tip:hover .ds-tip-bubble,.ds-tip:focus-within .ds-tip-bubble,.ds-tip--show .ds-tip-bubble{opacity:1}
.ds-nav{display:flex;align-items:center;justify-content:space-between;padding:16px var(--space-6);background:var(--surface);border-bottom:1px solid var(--border)}.ds-nav-brand{display:flex;align-items:center;gap:10px;font:700 var(--text-lg) var(--font-display);color:var(--fg-1);text-transform:uppercase;letter-spacing:.02em}.ds-nav-brand img{width:36px;height:36px;border-radius:50%;image-rendering:pixelated}.ds-nav-links{display:flex;gap:var(--space-5)}.ds-nav-link{font:500 var(--text-sm) var(--font-ui);color:var(--fg-3);cursor:pointer;background:none;border:0;padding:6px 0;border-bottom:2px solid transparent}.ds-nav-link:hover{color:var(--fg-1)}.ds-nav-link[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent-2)}
.ds-footer{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-6);background:var(--surface-inverse);color:var(--neutral-300);font:400 var(--text-sm) var(--font-ui)}.ds-footer-social{display:flex;gap:var(--space-4);color:#fff}
.ds-crumbs{display:flex;align-items:center;gap:8px;font:500 var(--text-sm) var(--font-ui);color:var(--fg-3)}.ds-crumbs a{color:var(--fg-3)}.ds-crumbs a:hover{color:var(--accent)}.ds-crumbs [aria-current]{color:var(--fg-1)}
.ds-post{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.ds-post:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.ds-post-meta{font:400 var(--text-xs) var(--font-mono);color:var(--fg-3)}.ds-post h3{font-size:var(--text-xl);text-transform:uppercase}.ds-post p{margin:0;color:var(--fg-2);font-size:var(--text-sm)}.ds-post-more{display:inline-flex;align-items:center;gap:6px;font:600 var(--text-sm) var(--font-ui);color:var(--accent)}
.ds-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:18px 4px;border-bottom:1px solid var(--border);color:var(--fg-1);text-decoration:none;transition:padding var(--dur) var(--ease),color var(--dur)}.ds-row:hover{padding-left:12px;color:var(--accent);text-decoration:none}.ds-row-title{font:700 var(--text-lg) var(--font-display);text-transform:uppercase}.ds-row-desc{font:400 var(--text-sm) var(--font-body);color:var(--fg-3)}
.ds-avatar{border-radius:50%;object-fit:cover;image-rendering:pixelated;display:block;background:var(--neutral-200)}
.ds-pager{display:flex;gap:6px}.ds-pager button{min-width:40px;height:40px;border-radius:var(--radius-pill);border:1px solid var(--border-strong);background:var(--surface);font:500 var(--text-sm) var(--font-ui);color:var(--fg-1);cursor:pointer}.ds-pager button:hover{border-color:var(--accent);color:var(--accent)}.ds-pager button[aria-current=page]{background:var(--accent);border-color:var(--accent);color:#fff}
