/* Matte tools, precise edges. No continuous animation or blur layers. */
.inky-editor body { font-family: var(--sans); font-weight: 450; background: var(--paper); }
.inky-editor .toolbar {
  background: linear-gradient(180deg, var(--raised), var(--surface) 70%);
  border-color: var(--rule); border-radius: 18px;
  box-shadow: 0 1px 0 var(--w-2) inset, 0 6px 24px var(--d-2);
}
.inky-editor .toolbar .tool { border: 1px solid transparent; border-radius: 11px; color: var(--ink-2); }
.inky-editor .toolbar .tool:hover { background: var(--raised); color: var(--ink); }
.inky-editor .toolbar .tool.active {
  outline: 0; color: var(--accent); background: var(--accent-wash);
  border-color: var(--accent); box-shadow: 0 1px 0 var(--w-2) inset;
}
.inky-editor .menu-btn { border: 1px solid var(--rule); border-radius: 13px; background: var(--surface); box-shadow: 0 1px 0 var(--w-2) inset; }
.inky-editor .editor-brand { font-family: var(--sans); letter-spacing: -.035em; font-weight: 700; }
.inky-editor #toolDock { background: var(--surface); border-color: var(--rule); box-shadow: 0 1px 0 var(--w-2) inset; }
.inky-editor #canvas-container { border-color: var(--rule); box-shadow: 0 0 0 1px var(--d-1), 0 1px 18px var(--d-1) inset; }
.inky-editor .tool-options:not(.is-docked),
.inky-editor :is(.geometry-inspector,.manipulative-inspector,.line-inspector,.canvas-theme-pop) {
  background: var(--surface); border-color: var(--rule); box-shadow: 0 12px 36px var(--d-3), 0 1px 0 var(--w-2) inset;
}
.inky-editor :is(.geometry-inspector-header,.manipulative-inspector-header,.line-inspector-header,.tool-options-head) { background: var(--surface); border-bottom-color: var(--rule); }
.inky-editor :is(.geometry-inspector-title,.geometry-inspector h2,.tool-options-head h2) { letter-spacing: -.025em; font-weight: 650; }
.inky-editor :is(.geometry-stat,.geometry-field input,.geometry-field select,.hex-field) { border-color: var(--rule); background: var(--raised); }
.inky-editor #sideMenu.side-menu { box-shadow: 12px 0 42px var(--d-3), 0 1px 0 var(--w-2) inset; }
.inky-editor #sideMenu .ppt-import-chip { border-color: var(--rule); background: var(--raised); color: var(--ink-2); font-family: var(--mono); font-weight: 450; }
.inky-editor #sideMenu .file-ribbon-state { color: var(--ok); }
.inky-editor #sideMenu [data-command="clear"] { color: var(--error); }
.inky-editor #sideMenu .menu-section-label { font-family: var(--mono); font-weight: 550; letter-spacing: .1em; font-size: 10px; }
.inky-editor #sideMenu :is(.menu-action-btn,.menu-item,.planner-menu-btn) { font-weight: 450; }
.inky-editor #sideMenu .menu-item-title { font-weight: 550; }
.inky-editor #emptyHint { font: 11px var(--mono); color: var(--ink-2); letter-spacing: .09em; text-align: center; }
.inky-editor #emptyHint::before { content: "inkyscib"; display: block; margin-bottom: 20px; color: var(--ink); opacity: .7; font: italic 56px Georgia, serif; letter-spacing: -.065em; text-transform: none; }
.inky-editor footer { font-family: var(--mono); color: var(--ink-2); font-size: 10px; letter-spacing: .025em; }
.inky-editor :is(input,select,button) { accent-color: var(--accent); }
.ink-replay { position: fixed; inset: 0; z-index: 11000; display: grid; place-items: center; background: var(--d-5); padding: 20px; box-sizing: border-box; }
.ink-replay-panel { display: flex; flex-direction: column; width: min(900px,100%); max-height: calc(100dvh - 40px); min-height: 0; overflow: hidden; border: 1px solid var(--rule); border-radius: 20px; background: var(--surface); color: var(--ink); box-shadow: 0 20px 70px var(--d-5); }
.ink-replay-header { padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--rule); }
.ink-replay-kicker { font: 10px var(--mono); color: var(--accent); letter-spacing: .12em; text-transform: uppercase; margin: 0 0 6px; }
.ink-replay-header h2 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -.03em; }
.ink-replay-close { width: 44px; height: 44px; flex: none; border: 1px solid var(--rule); border-radius: 12px; background: var(--raised); color: var(--ink); cursor: pointer; font-size: 24px; }
.ink-replay-view { margin: 16px; height: min(48dvh,420px); min-height: 96px; background: var(--canvas-ground); border: 1px solid var(--rule); border-radius: 12px; overflow: hidden; position: relative; }
.ink-replay-view canvas { width: 100%; height: 100%; display: block; }
.ink-replay-empty { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; font-size: 13px; color: var(--ink-2); text-align: center; }
.ink-replay-controls { padding: 0 22px 20px; display: grid; gap: 14px; }
.ink-replay-timeline { width: 100%; min-width: 0; margin: 0; accent-color: var(--accent); }
.ink-replay-controls-row { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.ink-replay-controls button,.ink-replay-controls select { min-height: 44px; padding: 9px 14px; border: 1px solid var(--rule); border-radius: 10px; background: var(--raised); color: var(--ink); font: inherit; font-size: 13px; cursor: pointer; }
.ink-replay-controls .ink-replay-play { background: var(--accent); color: var(--on-accent); border-color: var(--accent); min-width: 90px; font-weight: 600; }
.ink-replay-controls :disabled { opacity: .45; cursor: default; }
.ink-replay-count { margin-left: auto; font: 11px var(--mono); color: var(--ink-2); }
.ink-replay-note { margin: 0; font-size: 12px; color: var(--ink-2); line-height: 1.5; }
@media(max-width:600px) {
  .ink-replay { padding: 10px; }
  .ink-replay-panel { max-height: calc(100dvh - 20px); border-radius: 16px; }
  .ink-replay-header { padding: 14px; }
  .ink-replay-controls { padding: 0 14px 14px; }
  .ink-replay-view { margin: 12px; height: 38dvh; }
  .ink-replay-controls button,.ink-replay-controls select { padding: 9px 11px; }
  .ink-replay-count { width: 100%; margin: 0; }
}
@media(max-height:480px) {
  .ink-replay-header { padding: 10px 14px; }
  .ink-replay-header h2 { font-size: 18px; }
  .ink-replay-view { height: 34dvh; margin: 10px 14px; min-height: 60px; }
  .ink-replay-controls { gap: 6px; padding: 0 14px 10px; }
  .ink-replay-note { display: none; }
}

.ink-replay-close { display: grid; place-items: center; }
.ink-replay-controls button svg { vertical-align: middle; }

/* Assist is an enabled setting, not a second selected drawing tool. */
.inky-editor #shapeAssistBtn { position: relative; }
.inky-editor #shapeAssistBtn.active { color: var(--ink-2); border-color: var(--rule); background: var(--surface); }
.inky-editor #shapeAssistBtn.active::after { content: ""; position: absolute; right: 5px; bottom: 5px; width: 4px; height: 4px; border-radius: 50%; background: var(--accent); }
