/* Compact controls shared by the desktop and mobile interfaces. */
:root body :is(.primary,.secondary){display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;height:auto;padding:6px 13px;border-radius:9px;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0;box-shadow:none;white-space:nowrap;transition:background .16s,color .16s,border-color .16s}
:root body .primary{border:1px solid transparent;background:var(--accent);color:var(--on-accent)}
:root body .secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}
:root body .secondary:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--soft)}
:root body :is(.primary,.secondary):active{transform:none;filter:brightness(.97)}
:root body :is(.primary,.secondary) svg{width:15px;height:15px;stroke-width:1.4}
:root body .text-button{padding:5px 7px;min-height:28px;height:auto;font-size:11px;font-weight:400;line-height:1.4;letter-spacing:0}
:root body :is(.icon-button,.avatar-button){width:30px;height:30px;min-height:0;padding:5px;border-radius:9px;border:1px solid var(--line);background:var(--surface);box-shadow:none}
:root body .icon-button svg{width:16px;height:16px}
:root body .avatar-button{border-radius:50%;padding:0}
:root body .item-tools{gap:4px}
:root body .item-tools .icon-button{width:27px;height:27px;padding:5px;border-radius:7px;background:color-mix(in srgb,var(--surface) 94%,transparent)}
:root body .item-tools .icon-button svg{width:14px;height:14px}
:root body .chip{min-height:28px;height:auto;padding:5px 11px;font-size:10.5px;font-weight:400;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--muted)}
:root body .chip.active{background:var(--soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--line))}
:root body .categories{gap:6px}
:root body .heading-action,:root body .photo-stage-actions{gap:6px}
:root body .photo-stage-actions :is(.primary,.secondary){min-height:30px;height:auto;padding:5px 10px;font-size:10.5px}
:root body .weather-occasion-button{min-height:30px;padding:6px 8px;border-radius:8px;font-size:11px;line-height:1.4}
:root body .weather-occasion-button[aria-pressed=true]{background:var(--soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
:root body .admin-sidebar button{min-height:32px;padding:7px 10px;border-radius:8px;font-size:11px}
:root body .auth-tabs button,:root body .auth-switch button{min-height:32px;padding:6px 12px;font-size:11px}
:root body .assistant-prompts button{min-height:28px;padding:4px 11px;font-size:11px;border-radius:8px}
:root body .assistant-add-menu button{padding:12px 4px;border-radius:9px;font-size:10.5px}
:root body .assistant-add-menu svg{width:20px;height:20px}
:root body .primary-nav .nav-item{min-height:34px;padding:4px 12px;font-size:12px;font-weight:400;border-radius:8px;gap:6px}
:root body .primary-nav .nav-item.active{background:transparent;color:var(--accent);font-weight:500}
:root body .primary-nav .nav-item svg{width:17px;height:17px}
:root body .masthead .header-actions .secondary{min-height:28px;height:auto;padding:5px 9px;border-radius:7px;font-size:10.5px;background:#ffffff0a;border-color:#ffffff25;color:#f5f5f7}
:root body .masthead :is(.icon-button,.avatar-button){width:28px;height:28px;padding:4px;border-color:#ffffff20;background:transparent}
:root body .masthead .avatar-button{padding:0}
:root body .masthead .header-actions{gap:7px}
:root body .masthead .text-button{font-size:10.5px;padding:4px 5px}
:root body .preference-field{padding:3px 6px;border-radius:7px;background:#ffffff09;border:1px solid #ffffff16;gap:4px}
:root body .preference-field select{height:22px;font-size:10.5px}
:root body .preference-field svg{width:12px;height:12px}
:root body.mobile-app :is(.primary,.secondary){min-height:30px;padding:5px 11px;font-size:10.5px;border-radius:8px}
:root body.mobile-app .text-button{font-size:10.5px;min-height:26px;padding:4px 6px}
:root body.mobile-app .chip{min-height:27px;padding:4px 9px;font-size:10.5px}
:root body.mobile-app .header-actions .secondary{min-height:28px;padding:5px 8px;font-size:10.5px}
:root body.mobile-app .primary-nav .nav-item{min-height:46px;padding:4px 2px;font-size:10.5px;border-radius:0;gap:4px}
:root body.mobile-app .primary-nav .nav-item svg{width:20px;height:20px;stroke-width:1.35}
:root body.mobile-app .primary-nav .nav-item.active{background:transparent}
:root body.mobile-app .heading-action{justify-content:flex-start;gap:6px}
:root body.mobile-app .heading-action :is(.primary,.secondary){flex:0 0 auto;width:auto}
:root body.mobile-app.signed-out .cover-buttons :is(.primary,.secondary){width:auto;min-width:0;min-height:32px;height:auto;padding:7px 14px;font-size:10.5px;border-radius:10px;line-height:1.4}
:root body.mobile-app.signed-out .cover-buttons{gap:10px;justify-content:center}
:root body.mobile-app.signed-out .cover-buttons svg{width:15px;height:15px}
:root body.mobile-app.signed-out .preference-field{height:48px;padding:0;gap:4px;border:0;border-radius:0;background:transparent}
:root body.mobile-app.signed-out .preference-field svg{width:20px;height:20px}
:root body.mobile-app.signed-out .preference-field select{height:22px;font-size:10.5px}
:root body.assistant-page .assistant-send{width:32px;height:32px}
:root body :is(button,a):focus-visible{outline:1px solid var(--accent);outline-offset:3px}
.share-platforms{display:flex;justify-content:space-between;align-items:center;gap:10px}
:root body .share-platform-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;padding:8px;border:1px solid var(--line);border-radius:50%;background:var(--soft)}
:root body .share-platform-icon svg{display:block;width:24px;height:24px;fill:inherit;stroke:none}
:root[data-theme=dark] .share-platform-icon[data-share-platform="抖音"] svg{filter:invert(1)}
