.variants-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.variants-heading>div{display:flex;flex-direction:column;gap:3px}.variants-heading small{color:var(--muted);font-size:11px}.no-margin{margin:0}.variant-tabs{display:flex;gap:7px;margin-top:10px;padding-bottom:2px;overflow-x:auto;scrollbar-width:none}.variant-tabs::-webkit-scrollbar{display:none}.variant-tab{position:relative;flex:0 0 auto;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--soft);font-size:12px;font-weight:650;white-space:nowrap}.variant-tab.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.variant-tab[data-default="true"]::after{content:"•";margin-left:5px;color:var(--accent)}.compact-switch{margin-top:10px;padding-bottom:0}.preview-toolbar>span:first-child{font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secondary-danger{margin-bottom:9px;background:transparent;border:1px solid rgba(255,59,48,.25)}.action-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:24px 24px 0 0;background:transparent}.action-dialog::backdrop{background:rgba(0,0,0,.34);backdrop-filter:blur(3px)}.action-card{padding:18px 16px max(20px,env(safe-area-inset-bottom));border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;background:var(--card);box-shadow:var(--shadow)}.action-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.action-header h2{margin:0;font-size:22px;letter-spacing:-.025em}.icon-button.small{width:36px;height:36px;font-size:22px;letter-spacing:0}.action-list{display:flex;flex-direction:column;gap:7px}.action-list>button{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:0;border-radius:14px;background:var(--soft);text-align:left}.action-list>button>span:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}.action-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.action-list small{color:var(--muted);font-size:11px}.action-list>button>span:last-child{color:var(--accent);font-size:13px;font-weight:700}@media(min-width:700px){.action-dialog{width:min(430px,calc(100% - 32px));margin:auto;border-radius:24px}.action-card{border-bottom:1px solid var(--line);border-radius:24px;padding-bottom:18px}}

/* Mobile editor layout */
.sheet-header{position:relative!important;display:flex!important;align-items:center!important;justify-content:center!important;min-height:60px!important;padding:max(6px,env(safe-area-inset-top)) 76px 7px!important}.sheet-header #cancelEditorButton{position:absolute;left:16px;bottom:8px;max-width:64px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet-header h2{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:16px!important;font-weight:700}.sheet-scroll{padding:18px 16px 28px!important}.preview-card,.form-card{margin-bottom:16px!important}.form-card{padding:18px!important}.svg-preview{min-height:214px!important}.preview-toolbar{gap:12px;padding:12px 16px 0!important}.preview-color-control{margin-left:auto;display:flex;align-items:center;gap:8px;flex:0 0 auto}.preview-color-label{margin:0!important;white-space:nowrap}.preview-status{margin:9px 16px 15px!important}.inline-actions{justify-content:space-between!important;align-items:center;gap:10px!important;margin-top:11px!important}.inline-actions .secondary-button{min-height:42px}.paste-button{background:var(--accent)!important;color:#fff!important;box-shadow:0 5px 14px rgba(0,122,255,.2);font-weight:750!important;padding:0 16px!important}.paste-button span{font-size:16px;line-height:1}

