/* Native music layout: one page title, a compact player, three stable destinations. */
:root {
  --page:#f5f8f6; --surface:#fff; --ink:#1d3028; --muted:#596c60;
  --line:#e5ede8; --accent:#14785b; --accent-soft:#e1f2e9; --music-green:#167d60;
  --nav-height:76px; --mini-height:72px;
  font-family:Roboto,-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--page); color:var(--ink);
}
body { background:var(--page); }
::selection { background:#c2e7d5; color:#163f2e; }
input,textarea { caret-color:var(--accent); }
* { scrollbar-color:#bccdc3 transparent; scrollbar-width:thin; }
.app-shell,.app-shell.sidebar-collapsed { display:block; min-height:100dvh; }
.main-shell { min-width:0; margin:0; }
.workspace-header { position:sticky; top:0; z-index:10; height:auto; min-height:72px; padding:22px max(28px,calc((100% - 1064px)/2)); background:var(--page); border:0; }
.workspace-header h1 { font-size:28px; line-height:1.25; font-weight:650; letter-spacing:0; }
#main-content,.has-player #main-content { width:100%; max-width:1120px; margin:0 auto; padding:8px 28px calc(var(--nav-height) + 32px + env(safe-area-inset-bottom)); }
.has-player #main-content { padding-bottom:calc(var(--nav-height) + var(--mini-height) + 32px + env(safe-area-inset-bottom)); }
.app-shell[data-page=create] #main-content { padding-bottom:calc(var(--nav-height) + 32px + env(safe-area-inset-bottom)); }
.button,.icon-button,.text-button,input,textarea,select { min-height:48px; font-size:15px; }
.icon-button { min-width:48px; padding:12px; border-radius:50%; }
.icon { width:22px; height:22px; flex:none; fill:currentColor; stroke:none; }
.button { border-radius:24px; padding:12px 20px; gap:8px; font-weight:550; box-shadow:none; }
.button.primary { background:var(--music-green); border-color:var(--music-green); color:#fff; }
.button.primary:hover:not(:disabled) { background:#10684f; border-color:#10684f; }
.button:active:not(:disabled),.icon-button:active:not(:disabled) { filter:brightness(.95); }
.button.outline { background:var(--surface); border-color:#d6e1da; }
.button.danger { background:#a32f36; border-color:#a32f36; color:#fff; }
.text-button { padding:10px 12px; color:var(--accent); font-weight:500; }
input,textarea,select { border:1px solid #d8e1dc; border-radius:12px; background:var(--surface); padding:12px 14px; font-size:16px; box-shadow:none; }
input:focus,textarea:focus,select:focus { border-color:var(--accent); }
input::placeholder,textarea::placeholder { color:#69776f; }
.field { font-size:14px; gap:9px; margin-bottom:20px; }
.muted,.small,.form-help,.editor-meta,.status-pill { color:var(--muted); }
.form-help { font-size:13px; line-height:1.7; margin:12px 0 0; text-align:left; }
.error-text { font-size:14px; margin:12px 0; }
.bottom-nav { position:fixed; inset:auto 0 0; z-index:30; display:flex; justify-content:center; gap:clamp(20px,8vw,140px); height:calc(var(--nav-height) + env(safe-area-inset-bottom)); padding:5px 16px calc(5px + env(safe-area-inset-bottom)); background:var(--surface); border-top:1px solid var(--line); }
.bottom-nav .nav-item { display:flex; flex-direction:column; justify-content:center; gap:3px; width:min(160px,30%); min-height:64px; padding:4px 8px; border:0; border-radius:16px; background:transparent; color:var(--muted); text-align:center; font-size:12px; line-height:18px; font-weight:500; }
.bottom-nav .nav-icon { display:grid; place-items:center; width:56px; height:32px; border-radius:20px; transition:background-color 160ms ease-out,color 160ms ease-out; }
.bottom-nav .nav-item .icon { width:23px; height:23px; }
.bottom-nav .nav-item.active { color:var(--accent); background:transparent; font-weight:650; }
.bottom-nav .nav-item.active .nav-icon { background:#d9eee2; }
.bottom-nav .nav-item:hover:not(.active) { background:#f1f5f2; }
.creation-tabs { display:flex; gap:28px; margin:0 0 28px; border:0; }
.creation-tabs button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:8px 0; border:0; border-bottom:3px solid transparent; border-radius:0; font-size:20px; background:transparent; color:var(--muted); }
.creation-tabs button.active { color:var(--ink); border-bottom-color:var(--accent); font-weight:650; }
.creation-tabs button .icon { width:22px; height:22px; }
.song-panel,#workbench { max-width:720px; margin:0 auto; }
#song-form { display:block; padding:0; }
.song-upload { display:flex; flex-direction:column; align-items:center; padding:36px 22px 28px; gap:18px; border:1px solid #deebe3; border-radius:24px; background:var(--surface); text-align:center; margin-bottom:28px; }
.upload-symbol { position:relative; display:grid; place-items:center; width:88px; height:88px; border-radius:28px; margin:0 0 2px; background:#e1f2e9; color:var(--accent); }
.upload-symbol>.icon { width:44px; height:44px; }
.upload-badge { position:absolute; right:-7px; bottom:-4px; display:grid; place-items:center; width:32px; height:32px; border:3px solid var(--surface); border-radius:50%; background:var(--accent); color:white; }
.upload-badge .icon { width:17px; height:17px; }
.upload-title { font-size:21px; font-weight:600; color:var(--ink); }
.song-upload input { width:100%; max-width:440px; min-width:0; background:var(--surface); padding:8px; border-radius:14px; font-size:14px; }
.song-upload input::file-selector-button { min-height:40px; border:0; border-radius:9px; padding:8px 12px; margin-right:10px; background:var(--accent-soft); color:var(--ink); font:inherit; cursor:pointer; }
.song-upload .muted { font-size:13px; line-height:1.8; }
#song-form select { max-width:none; width:100%; }
#song-submit { width:100%; min-height:52px; }
.reading-sources { display:grid; grid-template-columns:1fr 1fr; padding:4px; gap:4px; margin:0 0 28px; background:#e9eeeb; border-radius:28px; }
.reading-sources button { display:flex; align-items:center; justify-content:center; gap:7px; min-height:48px; border:0; border-radius:24px; padding:10px 12px; background:transparent; color:var(--muted); font-size:15px; font-weight:500; }
.reading-sources .icon { width:18px; height:18px; }
.reading-sources button.active { background:var(--surface); color:var(--accent); font-weight:650; }
.reading-settings { display:grid; grid-template-columns:minmax(0,1fr) 120px; align-items:start; gap:24px; margin-bottom:28px; }
.voice-picker { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; min-width:0; }
.voice-picker legend { font-size:14px; margin-bottom:9px; }
.voice-picker label { display:flex; align-items:center; justify-content:center; gap:8px; min-width:0; min-height:48px; margin:0; padding:10px; border:1px solid #d8e1dc; border-radius:12px; background:var(--surface); font-size:15px; }
.voice-picker input { position:static; opacity:1; width:16px; height:16px; min-height:0; margin:0; transform:none; accent-color:var(--accent); }
.voice-picker label:has(input:checked) { border-color:#57b88a; background:var(--accent-soft); }
.voice-picker .icon { width:18px; height:18px; color:var(--accent); }
.reading-language { margin:0; }
#compose-pane { max-width:none; margin:0 0 28px; padding:0; }
#topic { min-height:128px; font-size:16px; }
.inspiration-chips { display:flex; flex-wrap:wrap; gap:8px; margin:4px 0 20px; }
.inspiration-chips button { min-height:40px; padding:8px 13px; border:1px solid #dce6df; border-radius:20px; font-size:13px; color:var(--muted); background:var(--surface); }
#compose-form #length { width:100%; }
.preview-card,.has-player .preview-card { position:static; height:auto; min-height:0; border:1px solid var(--line); border-radius:20px; overflow:hidden; background:var(--surface); box-shadow:none; }
.preview-card #preview-editor { display:block; height:auto; }
.paper-toolbar { min-height:56px; padding:12px 20px; border-bottom:1px solid #eef1ef; background:transparent; }
.paper-toolbar .paper-label { color:var(--ink); font-size:16px; font-weight:600; }
.status-pill { font-size:12px; background:transparent; padding:0; }
.status-pill:before { display:none; }
.paper-content { padding:20px 20px 0; }
.title-field { margin:0 0 16px; padding-bottom:0; border-bottom:0; }
.title-field input { width:100%; min-height:44px; padding:0 0 12px; border:0; border-bottom:1px solid #edf0ee; border-radius:0; background:transparent; font-size:20px; font-weight:550; box-shadow:none; }
.body-field { margin:0; }
#draft-text,.has-player .body-field textarea { width:100%; height:auto; min-height:260px; max-height:none; padding:0; border:0; border-radius:0; background:transparent; font-size:16px; line-height:1.9; resize:vertical; }
.editor-meta { display:flex; justify-content:space-between; gap:12px; margin:16px 0 0; padding:0; font-size:12px; }
.paper-bottom { padding:18px 20px 20px; background:transparent; }
.editor-actions { display:flex; gap:10px; padding:0; margin:0; }
.editor-actions .button { min-height:48px; font-size:14px; }
#save-draft { min-width:76px; }
#render-button { flex:1; }
.revision-box { margin:20px 0; padding:0; border:0; }
.revision-box summary { min-height:48px; padding:12px 0; cursor:pointer; font-size:14px; color:var(--accent); }
.revision-box textarea { margin-top:12px; font-size:16px; }
.revision-box .button { min-height:48px; }
.music-library-heading { margin:0 0 20px!important; border:0; min-height:48px; }
.voice-tabs { display:flex; gap:8px; }
.voice-tabs button { min-height:44px; padding:9px 20px; border:0; border-radius:24px; color:var(--muted); background:transparent; font-size:15px; }
.voice-tabs button.active { background:var(--accent-soft); color:var(--accent); border:0; font-weight:650; }
#works-count { font-size:12px; }
.library-tools { display:grid; grid-template-columns:minmax(0,1fr) auto auto 48px; align-items:center; gap:12px; margin-bottom:24px; }
.library-tools .search-field { width:auto; min-width:0; margin:0; }
.library-tools input { min-height:48px; background:#e9eeeb; border:1px solid transparent; border-radius:24px; padding-left:44px; font-size:15px; }
.library-tools .search-field .icon { width:19px; height:19px; left:16px; }
#play-all { min-height:48px; padding:12px 20px; border-radius:24px; font-size:14px; }
.library-tools select { min-height:48px; border:0; background:transparent; font-size:14px; color:var(--muted); }
#refresh-works { min-width:48px; min-height:48px; padding:12px; }
#refresh-works .icon { width:21px; height:21px; }
.library-column-head,.work-row { display:grid; grid-template-columns:52px minmax(0,1fr) 64px 52px 96px; align-items:center; gap:16px; }
.library-column-head { width:100%; justify-content:normal; padding:0 0 14px; font-size:12px; }
.library-column-head span:nth-child(2) { grid-column:2; }
.library-column-head span:nth-child(3) { grid-column:3; }
.library-column-head span:nth-child(4) { grid-column:4; }
.library-column-head span:last-child { grid-column:5; padding:0; }
.work-list { background:transparent; border:0; border-radius:0; }
.work-row,.work-row:nth-child(even) { min-height:84px; padding:14px 0; border:0!important; border-bottom:1px solid #e8eeea!important; border-radius:0; background:transparent; }
.work-row:hover { background:#edf3ef; }
.work-row.current { background:#e9f5ed; border-radius:12px; box-shadow:none; }
.work-art,.work-art.father,.work-art.mother,.work-art.unknown { display:grid; place-items:center; width:52px; height:52px; align-self:center; padding:0; border:0; border-radius:16px; background:#dcefe5; color:#2b7550; font-size:19px; font-weight:550; }
.work-art.mother { background:#f2e7ec; color:#87566e; }
.work-art.unknown { background:#e4e9ef; color:#4e657a; }
.work-art,.player-cover,.full-player-cover { position:relative; }
.work-art>.icon,.player-cover>.icon,.full-player-cover>.icon { width:56%; height:56%; }
.art-voice { position:absolute; right:-3px; bottom:-2px; display:grid; place-items:center; width:20px; height:20px; border:2px solid var(--page); border-radius:50%; background:#2b7550; color:white; font-size:10px; font-weight:600; line-height:1; }
[data-voice=mother] .art-voice { background:#87566e; }
.player-cover[data-voice=mother],.full-player-cover[data-voice=mother] { background:#f2e7ec; color:#87566e; }
.work-copy { min-width:0; }
.work-copy h3 { font-size:16px; line-height:1.5; font-weight:550; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.work-meta { font-size:12px; margin-top:5px; }
.work-mobile-meta { display:none; font-size:12px; line-height:1.6; margin:5px 0 0; color:var(--muted); }
.work-voice,.work-duration { color:var(--muted); font-size:13px; }
.work-actions { display:flex; gap:0; align-items:center; justify-content:flex-end; padding:0; margin:0; border:0; flex-wrap:nowrap; }
.work-actions .button.work-play { flex:none; min-width:48px; width:48px; min-height:48px; margin:0; padding:12px; border:0; border-radius:50%; background:transparent; color:var(--accent); font-size:0; }
.work-actions .work-play .icon { width:22px; height:22px; }
.work-actions .work-more { color:var(--muted); }
.jobs-section { margin:0 0 24px; padding:16px; border:0; border-radius:16px; background:var(--surface); }
.jobs-section h2 { font-size:15px; }
.job-row { background:transparent; border-radius:0; padding:12px 0; }
.job-row p { font-size:13px; }
.profile-grid { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr); gap:24px; align-items:start; }
.profile-grid>.card { padding:24px; border:0; border-radius:20px; background:var(--surface); box-shadow:none; }
.profile-identity { display:flex; gap:20px; align-items:center; margin:0 0 24px; }
.profile-identity h2 { font-size:23px; font-weight:650; }
.family-avatar,.family-avatar img,.family-avatar .large-avatar { width:80px; height:80px; flex:none; border-radius:20px; }
.family-avatar img { object-fit:cover; }
.identity-card #logout { display:block; margin:16px auto 0; color:var(--muted); }
.card>.section-heading { margin-bottom:8px; border:0; }
.card h2 { font-size:18px; }
.service-row { display:grid; grid-template-columns:40px minmax(0,1fr) auto; gap:5px 12px; padding:18px 0; }
.service-icon { grid-column:1; grid-row:1/3; display:grid; place-items:center; width:40px; height:40px; border-radius:13px; background:#eef5f0; color:var(--accent); }
.service-icon .icon { width:21px; height:21px; }
.service-row+.service-row { border-top:1px solid #edf1ee; }
.service-name { grid-column:2; font-size:14px; font-weight:550; overflow-wrap:anywhere; }
.service-purpose { grid-column:2/-1; text-align:left; font-size:12px; }
.service-label { grid-column:3; font-size:11px; padding:4px 7px; border-radius:8px; background:var(--accent-soft); color:var(--accent); }
.service-label.off { background:#f2f3f1; color:#68756d; }
.settings-card { grid-column:1/-1; }
.player,.sidebar-collapsed .player { position:fixed; inset:auto 0 calc(var(--nav-height) + env(safe-area-inset-bottom)); z-index:25; display:flex; align-items:center; gap:4px; min-height:var(--mini-height); height:var(--mini-height); padding:8px max(16px,calc((100% - 1064px)/2)); border:0; border-top:1px solid var(--line); border-radius:0; background:var(--surface); box-shadow:0 -4px 16px #152b1e05; }
.player-summary { flex:1; display:flex; align-items:center; gap:12px; min-width:0; min-height:56px; padding:0 12px 0 0; border:0; background:transparent; text-align:left; }
.player-cover { flex:none; display:grid; place-items:center; width:44px; height:44px; border-radius:12px; background:#dcefe5; color:var(--accent); font-size:18px; }
.player-info { display:flex; flex-direction:column; min-width:0; }
.player-info strong { display:block; max-width:none; font-size:14px; font-weight:550; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.player-info #player-meta { display:block; font-size:12px; line-height:1.5; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.player-info .player-queue { display:none; }
.player>.main-play,.player>#queue-toggle { display:grid; place-items:center; width:48px; height:48px; min-height:48px; padding:12px; background:transparent; color:var(--ink); }
.player>.main-play { background:var(--accent); color:#fff; border-radius:50%; padding:14px; }
.player-cover .art-voice { width:17px; height:17px; font-size:9px; border-color:var(--surface); }
.app-shell[data-page=create] .player { display:none; }
dialog { max-width:min(560px,calc(100vw - 32px)); max-height:88dvh; border:0; border-radius:24px; background:var(--surface); box-shadow:0 12px 40px #122c2020; }
dialog::backdrop { background:#101d17a3; }
.dialog-content { padding:26px; }
.dialog-content h2 { font-size:21px; }
.dialog-actions { flex-wrap:wrap; gap:10px; }
.confirm-text,.detail-text { font-size:16px; line-height:1.9; }
.check-label { font-size:14px; }
.queue-panel { position:fixed; inset:auto 0 0; margin:0 auto; width:min(600px,100vw); max-width:none; max-height:78dvh; padding:12px 0 max(16px,env(safe-area-inset-bottom)); border:0; border-radius:28px 28px 0 0; overflow:hidden; }
.queue-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:8px 20px 0; border:0; }
.queue-heading h2 { font-size:21px; font-weight:600; }
.queue-heading h2 span { color:var(--muted); font-size:13px; font-weight:400; margin-left:6px; }
.queue-mode { font-size:13px; color:var(--muted); margin:4px 24px 12px; }
#queue-list { list-style:none; max-height:calc(78dvh - 130px); overflow:auto; padding:0; margin:0; }
.queue-item { display:grid; grid-template-columns:24px minmax(0,1fr) 32px; align-items:center; gap:12px; width:100%; min-height:64px; padding:16px 24px; background:transparent; border:0; border-radius:0; color:var(--ink); text-align:left; font-size:15px; }
.queue-item.current { color:var(--accent); background:var(--accent-soft); }
.queue-item:hover { background:#eff6f2; }
.queue-title { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.queue-number,.queue-item small { color:var(--muted); font-size:12px; }
.player-dialog { position:fixed; inset:auto 0 0; margin:0 auto; width:min(600px,100vw); max-width:none; max-height:92dvh; padding:16px 24px max(24px,env(safe-area-inset-bottom)); border-radius:28px 28px 0 0; overflow-y:auto; }
.sheet-heading { display:flex; align-items:center; justify-content:space-between; margin:0 0 16px; color:var(--muted); font-size:14px; }
.full-player-cover { display:grid; place-items:center; width:148px; height:148px; border-radius:32px; margin:0 auto 24px; background:#dfefe6; color:#26724e; font-size:40px; font-weight:500; }
.full-player-cover .art-voice { width:32px; height:32px; border-width:3px; border-color:var(--surface); font-size:16px; }
#full-player-title { font-size:22px; text-align:center; line-height:1.5; }
#full-player-meta { text-align:center; font-size:13px; margin:8px 0 16px; }
.player-transport { display:block; }
.playback-timeline { display:flex; align-items:center; gap:10px; width:100%; max-width:none; }
.playback-timeline span { flex:none; min-width:32px; font-size:12px; font-variant-numeric:tabular-nums; color:var(--muted); }
#playback-position { flex:1; width:0; min-width:0; min-height:48px; height:48px; padding:0; border:0; background:transparent; accent-color:var(--accent); }
.transport-buttons { display:flex; align-items:center; justify-content:center; gap:30px; margin:6px 0 18px; }
.transport-buttons .icon-button { width:56px; height:56px; padding:16px; }
.transport-buttons .main-play { display:grid; place-items:center; width:64px; height:64px; padding:18px; margin:0; border-radius:50%; background:var(--music-green); color:#fff; }
.transport-buttons .main-play .icon { width:26px; height:26px; }
.player-actions { display:flex; justify-content:center; flex-wrap:wrap; gap:2px; }
.player-actions .text-button { font-size:13px; min-width:48px; min-height:48px; }
.player-actions #skip-back,.player-actions #skip-forward,.player-actions #loop-button,.player-actions #player-download,.player-actions #close-player { display:inline-flex; }
.volume-control { display:flex; align-items:center; gap:8px; width:100%; justify-content:center; margin-bottom:8px; }
#audio-volume { width:130px; min-height:40px; padding:0; accent-color:var(--accent); }
.keyboard-toolbar { position:fixed; inset:auto 0 var(--keyboard-inset,0px); display:flex; justify-content:flex-end; z-index:90; min-height:48px; padding:0 12px; background:var(--surface); border-top:1px solid var(--line); }
.keyboard-toolbar .text-button { display:flex; gap:6px; align-items:center; font-size:14px; }
.keyboard-editing #bottom-nav,.keyboard-editing #player { display:none; }
.keyboard-editing #main-content { padding-bottom:76px; }
.toast { top:16px; bottom:auto; z-index:120; border-radius:14px; font-size:14px; }
.auth-card { border-radius:24px; box-shadow:none; border-color:var(--line); }
@media(max-width:760px) {
  .workspace-header { min-height:68px; padding:22px 20px 16px; }
  .workspace-header h1 { font-size:25px; }
  #main-content,.has-player #main-content { padding-left:20px; padding-right:20px; }
  .bottom-nav { justify-content:space-around; gap:0; padding-left:12px; padding-right:12px; }
  .bottom-nav .nav-item { width:32%; }
  .creation-tabs { margin-bottom:24px; }
  .song-upload { padding:30px 18px 24px; }
  .reading-settings { grid-template-columns:minmax(0,1fr) 100px; gap:14px; margin-bottom:24px; }
  .voice-picker { gap:8px; }
  .voice-picker label { gap:6px; padding:10px 8px; }
  .voice-picker .icon { display:none; }
  .reading-sources { margin-bottom:24px; }
  .reading-sources button { font-size:14px; }
  .paper-content { padding:18px 16px 0; }
  .paper-toolbar { padding:12px 16px; }
  .paper-bottom { padding:16px; }
  .title-field input { font-size:19px; }
  #draft-text,.has-player .body-field textarea { min-height:240px; height:auto; }
  .editor-actions .button { padding:10px 14px; }
  #render-button .icon { width:18px; height:18px; }
  .voice-tabs { gap:4px; }
  .voice-tabs button { font-size:14px; padding:10px 18px; }
  #works-count { display:none; }
  .library-tools { grid-template-columns:auto minmax(0,1fr) 48px; gap:10px; margin-bottom:16px; }
  .library-tools .search-field { grid-column:1/-1; grid-row:1; }
  #play-all { grid-column:1; grid-row:2; }
  #kind-filter { grid-column:2; grid-row:2; justify-self:end; min-width:0; padding-right:18px; font-size:14px; }
  #refresh-works { grid-column:3; grid-row:2; }
  .library-column-head { display:none; }
  .work-row { grid-template-columns:52px minmax(0,1fr) 96px; gap:12px; min-height:80px; padding:12px 0; }
  .work-art { grid-column:1; grid-row:1; }
  .work-copy { grid-column:2; grid-row:1; }
  .work-copy h3 { font-size:15px; white-space:nowrap; }
  .work-meta,.work-voice,.work-duration { display:none; }
  .work-mobile-meta { display:block; }
  .work-actions { grid-column:3; grid-row:1; gap:0; }
  .work-actions .work-play { min-height:48px; padding:12px; }
  .work-actions .button .icon { width:22px; height:22px; }
  .profile-grid { display:block; }
  .profile-grid>.card { padding:20px; margin-bottom:20px; }
  .profile-identity { gap:18px; }
  .profile-identity h2 { font-size:22px; }
  .player,.sidebar-collapsed .player { padding:8px 12px; }
  .player-summary { gap:10px; }
  .player-info strong { font-size:13px; }
  .player-info #player-meta { font-size:11px; }
  .player .icon-button { min-width:48px; min-height:48px; }
  .volume-control { display:none; }
  .player-actions .text-button { padding:10px; font-size:12px; }
  #detail-dialog { position:fixed; inset:auto 0 0; width:100%; max-width:none; margin:0; border-radius:28px 28px 0 0; padding-bottom:env(safe-area-inset-bottom); }
  .dialog-content { padding:24px 20px; }
  .dialog-actions .button { min-height:48px; }
}
@media(prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; } }
