/* HAOLLA Component System v1.0 — opt-in shared UI primitives */

.ds-header-shell{position:sticky;top:0;z-index:var(--ds-z-header);border-bottom:1px solid var(--ds-color-border);background:rgba(7,9,26,.78);backdrop-filter:blur(var(--ds-blur-surface)) saturate(130%)}
.ds-header-inner{min-height:var(--ds-header-height);display:flex;align-items:center;gap:var(--ds-space-5)}
.ds-brand{display:inline-flex;align-items:center;gap:var(--ds-space-3);font:900 var(--ds-text-md)/1 var(--ds-font-sans);letter-spacing:.05em}
.ds-nav{display:flex;align-items:center;gap:var(--ds-space-5);margin-left:auto;min-width:0}
.ds-nav a{font-size:var(--ds-text-sm);color:var(--ds-color-text-subtle);transition:color var(--ds-duration-fast) var(--ds-ease-standard)}
.ds-nav a:focus-visible,.ds-nav a:hover{color:var(--ds-color-text)}
.ds-header-actions{display:flex;align-items:center;gap:var(--ds-space-2)}

.ds-card{border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:var(--ds-color-surface);box-shadow:var(--ds-shadow-1);padding:var(--ds-space-6);min-width:0}
.ds-card--strong{background:var(--ds-color-surface-strong);box-shadow:var(--ds-shadow-2)}

.ds-form{width:min(100%,var(--ds-container-form));display:grid;gap:var(--ds-space-4);min-width:0}
.ds-field{display:grid;gap:var(--ds-space-2);min-width:0}
.ds-field label{font-size:var(--ds-text-sm);font-weight:800;color:var(--ds-color-text)}
.ds-input,.ds-textarea,.ds-select{width:100%;min-height:var(--ds-touch-min);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-md);background:rgba(255,255,255,.035);color:var(--ds-color-text);padding:12px 14px;font:400 16px/1.45 var(--ds-font-sans);outline:none;transition:border-color var(--ds-duration-fast) var(--ds-ease-standard),box-shadow var(--ds-duration-fast) var(--ds-ease-standard),background-color var(--ds-duration-fast) var(--ds-ease-standard)}
.ds-textarea{min-height:132px;resize:vertical}
.ds-input:focus,.ds-textarea:focus,.ds-select:focus{border-color:var(--ds-color-focus);box-shadow:var(--ds-shadow-focus);background:rgba(255,255,255,.05)}
.ds-help{font-size:var(--ds-text-xs);line-height:1.5;color:var(--ds-color-text-muted)}
.ds-form-status{min-height:1.5em;font-size:var(--ds-text-sm);color:var(--ds-color-text-subtle)}

.ds-footer{border-top:1px solid var(--ds-color-border);background:rgba(5,7,20,.72)}
.ds-footer-inner{padding-block:var(--ds-space-12);display:grid;gap:var(--ds-space-8)}
.ds-footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,minmax(0,1fr));gap:var(--ds-space-8);min-width:0}
.ds-footer-col{display:grid;align-content:start;gap:var(--ds-space-3);min-width:0}
.ds-footer-col a,.ds-footer-col p{overflow-wrap:anywhere}

.ds-mobile-dock{position:fixed;left:max(var(--ds-space-3),var(--ds-safe-left));right:max(var(--ds-space-3),var(--ds-safe-right));bottom:max(var(--ds-space-3),var(--ds-safe-bottom));z-index:var(--ds-z-dock);display:none;gap:var(--ds-space-2);padding:var(--ds-space-2);border:1px solid var(--ds-color-border);border-radius:var(--ds-radius-lg);background:rgba(10,14,34,.86);backdrop-filter:blur(var(--ds-blur-surface)) saturate(125%);box-shadow:var(--ds-shadow-2)}
.ds-mobile-dock>*{flex:1;min-width:0}

@media(max-width:900px){.ds-nav{display:none}.ds-header-actions{margin-left:auto}.ds-footer-grid{grid-template-columns:1fr 1fr}.ds-mobile-dock{display:flex}}
@media(max-width:640px){.ds-header-inner{min-height:64px}.ds-footer-grid{grid-template-columns:1fr}.ds-card{padding:var(--ds-space-5)}}
@media(prefers-reduced-motion:reduce){.ds-nav a,.ds-input,.ds-textarea,.ds-select{transition-duration:1ms}}