/* Single positive save action, independent from long titles */
.editor-save-bar{flex:0 0 auto;padding:10px 16px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.editor-save-button{display:flex;align-items:center;justify-content:center;gap:8px;width:min(100%,688px);height:50px;margin:0 auto;border:0;border-radius:15px;background:#34c759;color:#fff;font-size:16px;font-weight:780;box-shadow:0 6px 18px rgba(52,199,89,.23)}.save-check{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.2);font-size:15px;font-weight:900}

/* Color wells: perfectly circular on iPhone/Safari */
input[type="color"]{-webkit-appearance:none;appearance:none;flex:0 0 32px!important;width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;padding:0!important;border:1px solid var(--line)!important;border-radius:50%!important;overflow:hidden;background:transparent!important}input[type="color"]::-webkit-color-swatch-wrapper{padding:0!important;border-radius:50%!important}input[type="color"]::-webkit-color-swatch{border:0!important;border-radius:50%!important}input[type="color"]::-moz-color-swatch{border:0!important;border-radius:50%!important}

/* Home cards: centered and less cramped */
.symbol-card{display:flex;flex-direction:column}.symbol-main{flex:1}.card-preview{height:auto!important;aspect-ratio:1.18/1;min-height:126px;padding:22px!important}.card-info{padding:13px 10px 10px!important;text-align:center}.card-info h2{font-size:14px!important;line-height:1.25}.card-meta{min-height:14px;margin-top:5px!important;line-height:1.25}.copy-button{min-height:40px!important;height:auto!important;padding:8px 7px!important;gap:6px!important;font-size:11.5px!important;line-height:1.15;text-align:center}.copy-button span{display:block;min-width:0}.copy-button svg{flex:0 0 15px}.library-meta{align-items:center}.section-heading,.variants-heading{align-items:center}.analysis-card{text-align:center}.analysis-chips{justify-content:center}

/* Duplicate/redundancy warning */
.duplicate-warning{display:flex;align-items:flex-start;gap:12px;margin:-2px 0 16px;padding:14px;border:1px solid rgba(255,149,0,.38);border-radius:16px;background:rgba(255,149,0,.12);color:var(--text)}.duplicate-warning[hidden]{display:none}.duplicate-warning-icon{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#ff9500;color:#fff;font-weight:850}.duplicate-warning-copy{min-width:0;flex:1}.duplicate-warning-copy>strong{font-size:14px}.duplicate-warning-copy p{margin:5px 0 0;font-size:12px;line-height:1.4}.duplicate-warning-copy small{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.35}.duplicate-dialog{width:min(calc(100% - 32px),430px);border-radius:22px;background:transparent}.duplicate-dialog::backdrop{background:rgba(0,0,0,.38);backdrop-filter:blur(3px)}.duplicate-dialog-card{padding:20px;border:1px solid rgba(255,149,0,.32);border-radius:22px;background:var(--card);box-shadow:var(--shadow)}.duplicate-dialog-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:rgba(255,149,0,.14);color:#c76f00;font-size:11px;font-weight:800}.duplicate-dialog-badge span{display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:#ff9500;color:#fff}.duplicate-dialog-card h2{margin:12px 0 8px;font-size:21px}.duplicate-dialog-text p{margin:7px 0;color:var(--muted);font-size:13px;line-height:1.45}.duplicate-dialog-text strong{color:var(--text)}.duplicate-dialog-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:16px}.duplicate-dialog-actions button{min-height:46px;border:0;border-radius:14px;font-weight:750}.duplicate-review-button{background:var(--soft)}.duplicate-save-button{background:#ff9500;color:#fff}

@media(max-width:390px){.app-shell{padding-left:12px!important;padding-right:12px!important}.symbol-grid{gap:10px!important}.card-preview{min-height:118px}.copy-button{width:calc(100% - 16px)!important;margin:0 8px 8px!important;font-size:11px!important}.form-card{padding:15px!important}.preview-color-label{font-size:12px}.recommended-pill{font-size:8px!important;padding:4px 6px!important}}

/* Editor: fluxo rápido para cadastrar um SVG */
.quick-entry-card{padding:16px!important}
.quick-paste-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:16px}
.quick-paste-button{min-height:46px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:13px;background:var(--accent-soft);color:var(--accent);font-weight:760}
.quick-paste-button span:first-child{font-size:17px;line-height:1}
.quick-paste-primary{border-color:transparent;background:var(--accent);color:#fff;box-shadow:0 5px 14px rgba(0,122,255,.2)}
.quick-code-input{min-height:150px!important}
.quick-svg-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;margin-top:10px}
.download-svg-button{min-height:44px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:0;border-radius:12px;background:var(--accent);color:#fff;font-weight:760;box-shadow:0 5px 14px rgba(0,122,255,.18)}
.download-svg-button span:first-child{font-size:17px}
.variants-card{padding:0!important;overflow:hidden}
.variants-card>summary{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;list-style:none;cursor:pointer}
.variants-card>summary::-webkit-details-marker{display:none}
.variants-card>summary::after{content:"⌄";flex:0 0 auto;color:var(--muted);font-size:20px;line-height:1;transition:transform .18s ease}
.variants-card[open]>summary{border-bottom:1px solid var(--line)}
.variants-card[open]>summary::after{transform:rotate(180deg)}
.variants-summary-copy{min-width:0;display:flex;flex-direction:column;gap:3px}
.variants-summary-copy strong{font-size:14px}
.variants-summary-copy small{color:var(--muted);font-size:11px;line-height:1.3;font-weight:400}
.variants-body{padding:16px 18px 18px}
.family-field-slot{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.family-field-slot .field-label{margin-bottom:7px}
.variants-delete-button{margin-top:16px!important;margin-bottom:0!important}
@media(max-width:390px){.quick-paste-actions{gap:8px}.quick-paste-button{padding:0 8px;font-size:13px}.quick-svg-actions{grid-template-columns:1fr}.quick-svg-actions .secondary-button{width:100%}}


/* Biblioteca: botão adicionar flutuante e modo de organização */
.app-shell{padding-bottom:max(112px,calc(env(safe-area-inset-bottom) + 92px))!important}
.add-button{position:fixed!important;z-index:34!important;right:max(18px,calc((100vw - 980px)/2 + 18px))!important;bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))!important;width:58px!important;height:58px!important;border-radius:19px!important;box-shadow:0 12px 28px rgba(0,0,0,.2),0 1px 0 var(--line)!important}
.organizer-bar{position:fixed;z-index:33;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(calc(100% - 24px),720px);padding:12px;border:1px solid var(--line);border-radius:20px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 18px 42px rgba(0,0,0,.22);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
.organizer-bar[hidden]{display:none!important}
.organizer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.organizer-head>div{min-width:0;display:flex;flex-direction:column;gap:2px}
.organizer-head strong{font-size:14px}
.organizer-head small{color:var(--muted);font-size:11px}
.organizer-done{min-height:36px;padding:0 12px;border:0;border-radius:11px;background:var(--text);color:var(--bg);font-weight:700}
.organizer-group-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px}
.organizer-family-input{min-width:0;height:40px;padding:0 11px;border:1px solid var(--line);outline:0;border-radius:11px;background:var(--soft);color:var(--text)}
.organizer-group-tools button{min-height:40px;padding:0 11px;border:0;border-radius:11px;background:var(--accent-soft);color:var(--accent);font-size:12px;font-weight:720}
.organizer-group-tools button:disabled{opacity:.4}
body.organize-mode .add-button{display:none!important}
body.organize-mode .search-field{opacity:.6}
.organize-card{overflow:hidden!important;outline:1px solid transparent;transition:outline-color .15s ease}
.organize-card.selected{outline:2px solid var(--accent);outline-offset:2px}
.organize-card.selected .card-preview{background:var(--accent)!important;color:#000000!important}
.organize-card.selected .card-preview svg{color:#000000!important}
.organize-card .card-actions{display:none!important}
.organize-card-tools{padding:7px 8px 8px}
.organize-swap{width:100%;height:34px;display:flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:10px;background:var(--soft);color:var(--text);font-weight:750}
.organize-swap span{display:grid;place-items:center;line-height:1}.organize-swap span svg{width:15px;height:22px;display:block;fill:currentColor}
.organize-swap small{font-size:10px;font-weight:750}
.organize-swap.is-source{background:var(--accent);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--accent) 38%,transparent)}
#symbolGrid[data-columns="5"] .organize-card-tools,#symbolGrid[data-columns="6"] .organize-card-tools{padding:5px}
#symbolGrid[data-columns="5"] .organize-swap,#symbolGrid[data-columns="6"] .organize-swap{height:29px;border-radius:8px}
#symbolGrid[data-columns="5"] .organize-swap small,#symbolGrid[data-columns="6"] .organize-swap small{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@media(max-width:520px){.organizer-group-tools{grid-template-columns:1fr 1fr}.organizer-family-input{grid-column:1/-1}.organizer-group-tools button{width:100%}}

/* Pré-visualização padrão: preto puro */
.card-preview{color:#000000!important;background:#f2f2f7!important}
.svg-preview{color:#000000!important}


/* 1.4.1 — biblioteca limpa e ações sob demanda */
.symbol-card .card-actions{display:none!important}
.symbol-card .card-info{padding:10px 8px 11px!important}
.symbol-card .card-info h2{text-align:center}
.add-button{
  width:auto!important;
  min-width:118px!important;
  height:54px!important;
  padding:0 17px!important;
  border-radius:18px!important;
  background:#34c759!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:780!important;
  letter-spacing:-.01em!important;
  box-shadow:0 10px 26px rgba(0,0,0,.22)!important;
}
.add-button{width:58px!important;min-width:58px!important;padding:0!important;display:grid!important;place-items:center!important}
.add-button svg{width:24px;height:24px;display:block;fill:currentColor}

/* 1.5.4 — inserção direta durante a organização */
.family-grid{position:relative}
.organize-insert{
  position:absolute;
  z-index:20;
  top:8%;
  right:-2px;
  width:20px;
  height:84%;
  padding:0;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--accent);
  opacity:1;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.organize-insert::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  right:2px;
  width:4px;
  border-radius:999px;
  background:currentColor;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--card) 78%,transparent),0 0 8px color-mix(in srgb,var(--accent) 38%,transparent);
}
.organize-insert:active::before{
  width:6px;
  box-shadow:0 0 0 1px color-mix(in srgb,var(--card) 72%,transparent),0 0 12px color-mix(in srgb,var(--accent) 55%,transparent);
}

/* Prévia dos ícones de importar e exportar */
.library-icon-preview{display:grid;place-items:center;min-height:0;overflow:hidden;transition:min-height .18s ease,margin .18s ease,opacity .18s ease;color:var(--accent)}
.library-icon-preview[hidden]{display:none!important}
.library-icon-preview svg{width:48px!important;height:48px!important;display:block;fill:currentColor}
.menu-item-icon-preview{cursor:zoom-in}
.symbol-actions-dialog{
  width:min(calc(100% - 28px),430px);
  max-width:none;
  margin:auto auto max(14px,env(safe-area-inset-bottom));
  padding:0;
  border:0;
  border-radius:24px;
  background:transparent;
}
.symbol-actions-dialog::backdrop{background:rgba(0,0,0,.38);backdrop-filter:blur(4px)}
.symbol-actions-card{
  padding:16px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--card);
  box-shadow:0 18px 45px rgba(0,0,0,.28)
}
.symbol-actions-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}
.symbol-actions-head>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.symbol-actions-head small{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.symbol-actions-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}
.symbol-actions-head>button{width:38px;height:38px;border:0;border-radius:50%;background:var(--soft);font-size:22px}
.symbol-actions-preview{height:150px;display:grid;place-items:center;margin:0 0 13px;border-radius:18px;background:var(--soft);color:var(--text);overflow:hidden}
.symbol-actions-preview svg{display:block;width:100px!important;height:100px!important;max-width:72%!important;max-height:72%!important;color:inherit}
.symbol-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.symbol-actions-grid>button{
  min-height:78px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  border:0;
  border-radius:16px;
  background:var(--soft);
  color:var(--text);
}
.symbol-actions-grid>button span{font-size:23px;line-height:1}
.symbol-actions-grid>button strong{font-size:13px}
.symbol-actions-grid>button.danger{background:rgba(255,59,48,.12);color:var(--danger)}

