/* MicroTypoStyle: opt-in content styles; no global layout or token mutations. */
.micro-typo, .micro-typo-body, [data-micro-typo="body"] {
  font-family: var(--font-ui); letter-spacing: -.005em; line-height: 1.6;
  text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; font-kerning: normal;
  line-break: strict; hanging-punctuation: first allow-end;
}
.micro-typo-title, [data-micro-typo="display"] {letter-spacing: -.025em; line-height: 1.15; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased;}
.micro-typo-data, [data-micro-typo="mono"], .inline-sz-val {font-variant-numeric: tabular-nums;}
@supports (text-spacing-trim: trim-start) {
  :is(.micro-typo, .micro-typo-title, .micro-typo-body, [data-micro-typo]) {text-spacing-trim: trim-start;}
}

/* Native textarea is the caret/IME anchor; controls never take up board space. */
#inlineCanvasTextWrapper {display:block; width:max-content; max-width:none; gap:0; transform-origin:50% 50%;}
#inlineCanvasTextArea {
  display:block; box-sizing:content-box; padding:0!important; margin:0!important;
  border:0!important; outline:0!important; border-radius:0!important;
  box-shadow:none!important; background:transparent!important; resize:none;
  min-width:1ch; min-height:1em; overflow:hidden; white-space:pre; overflow-wrap:normal;
  text-rendering:optimizeLegibility; -webkit-font-smoothing:antialiased;
  font-kerning:normal; touch-action:auto; user-select:text; -webkit-user-select:text;
}
.inline-text-controls {
  position:fixed; z-index:10020; width:min(344px, calc(100vw - 16px));
  box-sizing:border-box; border:1px solid var(--chrome-line, #5F6368);
  border-radius:var(--radius-panel,16px); padding:12px;
  background:var(--chrome-bg,#202124); color:var(--chrome-ink,#E8EAED);
  box-shadow:0 2px 6px rgb(0 0 0 / .3); font:14px/1.4 var(--font-ui);
  overflow:auto; overscroll-behavior:contain; color-scheme:dark;
}
.inline-text-controls *, .inline-text-controls *::before {box-sizing:border-box;}
.inline-text-controls [hidden] {display:none!important;}
.inline-text-controls button, .inline-text-controls select, .inline-text-controls input {
  font:inherit; color:inherit; border:1px solid transparent; border-radius:var(--radius-sm,8px);
  background:var(--chrome-raised,#303134); min-height:40px; min-width:0;
}
.inline-text-controls button {cursor:pointer; padding:6px 10px;}
.inline-text-controls :is(button,input,select):focus-visible {outline:2px solid var(--g-blue,#4285F4); outline-offset:2px;}
.inline-text-controls button:hover {border-color:var(--chrome-muted,#9AA0A6);}
.inline-text-controls button[aria-pressed="true"] {border-color:var(--g-blue,#4285F4); background:color-mix(in srgb,var(--g-blue,#4285F4) 18%,var(--chrome-bg,#202124));}
.inline-text-header {display:flex; align-items:center; gap:8px;}
.inline-text-header {position:sticky; top:0; z-index:1; background:var(--chrome-bg,#202124);}
.inline-text-header .btn-typo-expand {flex:1; text-align:left; background:transparent; font-weight:600;}
.inline-text-header .btn-inline-done {background:var(--g-blue,#4285F4); color:#fff;}
.inline-text-controls h3 {font-size:13px; font-weight:500; margin:14px 0 8px; color:var(--chrome-muted,#9AA0A6);}
.typo-pack-grid {display:grid; grid-template-columns:1fr 1fr; gap:6px;}
.typo-pack {display:flex; flex-direction:column; align-items:flex-start; gap:3px; text-align:left;}
.typo-pack strong {font-size:18px; line-height:1.3; font-weight:500;}
.typo-pack small {font-size:11px; color:var(--chrome-muted,#9AA0A6);}
.typo-role-row, .inline-text-toolbar, .typo-metrics {display:flex; align-items:center; gap:6px; margin-top:10px;}
.typo-role-row button {flex:1;}
.inline-text-toolbar {flex-wrap:wrap;}
.inline-sz-val {font-size:13px; min-width:40px; text-align:center;}
.inline-text-controls .inline-color-input {width:40px; height:40px; padding:5px; cursor:pointer;}
.typo-font-list {display:grid; grid-template-columns:1fr 1fr; gap:4px; max-height:152px; overflow:auto; margin-top:8px;}
.typo-font-option {display:flex; flex-direction:column; text-align:left; gap:3px;}
.typo-font-option small {font:11px var(--font-ui); color:var(--chrome-muted,#9AA0A6);}
.inline-text-controls .typo-font-search {width:100%; padding:8px 10px;}
.typo-metrics label {flex:1; display:flex; flex-direction:column; gap:5px; color:var(--chrome-muted,#9AA0A6); font-size:12px;}
.typo-metrics :is(input,select) {width:100%; padding:5px; color:var(--chrome-ink,#E8EAED); font-size:14px;}
.typo-pending {margin-top:12px; font-size:11px; color:var(--chrome-muted,#9AA0A6);}
.typo-pending p {margin:6px 0;}
.typo-status {margin:6px 0 0; font-size:12px; color:var(--chrome-muted,#9AA0A6);}
.inline-text-controls .btn-local-fonts {width:100%; margin-top:12px;}
#selectionOverlay .selection-box.typo-text-selection {border:1px solid rgb(138 180 248 / .24)!important; background:transparent!important; box-shadow:none!important;}
html[data-board-space] #canvasCard #selectionOverlay .typo-text-selection {display:block!important;}
body:has(#inlineCanvasTextWrapper) #t1021ToolOpts {display:none!important;}
body:has(#inlineCanvasTextWrapper) .onboard-cards {display:none!important;}
@media (max-width:767px) {
  .inline-text-controls :is(button,input,select) {min-height:44px;}
  .inline-text-controls :is(input,select) {font-size:16px;}
  .typo-pack strong {font-size:17px;}
  .typo-pack-grid {gap:4px;}
  #presentBar {max-width:calc(100vw - 16px); gap:3px; padding:6px 8px; overflow-x:auto;}
  #presentBar button {flex-shrink:0; width:44px; height:44px; min-width:44px;}
  #presentBar .px-page {font-size:14px; min-width:3em;}
  #presentBar .px-sep {margin:0;}
  #presentBar .px-end {padding:0 8px; font-size:13px;}
}
@media (prefers-reduced-motion:reduce) {.inline-text-controls * {transition:none!important;}}
