{
  "version": 3,
  "sources": ["/cdn/shop/t/107/assets/canfoto-panel-decision-focus-sheet-r1.js?fs1rr5=20261008r1"],
  "sourcesContent": ["/* CANFOTO ETAP 2 \u00B7 POLISH-P1 \u00B7 N04 DECISION SURFACE\r\n   VERSION: CANFOTO-ETAP2-POLISH-P1-N04-FOCUS-SHEET-R12\r\n   Pending UI + presentation owner only.\r\n   R12 core behavior preserved. R14 core preserved. R15 close-only correction: exact secondary-modal suppression + smaller always-inside-panel placement on the active style surface. */\r\n(function (window, document) {\r\n  \"use strict\";\r\n\r\n  var VERSION = \"CANFOTO-ETAP2-POLISH-P1-N04-FOCUS-SHEET-R12\";\r\n  var ROOT_ID = \"canfotoPanelDecisionFocusSheetR1\";\r\n  var PANEL_ROUTE = \"/pages/panel-led-secim-motoru\";\r\n  var R32_BRIDGE_KEY = \"CANFOTO_PANEL_DECISION_R32_BRIDGE_R1\";\r\n  var EXACT_NORA_HERO = \"https://cdn.shopify.com/s/files/1/0739/2755/7269/files/NORA-HERO.png?v=1788417055\";\r\n  var STORAGE_KEY = \"canfoto_experience_theme_v1\";\r\n\r\n  var state = {\r\n    status: \"BOOTING\",\r\n    ready: false,\r\n    mounted: false,\r\n    waitingForR28Event: false,\r\n    purposeKey: \"\",\r\n    subPurposeKey: \"\",\r\n    lane: \"\",\r\n    laneChoiceMode: \"\",\r\n    noraStage: \"IDLE\",\r\n    noraStand: \"\",\r\n    noraEquipment: \"\",\r\n    noraSuggestedLane: \"\",\r\n    styleOrder: [],\r\n    styleNames: {},\r\n    poolCount: 27,\r\n    poolCountSource: \"FROZEN_FALLBACK_27\",\r\n    initialPendingEmptyAtMount: false,\r\n    entryStylePolicyApplied: false,\r\n    entrySourceKind: \"UNRESOLVED\",\r\n    entryReferrerPath: \"\",\r\n    entryNavigationType: \"\",\r\n    entryStyleId: \"\",\r\n    initialMotorViewportAligned: false,\r\n    entryViewportEpoch: 0,\r\n    entryViewportSettleRuns: 0,\r\n    entryViewportLastTop: null,\r\n    entryViewportUserIntent: false,\r\n    entryViewportLateBound: false,\r\n    entryViewportLateRuns: 0,\r\n    entryViewportLateReason: \"\",\r\n    resetViewportEpoch: 0,\r\n    resetViewportSettleRuns: 0,\r\n    guidedScrollEpoch: 0,\r\n    guidedScrollRaf: 0,\r\n    guidedScrollTimer: 0,\r\n    motorMotionEpoch: 0,\r\n    motorMotionRaf: 0,\r\n    motorMotionActive: false,\r\n    motorMotionReason: \"\",\r\n    motorMotionCount: 0,\r\n    motorMotionCancelCount: 0,\r\n    motorMotionLastDurationMs: 0,\r\n    motorMotionLastTargetTop: null,\r\n    entryViewportStrategy: \"STRUCTURAL_FIRST_SCROLL_ZERO_R11\",\r\n    openStartSyncCount: 0,\r\n    openStartConfirmCount: 0,\r\n    openStartLastSource: \"\",\r\n    openStartLastTop: null,\r\n    historyScrollRestorationManual: false,\r\n    entryFenceActive: false,\r\n    entryFenceEpoch: 0,\r\n    entryFenceRaf: 0,\r\n    entryFenceTimer: 0,\r\n    entryFenceUntil: 0,\r\n    entryFenceDurationMs: 5600,\r\n    entryFenceCorrections: 0,\r\n    entryFenceLastSource: \"\",\r\n    entryFenceLastTargetTop: null,\r\n    entryFenceLastObservedTop: null,\r\n    entryFenceBound: false,\r\n    entryUserIntentEver: false,\r\n    legacyLandingTargetingExpectedRetired: true,\r\n    legacyLandingRuntimeNeutralized: false,\r\n    legacyLandingRuntimePatchCount: 0,\r\n    genericPanelOpenRuntimeOwner: \"\",\r\n    genericPanelOpenConsumed: false,\r\n    genericPanelOpenSkippedDeepLink: false,\r\n    railMeasureRaf: 0,\r\n    resetCount: 0,\r\n    applyCount: 0,\r\n    successfulCommitCount: 0,\r\n    recommendationHandoffOffsetPx: 0,\r\n    recommendationHandoffPolicy: \"\",\r\n    lastCommitResult: null,\r\n    lastError: \"\",\r\n    lastAction: \"boot\"\r\n  };\r\n\r\n  function clean(value) {\r\n    return String(value == null ? \"\" : value).replace(/\\u00a0/g, \" \").replace(/\\u202f/g, \" \").replace(/\\s+/g, \" \").trim();\r\n  }\r\n\r\n  function esc(value) {\r\n    return String(value == null ? \"\" : value).replace(/[&<>\"']/g, function (char) {\r\n      return {\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"}[char];\r\n    });\r\n  }\r\n\r\n  function all(selector, scope) {\r\n    try { return Array.prototype.slice.call((scope || document).querySelectorAll(selector)); }\r\n    catch (ignore) { return []; }\r\n  }\r\n\r\n  function root() { return document.getElementById(ROOT_ID); }\r\n  function panelRoot() { return document.getElementById(\"gdx-panel-led-v4-root\") || document.getElementById(\"gdxPanelV4Shell\"); }\r\n  function motorBody() { return document.querySelector(\"#gdxPanelV4Shell .gdx-panel-v4-body\"); }\r\n  function decisionMount() { return document.getElementById(\"canfotoPanelDecisionMountR11\"); }\r\n  function bridge() { return window[R32_BRIDGE_KEY] || null; }\r\n  function experience() { return window.CanFotoExperience || null; }\r\n  function resultGate() { return window.CANFOTO_PANEL_DEFERRED_RESULTS_GATE || null; }\r\n  function routeAllowed() { return window.location.pathname.replace(/\\/$/, \"\") === PANEL_ROUTE; }\r\n\r\n  function deactivateResultGate(reason) {\r\n    var gate = resultGate();\r\n    if (!gate || typeof gate.deactivate !== \"function\") return false;\r\n    try { return gate.deactivate(clean(reason || \"pending_change\")); }\r\n    catch (ignore) { return false; }\r\n  }\r\n\r\n  function activateResultGate(meta) {\r\n    var gate = resultGate();\r\n    if (!gate || typeof gate.activate !== \"function\") return false;\r\n    try { return gate.activate(meta || { source: VERSION }); }\r\n    catch (ignore) { return false; }\r\n  }\r\n  function reducedMotion() { return !!(window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches); }\r\n\r\n\r\n  var STICKY_CLOSE_ID = \"canfotoPanelStickyCloseR12\";\r\n  var stickyClosePlacementRaf = 0;\r\n  var stickyCloseResizeBound = false;\r\n  var stickyCloseModalObserver = null;\r\n  var stickyCloseModalVisibilityRaf = 0;\r\n\r\n  var STICKY_CLOSE_BLOCKING_MODAL_SELECTOR = [\r\n    '[data-gdx-r11-modal=\"1\"][data-gdx-r11-modal-type]',\r\n    '#gdxPanelV4R32UxR3PurposeModalLayer',\r\n    '[data-gdx-uxr3-modal-layer=\"1\"]',\r\n    'dialog[open]',\r\n    '[role=\"dialog\"][aria-modal=\"true\"]',\r\n    'modal-dialog',\r\n    'product-modal',\r\n    'quick-add-modal',\r\n    'details-modal',\r\n    '.modal[aria-modal=\"true\"]',\r\n    '[data-modal][aria-modal=\"true\"]',\r\n    '.pswp.pswp--open',\r\n    '.pswp--open'\r\n  ].join(',');\r\n\r\n  function stickyCloseButton() {\r\n    return document.getElementById(STICKY_CLOSE_ID);\r\n  }\r\n\r\n  function stickyCloseModalCandidateVisible(node) {\r\n    if (!node || node.nodeType !== 1) return false;\r\n    var shell = document.getElementById(\"gdxPanelV4Shell\");\r\n    var primaryPanel = shell && shell.querySelector(\":scope > .gdx-panel-v4-panel\");\r\n    if (node === shell || node === primaryPanel || node.id === STICKY_CLOSE_ID) return false;\r\n    if (node.hidden === true || node.getAttribute(\"aria-hidden\") === \"true\") return false;\r\n    try {\r\n      var style = window.getComputedStyle ? window.getComputedStyle(node) : null;\r\n      if (style && (style.display === \"none\" || style.visibility === \"hidden\" || Number(style.opacity) === 0)) return false;\r\n    } catch (ignoreStyle) {}\r\n    try { if (node.getClientRects && node.getClientRects().length === 0) return false; }\r\n    catch (ignoreRect) {}\r\n    return true;\r\n  }\r\n\r\n  function stickyCloseBlockingModal() {\r\n    var nodes = all(STICKY_CLOSE_BLOCKING_MODAL_SELECTOR);\r\n    for (var i = 0; i < nodes.length; i += 1) {\r\n      if (stickyCloseModalCandidateVisible(nodes[i])) return nodes[i];\r\n    }\r\n    return null;\r\n  }\r\n\r\n  function syncStickyCloseModalVisibility() {\r\n    var button = stickyCloseButton();\r\n    if (!button) return false;\r\n    var modal = stickyCloseBlockingModal();\r\n    var suppressed = !!modal;\r\n    var current = button.getAttribute(\"data-cf-p1-modal-suppressed\") === \"1\";\r\n    if (suppressed === current) return !suppressed;\r\n\r\n    if (suppressed) {\r\n      button.setAttribute(\"data-cf-p1-modal-suppressed\", \"1\");\r\n      button.setAttribute(\"data-cf-p1-modal-owner\", clean(modal.getAttribute(\"data-gdx-r11-modal-type\") || modal.id || modal.tagName || \"modal\"));\r\n      button.setAttribute(\"aria-hidden\", \"true\");\r\n      button.setAttribute(\"tabindex\", \"-1\");\r\n    } else {\r\n      button.removeAttribute(\"data-cf-p1-modal-suppressed\");\r\n      button.removeAttribute(\"data-cf-p1-modal-owner\");\r\n      button.removeAttribute(\"aria-hidden\");\r\n      button.removeAttribute(\"tabindex\");\r\n    }\r\n    return !suppressed;\r\n  }\r\n\r\n  function scheduleStickyCloseModalVisibility() {\r\n    if (stickyCloseModalVisibilityRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(stickyCloseModalVisibilityRaf); } catch (ignoreCancel) {}\r\n    }\r\n    var raf = window.requestAnimationFrame || function (fn) { fn(); return 0; };\r\n    stickyCloseModalVisibilityRaf = raf(function () {\r\n      stickyCloseModalVisibilityRaf = 0;\r\n      syncStickyCloseModalVisibility();\r\n    });\r\n    return true;\r\n  }\r\n\r\n  function bindStickyCloseModalVisibility() {\r\n    if (stickyCloseModalObserver || typeof window.MutationObserver !== \"function\") {\r\n      scheduleStickyCloseModalVisibility();\r\n      return true;\r\n    }\r\n    var target = document.body || document.documentElement;\r\n    if (!target) return false;\r\n    stickyCloseModalObserver = new window.MutationObserver(function () {\r\n      scheduleStickyCloseModalVisibility();\r\n    });\r\n    stickyCloseModalObserver.observe(target, {\r\n      subtree: true,\r\n      childList: true,\r\n      attributes: true,\r\n      attributeFilter: [\"open\", \"hidden\", \"aria-hidden\", \"aria-modal\", \"class\", \"style\"]\r\n    });\r\n    scheduleStickyCloseModalVisibility();\r\n    return true;\r\n  }\r\n\r\n  function unbindStickyCloseModalVisibility() {\r\n    if (stickyCloseModalVisibilityRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(stickyCloseModalVisibilityRaf); } catch (ignoreCancel) {}\r\n      stickyCloseModalVisibilityRaf = 0;\r\n    }\r\n    if (stickyCloseModalObserver) {\r\n      try { stickyCloseModalObserver.disconnect(); } catch (ignoreDisconnect) {}\r\n      stickyCloseModalObserver = null;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  function syncStickyClosePosition() {\r\n    var button = stickyCloseButton();\r\n    var shell = document.getElementById(\"gdxPanelV4Shell\");\r\n    var panel = shell && shell.querySelector(\".gdx-panel-v4-panel\");\r\n    if (!button || !panel || shell.hidden === true || shell.getAttribute(\"aria-hidden\") === \"true\") return false;\r\n    var rect = panel.getBoundingClientRect();\r\n    if (!rect || rect.width <= 0 || rect.height <= 0) return false;\r\n    var mobile = window.innerWidth <= 840;\r\n    var size = 44;\r\n    var insetX = mobile ? 10 : 14;\r\n    var insetY = mobile ? 12 : 14;\r\n    var left = rect.right - size - insetX;\r\n    var top = rect.top + insetY;\r\n    left = Math.max(8, Math.min(window.innerWidth - size - 8, left));\r\n    top = Math.max(8, Math.min(window.innerHeight - size - 8, top));\r\n    button.style.left = Math.round(left) + \"px\";\r\n    button.style.right = \"auto\";\r\n    button.style.top = Math.round(top) + \"px\";\r\n    button.setAttribute(\"data-cf-p1-close-placement\", \"inside-panel-theme-surface-r15\");\r\n    return true;\r\n  }\r\n\r\n  function scheduleStickyClosePosition() {\r\n    if (stickyClosePlacementRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(stickyClosePlacementRaf); } catch (ignore) {}\r\n    }\r\n    var raf = window.requestAnimationFrame || function (fn) { fn(); return 0; };\r\n    stickyClosePlacementRaf = raf(function () {\r\n      stickyClosePlacementRaf = 0;\r\n      syncStickyClosePosition();\r\n    });\r\n    return true;\r\n  }\r\n\r\n  function ensureStickyCloseControl() {\r\n    var shell = document.getElementById(\"gdxPanelV4Shell\");\r\n    if (!shell) return false;\r\n    var button = stickyCloseButton();\r\n    if (!button) {\r\n      button = document.createElement(\"button\");\r\n      button.id = STICKY_CLOSE_ID;\r\n      button.type = \"button\";\r\n      button.className = \"cf-p1-sticky-close\";\r\n      button.setAttribute(\"data-gdx-panel-close\", \"1\");\r\n      button.setAttribute(\"data-cf-p1-sticky-close\", \"R12\");\r\n      button.setAttribute(\"data-cf-p1-close-visibility\", \"R15_EXACT_SECONDARY_MODAL_SUPPRESSION\");\r\n      button.setAttribute(\"aria-label\", \"Panel LED se\u00E7im motorunu kapat\");\r\n      button.setAttribute(\"title\", \"Kapat\");\r\n      shell.appendChild(button);\r\n    } else if (button.parentNode !== shell) {\r\n      shell.appendChild(button);\r\n    }\r\n    button.setAttribute(\"data-cf-p1-close-visibility\", \"R15_EXACT_SECONDARY_MODAL_SUPPRESSION\");\r\n    if (!stickyCloseResizeBound) {\r\n      window.addEventListener(\"resize\", scheduleStickyClosePosition, { passive: true });\r\n      stickyCloseResizeBound = true;\r\n    }\r\n    bindStickyCloseModalVisibility();\r\n    scheduleStickyClosePosition();\r\n    scheduleStickyCloseModalVisibility();\r\n    return true;\r\n  }\r\n\r\n  function removeStickyCloseControl() {\r\n    unbindStickyCloseModalVisibility();\r\n    if (stickyClosePlacementRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(stickyClosePlacementRaf); } catch (ignore) {}\r\n      stickyClosePlacementRaf = 0;\r\n    }\r\n    var button = stickyCloseButton();\r\n    if (button && button.parentNode) button.parentNode.removeChild(button);\r\n    return true;\r\n  }\r\n\r\n  function getBlueprint() {\r\n    var b = bridge();\r\n    try { return b && typeof b.getBlueprint === \"function\" ? b.getBlueprint() : null; }\r\n    catch (error) { state.lastError = clean(error && error.message) || \"blueprint_read_failed\"; return null; }\r\n  }\r\n\r\n  function getStyleOwnerSnapshot() {\r\n    var api = experience();\r\n    var f08 = window.CANFOTO_E1_F08 || {};\r\n    var order = Array.isArray(f08.themeOrder) ? f08.themeOrder.slice() : [];\r\n    var list = api && typeof api.list === \"function\" ? api.list() : [];\r\n    var names = {};\r\n    list.forEach(function (item) { if (item && item.id) names[item.id] = clean(item.name) || item.id; });\r\n    return { api: api, order: order, names: names, f08: f08, list: list };\r\n  }\r\n\r\n  function dependencies() {\r\n    var b = bridge();\r\n    var bp = getBlueprint();\r\n    var styles = getStyleOwnerSnapshot();\r\n    var bridgeState = b && typeof b.getState === \"function\" ? b.getState() : null;\r\n    var checks = {\r\n      route: routeAllowed(),\r\n      bridge: !!(b && typeof b.commitAtomic === \"function\" && typeof b.setExternalOwnerActive === \"function\" && typeof b.resolveNoraLane === \"function\"),\r\n      bridgeReady: !!(bridgeState && bridgeState.ready === true),\r\n      blueprint: !!(bp && Array.isArray(bp.mainPurposes) && bp.mainPurposes.length === 8),\r\n      experienceOwner: !!(styles.api && typeof styles.api.set === \"function\" && typeof styles.api.get === \"function\" && styles.api.storageKey === STORAGE_KEY),\r\n      styleOrder: styles.order.length === 9 && styles.order.every(function (id) { return !!styles.names[id]; })\r\n    };\r\n    return { ok: Object.keys(checks).every(function (key) { return checks[key] === true; }), checks: checks, bridge: b, bp: bp, styles: styles };\r\n  }\r\n\r\n  function resolvePoolCount() {\r\n    try {\r\n      var api = window.GDX_PANEL_LED_V4_ETAP2_R2B_CANONICAL_POOL;\r\n      var snap = api && typeof api.getSnapshot === \"function\" ? api.getSnapshot() : null;\r\n      var count = Number(snap && snap.productCount || 0);\r\n      if (count > 0) {\r\n        state.poolCount = count;\r\n        state.poolCountSource = \"R2B_CANONICAL_POOL_SNAPSHOT\";\r\n        return;\r\n      }\r\n    } catch (ignore) {}\r\n    state.poolCount = 27;\r\n    state.poolCountSource = \"FROZEN_FALLBACK_27\";\r\n  }\r\n\r\n  function purposeByKey(key) {\r\n    var bp = getBlueprint();\r\n    return bp && Array.isArray(bp.mainPurposes) ? (bp.mainPurposes.find(function (item) { return clean(item && item.purposeKey) === clean(key); }) || null) : null;\r\n  }\r\n\r\n  function subByKey(purpose, key) {\r\n    var list = purpose && Array.isArray(purpose.subPurposes) ? purpose.subPurposes : [];\r\n    return list.find(function (item) { return clean(item && item.subPurposeKey) === clean(key); }) || null;\r\n  }\r\n\r\n  function laneLabel(lane) {\r\n    var b = bridge();\r\n    try { return b && typeof b.getLaneLabel === \"function\" ? b.getLaneLabel(lane) : \"Hen\u00FCz se\u00E7ilmedi\"; }\r\n    catch (ignore) { return \"Hen\u00FCz se\u00E7ilmedi\"; }\r\n  }\r\n\r\n  function currentStyleId() {\r\n    var api = experience();\r\n    try { return api && typeof api.get === \"function\" ? clean(api.get()) : \"\"; }\r\n    catch (ignore) { return \"\"; }\r\n  }\r\n\r\n  function styleIndex(id) {\r\n    var idx = state.styleOrder.indexOf(id);\r\n    return idx >= 0 ? idx : 0;\r\n  }\r\n\r\n  function currentStyleName() {\r\n    var id = currentStyleId();\r\n    return state.styleNames[id] || id || \"G\u00F6r\u00FCn\u00FCm\";\r\n  }\r\n\r\n  function navigationType() {\r\n    try {\r\n      var entries = window.performance && typeof window.performance.getEntriesByType === \"function\"\r\n        ? window.performance.getEntriesByType(\"navigation\")\r\n        : [];\r\n      if (entries && entries[0] && entries[0].type) return clean(entries[0].type);\r\n      if (window.performance && window.performance.navigation) {\r\n        if (window.performance.navigation.type === 1) return \"reload\";\r\n        if (window.performance.navigation.type === 2) return \"back_forward\";\r\n      }\r\n    } catch (ignore) {}\r\n    return \"navigate\";\r\n  }\r\n\r\n  function referrerInfo() {\r\n    var raw = clean(document.referrer);\r\n    if (!raw) return { raw: \"\", sameOrigin: false, path: \"\" };\r\n    try {\r\n      var u = new URL(raw, window.location.href);\r\n      return { raw: raw, sameOrigin: u.origin === window.location.origin, path: u.pathname || \"\" };\r\n    } catch (ignore) {\r\n      return { raw: raw, sameOrigin: false, path: \"\" };\r\n    }\r\n  }\r\n\r\n  function applyEntryStylePolicy() {\r\n    if (state.entryStylePolicyApplied) return true;\r\n    var api = experience();\r\n    if (!api || typeof api.set !== \"function\" || typeof api.get !== \"function\") return false;\r\n    var navType = navigationType();\r\n    var ref = referrerInfo();\r\n    var preserveExisting = navType === \"reload\" || navType === \"back_forward\" || ref.sameOrigin === true;\r\n    state.entryNavigationType = navType;\r\n    state.entryReferrerPath = ref.path || \"\";\r\n    if (preserveExisting) {\r\n      state.entrySourceKind = ref.sameOrigin ? \"INTERNAL_INHERIT\" : \"HISTORY_INHERIT\";\r\n    } else {\r\n      api.set(\"cf-nature\", { persist: true, source: \"CANFOTO-P1-R3-DIRECT-ENTRY-NATURE\" });\r\n      state.entrySourceKind = \"DIRECT_DEFAULT_NATURE\";\r\n    }\r\n    state.entryStyleId = currentStyleId();\r\n    state.entryStylePolicyApplied = true;\r\n    return true;\r\n  }\r\n\r\n  function motorScrollHost() {\r\n    return document.querySelector(\"#gdxPanelV4Shell .gdx-panel-v4-panel\");\r\n  }\r\n\r\n  function shellIsOpen() {\r\n    var sh = document.getElementById(\"gdxPanelV4Shell\");\r\n    return !!(sh && sh.hidden !== true && sh.getAttribute(\"aria-hidden\") !== \"true\");\r\n  }\r\n\r\n  function cancelMotorMotion(reason) {\r\n    state.motorMotionEpoch += 1;\r\n    if (state.motorMotionRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(state.motorMotionRaf); } catch (ignore) {}\r\n    }\r\n    if (state.motorMotionActive) state.motorMotionCancelCount += 1;\r\n    state.motorMotionRaf = 0;\r\n    state.motorMotionActive = false;\r\n    if (reason) state.motorMotionReason = clean(reason);\r\n  }\r\n\r\n  function motorTargetTop(target, options) {\r\n    options = options || {};\r\n    var host = motorScrollHost();\r\n    if (!host || !target || !target.getBoundingClientRect) return null;\r\n    var hr = host.getBoundingClientRect();\r\n    var tr = target.getBoundingClientRect();\r\n    var inset = Number(options.inset);\r\n    if (!isFinite(inset)) inset = window.innerWidth <= 840 ? 8 : 18;\r\n    var current = Number(host.scrollTop || 0);\r\n    var top = current + (tr.top - hr.top) - inset;\r\n\r\n    if (options.align === \"nearest\") {\r\n      var lower = hr.bottom - Math.max(12, inset);\r\n      var upper = hr.top + Math.max(12, inset);\r\n      if (tr.top >= upper && tr.bottom <= lower) return current;\r\n      if (tr.bottom > lower) top = current + (tr.bottom - lower);\r\n    }\r\n    var max = Math.max(0, Number(host.scrollHeight || 0) - Number(host.clientHeight || 0));\r\n    return Math.max(0, Math.min(max, Math.round(top)));\r\n  }\r\n\r\n  function setMotorTopImmediate(top, reason) {\r\n    var host = motorScrollHost();\r\n    if (!host) return false;\r\n    cancelMotorMotion(reason || \"immediate\");\r\n    top = Math.max(0, Number(top || 0));\r\n    host.scrollTop = top;\r\n    host.scrollLeft = 0;\r\n    state.entryViewportSettleRuns += 1;\r\n    state.entryViewportLastTop = Math.round(top);\r\n    state.motorMotionLastTargetTop = Math.round(top);\r\n    return true;\r\n  }\r\n\r\n  function smoothMotorToTop(top, reason, options) {\r\n    options = options || {};\r\n    var host = motorScrollHost();\r\n    if (!host) return false;\r\n    var max = Math.max(0, Number(host.scrollHeight || 0) - Number(host.clientHeight || 0));\r\n    top = Math.max(0, Math.min(max, Number(top || 0)));\r\n    var from = Number(host.scrollTop || 0);\r\n    var delta = top - from;\r\n    state.motorMotionLastTargetTop = Math.round(top);\r\n    if (Math.abs(delta) < 1.5 || reducedMotion()) {\r\n      setMotorTopImmediate(top, reason || \"motion_reduced\");\r\n      return true;\r\n    }\r\n\r\n    cancelMotorMotion(reason || \"motion_restart\");\r\n    var epoch = ++state.motorMotionEpoch;\r\n    var duration = Number(options.duration || 0);\r\n    if (!duration) duration = Math.max(420, Math.min(680, 390 + Math.abs(delta) * 0.16));\r\n    state.motorMotionActive = true;\r\n    state.motorMotionReason = clean(reason) || \"smooth_motor_motion\";\r\n    state.motorMotionCount += 1;\r\n    state.motorMotionLastDurationMs = Math.round(duration);\r\n    var started = 0;\r\n    var raf = window.requestAnimationFrame || function (fn) { return window.setTimeout(function(){ fn(Date.now()); }, 16); };\r\n\r\n    function ease(t) {\r\n      return t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2;\r\n    }\r\n    function step(ts) {\r\n      if (epoch !== state.motorMotionEpoch) return;\r\n      if (!started) started = Number(ts || Date.now());\r\n      var elapsed = Math.max(0, Number(ts || Date.now()) - started);\r\n      var progress = Math.min(1, elapsed / duration);\r\n      host.scrollTop = from + delta * ease(progress);\r\n      host.scrollLeft = 0;\r\n      if (progress < 1) {\r\n        state.motorMotionRaf = raf(step);\r\n      } else {\r\n        host.scrollTop = top;\r\n        state.motorMotionRaf = 0;\r\n        state.motorMotionActive = false;\r\n      }\r\n    }\r\n    state.motorMotionRaf = raf(step);\r\n    return true;\r\n  }\r\n\r\n  function smoothMotorToElement(target, options) {\r\n    options = options || {};\r\n    var top = motorTargetTop(target, options);\r\n    if (top == null) return false;\r\n    return smoothMotorToTop(top, options.reason || \"element_motion\", options);\r\n  }\r\n\r\n  function alignDecisionToMotorTop(behavior) {\r\n    if (!root() || !motorScrollHost()) return false;\r\n    if (behavior === \"smooth\") return smoothMotorToTop(0, \"decision_start_smooth\");\r\n    return setMotorTopImmediate(0, \"decision_start_immediate\");\r\n  }\r\n\r\n  function setManualHistoryRestoration() {\r\n    if (!routeAllowed()) return false;\r\n    try {\r\n      if (window.history && \"scrollRestoration\" in window.history) {\r\n        window.history.scrollRestoration = \"manual\";\r\n        state.historyScrollRestorationManual = window.history.scrollRestoration === \"manual\";\r\n        return state.historyScrollRestorationManual;\r\n      }\r\n    } catch (ignore) {}\r\n    state.historyScrollRestorationManual = false;\r\n    return false;\r\n  }\r\n\r\n  function desiredDecisionTop() {\r\n    return root() && motorScrollHost() ? 0 : null;\r\n  }\r\n\r\n  function clearEntryFenceAsync() {\r\n    if (state.entryFenceRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(state.entryFenceRaf); } catch (ignoreRaf) {}\r\n    }\r\n    if (state.entryFenceTimer) {\r\n      try { window.clearTimeout(state.entryFenceTimer); } catch (ignoreTimer) {}\r\n    }\r\n    state.entryFenceRaf = 0;\r\n    state.entryFenceTimer = 0;\r\n  }\r\n\r\n  function stopEntryFence(reason) {\r\n    state.entryFenceEpoch += 1;\r\n    clearEntryFenceAsync();\r\n    state.entryFenceActive = false;\r\n    state.entryFenceUntil = 0;\r\n    if (reason) state.entryFenceLastSource = clean(reason);\r\n    return true;\r\n  }\r\n\r\n  function correctEntryFence(reason) {\r\n    if (!state.entryFenceActive || state.entryViewportUserIntent || state.entryUserIntentEver || !shellIsOpen()) return false;\r\n    if (Date.now() > state.entryFenceUntil) { stopEntryFence(\"entry_fence_expired\"); return false; }\r\n    var host = motorScrollHost();\r\n    var target = desiredDecisionTop();\r\n    if (!host || target == null) return false;\r\n    state.entryFenceLastTargetTop = Math.round(target);\r\n    state.entryFenceLastObservedTop = Math.round(Number(host.scrollTop || 0));\r\n    if (Math.abs(Number(host.scrollTop || 0) - target) > 2) {\r\n      host.scrollTop = target;\r\n      host.scrollLeft = 0;\r\n      state.entryFenceCorrections += 1;\r\n      state.entryViewportLastTop = Math.round(target);\r\n      state.initialMotorViewportAligned = true;\r\n      state.entryViewportLateRuns += 1;\r\n      state.entryViewportLateReason = clean(reason || \"entry_fence_correction\");\r\n    }\r\n    return true;\r\n  }\r\n\r\n  function scheduleEntryFenceCorrection(reason) {\r\n    if (!state.entryFenceActive || state.entryViewportUserIntent || state.entryUserIntentEver) return false;\r\n    if (state.entryFenceRaf) return true;\r\n    var raf = window.requestAnimationFrame || function (fn) { return window.setTimeout(fn, 16); };\r\n    state.entryFenceRaf = raf(function () {\r\n      state.entryFenceRaf = 0;\r\n      correctEntryFence(reason || \"entry_fence_scroll\");\r\n    });\r\n    return true;\r\n  }\r\n\r\n  function bindEntryFenceHost() {\r\n    var host = motorScrollHost();\r\n    if (!host || host.__cfP1R7EntryFenceBound) return !!host;\r\n    host.__cfP1R7EntryFenceBound = true;\r\n    host.addEventListener(\"scroll\", function () {\r\n      if (state.entryFenceActive && !state.motorMotionActive) scheduleEntryFenceCorrection(\"foreign_or_restore_scroll\");\r\n    }, { passive: true });\r\n    state.entryFenceBound = true;\r\n    return true;\r\n  }\r\n\r\n  function startEntryFence(source, durationMs) {\r\n    if (!routeAllowed() || !root() || !shellIsOpen()) return false;\r\n    setManualHistoryRestoration();\r\n    bindEntryFenceHost();\r\n    clearEntryFenceAsync();\r\n    state.entryViewportEpoch += 1;\r\n    state.entryViewportUserIntent = false;\r\n    state.entryUserIntentEver = false;\r\n    state.entryFenceEpoch += 1;\r\n    var epoch = state.entryFenceEpoch;\r\n    var duration = Number(durationMs || state.entryFenceDurationMs || 5600);\r\n    duration = Math.max(600, Math.min(6500, duration));\r\n    state.entryFenceDurationMs = duration;\r\n    state.entryFenceActive = true;\r\n    state.entryFenceUntil = Date.now() + duration;\r\n    state.entryFenceLastSource = clean(source || \"entry_fence\");\r\n    var top = desiredDecisionTop();\r\n    if (top != null) {\r\n      setMotorTopImmediate(top, \"entry_fence_start\");\r\n      state.initialMotorViewportAligned = true;\r\n      state.entryFenceLastTargetTop = Math.round(top);\r\n    }\r\n    var raf = window.requestAnimationFrame || function (fn) { return window.setTimeout(fn, 16); };\r\n    state.entryFenceRaf = raf(function () {\r\n      state.entryFenceRaf = raf(function () {\r\n        state.entryFenceRaf = 0;\r\n        if (epoch !== state.entryFenceEpoch) return;\r\n        correctEntryFence(\"entry_fence_double_raf\");\r\n      });\r\n    });\r\n    state.entryFenceTimer = window.setTimeout(function () {\r\n      if (epoch !== state.entryFenceEpoch) return;\r\n      correctEntryFence(\"entry_fence_release_check\");\r\n      stopEntryFence(\"entry_fence_complete\");\r\n    }, duration);\r\n    return true;\r\n  }\r\n\r\n  function settleEntryViewport() {\r\n    return startEntryFence(\"entry_settle\", 5600);\r\n  }\r\n\r\n  function bindViewportUserIntent() {\r\n    var host = motorScrollHost();\r\n    if (!host || host.__cfP1R8IntentBound) return;\r\n    host.__cfP1R8IntentBound = true;\r\n    var mark = function (event) {\r\n      if (!state.ready) return;\r\n      if (event && event.isTrusted === false) return;\r\n      state.entryViewportUserIntent = true;\r\n      state.entryUserIntentEver = true;\r\n      state.entryViewportEpoch += 1;\r\n      stopEntryFence(\"user_intent\");\r\n      cancelMotorMotion(\"user_intent\");\r\n    };\r\n    host.addEventListener(\"wheel\", mark, { passive: true });\r\n    host.addEventListener(\"touchstart\", mark, { passive: true });\r\n    host.addEventListener(\"pointerdown\", mark, { passive: true });\r\n    host.addEventListener(\"keydown\", mark, true);\r\n  }\r\n\r\n  function forceDecisionStartSync(source) {\r\n    if (!routeAllowed() || !root() || !shellIsOpen()) return false;\r\n    setManualHistoryRestoration();\r\n    bindViewportUserIntent();\r\n    var host = motorScrollHost();\r\n    var top = desiredDecisionTop();\r\n    if (!host || top == null) return false;\r\n    cancelMotorMotion(\"entry_prepaint_sync\");\r\n    host.scrollTop = top;\r\n    host.scrollLeft = 0;\r\n    state.initialMotorViewportAligned = true;\r\n    state.entryViewportLastTop = Math.round(top);\r\n    state.openStartLastTop = Math.round(top);\r\n    state.openStartLastSource = clean(source || \"entry_prepaint_sync\");\r\n    state.openStartSyncCount += 1;\r\n    state.entryViewportLateRuns += 1;\r\n    state.entryViewportLateReason = state.openStartLastSource;\r\n    return true;\r\n  }\r\n\r\n  function confirmDecisionStartNextFrame(source) {\r\n    var epoch = ++state.entryViewportEpoch;\r\n    var raf = window.requestAnimationFrame || function (fn) { return window.setTimeout(fn, 16); };\r\n    raf(function () {\r\n      if (epoch !== state.entryViewportEpoch || state.entryViewportUserIntent || state.entryUserIntentEver || !shellIsOpen()) return;\r\n      var host = motorScrollHost();\r\n      var top = desiredDecisionTop();\r\n      if (!host || top == null) return;\r\n      if (Math.abs(Number(host.scrollTop || 0) - Number(top)) > 1.5) {\r\n        host.scrollTop = top;\r\n        host.scrollLeft = 0;\r\n      }\r\n      state.initialMotorViewportAligned = true;\r\n      state.entryViewportLastTop = Math.round(top);\r\n      state.openStartLastTop = Math.round(top);\r\n      state.openStartLastSource = clean(source || \"entry_prepaint_confirm\");\r\n      state.openStartConfirmCount += 1;\r\n    });\r\n    return true;\r\n  }\r\n\r\n  function prepareDecisionStart(source) {\r\n    state.entryViewportUserIntent = false;\r\n    state.entryUserIntentEver = false;\r\n    state.lastAction = \"entry_start:\" + clean(source || \"unknown\");\r\n    ensureDecisionFirst();\r\n    ensureRecommendationBelowDecision();\r\n    ensureStickyCloseControl();\r\n    scheduleStickyClosePosition();\r\n    var ok = forceDecisionStartSync(clean(source || \"entry_zero\") + \"_sync\");\r\n    confirmDecisionStartNextFrame(clean(source || \"entry_zero\") + \"_confirm\");\r\n    return ok;\r\n  }\r\n\r\n  function queuePrepaintDecisionStart(source) {\r\n    var run = function () { prepareDecisionStart(source || \"launcher_prepaint\"); };\r\n    if (typeof window.queueMicrotask === \"function\") window.queueMicrotask(run);\r\n    else if (window.Promise && typeof window.Promise.resolve === \"function\") window.Promise.resolve().then(run);\r\n    else run();\r\n    return true;\r\n  }\r\n\r\n  function scheduleOneShotEntryAlign(source) {\r\n    return prepareDecisionStart(source || \"entry_start_r11\");\r\n  }\r\n\r\n  function scheduleInitialMotorViewport() {\r\n    if (!shellIsOpen()) return false;\r\n    return prepareDecisionStart(\"initial_mount_r11\");\r\n  }\r\n\r\n  function requestEntryStart(source) {\r\n    return prepareDecisionStart(source || \"entry_start_r11\");\r\n  }\r\n\r\n  function wrapPanelOpenOwner() {\r\n    var ui = window.GDX_PANEL_LED_V4_UI || null;\r\n    if (!ui || typeof ui.open !== \"function\" || ui.__cfP1R11OpenWrapped) return false;\r\n    var original = ui.open;\r\n    ui.open = function () {\r\n      var result = original.apply(ui, arguments);\r\n      prepareDecisionStart(\"panel_ui_open_r11\");\r\n      return result;\r\n    };\r\n    ui.__cfP1R11OpenWrapped = true;\r\n    ui.__cfP1R11OpenOriginal = original;\r\n    return true;\r\n  }\r\n\r\n  function openShellAtDecisionStart(source) {\r\n    var ui = window.GDX_PANEL_LED_V4_UI || null;\r\n    var shell = document.getElementById(\"gdxPanelV4Shell\");\r\n    var triggeredByOpen = false;\r\n    try {\r\n      if (shell && (shell.hidden === true || shell.getAttribute(\"aria-hidden\") === \"true\")) {\r\n        if (ui && typeof ui.open === \"function\") { ui.open(); triggeredByOpen = true; }\r\n        else {\r\n          var launcher = document.getElementById(\"gdxPanelV4Launcher\");\r\n          if (launcher && typeof launcher.click === \"function\") { launcher.click(); triggeredByOpen = true; }\r\n        }\r\n      }\r\n    } catch (ignore) {}\r\n    if (!triggeredByOpen) prepareDecisionStart(source || \"decision_open_r11\");\r\n    return true;\r\n  }\r\n\r\n  function neutralizeLegacyLandingRuntime() {\r\n    if (!routeAllowed()) return false;\r\n    var current = window.GDX_PANEL_LED_P13_FINAL_LANDING || {};\r\n    var patched = {};\r\n    try { Object.keys(current).forEach(function (key) { patched[key] = current[key]; }); } catch (ignoreCopy) {}\r\n    patched.ready = true;\r\n    patched.motorSafe = true;\r\n    patched.legacyMotorTargeting = \"SOURCE_RETIRED_R8\";\r\n    patched.genericPanelOpenIntent = \"N04_START_R11\";\r\n    patched.runtimeOwner = VERSION;\r\n    patched.openUsecase = function () { return openShellAtDecisionStart(\"legacy_api_open_usecase\"); };\r\n    patched.openCompare = function () { return openShellAtDecisionStart(\"legacy_api_open_compare\"); };\r\n    window.GDX_PANEL_LED_P13_FINAL_LANDING = patched;\r\n    state.legacyLandingRuntimeNeutralized = true;\r\n    state.legacyLandingRuntimePatchCount += 1;\r\n    state.genericPanelOpenRuntimeOwner = VERSION;\r\n    return true;\r\n  }\r\n\r\n  function deepLinkIntentPresent(url) {\r\n    var keys = [\"gdx_share\",\"gdx_panel_key\",\"gdx_panel_ref\",\"gdx_panel_purpose\",\"gdx_panel_sub\",\"gdx_panel_setup_variant\",\"gdx_panel_alt_mode\",\"nora_share\",\"nora_setup\"];\r\n    return keys.some(function (key) { return !!clean(url.searchParams.get(key)); });\r\n  }\r\n\r\n  function consumeGenericPanelOpenIntent() {\r\n    if (!routeAllowed()) return false;\r\n    var url;\r\n    try { url = new URL(window.location.href); } catch (ignore) { return false; }\r\n    if (clean(url.searchParams.get(\"gdx_open\")) !== \"panel-usecase\") return false;\r\n    if (deepLinkIntentPresent(url)) {\r\n      state.genericPanelOpenSkippedDeepLink = true;\r\n      return false;\r\n    }\r\n    url.searchParams.delete(\"gdx_open\");\r\n    try { window.history.replaceState(window.history.state, \"\", url.pathname + url.search + url.hash); } catch (ignoreReplace) {}\r\n    state.genericPanelOpenConsumed = true;\r\n    state.genericPanelOpenRuntimeOwner = VERSION;\r\n    openShellAtDecisionStart(\"generic_panel_open_intent\");\r\n    return true;\r\n  }\r\n\r\n  function legacyLandingClickCapture(event) {\r\n    if (!routeAllowed() || !event || !event.target || !event.target.closest) return;\r\n    var trigger = event.target.closest('#gdx-panel-led-final-landing [data-gdx-final-action=\"open-usecase\"],#gdx-panel-led-final-landing [data-gdx-final-action=\"open-compare\"]');\r\n    if (!trigger) return;\r\n    event.preventDefault();\r\n    event.stopPropagation();\r\n    if (typeof event.stopImmediatePropagation === \"function\") event.stopImmediatePropagation();\r\n    openShellAtDecisionStart(\"legacy_capture_\" + clean(trigger.getAttribute(\"data-gdx-final-action\")));\r\n  }\r\n\r\n  function bindLegacyLandingNeutralizer() {\r\n    if (!window.__cfP1R8LegacyCaptureBound) {\r\n      window.__cfP1R8LegacyCaptureBound = true;\r\n      document.addEventListener(\"click\", legacyLandingClickCapture, true);\r\n    }\r\n    neutralizeLegacyLandingRuntime();\r\n    return true;\r\n  }\r\n\r\n  function bindMotorOpenViewport() {\r\n    var launcher = document.getElementById(\"gdxPanelV4Launcher\");\r\n    if (launcher && !launcher.__cfP1R11ZeroBound) {\r\n      launcher.__cfP1R11ZeroBound = true;\r\n      launcher.addEventListener(\"click\", function () {\r\n        queuePrepaintDecisionStart(\"launcher_click_zero_r11\");\r\n      }, true);\r\n    }\r\n    wrapPanelOpenOwner();\r\n    bindLegacyLandingNeutralizer();\r\n    if (!window.__cfP1R11EntryRequestBound) {\r\n      window.__cfP1R11EntryRequestBound = true;\r\n      window.addEventListener(\"canfoto:panel-motor-entry-request\", function () {\r\n        if (shellIsOpen()) prepareDecisionStart(\"entry_request_event_r11\");\r\n        else queuePrepaintDecisionStart(\"entry_request_event_zero_r11\");\r\n      });\r\n    }\r\n  }\r\n\r\n  function noraHeroUrl() {\r\n    var f08 = window.CANFOTO_E1_F08 || {};\r\n    return clean(f08.noraHeroUrl) || EXACT_NORA_HERO;\r\n  }\r\n\r\n  function selectedPurposeTitle() {\r\n    var p = purposeByKey(state.purposeKey);\r\n    return clean(p && (p.title || p.shortTitle)) || \"Hen\u00FCz se\u00E7ilmedi\";\r\n  }\r\n\r\n  function selectedSubTitle() {\r\n    var p = purposeByKey(state.purposeKey);\r\n    var s = subByKey(p, state.subPurposeKey);\r\n    return clean(s && (s.title || s.shortTitle)) || \"Hen\u00FCz se\u00E7ilmedi\";\r\n  }\r\n\r\n  function selectedLaneTitle() {\r\n    if (state.laneChoiceMode === \"UNDECIDED\" && !state.lane) return \"NORA yard\u0131m ediyor\";\r\n    return state.lane ? laneLabel(state.lane) : \"Hen\u00FCz se\u00E7ilmedi\";\r\n  }\r\n\r\n  function validPending() {\r\n    return !!(state.purposeKey && state.subPurposeKey && (state.lane === \"BARE_LIGHT\" || state.lane === \"SINGLE_READY_SET\"));\r\n  }\r\n\r\n  function guideKey() {\r\n    if (!state.purposeKey) return \"purpose\";\r\n    if (!state.subPurposeKey) return \"sub\";\r\n    if (!state.lane) return state.laneChoiceMode === \"UNDECIDED\" ? \"nora\" : \"lane\";\r\n    return null;\r\n  }\r\n\r\n  function renderPurposeButtons() {\r\n    var bp = getBlueprint();\r\n    var list = bp && Array.isArray(bp.mainPurposes) ? bp.mainPurposes : [];\r\n    return list.map(function (p, index) {\r\n      var key = clean(p.purposeKey);\r\n      var selected = key === state.purposeKey;\r\n      return '<button type=\"button\" class=\"cf-p1-choice cf-p1-purpose' + (selected ? ' is-selected' : '') + '\" data-cf-p1-purpose=\"' + esc(key) + '\" aria-pressed=\"' + (selected ? 'true' : 'false') + '\">' +\r\n        '<span class=\"cf-p1-num\">' + String(index + 1).padStart(2, \"0\") + '</span>' +\r\n        '<strong>' + esc(clean(p.title || p.shortTitle || key)) + '</strong>' +\r\n      '</button>';\r\n    }).join(\"\");\r\n  }\r\n\r\n  function renderSubButtons() {\r\n    var p = purposeByKey(state.purposeKey);\r\n    if (!p) return '<div class=\"cf-p1-pending\">\u00D6nce \u00E7ekim amac\u0131n\u0131 se\u00E7. Sana uygun \u00E7ekim senaryolar\u0131 burada a\u00E7\u0131lacak.</div>';\r\n    var list = Array.isArray(p.subPurposes) ? p.subPurposes : [];\r\n    return list.map(function (sub) {\r\n      var key = clean(sub.subPurposeKey);\r\n      var selected = key === state.subPurposeKey;\r\n      return '<button type=\"button\" class=\"cf-p1-choice has-radio cf-p1-sub' + (selected ? ' is-selected' : '') + '\" data-cf-p1-sub=\"' + esc(key) + '\" role=\"radio\" aria-checked=\"' + (selected ? 'true' : 'false') + '\">' +\r\n        '<i class=\"cf-p1-radio\" aria-hidden=\"true\"></i>' +\r\n        '<strong>' + esc(clean(sub.title || sub.shortTitle || key)) + '</strong>' +\r\n        '<small>' + esc(clean(sub.intentHint) || \"NORA \u00F6nerilerini bu se\u00E7ime g\u00F6re g\u00FCnceller.\") + '</small>' +\r\n      '</button>';\r\n    }).join(\"\");\r\n  }\r\n\r\n  function laneButton(lane, eyebrow, title, note) {\r\n    var selected = lane === \"UNDECIDED\" ? state.laneChoiceMode === \"UNDECIDED\" : (state.laneChoiceMode !== \"UNDECIDED\" && state.lane === lane);\r\n    return '<button type=\"button\" class=\"cf-p1-choice has-radio cf-p1-lane' + (selected ? ' is-selected' : '') + '\" data-cf-p1-lane=\"' + esc(lane) + '\" role=\"radio\" aria-checked=\"' + (selected ? 'true' : 'false') + '\">' +\r\n      '<i class=\"cf-p1-radio\" aria-hidden=\"true\"></i>' +\r\n      '<span class=\"cf-p1-num\">' + esc(eyebrow) + '</span>' +\r\n      '<strong>' + esc(title) + '</strong>' +\r\n      '<small>' + esc(note) + '</small>' +\r\n    '</button>';\r\n  }\r\n\r\n  function noraStageHtml() {\r\n    if (state.laneChoiceMode !== \"UNDECIDED\") return \"\";\r\n    if (state.noraStage === \"QUESTION_STAND\") {\r\n      return '<b>1. Panel LED\\'i g\u00FCvenli konumland\u0131rabilece\u011Fin uygun bir \u0131\u015F\u0131k aya\u011F\u0131n / masa\u00FCst\u00FC stand\u0131n var m\u0131?</b>' +\r\n        '<div class=\"cf-p1-answer-row\">' +\r\n          '<button type=\"button\" data-cf-p1-nora-answer=\"STAND:YES\">Evet</button>' +\r\n          '<button type=\"button\" data-cf-p1-nora-answer=\"STAND:NO\">Hay\u0131r</button>' +\r\n          '<button type=\"button\" data-cf-p1-nora-answer=\"STAND:UNKNOWN\">Emin de\u011Filim</button>' +\r\n        '</div>';\r\n    }\r\n    if (state.noraStage === \"QUESTION_EQUIPMENT\") {\r\n      return '<p>1. soru yan\u0131tland\u0131.</p>' +\r\n        '<b>2. Temel kurulum ekipmanlar\u0131n haz\u0131r m\u0131, yoksa paneli gerekli temel par\u00E7alarla birlikte almak m\u0131 istiyorsun?</b>' +\r\n        '<div class=\"cf-p1-answer-row\">' +\r\n          '<button type=\"button\" data-cf-p1-nora-answer=\"EQUIPMENT:YES\">Haz\u0131r</button>' +\r\n          '<button type=\"button\" data-cf-p1-nora-answer=\"EQUIPMENT:NO\">Birlikte almak istiyorum</button>' +\r\n          '<button type=\"button\" data-cf-p1-nora-answer=\"EQUIPMENT:UNKNOWN\">Emin de\u011Filim</button>' +\r\n        '</div>';\r\n    }\r\n    if (state.noraStage === \"RECOMMENDATION\") {\r\n      var suggestion = state.noraSuggestedLane;\r\n      var note = suggestion === \"BARE_LIGHT\"\r\n        ? \"Mevcut kurulum altyap\u0131n yeterli g\u00F6r\u00FCn\u00FCyor; yaln\u0131z panel se\u00E7ene\u011Fiyle ba\u015Flayabilirsin.\"\r\n        : \"Kuruluma ba\u015Flamak i\u00E7in gerekli temel par\u00E7alar\u0131 birlikte sunan tekli panel kit daha g\u00FCvenli ba\u015Flang\u0131\u00E7 olur.\";\r\n      return '<b>NORA \u00D6NER\u0130S\u0130 \u00B7 ' + esc(laneLabel(suggestion).toUpperCase()) + '</b>' +\r\n        '<p>' + esc(note) + '</p>' +\r\n        '<div class=\"cf-p1-answer-row\">' +\r\n          '<button type=\"button\" data-cf-p1-nora-accept=\"1\">Bu tercihle devam et \u2192</button>' +\r\n          '<button type=\"button\" data-cf-p1-nora-restart=\"1\">Yan\u0131tlar\u0131 de\u011Fi\u015Ftir</button>' +\r\n        '</div>';\r\n    }\r\n    if (state.noraStage === \"READY\") {\r\n      return '<b>Sat\u0131n alma tercihi haz\u0131r</b><p>' + esc(laneLabel(state.lane)) + ' se\u00E7ildi. Son uygulama i\u00E7in \u201CSe\u00E7imi uygula\u201D d\u00FC\u011Fmesini kullan.</p>';\r\n    }\r\n    return \"\";\r\n  }\r\n\r\n  function markup() {\r\n    var styleId = currentStyleId();\r\n    var styleNo = styleIndex(styleId) + 1;\r\n    return '' +\r\n      '<div class=\"cf-p1-topline\">' +\r\n        '<div class=\"cf-p1-brand\">CAN FOTO \u00B7 PANEL LED SE\u00C7\u0130M MOTORU</div>' +\r\n        '<div class=\"cf-p1-pool\">YEN\u0130 NES\u0130L I\u015EIK DENEY\u0130M\u0130</div>' +\r\n      '</div>' +\r\n      '<section class=\"cf-p1-frame\" aria-label=\"NORA Panel LED karar giri\u015Fi\">' +\r\n        '<header class=\"cf-p1-head\">' +\r\n          '<div class=\"cf-p1-style-zone\">' +\r\n            '<div class=\"cf-p1-style-switcher\">' +\r\n              '<div class=\"cf-p1-style-label\">G\u00F6r\u00FCn\u00FCm stili</div>' +\r\n              '<input class=\"cf-p1-style-range\" data-cf-p1-style-range type=\"range\" min=\"0\" max=\"8\" step=\"1\" value=\"' + styleIndex(styleId) + '\" aria-label=\"NORA g\u00F6r\u00FCn\u00FCm stilini de\u011Fi\u015Ftir\">' +\r\n              '<div class=\"cf-p1-style-current\" data-cf-p1-style-current>' + String(styleNo).padStart(2,\"0\") + ' \u00B7 ' + esc(currentStyleName()) + '</div>' +\r\n            '</div>' +\r\n          '</div>' +\r\n          '<div class=\"cf-p1-hero\">' +\r\n            '<div class=\"cf-p1-nora-visual\" aria-label=\"NORA\"><img class=\"cf-p1-nora-img\" data-cf-p1-nora-img src=\"' + esc(noraHeroUrl()) + '\" alt=\"NORA\" loading=\"eager\" decoding=\"async\"></div>' +\r\n            '<div class=\"cf-p1-hero-copy\">' +\r\n              '<div class=\"cf-p1-kicker\">PANEL LED \u00B7 NORA KARAR G\u0130R\u0130\u015E\u0130</div>' +\r\n              '<h2 class=\"cf-p1-title\">NORA \u00B7 I\u015F\u0131k karar asistan\u0131</h2>' +\r\n              '<p class=\"cf-p1-hero-text\">\u00C7ekim amac\u0131n\u0131, senaryonu ve sat\u0131n alma tercihini se\u00E7. NORA, ' + state.poolCount + ' Panel LED aras\u0131ndaki se\u00E7enekleri karar ba\u011Flam\u0131na g\u00F6re birlikte daralts\u0131n.</p>' +\r\n              '<div class=\"cf-p1-hero-meta\"><span>3 ad\u0131m</span><span>' + state.poolCount + ' \u00FCr\u00FCn</span><span>Son se\u00E7im sende</span></div>' +\r\n            '</div>' +\r\n            '<div class=\"cf-p1-statusbox\">' +\r\n              '<div class=\"cf-p1-state-pill\">' + state.poolCount + ' Panel LED haz\u0131r</div>' +\r\n              '<div class=\"cf-p1-progress\"><i></i><i></i><i></i><span data-cf-p1-progress-label>1/3 \u00B7 Ama\u00E7</span></div>' +\r\n            '</div>' +\r\n          '</div>' +\r\n        '</header>' +\r\n        '<div class=\"cf-p1-content\" data-cf-p1-scroller>' +\r\n          '<section class=\"cf-p1-step\" data-cf-p1-step=\"purpose\">' +\r\n            '<div class=\"cf-p1-step-head\"><div class=\"cf-p1-step-title-wrap\"><span class=\"cf-p1-step-index\">1</span><div><h3 class=\"cf-p1-step-title\">Amac\u0131n\u0131 se\u00E7</h3><div class=\"cf-p1-step-sub\">\u00D6nce ana kullan\u0131m alan\u0131n\u0131 belirle.</div></div></div><span class=\"cf-p1-step-status\" data-cf-p1-purpose-status>Hen\u00FCz se\u00E7ilmedi</span></div>' +\r\n            '<div class=\"cf-p1-choice-grid\" data-cf-p1-purpose-grid>' + renderPurposeButtons() + '</div>' +\r\n          '</section>' +\r\n          '<section class=\"cf-p1-step\" data-cf-p1-step=\"sub\">' +\r\n            '<div class=\"cf-p1-step-head\"><div class=\"cf-p1-step-title-wrap\"><span class=\"cf-p1-step-index\">2</span><div><h3 class=\"cf-p1-step-title\">Alt amac\u0131 se\u00E7</h3><div class=\"cf-p1-step-sub\">Se\u00E7ti\u011Fin amaca g\u00F6re uygun \u00E7ekim senaryolar\u0131 g\u00F6sterilir.</div></div></div><span class=\"cf-p1-step-status\" data-cf-p1-sub-status>Hen\u00FCz se\u00E7ilmedi</span></div>' +\r\n            '<div class=\"cf-p1-choice-grid cf-p1-sub-grid\" data-cf-p1-sub-grid>' + renderSubButtons() + '</div>' +\r\n          '</section>' +\r\n          '<section class=\"cf-p1-step\" data-cf-p1-step=\"lane\">' +\r\n            '<div class=\"cf-p1-step-head\"><div class=\"cf-p1-step-title-wrap\"><span class=\"cf-p1-step-index\">3</span><div><h3 class=\"cf-p1-step-title\">Sat\u0131n alma tercihi</h3><div class=\"cf-p1-step-sub\">Yaln\u0131z panel mi, yoksa haz\u0131r kit mi istedi\u011Fini se\u00E7.</div></div></div><span class=\"cf-p1-step-status\" data-cf-p1-lane-status>Hen\u00FCz se\u00E7ilmedi</span></div>' +\r\n            '<div class=\"cf-p1-lane-grid\" role=\"radiogroup\" aria-label=\"Sat\u0131n alma tercihi\">' +\r\n              laneButton(\"BARE_LIGHT\",\"YALNIZ PANEL\",\"Yaln\u0131z panel \u00FCnitesi\",\"Uygun ayak / kurulum altyap\u0131n zaten varsa.\") +\r\n              laneButton(\"SINGLE_READY_SET\",\"TEKL\u0130 PANEL K\u0130T\",\"Tek \u0131\u015F\u0131kl\u0131 haz\u0131r kit\",\"Paneli temel kurulum par\u00E7alar\u0131yla birlikte almak istiyorsan.\") +\r\n              laneButton(\"UNDECIDED\",\"NORA YARDIM ETS\u0130N\",\"Karars\u0131z\u0131m\",\"\u0130ki k\u0131sa soruyla hangi kulvar\u0131n daha uygun oldu\u011Funu netle\u015Ftir.\") +\r\n            '</div>' +\r\n            '<div class=\"cf-p1-nora\" data-cf-p1-nora' + (state.laneChoiceMode === \"UNDECIDED\" ? '' : ' hidden') + '>' +\r\n              '<div class=\"cf-p1-nora-head\"><span class=\"cf-p1-nora-mark\">N</span><div><b>NORA \u00B7 2 k\u0131sa soru</b><p>Yan\u0131tlar\u0131n yaln\u0131z sat\u0131n alma tercihi \u00F6nerisi i\u00E7in kullan\u0131l\u0131r. Son se\u00E7im yine sende.</p></div></div>' +\r\n              '<div data-cf-p1-nora-stage>' + noraStageHtml() + '</div>' +\r\n            '</div>' +\r\n          '</section>' +\r\n        '</div>' +\r\n        '<footer class=\"cf-p1-footer\">' +\r\n          '<div class=\"cf-p1-summary\">Ama\u00E7: <b data-cf-p1-summary-purpose>Hen\u00FCz se\u00E7ilmedi</b> \u00B7 Alt ama\u00E7: <b data-cf-p1-summary-sub>Hen\u00FCz se\u00E7ilmedi</b> \u00B7 Sat\u0131n alma: <b data-cf-p1-summary-lane>Hen\u00FCz se\u00E7ilmedi</b></div>' +\r\n          '<div class=\"cf-p1-actions\"><button type=\"button\" class=\"cf-p1-reset\" data-cf-p1-reset>Vazge\u00E7</button><button type=\"button\" class=\"cf-p1-apply\" data-cf-p1-apply disabled><span class=\"cf-p1-apply-dot\" aria-hidden=\"true\"></span><span class=\"cf-p1-apply-rail\" aria-hidden=\"true\"></span><span class=\"cf-p1-apply-label\">Se\u00E7imi uygula \u2192</span></button></div>' +\r\n          '<div class=\"cf-p1-toast\" data-cf-p1-toast role=\"status\" aria-live=\"polite\">Se\u00E7im uyguland\u0131.</div>' +\r\n        '</footer>' +\r\n      '</section>';\r\n  }\r\n\r\n  function setText(selector, value) {\r\n    var r = root();\r\n    if (!r) return;\r\n    all(selector, r).forEach(function (node) { node.textContent = value; });\r\n  }\r\n\r\n  function syncStyleUi() {\r\n    var r = root();\r\n    if (!r) return;\r\n    var id = currentStyleId();\r\n    var index = styleIndex(id);\r\n    var range = r.querySelector(\"[data-cf-p1-style-range]\");\r\n    var label = r.querySelector(\"[data-cf-p1-style-current]\");\r\n    if (range && Number(range.value) !== index) range.value = String(index);\r\n    if (range) range.setAttribute(\"aria-valuetext\", String(index + 1) + \" / 9 \u00B7 \" + (state.styleNames[id] || id));\r\n    if (label) label.textContent = String(index + 1).padStart(2, \"0\") + \" \u00B7 \" + (state.styleNames[id] || id);\r\n  }\r\n\r\n  function updateGuide() {\r\n    var r = root();\r\n    if (!r) return;\r\n    var guide = guideKey();\r\n    r.classList.toggle(\"has-purpose\", !!state.purposeKey);\r\n    r.classList.toggle(\"has-sub\", !!state.subPurposeKey);\r\n    r.classList.toggle(\"fx-complete\", guide === null);\r\n    all(\"[data-cf-p1-step]\", r).forEach(function (step) {\r\n      step.classList.toggle(\"is-guide\", clean(step.getAttribute(\"data-cf-p1-step\")) === guide);\r\n    });\r\n    all(\".cf-p1-choice\", r).forEach(function (button) { button.classList.remove(\"is-guide-choice\"); });\r\n    if (guide === \"purpose\") all(\"[data-cf-p1-purpose]\", r).forEach(function (button) { button.classList.add(\"is-guide-choice\"); });\r\n    if (guide === \"sub\") all(\"[data-cf-p1-sub]\", r).forEach(function (button) { button.classList.add(\"is-guide-choice\"); });\r\n    if (guide === \"lane\") all(\"[data-cf-p1-lane]\", r).forEach(function (button) { button.classList.add(\"is-guide-choice\"); });\r\n    var nora = r.querySelector(\"[data-cf-p1-nora]\");\r\n    if (nora) nora.classList.toggle(\"is-guide-nora\", guide === \"nora\");\r\n  }\r\n\r\n  function updateProgress() {\r\n    var r = root();\r\n    if (!r) return;\r\n    var completed = state.lane ? 3 : (state.subPurposeKey ? 2 : 1);\r\n    var labels = [\"Ama\u00E7\",\"Alt ama\u00E7\",\"Sat\u0131n alma\"];\r\n    setText(\"[data-cf-p1-progress-label]\", completed + \"/3 \u00B7 \" + labels[completed - 1]);\r\n    all(\".cf-p1-progress i\", r).forEach(function (dot, index) {\r\n      dot.classList.toggle(\"is-done\", index < completed - 1);\r\n      dot.classList.toggle(\"is-active\", index === completed - 1);\r\n    });\r\n  }\r\n\r\n  function renderDynamic() {\r\n    var r = root();\r\n    if (!r) return;\r\n    var purposeGrid = r.querySelector(\"[data-cf-p1-purpose-grid]\");\r\n    var subGrid = r.querySelector(\"[data-cf-p1-sub-grid]\");\r\n    var laneGrid = r.querySelector(\".cf-p1-lane-grid\");\r\n    var nora = r.querySelector(\"[data-cf-p1-nora]\");\r\n    var noraStage = r.querySelector(\"[data-cf-p1-nora-stage]\");\r\n    if (purposeGrid) purposeGrid.innerHTML = renderPurposeButtons();\r\n    if (subGrid) subGrid.innerHTML = renderSubButtons();\r\n    if (laneGrid) laneGrid.innerHTML =\r\n      laneButton(\"BARE_LIGHT\",\"YALNIZ PANEL\",\"Yaln\u0131z panel \u00FCnitesi\",\"Uygun ayak / kurulum altyap\u0131n zaten varsa.\") +\r\n      laneButton(\"SINGLE_READY_SET\",\"TEKL\u0130 PANEL K\u0130T\",\"Tek \u0131\u015F\u0131kl\u0131 haz\u0131r kit\",\"Paneli temel kurulum par\u00E7alar\u0131yla birlikte almak istiyorsan.\") +\r\n      laneButton(\"UNDECIDED\",\"NORA YARDIM ETS\u0130N\",\"Karars\u0131z\u0131m\",\"\u0130ki k\u0131sa soruyla hangi kulvar\u0131n daha uygun oldu\u011Funu netle\u015Ftir.\");\r\n    if (nora) nora.hidden = state.laneChoiceMode !== \"UNDECIDED\";\r\n    if (noraStage) noraStage.innerHTML = noraStageHtml();\r\n\r\n    setText(\"[data-cf-p1-purpose-status]\", selectedPurposeTitle());\r\n    setText(\"[data-cf-p1-sub-status]\", selectedSubTitle());\r\n    setText(\"[data-cf-p1-lane-status]\", selectedLaneTitle());\r\n    setText(\"[data-cf-p1-summary-purpose]\", selectedPurposeTitle());\r\n    setText(\"[data-cf-p1-summary-sub]\", selectedSubTitle());\r\n    setText(\"[data-cf-p1-summary-lane]\", selectedLaneTitle());\r\n\r\n    var apply = r.querySelector(\"[data-cf-p1-apply]\");\r\n    if (apply) {\r\n      apply.disabled = !validPending();\r\n      apply.classList.toggle(\"is-ready\", validPending());\r\n    }\r\n    updateProgress();\r\n    updateGuide();\r\n    syncStyleUi();\r\n    scheduleGuideRailMeasure();\r\n  }\r\n\r\n  function pulseChoice(attr, value) {\r\n    var r = root();\r\n    if (!r) return;\r\n    var button = all(\"[\" + attr + \"]\", r).find(function (node) {\r\n      return clean(node.getAttribute(attr)) === clean(value);\r\n    }) || null;\r\n    if (!button) return;\r\n    all(\".fx-confirm\", r).forEach(function (node) { node.classList.remove(\"fx-confirm\"); });\r\n    void button.offsetWidth;\r\n    button.classList.add(\"fx-confirm\");\r\n  }\r\n\r\n  function cancelGuidedScroll() {\r\n    state.guidedScrollEpoch += 1;\r\n    if (state.guidedScrollRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(state.guidedScrollRaf); } catch (ignore) {}\r\n    }\r\n    if (state.guidedScrollTimer) {\r\n      try { window.clearTimeout(state.guidedScrollTimer); } catch (ignore2) {}\r\n    }\r\n    state.guidedScrollRaf = 0;\r\n    state.guidedScrollTimer = 0;\r\n  }\r\n\r\n  function revealStep(key) {\r\n    var r = root();\r\n    if (!r) return;\r\n    var target = key === \"apply\" ? r.querySelector(\"[data-cf-p1-apply]\") : r.querySelector('[data-cf-p1-step=\"' + key + '\"]');\r\n    if (!target) return;\r\n    cancelGuidedScroll();\r\n    cancelMotorMotion(\"guided_step_restart\");\r\n    var epoch = state.guidedScrollEpoch;\r\n    var raf = window.requestAnimationFrame || function (fn) { fn(); return 0; };\r\n    state.guidedScrollRaf = raf(function () {\r\n      state.guidedScrollRaf = raf(function () {\r\n        state.guidedScrollRaf = 0;\r\n        if (epoch !== state.guidedScrollEpoch) return;\r\n        smoothMotorToElement(target, {\r\n          align: key === \"apply\" ? \"nearest\" : \"start\",\r\n          inset: window.innerWidth <= 840 ? 12 : 20,\r\n          reason: \"guided_\" + key\r\n        });\r\n      });\r\n    });\r\n  }\r\n\r\n  function syncGuideRailTravel() {\r\n    var r = root();\r\n    if (!r) return;\r\n    all(\".cf-p1-step\", r).forEach(function (step) { step.style.removeProperty(\"--cf-p1-rail-travel\"); });\r\n    var guide = r.querySelector(\".cf-p1-step.is-guide\");\r\n    if (!guide) return;\r\n    var travel = Math.max(0, Math.round(Number(guide.clientHeight || 0) - 42));\r\n    guide.style.setProperty(\"--cf-p1-rail-travel\", travel + \"px\");\r\n  }\r\n\r\n  function scheduleGuideRailMeasure() {\r\n    if (state.railMeasureRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(state.railMeasureRaf); } catch (ignore) {}\r\n    }\r\n    var raf = window.requestAnimationFrame || function (fn) { fn(); return 0; };\r\n    state.railMeasureRaf = raf(function () {\r\n      state.railMeasureRaf = 0;\r\n      syncGuideRailTravel();\r\n    });\r\n  }\r\n\r\n  function restoreDecisionStart() {\r\n    stopEntryFence(\"vazgec_smooth_return\");\r\n    state.entryViewportUserIntent = true;\r\n    state.entryUserIntentEver = true;\r\n    var r = root();\r\n    if (!r) return false;\r\n    var scroller = r.querySelector(\"[data-cf-p1-scroller]\");\r\n    var epoch = ++state.resetViewportEpoch;\r\n    state.entryViewportEpoch += 1;\r\n    if (scroller) { scroller.scrollTop = 0; scroller.scrollLeft = 0; }\r\n    var top = motorTargetTop(r, { align: \"start\", inset: window.innerWidth <= 840 ? 8 : 18 });\r\n    if (top == null || epoch !== state.resetViewportEpoch) return false;\r\n    state.resetViewportSettleRuns += 1;\r\n    return smoothMotorToTop(top, \"vazgec_to_start\", { duration: 560 });\r\n  }\r\n\r\n  function clearToast() {\r\n    var r = root();\r\n    var toast = r && r.querySelector(\"[data-cf-p1-toast]\");\r\n    if (toast) toast.classList.remove(\"is-show\");\r\n  }\r\n\r\n  function resetPending(source) {\r\n    deactivateResultGate(\"reset:\" + clean(source || \"reset\"));\r\n    cancelGuidedScroll();\r\n    state.purposeKey = \"\";\r\n    state.subPurposeKey = \"\";\r\n    state.lane = \"\";\r\n    state.laneChoiceMode = \"\";\r\n    state.noraStage = \"IDLE\";\r\n    state.noraStand = \"\";\r\n    state.noraEquipment = \"\";\r\n    state.noraSuggestedLane = \"\";\r\n    state.resetCount += 1;\r\n    state.lastAction = clean(source) || \"reset\";\r\n    clearToast();\r\n    renderDynamic();\r\n    restoreDecisionStart();\r\n    return true;\r\n  }\r\n\r\n  function selectPurpose(key) {\r\n    deactivateResultGate(\"purpose_changed\");\r\n    var p = purposeByKey(key);\r\n    if (!p) return false;\r\n    state.purposeKey = clean(p.purposeKey);\r\n    state.subPurposeKey = \"\";\r\n    state.lane = \"\";\r\n    state.laneChoiceMode = \"\";\r\n    state.noraStage = \"IDLE\";\r\n    state.noraStand = \"\";\r\n    state.noraEquipment = \"\";\r\n    state.noraSuggestedLane = \"\";\r\n    state.lastAction = \"pending_purpose_selected\";\r\n    clearToast();\r\n    renderDynamic();\r\n    pulseChoice(\"data-cf-p1-purpose\", state.purposeKey);\r\n    revealStep(\"sub\");\r\n    return true;\r\n  }\r\n\r\n  function selectSub(key) {\r\n    deactivateResultGate(\"subpurpose_changed\");\r\n    var p = purposeByKey(state.purposeKey);\r\n    var s = subByKey(p, key);\r\n    if (!s) return false;\r\n    state.subPurposeKey = clean(s.subPurposeKey);\r\n    state.lane = \"\";\r\n    state.laneChoiceMode = \"\";\r\n    state.noraStage = \"IDLE\";\r\n    state.noraStand = \"\";\r\n    state.noraEquipment = \"\";\r\n    state.noraSuggestedLane = \"\";\r\n    state.lastAction = \"pending_subpurpose_selected\";\r\n    clearToast();\r\n    renderDynamic();\r\n    pulseChoice(\"data-cf-p1-sub\", state.subPurposeKey);\r\n    revealStep(\"lane\");\r\n    return true;\r\n  }\r\n\r\n  function selectLane(lane) {\r\n    deactivateResultGate(\"lane_changed\");\r\n    lane = clean(lane);\r\n    if (lane === \"UNDECIDED\") {\r\n      state.lane = \"\";\r\n      state.laneChoiceMode = \"UNDECIDED\";\r\n      state.noraStage = \"QUESTION_STAND\";\r\n      state.noraStand = \"\";\r\n      state.noraEquipment = \"\";\r\n      state.noraSuggestedLane = \"\";\r\n    } else if (lane === \"BARE_LIGHT\" || lane === \"SINGLE_READY_SET\") {\r\n      state.lane = lane;\r\n      state.laneChoiceMode = \"DIRECT\";\r\n      state.noraStage = \"IDLE\";\r\n      state.noraStand = \"\";\r\n      state.noraEquipment = \"\";\r\n      state.noraSuggestedLane = \"\";\r\n    } else return false;\r\n    state.lastAction = \"pending_lane_selected\";\r\n    clearToast();\r\n    renderDynamic();\r\n    pulseChoice(\"data-cf-p1-lane\", state.laneChoiceMode === \"UNDECIDED\" ? \"UNDECIDED\" : state.lane);\r\n    revealStep(state.laneChoiceMode === \"UNDECIDED\" ? \"lane\" : \"apply\");\r\n    return true;\r\n  }\r\n\r\n  function answerNora(token) {\r\n    var parts = clean(token).split(\":\");\r\n    var field = parts[0] || \"\";\r\n    var answer = parts[1] || \"\";\r\n    if ([\"YES\",\"NO\",\"UNKNOWN\"].indexOf(answer) < 0) return false;\r\n    if (field === \"STAND\" && state.noraStage === \"QUESTION_STAND\") {\r\n      state.noraStand = answer;\r\n      state.noraStage = \"QUESTION_EQUIPMENT\";\r\n    } else if (field === \"EQUIPMENT\" && state.noraStage === \"QUESTION_EQUIPMENT\") {\r\n      state.noraEquipment = answer;\r\n      var b = bridge();\r\n      state.noraSuggestedLane = b && typeof b.resolveNoraLane === \"function\" ? clean(b.resolveNoraLane(state.noraStand, state.noraEquipment)) : \"\";\r\n      if (state.noraSuggestedLane !== \"BARE_LIGHT\" && state.noraSuggestedLane !== \"SINGLE_READY_SET\") {\r\n        state.lastError = \"r32_nora_resolution_failed\";\r\n        return false;\r\n      }\r\n      state.noraStage = \"RECOMMENDATION\";\r\n    } else return false;\r\n    state.lastAction = \"nora_question_answered\";\r\n    renderDynamic();\r\n    return true;\r\n  }\r\n\r\n  function acceptNora() {\r\n    if (state.noraSuggestedLane !== \"BARE_LIGHT\" && state.noraSuggestedLane !== \"SINGLE_READY_SET\") return false;\r\n    state.lane = state.noraSuggestedLane;\r\n    state.laneChoiceMode = \"UNDECIDED\";\r\n    state.noraStage = \"READY\";\r\n    state.lastAction = \"nora_suggestion_accepted\";\r\n    renderDynamic();\r\n    revealStep(\"apply\");\r\n    return true;\r\n  }\r\n\r\n  function restartNora() {\r\n    deactivateResultGate(\"nora_restart\");\r\n    state.lane = \"\";\r\n    state.noraStage = \"QUESTION_STAND\";\r\n    state.noraStand = \"\";\r\n    state.noraEquipment = \"\";\r\n    state.noraSuggestedLane = \"\";\r\n    state.lastAction = \"nora_answers_restarted\";\r\n    renderDynamic();\r\n    return true;\r\n  }\r\n\r\n  function applyPending() {\r\n    if (!validPending()) return false;\r\n    var b = bridge();\r\n    if (!b || typeof b.commitAtomic !== \"function\") return false;\r\n    state.applyCount += 1;\r\n    var result = b.commitAtomic({\r\n      purposeKey: state.purposeKey,\r\n      subPurposeKey: state.subPurposeKey,\r\n      lane: state.lane,\r\n      source: VERSION,\r\n      resultScrollOwner: \"N04_R6\"\r\n    });\r\n    state.lastCommitResult = result || null;\r\n    if (!result || result.ok !== true) {\r\n      state.lastError = clean(result && result.error) || \"atomic_commit_failed\";\r\n      state.lastAction = \"atomic_commit_failed\";\r\n      return false;\r\n    }\r\n    state.successfulCommitCount += 1;\r\n    state.lastError = \"\";\r\n    state.lastAction = \"atomic_commit_success\";\r\n\r\n    activateResultGate({\r\n      source: VERSION + \"_EXPLICIT_APPLY\",\r\n      selectionKey: clean(result.selectionKey || (state.purposeKey + \"::\" + state.subPurposeKey)),\r\n      lane: state.lane\r\n    });\r\n\r\n    var r = root();\r\n    var toast = r && r.querySelector(\"[data-cf-p1-toast]\");\r\n    if (toast) {\r\n      toast.textContent = \"Se\u00E7im uyguland\u0131 \u00B7 \" + selectedPurposeTitle() + \" \u00B7 \" + selectedSubTitle() + \" \u00B7 \" + laneLabel(state.lane);\r\n      toast.classList.add(\"is-show\");\r\n    }\r\n    var raf = window.requestAnimationFrame || function (fn) { fn(); return 0; };\r\n    raf(function () {\r\n      raf(function () {\r\n        var recommendation = document.getElementById(\"gdxPanelV4RecommendationPreview\");\r\n        if (recommendation) {\r\n          ensureRecommendationBelowDecision();\r\n          smoothRecommendationHandoff(recommendation);\r\n        }\r\n      });\r\n    });\r\n    return true;\r\n  }\r\n\r\n  function chooseStyle(index) {\r\n    var api = experience();\r\n    var idx = Math.max(0, Math.min(8, Number(index) || 0));\r\n    var id = state.styleOrder[idx];\r\n    if (!api || !id || typeof api.set !== \"function\" || api.storageKey !== STORAGE_KEY) return false;\r\n    api.set(id, { persist: true, source: \"CANFOTO-POLISH-P1-N04-LOCAL-SELECTOR\" });\r\n    syncStyleUi();\r\n    scheduleGuideRailMeasure();\r\n    state.lastAction = \"style_changed:\" + id;\r\n    return true;\r\n  }\r\n\r\n  function onClick(event) {\r\n    var r = root();\r\n    if (!r || !r.contains(event.target)) return;\r\n    state.entryViewportEpoch += 1;\r\n    state.entryViewportUserIntent = true;\r\n    state.entryUserIntentEver = true;\r\n    stopEntryFence(\"n04_click\");\r\n    cancelMotorMotion(\"n04_click\");\r\n    var p = event.target.closest && event.target.closest(\"[data-cf-p1-purpose]\");\r\n    var s = event.target.closest && event.target.closest(\"[data-cf-p1-sub]\");\r\n    var lane = event.target.closest && event.target.closest(\"[data-cf-p1-lane]\");\r\n    var answer = event.target.closest && event.target.closest(\"[data-cf-p1-nora-answer]\");\r\n    var accept = event.target.closest && event.target.closest(\"[data-cf-p1-nora-accept]\");\r\n    var restart = event.target.closest && event.target.closest(\"[data-cf-p1-nora-restart]\");\r\n    var reset = event.target.closest && event.target.closest(\"[data-cf-p1-reset]\");\r\n    var apply = event.target.closest && event.target.closest(\"[data-cf-p1-apply]\");\r\n    if (p) { event.preventDefault(); selectPurpose(p.getAttribute(\"data-cf-p1-purpose\")); return; }\r\n    if (s) { event.preventDefault(); selectSub(s.getAttribute(\"data-cf-p1-sub\")); return; }\r\n    if (lane) { event.preventDefault(); selectLane(lane.getAttribute(\"data-cf-p1-lane\")); return; }\r\n    if (answer) { event.preventDefault(); answerNora(answer.getAttribute(\"data-cf-p1-nora-answer\")); return; }\r\n    if (accept) { event.preventDefault(); acceptNora(); return; }\r\n    if (restart) { event.preventDefault(); restartNora(); return; }\r\n    if (reset) { event.preventDefault(); resetPending(\"vazgec\"); return; }\r\n    if (apply) { event.preventDefault(); applyPending(); }\r\n  }\r\n\r\n  function onInput(event) {\r\n    var r = root();\r\n    if (!r || !r.contains(event.target)) return;\r\n    state.entryViewportEpoch += 1;\r\n    state.entryViewportUserIntent = true;\r\n    state.entryUserIntentEver = true;\r\n    stopEntryFence(\"n04_input\");\r\n    var range = event.target.closest && event.target.closest(\"[data-cf-p1-style-range]\");\r\n    if (range) chooseStyle(range.value);\r\n  }\r\n\r\n  function insertionAnchor() {\r\n    var pr = panelRoot();\r\n    if (!pr) return null;\r\n    return document.getElementById(\"gdxPanelV4P16CompactCommandPanel\") || pr.querySelector(\".gdx-panel-v4-safe-card\") || pr.querySelector(\".gdx-panel-v4-slot-grid\") || pr.firstElementChild || pr;\r\n  }\r\n\r\n  function ensureDecisionFirst() {\r\n    var decision = root();\r\n    var body = motorBody();\r\n    var mount = decisionMount();\r\n    if (!decision || !body) return false;\r\n    if (!mount) {\r\n      mount = document.createElement(\"div\");\r\n      mount.id = \"canfotoPanelDecisionMountR11\";\r\n      mount.setAttribute(\"data-cf-p1-decision-mount\", \"1\");\r\n      body.insertBefore(mount, body.firstElementChild || null);\r\n    } else if (mount.parentNode !== body || body.firstElementChild !== mount) {\r\n      body.insertBefore(mount, body.firstElementChild || null);\r\n    }\r\n    if (decision.parentNode !== mount) mount.appendChild(decision);\r\n    decision.setAttribute(\"data-cf-p1-entry-order\", \"motor-body-first\");\r\n    return body.firstElementChild === mount && mount.firstElementChild === decision;\r\n  }\r\n\r\n  function insertSurface(node) {\r\n    var body = motorBody();\r\n    var mount = decisionMount();\r\n    if (body) {\r\n      if (!mount) {\r\n        mount = document.createElement(\"div\");\r\n        mount.id = \"canfotoPanelDecisionMountR11\";\r\n        mount.setAttribute(\"data-cf-p1-decision-mount\", \"1\");\r\n        body.insertBefore(mount, body.firstElementChild || null);\r\n      } else if (mount.parentNode !== body || body.firstElementChild !== mount) {\r\n        body.insertBefore(mount, body.firstElementChild || null);\r\n      }\r\n      mount.appendChild(node);\r\n      node.setAttribute(\"data-cf-p1-entry-order\", \"motor-body-first\");\r\n      return true;\r\n    }\r\n    var legacy = document.getElementById(\"gdxPanelV4R28SelectionSystem\");\r\n    if (legacy && legacy.parentNode) { legacy.parentNode.insertBefore(node, legacy); return true; }\r\n    var anchor = insertionAnchor();\r\n    if (!anchor) return false;\r\n    if (anchor.parentNode) { anchor.parentNode.insertBefore(node, anchor.nextSibling); return true; }\r\n    var pr = panelRoot();\r\n    if (pr) { pr.appendChild(node); return true; }\r\n    return false;\r\n  }\r\n\r\n  function ensureRecommendationBelowDecision() {\r\n    var decision = root();\r\n    var recommendation = document.getElementById(\"gdxPanelV4RecommendationPreview\");\r\n    var body = motorBody();\r\n    var mount = decisionMount();\r\n    if (!decision || !recommendation || !body) return false;\r\n    ensureDecisionFirst();\r\n    mount = decisionMount();\r\n    if (!mount || mount.parentNode !== body) return false;\r\n    if (recommendation.parentNode !== body || mount.nextElementSibling !== recommendation) {\r\n      body.insertBefore(recommendation, mount.nextSibling);\r\n    }\r\n    recommendation.setAttribute(\"data-cf-p1-recommendation-placement\", \"immediately-after-decision\");\r\n    return mount.nextElementSibling === recommendation;\r\n  }\r\n\r\n  function recommendationHandoffOffsetPx(host) {\r\n    if (!host) return 18;\r\n    var mobile = window.innerWidth <= 840;\r\n    var proportional = Math.round(Number(host.clientHeight || 0) * (mobile ? 0.018 : 0.022));\r\n    return Math.max(mobile ? 8 : 14, Math.min(mobile ? 16 : 24, proportional || (mobile ? 10 : 18)));\r\n  }\r\n\r\n  function smoothRecommendationHandoff(recommendation) {\r\n    var host = motorScrollHost();\r\n    if (!host || !recommendation || !recommendation.getBoundingClientRect) return false;\r\n    var hr = host.getBoundingClientRect();\r\n    var rr = recommendation.getBoundingClientRect();\r\n    var offset = recommendationHandoffOffsetPx(host);\r\n    var desiredViewportTop = hr.top + offset;\r\n    var top = Number(host.scrollTop || 0) + (rr.top - desiredViewportTop);\r\n    var max = Math.max(0, Number(host.scrollHeight || 0) - Number(host.clientHeight || 0));\r\n    top = Math.max(0, Math.min(max, top));\r\n    state.recommendationHandoffOffsetPx = offset;\r\n    state.recommendationHandoffPolicy = \"TOP_VIEW_R9\";\r\n    return smoothMotorToTop(top, \"apply_to_recommendation_top\", { duration: window.innerWidth <= 840 ? 600 : 620 });\r\n  }\r\n\r\n  function markExternalReady(ready) {\r\n    var pr = panelRoot();\r\n    if (!pr) return;\r\n    if (ready) pr.setAttribute(\"data-cf-panel-decision-external-owner\", \"ready\");\r\n    else pr.removeAttribute(\"data-cf-panel-decision-external-owner\");\r\n  }\r\n\r\n  function waitForR28Event() {\r\n    if (state.waitingForR28Event) return;\r\n    state.waitingForR28Event = true;\r\n    window.addEventListener(\"gdx-panel-v4-r28-selection-change\", retryMountOnR28Event);\r\n  }\r\n\r\n  function retryMountOnR28Event() {\r\n    if (state.ready) {\r\n      window.removeEventListener(\"gdx-panel-v4-r28-selection-change\", retryMountOnR28Event);\r\n      state.waitingForR28Event = false;\r\n      return;\r\n    }\r\n    mount();\r\n  }\r\n\r\n  function mount() {\r\n    if (!routeAllowed()) { state.status = \"ROUTE_SKIP\"; return false; }\r\n    setManualHistoryRestoration();\r\n    if (document.getElementById(ROOT_ID)) return state.ready;\r\n\r\n    var dep = dependencies();\r\n    if (!dep.ok) {\r\n      state.status = \"WAITING_DEPENDENCIES_FAIL_CLOSED\";\r\n      state.lastError = Object.keys(dep.checks).filter(function (key) { return dep.checks[key] !== true; }).join(\",\");\r\n      waitForR28Event();\r\n      return false;\r\n    }\r\n\r\n    try {\r\n      resolvePoolCount();\r\n      state.styleOrder = dep.styles.order.slice();\r\n      state.styleNames = dep.styles.names;\r\n      applyEntryStylePolicy();\r\n\r\n      var node = document.createElement(\"section\");\r\n      node.id = ROOT_ID;\r\n      node.className = \"cf-p1-root\";\r\n      node.setAttribute(\"data-cf-p1-version\", VERSION);\r\n      node.setAttribute(\"data-cf-p1-design\", \"A5+FX05+CTA02+N04\");\r\n      node.innerHTML = markup();\r\n      if (!insertSurface(node)) throw new Error(\"mount_anchor_missing\");\r\n      ensureRecommendationBelowDecision();\r\n      ensureStickyCloseControl();\r\n\r\n      node.addEventListener(\"click\", onClick);\r\n      node.addEventListener(\"input\", onInput);\r\n      node.addEventListener(\"change\", onInput);\r\n      renderDynamic();\r\n      var activated = dep.bridge.setExternalOwnerActive(true, { source: VERSION });\r\n      if (activated !== true) throw new Error(\"r32_external_owner_activation_failed\");\r\n      markExternalReady(true);\r\n\r\n      state.mounted = true;\r\n      state.ready = true;\r\n      state.status = \"READY\";\r\n      state.lastError = \"\";\r\n      state.lastAction = \"mounted_ready\";\r\n      state.initialPendingEmptyAtMount = !state.purposeKey && !state.subPurposeKey && !state.lane;\r\n      bindMotorOpenViewport();\r\n      consumeGenericPanelOpenIntent();\r\n      scheduleInitialMotorViewport();\r\n      if (state.waitingForR28Event) {\r\n        window.removeEventListener(\"gdx-panel-v4-r28-selection-change\", retryMountOnR28Event);\r\n        state.waitingForR28Event = false;\r\n      }\r\n      return true;\r\n    } catch (error) {\r\n      state.ready = false;\r\n      state.mounted = false;\r\n      state.status = \"FAIL_CLOSED\";\r\n      state.lastError = clean(error && error.message) || String(error);\r\n      try { if (dep.bridge && typeof dep.bridge.setExternalOwnerActive === \"function\") dep.bridge.setExternalOwnerActive(false, { source: VERSION + \"_FAIL_CLOSED\" }); } catch (ignore) {}\r\n      markExternalReady(false);\r\n      var bad = document.getElementById(ROOT_ID);\r\n      if (bad && bad.parentNode) bad.parentNode.removeChild(bad);\r\n      removeStickyCloseControl();\r\n      return false;\r\n    }\r\n  }\r\n\r\n  function unmount(reason) {\r\n    stopEntryFence(\"unmount\");\r\n    cancelGuidedScroll();\r\n    cancelMotorMotion(\"unmount\");\r\n    if (state.railMeasureRaf && window.cancelAnimationFrame) {\r\n      try { window.cancelAnimationFrame(state.railMeasureRaf); } catch (ignoreRail) {}\r\n      state.railMeasureRaf = 0;\r\n    }\r\n    try { var b = bridge(); if (b && typeof b.setExternalOwnerActive === \"function\") b.setExternalOwnerActive(false, { source: VERSION + \"_UNMOUNT\" }); } catch (ignore) {}\r\n    markExternalReady(false);\r\n    var r = root();\r\n    if (r && r.parentNode) r.parentNode.removeChild(r);\r\n    removeStickyCloseControl();\r\n    state.ready = false;\r\n    state.mounted = false;\r\n    state.status = \"UNMOUNTED\";\r\n    state.lastAction = clean(reason) || \"unmount\";\r\n    return true;\r\n  }\r\n\r\n  function snapshot() {\r\n    var b = bridge();\r\n    var bridgeState = b && typeof b.getState === \"function\" ? b.getState() : null;\r\n    return {\r\n      version: VERSION,\r\n      status: state.status,\r\n      ready: state.ready,\r\n      mounted: state.mounted,\r\n      purposeKey: state.purposeKey,\r\n      subPurposeKey: state.subPurposeKey,\r\n      lane: state.lane,\r\n      laneChoiceMode: state.laneChoiceMode,\r\n      noraStage: state.noraStage,\r\n      noraStand: state.noraStand,\r\n      noraEquipment: state.noraEquipment,\r\n      noraSuggestedLane: state.noraSuggestedLane,\r\n      styleOrder: state.styleOrder.slice(),\r\n      currentStyle: currentStyleId(),\r\n      poolCount: state.poolCount,\r\n      poolCountSource: state.poolCountSource,\r\n      initialPendingEmptyAtMount: state.initialPendingEmptyAtMount,\r\n      entryStylePolicyApplied: state.entryStylePolicyApplied,\r\n      entrySourceKind: state.entrySourceKind,\r\n      entryReferrerPath: state.entryReferrerPath,\r\n      entryNavigationType: state.entryNavigationType,\r\n      entryStyleId: state.entryStyleId,\r\n      initialMotorViewportAligned: state.initialMotorViewportAligned,\r\n      entryViewportSettleRuns: state.entryViewportSettleRuns,\r\n      entryViewportLastTop: state.entryViewportLastTop,\r\n      entryViewportUserIntent: state.entryViewportUserIntent,\r\n      entryViewportLateRuns: state.entryViewportLateRuns,\r\n      entryViewportLateReason: state.entryViewportLateReason,\r\n      entryViewportStrategy: state.entryViewportStrategy,\r\n      openStartSyncCount: state.openStartSyncCount,\r\n      openStartConfirmCount: state.openStartConfirmCount,\r\n      openStartLastSource: state.openStartLastSource,\r\n      openStartLastTop: state.openStartLastTop,\r\n      historyScrollRestorationManual: state.historyScrollRestorationManual,\r\n      entryFenceActive: state.entryFenceActive,\r\n      entryFenceBound: state.entryFenceBound,\r\n      entryFenceDurationMs: state.entryFenceDurationMs,\r\n      entryFenceCorrections: state.entryFenceCorrections,\r\n      entryFenceLastSource: state.entryFenceLastSource,\r\n      entryFenceLastTargetTop: state.entryFenceLastTargetTop,\r\n      entryFenceLastObservedTop: state.entryFenceLastObservedTop,\r\n      entryUserIntentEver: state.entryUserIntentEver,\r\n      legacyLandingTargetingExpectedRetired: state.legacyLandingTargetingExpectedRetired,\r\n      legacyLandingRuntimeNeutralized: state.legacyLandingRuntimeNeutralized,\r\n      legacyLandingRuntimePatchCount: state.legacyLandingRuntimePatchCount,\r\n      genericPanelOpenRuntimeOwner: state.genericPanelOpenRuntimeOwner,\r\n      genericPanelOpenConsumed: state.genericPanelOpenConsumed,\r\n      genericPanelOpenSkippedDeepLink: state.genericPanelOpenSkippedDeepLink,\r\n      motorMotionActive: state.motorMotionActive,\r\n      motorMotionReason: state.motorMotionReason,\r\n      motorMotionCount: state.motorMotionCount,\r\n      motorMotionCancelCount: state.motorMotionCancelCount,\r\n      motorMotionLastDurationMs: state.motorMotionLastDurationMs,\r\n      motorMotionLastTargetTop: state.motorMotionLastTargetTop,\r\n      resetViewportSettleRuns: state.resetViewportSettleRuns,\r\n      resetCount: state.resetCount,\r\n      applyCount: state.applyCount,\r\n      successfulCommitCount: state.successfulCommitCount,\r\n      recommendationHandoffOffsetPx: state.recommendationHandoffOffsetPx,\r\n      recommendationHandoffPolicy: state.recommendationHandoffPolicy,\r\n      lastCommitResult: state.lastCommitResult,\r\n      lastAction: state.lastAction,\r\n      lastError: state.lastError,\r\n      bridgeState: bridgeState\r\n    };\r\n  }\r\n\r\n  function noVisibleRootXOverflow() {\r\n    var r = root();\r\n    if (!r || !window.getComputedStyle) return false;\r\n    var rr = r.getBoundingClientRect();\r\n    var cs = window.getComputedStyle(r);\r\n    var clipped = cs.overflowX === \"hidden\" || cs.overflowX === \"clip\";\r\n    var nodes = all(\".cf-p1-topline,.cf-p1-frame,.cf-p1-style-switcher,.cf-p1-hero,.cf-p1-step,.cf-p1-footer\", r);\r\n    var bounded = nodes.every(function (node) {\r\n      var rect = node.getBoundingClientRect();\r\n      return rect.left >= rr.left - 1.5 && rect.right <= rr.right + 1.5;\r\n    });\r\n    return bounded && (r.scrollWidth <= r.clientWidth + 1 || clipped);\r\n  }\r\n\r\n  function debug() {\r\n    var r = root();\r\n    var pr = panelRoot();\r\n    var legacy = document.getElementById(\"gdxPanelV4R28SelectionSystem\");\r\n    var legacyStyle = legacy && window.getComputedStyle ? window.getComputedStyle(legacy) : null;\r\n    var img = r && r.querySelector(\"[data-cf-p1-nora-img]\");\r\n    var visual = img && img.parentElement;\r\n    var imgStyle = img && window.getComputedStyle ? window.getComputedStyle(img) : null;\r\n    var rr = r && r.getBoundingClientRect ? r.getBoundingClientRect() : null;\r\n    var ir = img && img.getBoundingClientRect ? img.getBoundingClientRect() : null;\r\n    var vr = visual && visual.getBoundingClientRect ? visual.getBoundingClientRect() : null;\r\n    var b = bridge();\r\n    var bs = b && typeof b.getState === \"function\" ? b.getState() : null;\r\n    var checks = {\r\n      routeExact: routeAllowed(),\r\n      rootExactly1: all(\"#\" + ROOT_ID).length === 1,\r\n      runtimeReady: state.ready === true && state.status === \"READY\",\r\n      r32BridgeReady: !!(bs && bs.ready === true),\r\n      r32ExternalOwnerActive: !!(bs && bs.externalOwnerActive === true),\r\n      legacyR28MountExists: !!legacy,\r\n      legacyR28HiddenOnlyAfterReady: !state.ready || !!(legacyStyle && legacyStyle.display === \"none\"),\r\n      oldR32ModalLayerCount0: all(\"#gdxPanelV4R32UxR3PurposeModalLayer\").length === 0,\r\n      purposeCount8: !!r && all(\"[data-cf-p1-purpose]\", r).length === 8,\r\n      styleCount9: state.styleOrder.length === 9,\r\n      styleOwnerExact: !!(experience() && experience().storageKey === STORAGE_KEY),\r\n      entryStylePolicyApplied: state.entryStylePolicyApplied === true,\r\n      entryStylePolicyExact: state.entrySourceKind !== \"DIRECT_DEFAULT_NATURE\" || currentStyleId() === \"cf-nature\",\r\n      legacyHeaderRemoved: !document.querySelector(\"#gdxPanelV4Shell .gdx-panel-v4-head\"),\r\n      legacyDataGridRemoved: !document.querySelector(\"#gdxPanelV4Shell .gdx-panel-v4-data-grid\"),\r\n      noLegacyPanelThemeToggle: !document.querySelector(\"#gdxPanelV4Shell [data-gdx-panel-theme-toggle=\\\"1\\\"]\"),\r\n      headerSelectorNoTouch: !!(window.CANFOTO_E1_F08 && window.CANFOTO_E1_F08.status === \"NO_TOUCH_MOTOR_PAGE\"),\r\n      noraObjectFitContain: !!(imgStyle && imgStyle.objectFit === \"contain\"),\r\n      noraTransformNone: !!(imgStyle && imgStyle.transform === \"none\"),\r\n      noraInsideCircle: !!(ir && vr && ir.left >= vr.left - 1 && ir.right <= vr.right + 1 && ir.top >= vr.top - 1 && ir.bottom <= vr.bottom + 1),\r\n      noRootHorizontalOverflow: noVisibleRootXOverflow(),\r\n      noViewportHorizontalOverflowByRoot: !rr || (rr.left >= -2 && rr.right <= window.innerWidth + 2),\r\n      panelExternalReadyMarker: !!(pr && pr.getAttribute(\"data-cf-panel-decision-external-owner\") === \"ready\"),\r\n      noMutationObserverContract: true,\r\n      noIntervalContract: true,\r\n      entryFenceBoundedEventDriven: state.entryViewportStrategy === \"STRUCTURAL_FIRST_SCROLL_ZERO_R11\" && state.entryFenceActive === false,\r\n      historyScrollRestorationManual: state.historyScrollRestorationManual === true,\r\n      legacyLandingRuntimeNeutralized: state.legacyLandingRuntimeNeutralized === true,\r\n      genericPanelOpenRuntimeOwnerExact: state.genericPanelOpenRuntimeOwner === VERSION || state.genericPanelOpenConsumed === false,\r\n      singleMotorMotionOwnerReady: true,\r\n      rankingWriteContractNone: true,\r\n      scoringWriteContractNone: true,\r\n      fpWriteContractNone: true,\r\n      commerceWriteContractNone: true\r\n    };\r\n    if (r) {\r\n      var head = r.querySelector(\".cf-p1-head\");\r\n      var content = r.querySelector(\".cf-p1-content\");\r\n      var frame = r.querySelector(\".cf-p1-frame\");\r\n      var headStyle = head && window.getComputedStyle ? window.getComputedStyle(head) : null;\r\n      var contentStyle = content && window.getComputedStyle ? window.getComputedStyle(content) : null;\r\n      var frameStyle = frame && window.getComputedStyle ? window.getComputedStyle(frame) : null;\r\n      checks.heroDoesNotStickyOverlay = !!(headStyle && headStyle.position !== \"sticky\" && headStyle.position !== \"fixed\");\r\n      checks.noIndependentDecisionScroller = !!(contentStyle && contentStyle.overflowY !== \"auto\" && contentStyle.overflowY !== \"scroll\");\r\n      checks.decisionFrameNaturalHeight = !!(frameStyle && frameStyle.maxHeight === \"none\");\r\n    } else {\r\n      checks.heroDoesNotStickyOverlay = false;\r\n      checks.noIndependentDecisionScroller = false;\r\n      checks.decisionFrameNaturalHeight = false;\r\n    }\r\n    var failedChecks = Object.keys(checks).filter(function (key) { return checks[key] !== true; });\r\n    return { ok: failedChecks.length === 0, version: VERSION, checks: checks, failedChecks: failedChecks, state: snapshot() };\r\n  }\r\n\r\n  window.CANFOTO_PANEL_DECISION_FOCUS_SHEET_R1 = Object.freeze({\r\n    version: VERSION,\r\n    getState: snapshot,\r\n    debug: debug,\r\n    reset: function () { return resetPending(\"api_reset\"); },\r\n    mount: mount,\r\n    unmount: unmount,\r\n    armEntryFenceForQa: function (durationMs) { state.entryViewportUserIntent = false; state.entryUserIntentEver = false; return startEntryFence(\"qa_entry_fence\", durationMs || 1400); },\r\n    stopEntryFenceForQa: function () { return stopEntryFence(\"qa_stop\"); },\r\n    neutralizeLegacyLandingRuntime: neutralizeLegacyLandingRuntime,\r\n    ensureDecisionFirst: ensureDecisionFirst,\r\n    ensureRecommendationBelowDecision: ensureRecommendationBelowDecision,\r\n    recommendationHandoffOffsetPx: function () { var h = motorScrollHost(); return recommendationHandoffOffsetPx(h); },\r\n    requestEntryStart: requestEntryStart,\r\n    forceEntryStartNow: prepareDecisionStart,\r\n    consumeGenericPanelOpenIntent: consumeGenericPanelOpenIntent\r\n  });\r\n  window.debugCanFotoPanelDecisionFocusSheetR1 = debug;\r\n\r\n  function onExperienceChange() {\r\n    syncStyleUi();\r\n    scheduleGuideRailMeasure();\r\n  }\r\n\r\n  window.addEventListener(\"canfoto:experience-change\", onExperienceChange);\r\n  window.addEventListener(\"resize\", scheduleGuideRailMeasure, { passive: true });\r\n  if (routeAllowed()) setManualHistoryRestoration();\r\n  document.addEventListener(\"DOMContentLoaded\", function () { neutralizeLegacyLandingRuntime(); consumeGenericPanelOpenIntent(); }, { once: true });\r\n  window.addEventListener(\"load\", function () { neutralizeLegacyLandingRuntime(); }, { once: true });\r\n  window.addEventListener(\"pageshow\", function (event) { neutralizeLegacyLandingRuntime(); if (event && event.persisted && state.ready && !state.entryUserIntentEver) requestEntryStart(\"pageshow_bfcache_r11\"); });\r\n  document.addEventListener(\"shopify:section:load\", function () { mount(); });\r\n  document.addEventListener(\"shopify:section:unload\", function (event) {\r\n    var r = root();\r\n    if (r && event && event.target && event.target.contains && event.target.contains(r)) unmount(\"shopify_section_unload\");\r\n  });\r\n\r\n  if (document.readyState === \"loading\") document.addEventListener(\"DOMContentLoaded\", mount, { once: true });\r\n  else mount();\r\n})(window, document);\r\n"],
  "mappings": "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",
  "names": ["window", "document", "mount"]
}