.organizer-group-tools{grid-template-columns:1fr 1fr!important}
.organizer-family-input{grid-column:1/-1!important}
.organizer-family-matches{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:-1px;
  padding:7px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft)
}
.organizer-family-matches[hidden]{display:none!important}
.organizer-family-match{
  min-height:34px!important;
  padding:0 10px!important;
  border:1px solid var(--line)!important;
  border-radius:999px!important;
  background:var(--card)!important;
  color:var(--text)!important;
  font-size:12px!important;
  font-weight:700!important
}
.organizer-add-family{
  background:rgba(52,199,89,.16)!important;
  color:#248a3d!important
}
@media(prefers-color-scheme:dark){.organizer-add-family{color:#30d158!important}}
.organizer-remove-family{
  background:rgba(255,59,48,.12)!important;
  color:var(--danger)!important
}
.organizer-remove-family[hidden]{display:none!important}
@media(max-width:390px){
  .add-button{min-width:108px!important;height:52px!important;padding:0 14px!important}
  .symbol-actions-grid>button{min-height:72px}
}


/* 1.4.2 — botão de opções flutuante */
#libraryButton.icon-button{
  position:fixed!important;
  z-index:42!important;
  top:max(18px,calc(env(safe-area-inset-top) + 10px))!important;
  right:max(18px,calc((100vw - 980px)/2 + 18px))!important;
}


/* Mantém as famílias em uma coluna mesmo se o ajuste dinâmico atrasar. */
#symbolGrid.symbol-grid{
  display:block!important;
}

