/* Component styles — class prefix am- */
.am-icon{display:inline-block;flex:none;background:currentColor;-webkit-mask:var(--am-icon) center/contain no-repeat;mask:var(--am-icon) center/contain no-repeat}
.am-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-h-md);padding:0 12px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-strong);font:var(--type-label);letter-spacing:var(--ls-body);cursor:pointer;text-decoration:none;white-space:nowrap;box-shadow:var(--inset-highlight);transition:background var(--dur-fast) var(--ease-out),border-color var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}
.am-btn:hover{background:var(--surface-hover);border-color:var(--border-strong);color:var(--text-strong)}
.am-btn:active{transform:scale(.97)}
.am-btn:focus-visible{outline:none;box-shadow:var(--ring-focus)}
.am-btn[disabled]{opacity:.4;pointer-events:none}
/* primary = same grey as the default button (no white buttons) */
.am-btn--primary{background:var(--surface-raised);color:var(--text-strong);border-color:var(--border-default);box-shadow:none}
.am-btn--primary:hover{background:var(--surface-hover);color:var(--text-strong);border-color:var(--border-strong)}
.am-btn--ghost{background:transparent;border-color:transparent;box-shadow:none;color:var(--text-muted)}
.am-btn--ghost:hover{background:transparent;border-color:transparent;color:var(--text-strong)}
.am-btn--sm{height:var(--control-h-sm);padding:0 10px;font-size:var(--fs-12);border-radius:var(--radius-sm)}
.am-btn--lg{height:var(--control-h-lg);padding:0 18px;font-size:var(--fs-14)}
.am-btn--block{width:100%}
.am-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-full);border:1px solid transparent;background:transparent;color:var(--text-subtle);cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast),border-color var(--dur-fast)}
.am-iconbtn:hover{color:var(--text-strong);background:var(--surface-hover)}
.am-iconbtn--active{color:var(--text-strong);background:var(--surface-raised);border-color:var(--border-default);box-shadow:var(--inset-highlight)}
.am-iconbtn--outline{border-color:var(--border-default);background:var(--surface-raised);color:var(--text-muted)}
.am-iconbtn--sm{width:28px;height:28px}
.am-tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 7px;border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-strong);font:var(--fw-medium) var(--fs-13)/1 var(--font-sans);vertical-align:middle;white-space:nowrap;box-shadow:var(--inset-highlight)}
.am-badge{display:inline-flex;align-items:center;gap:5px;height:18px;padding:0 6px;border-radius:var(--radius-xs);font:var(--type-overline);letter-spacing:var(--ls-caps);text-transform:uppercase;background:var(--gray-750);color:var(--text-muted)}
.am-badge--solid{background:var(--gray-750);color:var(--text-strong)}
.am-badge--outline{background:transparent;border:1px solid var(--border-strong);color:var(--text-muted)}
.am-badge--live{background:var(--signal-live-dim);color:var(--signal-live)}
.am-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.am-dot--pulse{box-shadow:0 0 0 0 currentColor;animation:am-pulse 2s var(--ease-out) infinite}
@keyframes am-pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.5)}100%{box-shadow:0 0 0 6px rgba(74,222,128,0)}}
.am-field{width:100%;min-height:40px;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-strong);font:var(--fw-regular) var(--fs-14)/1.4 var(--font-sans);outline:none;transition:border-color var(--dur-fast),background var(--dur-fast)}
.am-field::placeholder{color:var(--text-subtle)}
.am-field:hover{border-color:var(--border-strong)}
.am-field:focus{border-color:var(--border-focus);background:var(--surface-raised)}
.am-field--error{border-color:var(--signal-error)}
.am-field[disabled]{opacity:.45}
textarea.am-field{min-height:110px;resize:vertical}
.am-inline{display:flex;align-items:center;gap:4px;padding:4px 4px 4px 0;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--surface-card);transition:border-color var(--dur-fast)}
.am-inline:focus-within{border-color:var(--border-focus)}
.am-inline input{flex:1;min-width:0;border:0;background:transparent;color:var(--text-strong);font:var(--fw-regular) var(--fs-14)/1 var(--font-sans);padding:8px 12px;outline:none}
.am-inline input::placeholder{color:var(--text-subtle)}
.am-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-top:1px solid var(--border-subtle);color:inherit;text-decoration:none;transition:opacity var(--dur-fast)}
.am-row:last-child{border-bottom:1px solid var(--border-subtle)}
.am-row:hover{color:inherit}
.am-row:hover .am-row__title{color:var(--text-muted)}
.am-row__thumb{width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border-default);overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;color:var(--text-muted)}
.am-row__thumb img{width:100%;height:100%;object-fit:cover}
.am-row__title{font:var(--type-h3);color:var(--text-strong);letter-spacing:var(--ls-body);transition:color var(--dur-fast)}
.am-row__sub{font:var(--type-small);color:var(--text-muted);margin-top:2px}
.am-row__meta{margin-left:auto;font:var(--type-meta);color:var(--text-subtle);white-space:nowrap}
.am-sechead{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px}
.am-sechead__title{margin:0;font:var(--type-h2);color:var(--text-strong);letter-spacing:var(--ls-heading)}
.am-sechead__title--sans{font:var(--fw-semibold) var(--fs-15)/1.3 var(--font-sans)}
.am-sechead__lead{margin:6px 0 0;font:var(--type-small);color:var(--text-muted)}
.am-sechead__link{display:inline-flex;align-items:center;gap:4px;font:var(--type-label);font-size:var(--fs-12);color:var(--text-muted);text-decoration:none;white-space:nowrap}
.am-sechead__link:hover{color:var(--text-strong)}
.am-acc{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--surface-card);overflow:hidden;transition:border-color var(--dur-fast)}
.am-acc:hover{border-color:var(--border-strong)}
.am-acc__head{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;background:none;border:0;color:var(--text-strong);font:var(--fw-medium) var(--fs-14)/1.35 var(--font-sans);text-align:left;cursor:pointer}
.am-acc__chev{transition:transform var(--dur-base) var(--ease-out);color:var(--text-muted)}
.am-acc--open .am-acc__chev{transform:rotate(180deg)}
.am-acc__body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-slow) var(--ease-out)}
.am-acc--open .am-acc__body{grid-template-rows:1fr}
.am-acc__inner{overflow:hidden}
.am-acc__inner>div{padding:0 16px 14px;font:var(--type-small);color:var(--text-muted)}
.am-proj{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4px;padding:4px;border-radius:var(--radius-lg);border:1px solid var(--border-default);background:var(--surface-card);box-shadow:var(--inset-highlight);transition:border-color var(--dur-base)}
.am-proj:hover{border-color:var(--border-strong)}
.am-proj__media{position:relative;aspect-ratio:16/10;border-radius:var(--radius-md);overflow:hidden;background:var(--surface-sunken);border:1px solid var(--border-subtle)}
.am-proj__media img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05);transition:filter var(--dur-slow) var(--ease-out),transform var(--dur-slow) var(--ease-out)}
.am-proj:hover .am-proj__media img{filter:grayscale(0);transform:scale(1.02)}
.am-proj__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:var(--type-meta);color:var(--text-subtle);background:repeating-linear-gradient(135deg,transparent 0 10px,rgba(255,255,255,.025) 10px 11px)}
.am-proj__body{display:flex;flex-direction:column;gap:10px;padding:16px 16px 14px}
.am-proj__title{display:flex;align-items:center;gap:8px;margin:0;font:var(--fw-medium) var(--fs-17)/1.25 var(--font-sans);color:var(--text-strong);letter-spacing:var(--ls-heading)}
.am-proj__desc{margin:0;font:var(--type-meta);font-size:var(--fs-13);line-height:1.55;color:var(--text-muted)}
.am-proj__tags{display:flex;flex-wrap:wrap;gap:6px}
.am-proj__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}
.am-proj--stack{grid-template-columns:1fr}
.am-exp{display:grid;grid-template-columns:32px minmax(0,1fr);column-gap:12px}
.am-exp__logo{width:32px;height:32px;border-radius:var(--radius-md);background:var(--surface-raised);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;font:var(--fw-semibold) var(--fs-12)/1 var(--font-sans);color:var(--text-strong);overflow:hidden}
.am-exp__logo img{width:100%;height:100%;object-fit:cover}
.am-exp__org{display:flex;align-items:center;gap:8px;min-height:32px;font:var(--fw-medium) var(--fs-15)/1.2 var(--font-sans);color:var(--text-strong)}
.am-exp__roles{grid-column:1/-1;margin-left:15px;padding-left:25px;border-left:1px solid var(--border-default)}
.am-exp__role{position:relative;padding:12px 0 4px}
.am-exp__role::before{content:"";position:absolute;left:-26px;top:0;width:18px;height:22px;border-left:1px solid var(--border-default);border-bottom:1px solid var(--border-default);border-bottom-left-radius:8px}
.am-exp__rolehead{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;background:none;border:0;padding:0;color:var(--text-strong);font:var(--fw-medium) var(--fs-14)/1.3 var(--font-sans);cursor:pointer;text-align:left}
.am-exp__meta{margin-top:4px;font:var(--type-small);font-size:var(--fs-12);color:var(--text-subtle)}
.am-exp__detail{margin:10px 0 4px;font:var(--type-small);color:var(--text-muted)}
.am-dock{display:inline-flex;flex-direction:column;gap:4px;padding:6px;border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--surface-overlay);-webkit-backdrop-filter:var(--blur-glass);backdrop-filter:var(--blur-glass);box-shadow:var(--shadow-md)}
.am-dock--h{flex-direction:row}
.am-dock__item{position:relative}
.am-dock__tip{position:absolute;left:calc(100% + 10px);top:50%;transform:translateY(-50%) translateX(-4px);padding:5px 8px;border-radius:var(--radius-sm);background:var(--surface-inverse);color:var(--text-inverse);font:var(--type-label);font-size:var(--fs-12);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--dur-fast),transform var(--dur-fast) var(--ease-out)}
.am-dock--h .am-dock__tip{left:50%;top:auto;bottom:calc(100% + 10px);transform:translateX(-50%) translateY(4px)}
.am-dock__item:hover .am-dock__tip{opacity:1;transform:translateY(-50%) translateX(0)}
.am-dock--h .am-dock__item:hover .am-dock__tip{transform:translateX(-50%) translateY(0)}
.am-hl{background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:0 8px;color:var(--text-strong);box-shadow:var(--inset-highlight)}
