/* The editor has its own system-font interface; the public site keeps its design. */
.hm-toolbar,.hm-dialog,.hm-toast,.hm-card-controls,.hm-add-card{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:normal}
.hm-toolbar[hidden],.hm-toast[hidden]{display:none}
.hm-toolbar{position:sticky;top:12px;z-index:20;margin:0 auto;max-width:1100px;width:calc(100% - 32px);border:1px solid #fff9;border-radius:20px;background:#f7f7f9eb;backdrop-filter:blur(24px);box-shadow:0 8px 36px #1b273514;color:#1d1d1f;scroll-margin-top:12px}
.hm-toolbar-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 20px}
.hm-mode-title{display:flex;align-items:center;gap:12px}.hm-mode-title strong{font-size:15px;font-weight:650}.hm-mode-title span:not(.hm-mode-dot){display:block;color:#6e6e73;font-size:12px;margin-top:3px}
.hm-mode-dot{width:9px;height:9px;border-radius:50%;background:#30b666;box-shadow:0 0 0 5px #30b66615;flex-shrink:0}
.hm-toolbar-actions{display:flex;align-items:center;gap:8px}
.hm-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 16px;border:0;border-radius:11px;font:600 13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s,box-shadow .15s}
.hm-button:disabled{opacity:.5;cursor:wait}.hm-primary{background:#007aff;color:#fff}.hm-primary:hover{background:#0066db;color:#fff}
.hm-secondary{background:#e9e9ed;color:#1d1d1f}.hm-secondary:hover{background:#dcdce2;color:#1d1d1f}.hm-quiet{background:transparent;color:#6e6e73}.hm-quiet:hover{background:#e9e9ed;color:#1d1d1f}
.hm-danger{background:#ff3b30;color:#fff}.hm-danger:hover{background:#dc2c23;color:#fff}
.hm-dialog{padding:0;border:1px solid #ffffffd9;border-radius:26px;color:#1d1d1f;background:#f5f5f7;box-shadow:0 28px 100px #0003;max-height:90dvh;max-width:calc(100vw - 24px);overscroll-behavior:contain;color-scheme:only light}
.hm-dialog::backdrop{background:#1b1c244d;backdrop-filter:blur(10px)}
.hm-dialog h2{font-family:inherit;font-size:26px;letter-spacing:-.8px;margin:6px 0;line-height:1.2;font-weight:650}
.hm-dialog button:focus-visible,.hm-toolbar button:focus-visible,.hm-card-controls button:focus-visible,.hm-add-card:focus-visible,.hm-toast button:focus-visible{outline:3px solid #007aff80;outline-offset:3px}
.hm-close{display:grid;place-items:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#e5e5ea;color:#74747b;font:400 24px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;flex-shrink:0}.hm-close:hover{background:#d9d9df;color:#1d1d1f}
.hm-login{width:420px;padding:36px}.hm-login>.hm-close{position:absolute;right:16px;top:16px}.hm-login-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:17px;color:#007aff;background:#e5efff;font-size:32px;margin:4px 0 24px}
.hm-login>p{font-size:14px;line-height:1.6;color:#6e6e73;margin-bottom:28px}
.hm-dialog label{display:block;font-size:12px;font-weight:600;color:#56565d;margin:17px 0 7px}.hm-dialog label span{float:right;font-weight:400;color:#8e8e93}
.hm-dialog input,.hm-dialog textarea{display:block;box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #dedee3;border-radius:10px;background:#fff;color:#1d1d1f;font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 1px 2px #00000003}
.hm-dialog input::placeholder,.hm-dialog textarea::placeholder{color:#9a9aa2}.hm-dialog textarea{resize:vertical;min-height:86px}.hm-dialog input:focus,.hm-dialog textarea:focus{outline:3px solid #007aff20;border-color:#007aff}
.hm-login-submit{width:100%;margin-top:12px;justify-content:space-between;min-height:44px;font-size:14px}
.hm-form-status{font-size:12px;line-height:1.5;color:#a83930;margin:10px 0 0;overflow-wrap:anywhere}.hm-form-status:empty{display:none}
.hm-editor{width:900px}.hm-editor-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 30px 22px;border-bottom:1px solid #e4e4e9;background:#fafafc}
.hm-overline{font-size:10px;letter-spacing:1.5px;font-weight:650;color:#8a8a93}.hm-editor-body{display:grid;grid-template-columns:1.15fr .85fr;gap:36px;padding:12px 30px 30px}.hm-fields{min-width:0}
.hm-name-fields{display:grid;grid-template-columns:72px 1fr;gap:12px}.hm-name-fields input[name=icon]{text-align:center;font-size:22px;padding:7px;min-height:47px}
.hm-preview{padding-top:23px;min-width:0}.hm-preview-card{background:white;border:1px solid #e8e8ed;border-radius:18px;overflow:hidden;margin-top:14px;box-shadow:0 5px 20px #00000004}
.hm-preview-icon{background:#e4e9cf;min-height:172px;display:grid;place-items:center;font-size:65px}.hm-preview-copy{padding:22px;overflow-wrap:anywhere}.hm-preview-copy>span:first-child{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#85858e}
.hm-preview-copy h3{font-size:23px;letter-spacing:-.7px;margin:12px 0;line-height:1.2}.hm-preview-copy p{font-size:13px;line-height:1.6;color:#6e6e73;margin:0}.hm-preview-notes{display:block;border-top:1px solid #ececf0;margin-top:18px;padding-top:14px;font-size:11px;font-weight:600}.hm-preview-notes[hidden]{display:none}
.hm-preview-help{font-size:11px;line-height:1.6;color:#8a8a93;padding:0 8px}
.hm-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 30px;margin:0;background:#fafafc;border-top:1px solid #e4e4e9}.hm-editor-footer>div{display:flex;gap:8px;margin-left:auto}.hm-editor-footer .hm-form-status{margin:0}
.admin-mode .projects-head{padding-top:42px}.admin-mode .projects-grid{gap:24px}.admin-mode .project:nth-child(even){transform:none}.admin-mode .project{box-shadow:0 3px 14px #1d1d1f07;transition:box-shadow .2s}.admin-mode .project:hover{box-shadow:0 8px 28px #1d1d1f12}
.hm-card-controls{display:flex;justify-content:space-between;gap:10px;align-items:center;background:#fafafc;border-top:1px solid #e8e8ed;padding:14px 18px}
.hm-card-edit{background:#e7f0ff;color:#007aff}.hm-card-edit:hover{background:#d9e8ff;color:#0064d1}.hm-card-remove{color:#d93830;background:transparent}.hm-card-remove:hover{background:#ffe9e7;color:#bf2c25}
.hm-add-card{border:1.5px dashed #b8b8c2;border-radius:20px;min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#ffffff80;color:#74747e;cursor:pointer;text-align:center;padding:25px;font-weight:400}
.hm-add-card:hover{background:#eef4ff;border-color:#007aff;color:#007aff}.hm-add-symbol{font-size:30px;background:#ededf1;border-radius:50%;width:54px;height:54px;display:grid;place-items:center;margin-bottom:6px}.hm-add-card strong{font-size:18px;color:#1d1d1f;letter-spacing:-.4px}.hm-add-card>span:last-child{font-size:13px}
.hm-removal{width:390px;padding:30px;text-align:center}.hm-remove-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:#ffe7e5;color:#ff3b30;font-size:36px;margin:0 auto 20px}.hm-removal h2{font-size:23px}.hm-removal>p{font-size:14px;line-height:1.6;color:#6e6e73;overflow-wrap:anywhere}.hm-remove-actions{display:flex;gap:8px;margin-top:24px}.hm-remove-actions button{flex:1}
.hm-toast{position:fixed;z-index:100;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:18px;max-width:calc(100% - 24px);padding:14px 16px 14px 22px;border:1px solid #ffffff30;background:#242429ed;backdrop-filter:blur(20px);color:#fff;border-radius:16px;box-shadow:0 10px 40px #0002;font-size:13px}
.hm-toast-undo,.hm-toast-close{padding:4px;border:0;background:none;color:#82b7ff;font:600 13px -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;border-radius:5px}.hm-toast-close{font-size:21px;color:#b4b4bd}.hm-toast button:hover{background:#ffffff15;color:white}.hm-toast-undo[hidden]{display:none}
@media(max-width:650px){.hm-toolbar{top:6px;width:calc(100% - 16px);border-radius:16px}.hm-toolbar-inner{flex-wrap:wrap;padding:14px;gap:12px}.hm-toolbar-actions{width:100%;gap:6px}.hm-toolbar-actions .hm-primary{flex:1}.hm-toolbar-actions button{padding-inline:12px}.hm-editor-body{grid-template-columns:1fr;padding:6px 20px 20px;gap:0}.hm-preview{display:none}.hm-editor-header{padding:22px 20px 18px}.hm-editor-footer{padding:16px 20px;flex-wrap:wrap;gap:10px}.hm-login{padding:30px 24px}.hm-dialog{max-height:94dvh;border-radius:22px}.hm-toast{bottom:12px;width:calc(100% - 24px);gap:12px}.hm-card-controls{padding:12px}.hm-card-controls .hm-button{font-size:12px}.hm-removal{padding:26px 22px}}
@media(prefers-reduced-motion:reduce){.hm-button,.admin-mode .project{transition:none}}

/* HamLab v1: quiet surfaces, semantic themes, and full-size touch targets. */
.hm-toolbar{background:var(--surface);color:var(--text);border-color:var(--border);border-radius:16px;backdrop-filter:none;box-shadow:0 4px 14px #00000008;top:8px;margin-top:16px;scroll-margin-top:8px;flex:none}
.hm-mode-title span:not(.hm-mode-dot){color:var(--text-muted)}.hm-mode-dot{background:var(--action);box-shadow:none}
.hm-button{min-height:44px;min-width:44px;border-radius:10px}.hm-primary{background:var(--action);color:var(--action-text)}.hm-primary:hover{background:var(--action);color:var(--action-text);filter:brightness(.95)}.hm-secondary,.hm-close{background:var(--surface-muted);color:var(--text)}.hm-secondary:hover,.hm-close:hover{background:var(--tile-green);color:var(--tile-green-text)}.hm-quiet{color:var(--text-muted)}.hm-quiet:hover{background:var(--surface-muted);color:var(--text)}
.hm-dialog{border-radius:20px;background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 16px 64px #0002;color-scheme:inherit}.hm-dialog::backdrop{background:#10181580;backdrop-filter:none}
.hm-close{width:44px;height:44px}.hm-login>p,.hm-preview-help,.hm-preview-copy p,.hm-removal>p{color:var(--text-muted)}.hm-login-icon{background:var(--tile-green);color:var(--tile-green-text);border-radius:14px}.hm-dialog label{color:var(--text)}.hm-dialog label span{color:var(--text-muted)}
.hm-dialog input,.hm-dialog textarea{background:var(--bg);color:var(--text);border-color:var(--text-muted);min-height:44px;box-shadow:none}.hm-dialog input::placeholder,.hm-dialog textarea::placeholder{color:var(--text-muted)}.hm-dialog input:focus,.hm-dialog textarea:focus{outline:3px solid var(--focus);outline-offset:2px;border-color:var(--focus)}
.hm-editor-header,.hm-editor-footer{background:var(--surface-muted);border-color:var(--border)}.hm-overline{color:var(--text-muted)}.hm-preview-card{background:var(--surface);border-color:var(--border);box-shadow:none}.hm-preview-icon{background:var(--tile-green)}.hm-preview-copy>span:first-child{color:var(--text-muted)}.hm-preview-notes{border-color:var(--border)}
.hm-form-status{color:#b12822}@media(prefers-color-scheme:dark){.hm-form-status{color:#ffa69c}.hm-card-remove{color:#ffa69c}.hm-danger{background:#ffa69c;color:#431711}.hm-danger:hover{background:#f18c82;color:#431711}}
.hm-card-edit{background:var(--tile-green);color:var(--tile-green-text)}.hm-card-edit:hover{background:var(--tile-green);color:var(--tile-green-text);filter:brightness(.95)}
.admin-mode .projects-head{padding-top:0}.admin-mode .project{box-shadow:none;border-radius:0}.admin-mode .project:hover{box-shadow:none}.hm-card-controls{padding:8px 0 0;border:0;background:transparent;justify-content:flex-start}.hm-add-card{background:var(--surface-muted);color:var(--text-muted);border-color:var(--text-muted);min-height:100px;width:100%;margin-top:24px;border-radius:14px;gap:8px}.hm-add-card:hover{background:var(--tile-green);color:var(--tile-green-text);border-color:var(--focus)}.hm-add-card strong{color:var(--text)}.hm-add-symbol{display:none}
.hm-dialog button:focus-visible,.hm-toolbar button:focus-visible,.hm-card-controls button:focus-visible,.hm-add-card:focus-visible,.hm-toast button:focus-visible{outline-color:var(--focus)}.hm-toast-undo,.hm-toast-close{min-width:44px;min-height:44px}.hm-toast{backdrop-filter:none;padding-block:6px}
@media(max-width:650px){.hm-dialog{border-radius:18px}.hm-toolbar{position:relative;top:auto}.hm-toolbar-actions{flex-wrap:wrap}}
:root{--danger:#b12822;--danger-text:#fff}
@media(prefers-color-scheme:dark){:root:not([data-theme='light']){--danger:#ffa69c;--danger-text:#431711}}
:root[data-theme='dark']{--danger:#ffa69c;--danger-text:#431711}
.hm-form-status,.hm-card-remove{color:var(--danger)}.hm-danger,.hm-danger:hover{background:var(--danger);color:var(--danger-text)}.hm-card-remove:hover{background:var(--tile-pink);color:var(--tile-pink-text)}.hm-remove-icon{background:var(--tile-pink);color:var(--tile-pink-text)}