/* 1.4.3 Beta — recolher/expandir grupos */
#symbolGrid .family-grid[hidden]{
  display:none!important;
}


/* 1.4.4 Beta — tipografia compacta conforme densidade */
#symbolGrid .card-info h2{
  line-height:1.05!important;
  letter-spacing:-.025em!important;
  font-weight:650!important;
}
#symbolGrid[data-columns="3"] .card-info{padding:7px 6px 6px!important}
#symbolGrid[data-columns="3"] .card-info h2{font-size:10.5px!important}

#symbolGrid[data-columns="4"] .card-info{padding:6px 4px 5px!important}
#symbolGrid[data-columns="4"] .card-info h2{font-size:8.8px!important}

#symbolGrid[data-columns="5"] .card-info{padding:5px 3px 4px!important}
#symbolGrid[data-columns="5"] .card-info h2{font-size:7.4px!important}

#symbolGrid[data-columns="6"] .card-info{padding:4px 2px 3px!important}
#symbolGrid[data-columns="6"] .card-info h2{font-size:6.6px!important}

#symbolGrid[data-columns="5"] .card-info h2,
#symbolGrid[data-columns="6"] .card-info h2{
  text-overflow:clip!important;
}


/* 1.4.5 Beta — confirmação de duplicatas */
.duplicate-warning-dialog{
  width:min(calc(100% - 28px),430px);
  max-width:none;
  margin:auto;
  padding:0;
  border:0;
  border-radius:24px;
  background:transparent;
}
.duplicate-warning-dialog::backdrop{
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(4px);
}
.duplicate-warning-card{
  padding:19px;
  border:1px solid var(--line);
  border-radius:24px;
  background:var(--card);
  box-shadow:0 18px 46px rgba(0,0,0,.3);
}
.duplicate-warning-badge{
  width:38px;height:38px;
  display:grid;place-items:center;
  margin-bottom:12px;
  border-radius:12px;
  background:rgba(255,149,0,.16);
  color:#ff9500;
  font-size:20px;
  font-weight:850;
}
.duplicate-warning-card h2{
  margin:0 0 12px;
  font-size:21px;
}
.duplicate-warning-details{
  display:grid;
  gap:8px;
}
.duplicate-warning-details p{
  margin:0;
  padding:11px 12px;
  border-radius:13px;
  background:var(--soft);
}
.duplicate-warning-details strong,
.duplicate-warning-details span{
  display:block;
}
.duplicate-warning-details strong{
  margin-bottom:4px;
  font-size:13px;
}
.duplicate-warning-details span{
  color:var(--muted);
  font-size:12px;
  line-height:1.35;
}
.duplicate-warning-note{
  margin:12px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.duplicate-warning-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin-top:16px;
}
.duplicate-warning-actions button{
  min-height:46px;
  border:0;
  border-radius:13px;
  font-weight:750;
}
#duplicateReviewButton{
  background:var(--soft);
  color:var(--text);
}
#duplicateSaveAnywayButton{
  background:rgba(255,149,0,.16);
  color:#c66d00;
}
@media(prefers-color-scheme:dark){
  #duplicateSaveAnywayButton{color:#ff9f0a}
}


/* 1.4.6 Beta — ícones no menu da biblioteca */
#libraryMenu .menu-icon-row{
  display:flex!important;
  align-items:center!important;
  gap:13px!important;
}
#libraryMenu .menu-icon-row .menu-item-icon{
  width:24px!important;
  height:24px!important;
  flex:0 0 24px!important;
  overflow:visible;
}
#libraryMenu .menu-icon-row .menu-item-icon path{
  fill:currentColor!important;
  fill-opacity:.85!important;
}
#libraryMenu .menu-icon-row span{
  min-width:0;
  flex:1 1 auto;
}
#libraryMenu #organizeButton .organize-menu-icon{
  width:25px!important;
  height:25px!important;
}


/* 1.4.7 Beta — menu de opções mais compacto */
#libraryMenu.popover > a,
#libraryMenu.popover > button{
  min-height:46px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
#libraryMenu .menu-icon-row{
  gap:11px!important;
}
#libraryMenu .grid-layout-setting{
  margin-top:0!important;
  margin-bottom:2px!important;
  padding-top:7px!important;
  padding-bottom:9px!important;
}

/* 1.4.9 Beta — demonstração de troca de posição */
.organizer-head-actions{display:flex;align-items:center;gap:7px}
.organizer-help{min-height:34px;padding:0 10px;border:0;border-radius:10px;background:var(--soft);color:var(--text);font-size:11px;font-weight:750}
.organize-demo-dialog{width:min(calc(100% - 32px),360px);max-width:none;margin:auto;padding:0;border:0;border-radius:24px;background:transparent}
.organize-demo-dialog::backdrop{background:rgba(0,0,0,.46);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.organize-demo-card{position:relative;padding:22px 20px 18px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 22px 56px rgba(0,0,0,.3);text-align:center}
.organize-demo-card .eyebrow{margin:0 0 5px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.organize-demo-card h2{margin:0;font-size:23px;letter-spacing:-.035em}
.organize-demo-card>p:not(.eyebrow){margin:8px auto 16px;max-width:280px;color:var(--muted);font-size:13px;line-height:1.42}
.organize-demo-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:0;border-radius:50%;background:var(--soft);color:var(--text);font-size:22px;line-height:1}
.organize-demo-motion{position:relative;height:108px;margin:0 2px 17px;border-radius:17px;background:var(--soft);overflow:hidden}
.organize-demo-tile{position:absolute;top:22px;width:62px;height:62px;display:grid;place-items:center;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:0 9px 18px rgba(0,0,0,.13);font-size:28px;color:var(--accent)}
.organize-demo-tile::after{content:"⇄";position:absolute;right:7px;bottom:6px;color:var(--muted);font-size:13px}
.organize-demo-tile.tile-a{left:31px;animation:organize-demo-move 3s cubic-bezier(.5,0,.2,1) infinite}
.organize-demo-tile.tile-b{right:31px;animation:organize-demo-shift 3s cubic-bezier(.5,0,.2,1) infinite}
.organize-demo-gap{position:absolute;top:22px;left:31px;width:62px;height:62px;border:2px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:17px;opacity:0;animation:organize-demo-gap 3s ease infinite}
.organize-demo-hand{position:absolute;top:58px;left:68px;color:var(--accent);font-size:27px;font-weight:900;filter:drop-shadow(0 4px 5px rgba(0,0,0,.18));animation:organize-demo-hand 3s cubic-bezier(.5,0,.2,1) infinite}
.organize-demo-done{width:100%;min-height:46px;border:0;border-radius:14px;background:var(--accent);color:#fff;font-size:14px;font-weight:800}
@keyframes organize-demo-move{0%,15%{transform:translateX(0) scale(1)}35%,62%{transform:translateX(82px) translateY(-8px) scale(1.08)}78%,100%{transform:translateX(82px) scale(1)}}
@keyframes organize-demo-shift{0%,32%{transform:translateX(0)}55%,100%{transform:translateX(-82px)}}
@keyframes organize-demo-gap{0%,31%{opacity:0}42%,73%{opacity:1}84%,100%{opacity:0}}
@keyframes organize-demo-hand{0%,16%{transform:scale(.8);opacity:0}30%,65%{transform:scale(1.12);opacity:1}80%,100%{transform:scale(.85);opacity:0}}
@media(prefers-reduced-motion:reduce){.organize-demo-tile,.organize-demo-gap,.organize-demo-hand{animation:none}.organize-demo-gap{opacity:.6}.organize-demo-hand{opacity:1;transform:translate(82px,-8px)}}

/* 1.5.2 Oficial — grupos recolhidos compactos */
#symbolGrid .family-section.collapsed{
  margin:0!important;
}
#symbolGrid .family-section.collapsed .family-heading{
  min-height:28px!important;
  padding:0 2px!important;
  line-height:1.05!important;
}
#symbolGrid .family-section.collapsed .family-arrow{
  width:20px!important;
  height:20px!important;
  font-size:16px!important;
}
#symbolGrid .family-arrow{
  width:20px!important;
  height:20px!important;
  border-radius:0!important;
  background:transparent!important;
  transition:transform .34s ease!important;
}
#symbolGrid .family-arrow svg{
  width:14px;
  height:8.3px;
  display:block;
}
#symbolGrid .family-section.collapsed .family-grid{
  display:none!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* 1.5.2 Oficial — ícones de identificação dos grupos */
#symbolGrid .family-heading-row{display:flex;align-items:center;gap:8px;min-width:0}
#symbolGrid .family-heading-row .family-heading{flex:1 1 auto;min-width:0;width:auto!important}
#symbolGrid .family-title{min-width:0;display:flex;align-items:center;gap:8px}
#symbolGrid .family-title-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#symbolGrid .family-title-icon{flex:0 0 auto;width:22px;height:22px;display:grid;place-items:center;color:var(--text)}
#symbolGrid .family-title-icon svg{display:block;max-width:20px!important;max-height:20px!important;width:20px!important;height:20px!important}
#symbolGrid .group-icon-slot{flex:0 0 auto;width:28px;height:28px;padding:3px;border:1.5px dashed color-mix(in srgb,var(--accent) 60%,var(--line));border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent);display:grid;place-items:center}
#symbolGrid .group-icon-slot:active{transform:scale(.94)}
#symbolGrid .group-icon-slot>span{font-size:19px;font-weight:450;line-height:1}
#symbolGrid .group-icon-slot svg{display:block;max-width:19px!important;max-height:19px!important;width:19px!important;height:19px!important}
.group-icon-dialog{width:min(calc(100% - 28px),520px);max-width:none;max-height:min(82dvh,680px);margin:auto;padding:0;border:0;border-radius:24px;background:transparent}
.group-icon-dialog::backdrop{background:rgba(0,0,0,.42);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.group-icon-card{max-height:min(82dvh,680px);display:flex;flex-direction:column;padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--card);box-shadow:0 20px 54px rgba(0,0,0,.28)}
.group-icon-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.group-icon-head small{display:block;margin-bottom:2px;color:var(--muted);font-size:11px;font-weight:750;text-transform:uppercase;letter-spacing:.06em}.group-icon-head strong{display:block;font-size:20px;letter-spacing:-.025em}.group-icon-head button{width:32px;height:32px;border:0;border-radius:50%;background:var(--soft);color:var(--text);font-size:21px;line-height:1}
.group-icon-card>p{margin:9px 0 12px;color:var(--muted);font-size:12px;line-height:1.38}.group-icon-search{width:100%;height:42px;padding:0 12px;border:1px solid var(--line);outline:0;border-radius:12px;background:var(--soft);color:var(--text);font-size:15px}.group-icon-search:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.group-icon-clear{min-height:34px;margin-top:9px;border:0;border-radius:10px;background:rgba(255,59,48,.12);color:var(--danger);font-size:12px;font-weight:750}.group-icon-clear[hidden]{display:none!important}
.group-icon-picker-list{min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:auto;margin-top:12px;padding:1px}.group-icon-option{min-width:0;min-height:92px;padding:8px 5px;border:1px solid var(--line);border-radius:13px;background:var(--soft);color:var(--text);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center}.group-icon-option.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)}.group-icon-option-preview{width:34px;height:34px;display:grid;place-items:center;color:var(--text)}.group-icon-option-preview svg{display:block;max-width:32px!important;max-height:32px!important;width:32px!important;height:32px!important}.group-icon-option strong,.group-icon-option small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.group-icon-option strong{font-size:10px;line-height:1.1}.group-icon-option small{color:var(--muted);font-size:8px}.group-icon-empty{grid-column:1/-1;margin:28px 0!important;text-align:center;color:var(--muted);font-size:13px!important}
@media(min-width:520px){.group-icon-picker-list{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Palavras-chave dos símbolos */
.keywords-input{margin-top:0;height:auto!important;min-height:46px;max-height:none!important;overflow-y:hidden!important;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.4;padding:11px 12px;field-sizing:content}
.keywords-help{display:block;margin-top:7px;color:var(--muted);font-size:11px;line-height:1.35}


/* Botões flutuantes da biblioteca */
.add-button{
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  padding:0!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
}
#organizeButton.floating-organize-button{
  position:fixed!important;
  z-index:34!important;
  right:max(18px,calc((100vw - 980px)/2 + 18px))!important;
  bottom:max(92px,calc(env(safe-area-inset-bottom) + 88px))!important;
  width:58px!important;
  min-width:58px!important;
  height:58px!important;
  padding:0!important;
  border:1px solid var(--line)!important;
  border-radius:50%!important;
  background:var(--card)!important;
  color:var(--text)!important;
  display:grid!important;
  place-items:center!important;
  box-shadow:0 12px 28px rgba(0,0,0,.2),0 1px 0 var(--line)!important;
}
#organizeButton.floating-organize-button svg{
  width:26px!important;
  height:26px!important;
  display:block;
  fill:currentColor;
}
#organizeButton.floating-organize-button.is-active{
  background:var(--accent)!important;
  color:#fff!important;
  border-color:transparent!important;
}
body.organize-mode #organizeButton.floating-organize-button{
  bottom:max(22px,calc(env(safe-area-inset-bottom) + 18px))!important;
}
@media(max-width:390px){
  .add-button{
    width:58px!important;
    min-width:58px!important;
    height:58px!important;
    padding:0!important;
    border-radius:50%!important;
  }
}
