
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    html:not(.is-ready) body { opacity: 1 !important; }

    :root {
      --acc: var(--in-accent, #e92038);
      --pp:  var(--in-font-body, 'Poppins', sans-serif);
      --sf:  var(--in-font-display, 'Steelfish', sans-serif);
    }

    body {
      background: #020202;
      color: #fff;
      font-family: var(--pp);
      overflow: hidden;
      height: 100dvh;
      width: 100vw;
      cursor: crosshair;
      user-select: none;
    }

    #nmBgCanvas {
      position: fixed;
      top: var(--top);
      left: 0;
      right: 0;
      bottom: var(--hud);
      display: block;
      pointer-events: none;
      z-index: 1;
    }
    #nmCanvas {
      position: fixed;
      top: var(--top);
      left: 0;
      right: 0;
      bottom: var(--hud);
      display: block;
      touch-action: none;
      background: transparent;
      z-index: 2;
    }

    /* ── İmleç ── */
    #nmCursor { display: none !important; }
    body.text-mode { cursor: default !important; }
    body.text-mode #nmCanvas { cursor: move !important; }
    body.text-dragging #nmCanvas { cursor: grabbing !important; }
    #textEditor, #textEditor * { cursor: text !important; }
    #textEditor button,
    #textEditor button * { cursor: pointer !important; }
    #archiveModal, #archiveModal *,
    #archPreview, #archPreview *,
    #saveModal, #saveModal *,
    #colorPickerPopover, #colorPickerPopover *,
    #nmHud, #nmHud *,
    #nmDock, #nmDock *,
    #morePalette, #morePalette *,
    #shape3dPopover, #shape3dPopover *,
    #stampPopover, #stampPopover *,
    #nmSide, #nmSide * { cursor: auto; }
    #nmHud button, #nmSide button, #nmDock button,
    #morePalette button, #shape3dPopover button, #stampPopover button,
    #archiveModal button, #saveModal button, #archPreview button,
    .arch-card, .ns-sw, .ns-picker-btn, .palette-sw, .dock-tool, .dock-ctx { cursor: pointer !important; }
    #smTitle, #smAuthor, #cpHexInput { cursor: text !important; }
    .ns-slider, #teSizeSlider { cursor: pointer !important; }

    /* ── INTRO SCREEN ── */
    #nmIntro {
      position: fixed;
      top: 0; left: 0; right: 0; bottom: var(--hud);  /* HUD intro'da da görünür */
      z-index: 8000;
      background:
        radial-gradient(ellipse at 50% 45%, rgba(0,0,0,.55) 0%, rgba(0,0,0,.88) 60%, rgba(2,2,2,.96) 100%),
        url('../images/paintwall-intro-bg.webp') center/cover no-repeat,
        #020202;
      display: flex; flex-direction: column;
      align-items: center; justify-content: center;
      padding: 3rem 2rem 2rem;
      animation: nmIntroBreath 18s ease-in-out infinite;
      transition: opacity .7s ease, visibility .7s ease;
    }
    @keyframes nmIntroBreath {
      0%, 100% { background-size: auto, 108% auto, auto; background-position: center, 50% 50%, center; }
      50%      { background-size: auto, 114% auto, auto; background-position: center, 52% 48%, center; }
    }
    #nmIntro.hidden { opacity: 0; visibility: hidden; pointer-events: none; }
    #nmIntro::after {
      content: ''; position: absolute; inset: 0; pointer-events: none;
      background: repeating-linear-gradient(0deg, rgba(255,255,255,.012) 0px 1px, transparent 1px 3px);
      mix-blend-mode: overlay; opacity: .6; z-index: 0;
    }
    #nmIntro > * { position: relative; z-index: 1; }

    /* ── ROOT VARS ── */
    :root {
      --red:  var(--in-accent, #e92038);
      --red2: var(--in-accent-2, #c8102e);
      --bg:   var(--in-bg, #020202);
      --hud:  var(--inlab-hud-h, 85px);
      --top:  52px;
      --dock-w: 92px;
      --edge: clamp(.7rem, 1.8vw, 1.8rem);
    }

    /* ── CANVAS ── */
    #nmCanvas {
      top: var(--top) !important;
      bottom: var(--hud) !important;
      left: 0 !important;
      right: 0 !important;
    }

    /* ── HUD ── */
    #nmHud {
      position: fixed; bottom: 0; left: var(--dock-w); right: 0;
      height: var(--hud);
      display: flex;
      align-items: center;
      gap: 0;
      padding: 0;
      background: linear-gradient(180deg, rgba(8,8,8,.99) 0%, rgba(2,2,2,1) 100%);
      border: none;
      border-top: 1px solid rgba(255,255,255,.08);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
      backdrop-filter: blur(10px);
      z-index: 9100;
      overflow-x: auto;
      overflow-y: hidden;
      scrollbar-width: none;
    }
    #nmHud::before, #nmHud::after { content: none; }
    body:not(.nm-started) #nmHud .hud-btn-group {
      pointer-events: none; opacity: .55;
    }
    body:not(.nm-started) #btnInfo { pointer-events: auto; opacity: 1; }

    .nm-tools-zone {
      display: flex; align-items: center; gap: .55rem;
      padding: 0 1.1rem;
      border-right: 1px solid rgba(255,255,255,.07);
      flex-shrink: 0;
    }
    .nm-tools-zone .ctrl-label {
      font-family: var(--pp); font-size: .49rem; letter-spacing: .32em;
      text-transform: uppercase; color: rgba(255,255,255,.32); line-height: 1;
      flex-shrink: 0;
    }

    .nm-tabs {
      display: flex; border: 1px solid rgba(255,255,255,.08);
    }
    .nm-tab {
      width: 36px; height: 40px;
      padding: 0; background: none; border: none;
      display: inline-flex; align-items: center; justify-content: center;
      color: rgba(255,255,255,.5); cursor: pointer;
      transition: color .2s, background .2s;
      border-right: 1px solid rgba(255,255,255,.06);
      flex-shrink: 0;
    }
    .nm-tab i { font-size: .95rem; }
    .nm-tab:last-child { border-right: none; }
    .nm-tab.active { background: rgba(233,32,56,.14); color: var(--acc); }
    .nm-tab:hover:not(.active) { color: #fff; background: rgba(255,255,255,.04); }

    .swatch-row { display: flex; align-items: center; gap: .3rem; }
    .nm-swatch {
      width: 18px; height: 18px; border: 1.5px solid transparent;
      cursor: pointer; transition: transform .18s, border-color .18s; flex-shrink: 0;
    }
    .nm-swatch:hover { transform: scale(1.3); }
    .nm-swatch.active { border-color: #fff; }

    /* Color picker pill button */
    .nm-color-picker {
      width: 22px; height: 22px;
      background: linear-gradient(135deg, #ff0080, #ffea00 50%, #00d4ff);
      border: 1.5px solid rgba(255,255,255,.3);
      border-radius: 50%;
      display: inline-flex; align-items: center; justify-content: center;
      color: #000; cursor: pointer;
      flex-shrink: 0;
      transition: transform .18s, border-color .18s;
      margin-left: .25rem;
    }
    .nm-color-picker i { font-size: .6rem; }
    .nm-color-picker:hover { transform: scale(1.15); border-color: #fff; }

    .slider-row { display: flex; align-items: center; gap: .35rem; }
    .slider-row + .slider-row { margin-top: .08rem; }
    .slider-row .slider-mini-lbl {
      font-family: var(--pp); font-size: .38rem; letter-spacing: .16em;
      text-transform: uppercase; color: rgba(255,255,255,.4);
      width: 32px; text-align: right;
    }
    .slider-val {
      font-family: var(--sf); font-size: .72rem; font-weight: 700;
      color: #fff; min-width: 20px; text-align: left; line-height: 1;
    }
    input[type=range].nm-range {
      -webkit-appearance: none; width: 70px; height: 2px;
      background: rgba(255,255,255,.13); outline: none; border: none; cursor: pointer;
    }
    input[type=range].nm-range::-webkit-slider-thumb {
      -webkit-appearance: none; width: 12px; height: 12px;
      background: var(--acc); border-radius: 50%; border: none;
    }
    input[type=range].nm-range::-moz-range-thumb {
      width: 12px; height: 12px;
      background: var(--acc); border-radius: 50%; border: none;
    }

    .hud-divider {
      width: 1px; height: 26px; background: rgba(255,255,255,.12);
      margin: 0 .35rem; flex-shrink: 0;
    }
    .hud-grp-lbl {
      font-family: var(--pp); font-size: .3rem; letter-spacing: .14em;
      color: rgba(255,255,255,.32); text-transform: uppercase;
      align-self: center; margin-right: .1rem; flex-shrink: 0;
      writing-mode: vertical-rl; transform: rotate(180deg);
      line-height: 1; padding: 0 1px;
    }
    @media(max-width:980px) { .hud-grp-lbl { display: none; } }

    /* Save button */
    .nm-btn--save { border-color: rgba(233,32,56,.45) !important; background: rgba(233,32,56,.12) !important; color: var(--red) !important; }
    .nm-btn--save:hover { background: var(--red) !important; color: #fff !important; border-color: var(--red) !important; }

    /* ── Color Picker Popover ── */
    #colorPickerPopover {
      position: fixed; top: 50%; left: calc(var(--side-w) + 8px); transform: translateY(-50%);
      background: #0d0d0d;
      border: 1px solid rgba(255,255,255,.12);
      padding: 1rem 1.2rem;
      z-index: 9300;
      display: none; flex-direction: column; gap: .7rem;
      min-width: 280px;
      box-shadow: 4px 4px 24px rgba(0,0,0,.7);
    }
    #colorPickerPopover.visible { display: flex; }
    .cp-row {
      display: flex; align-items: center; gap: .55rem;
    }
    .cp-lbl {
      font-family: var(--pp); font-size: .42rem; letter-spacing: .2em;
      text-transform: uppercase; color: rgba(255,255,255,.45);
      min-width: 38px;
    }
    #cpHexInput {
      flex: 1;
      background: #000; border: 1px solid rgba(255,255,255,.12);
      color: #fff; font-family: monospace; font-size: .68rem;
      padding: .35rem .55rem; outline: none;
      letter-spacing: .04em; text-transform: uppercase;
    }
    #cpHexInput:focus { border-color: var(--acc); }
    #cpNativePicker {
      width: 28px; height: 28px;
      background: none; border: 1px solid rgba(255,255,255,.15);
      cursor: pointer; padding: 0;
    }
    .cp-recent { display: flex; gap: .25rem; flex: 1; flex-wrap: wrap; }
    .cp-recent-swatch {
      width: 18px; height: 18px;
      border: 1px solid rgba(255,255,255,.12);
      cursor: pointer;
      transition: transform .15s, border-color .15s;
    }
    .cp-recent-swatch:hover { transform: scale(1.2); border-color: #fff; }
    .cp-recent-empty {
      font-family: var(--pp); font-size: .42rem; letter-spacing: .15em;
      text-transform: uppercase; color: rgba(255,255,255,.18);
      font-style: italic;
    }

    /* ── 3D ÖNİZLEME MODU overlay ── */
    #view3dOverlay {
      position: fixed; inset: 0; z-index: 9500;
      display: none;
      background: radial-gradient(ellipse at 50% 40%, #15161a 0%, #050506 70%, #000 100%);
    }
    #view3dOverlay.visible { display: block; }
    #view3dCanvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab; }
    #view3dCanvas:active { cursor: grabbing; }
    .v3d-bar {
      position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%);
      display: flex; align-items: center; gap: 10px;
      background: rgba(12,12,14,.82);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 12px;
      padding: 8px 12px;
      backdrop-filter: blur(8px);
      box-shadow: 0 10px 40px rgba(0,0,0,.6);
    }
    .v3d-modes { display: flex; gap: 5px; }
    .v3d-spacer { width: 1px; height: 24px; background: rgba(255,255,255,.14); }
    .v3d-mode, .v3d-btn {
      display: inline-flex; align-items: center; gap: 6px;
      height: 34px; padding: 0 11px;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 8px; background: transparent;
      color: rgba(255,255,255,.6); cursor: pointer; font-size: .82rem;
      font-family: var(--pp); letter-spacing: .04em;
      transition: color .15s, background .15s, border-color .15s;
    }
    .v3d-mode { padding: 0 10px; }
    .v3d-mode:hover, .v3d-btn:hover { color: #fff; border-color: rgba(255,255,255,.45); }
    .v3d-mode.is-active {
      color: #fff; background: rgba(233,32,56,.16); border-color: var(--acc, var(--in-accent, #e92038));
    }
    .v3d-btn--close { color: #fff; border-color: rgba(233,32,56,.4); }
    .v3d-btn--close:hover { background: rgba(233,32,56,.18); }
    #v3dRec.is-rec { color: #fff; background: rgba(233,32,56,.85); border-color: var(--acc); }
    #v3dRec.is-rec i { animation: v3dRecBlink 1s steps(2,start) infinite; }
    @keyframes v3dRecBlink { 50% { opacity: .25; } }
    .v3d-hint {
      position: absolute; top: 18px; left: 50%; transform: translateX(-50%);
      font-family: var(--pp); font-size: .58rem; letter-spacing: .12em;
      text-transform: uppercase; color: rgba(255,255,255,.4);
      display: flex; align-items: center; gap: 8px;
    }

    /* ── 3D SONSUZ BOŞLUK ÇİZİM MODU ── */
    #space3d {
      position: fixed;
      top: var(--top); left: var(--dock-w); right: 0; bottom: var(--hud);
      z-index: 9050;
      display: none;
      background: #11141c;
    }
    #space3d.visible { display: block; }
    #space3d { left: 0; }
    body.space-3d #nmBgCanvas,
    body.space-3d #nmCanvas,
    body.space-3d #nmGridOverlay { display: none !important; }
    .sp3-bar { display: none !important; }
    #nmHud .hud-3d-only,
    #nmHud .hud-3d-only[hidden],
    .hud-3d-only { display: none !important; }
    body.space-3d #nmHud .hud-3d-only { display: inline-flex !important; }
    body.space-3d #nmHud .hud-2d-only { display: none !important; }
    .nm-btn--mini.is-active {
      color: #2ec4b6;
      border-color: #2ec4b6 !important;
      background: rgba(46,196,182,.14);
      box-shadow: 0 0 0 1px rgba(46,196,182,.35) inset;
    }
    .nm-btn--mini.is-active i { color: #2ec4b6; }
    #gridToggle.is-active {
      color: var(--acc) !important;
      border-color: var(--acc) !important;
      background: rgba(233,32,56,.14);
      box-shadow: 0 0 0 1px rgba(233,32,56,.35) inset;
    }
    #gridToggle.is-active i { color: var(--acc); }

    .hud-space-tag {
      display: inline-flex; align-items: center; gap: 5px;
      flex-shrink: 0; height: 26px; padding: 0 .56rem;
      border-radius: 3px;
      font-family: var(--pp); font-weight: 700;
      font-size: .59rem; letter-spacing: .12em;
      border: none;
      background: rgba(0,0,0,.55);
      color: rgba(255,255,255,.85);
      transition: color .2s, background .2s;
    }
    .hud-space-tag i { font-size: .9em; }
    body.space-3d .hud-space-tag {
      color: #fff; background: rgba(0,0,0,.7);
    }
    body.space-3d .hud-space-tag i { color: #2ec4b6; }
    #space3dCanvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: crosshair; touch-action: none; }
    #space3dCanvas.orbiting { cursor: grabbing; }
    .sp3-hint {
      position: absolute; top: 18px; left: 50%; transform: translateX(-50%);
      font-family: var(--pp); font-size: .56rem; letter-spacing: .12em;
      text-transform: uppercase; color: rgba(255,255,255,.4);
      display: flex; align-items: center; gap: 8px; pointer-events: none;
    }
    .sp3-bar {
      position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%);
      display: flex; align-items: center; gap: 10px;
      background: rgba(12,12,14,.82);
      border: 1px solid rgba(255,255,255,.12); border-radius: 12px;
      padding: 8px 14px; backdrop-filter: blur(8px);
      box-shadow: 0 10px 40px rgba(0,0,0,.6);
    }
    .sp3-lbl {
      font-family: var(--pp); font-size: .5rem; letter-spacing: .2em;
      text-transform: uppercase; color: rgba(255,255,255,.55);
    }
    .sp3-spacer { width: 1px; height: 24px; background: rgba(255,255,255,.14); }
    .sp3-btn {
      display: inline-flex; align-items: center; gap: 6px;
      height: 34px; padding: 0 11px;
      border: 1px solid rgba(255,255,255,.16); border-radius: 8px; background: transparent;
      color: rgba(255,255,255,.62); cursor: pointer; font-size: .82rem;
      font-family: var(--pp); letter-spacing: .04em;
      transition: color .15s, background .15s, border-color .15s;
    }
    .sp3-btn:hover { color: #fff; border-color: rgba(255,255,255,.45); }
    .sp3-btn.is-active { color: #fff; background: rgba(233,32,56,.16); border-color: var(--acc, var(--in-accent, #e92038)); }
    .sp3-btn--exit { color: #fff; border-color: rgba(233,32,56,.4); }
    .sp3-btn--exit:hover { background: rgba(233,32,56,.18); }
    .sp3-btn--save { color: #fff; background: rgba(233,32,56,.16); border-color: rgba(233,32,56,.5); }
    .sp3-btn--save:hover { background: rgba(233,32,56,.28); }
    .sp3-lbl i { color: var(--acc); margin-right: 4px; }
    .sp3-axes-lbl {
      position: absolute; right: 16px; bottom: 14px;
      display: flex; gap: 10px; pointer-events: none;
      font-family: var(--pp); font-size: .5rem; font-weight: 700; letter-spacing: .2em;
      opacity: .85;
      padding: 6px 11px; border-radius: 8px;
      border: none;
      background: transparent;
    }
    .sp3-gizmo-ring {
      position: absolute; pointer-events: none;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 12px;
      background: rgba(10,12,18,.34);
      box-shadow: inset 0 0 16px rgba(0,0,0,.28), 0 2px 10px rgba(0,0,0,.25);
      right: 14px; bottom: 14px; width: 110px; height: 110px;
    }

    /* ── 3D DOCK PANELİ ── */
    .d3-lbl {
      font-family: var(--pp); font-size: .34rem; letter-spacing: .16em;
      text-transform: uppercase; color: rgba(255,255,255,.34);
      text-align: center; padding: .55rem 0 .2rem; line-height: 1;
    }
    .d3-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
    .d3-tool {
      display: flex; flex-direction: column; align-items: center; gap: 2px;
      padding: .42rem .1rem .36rem; border: 1px solid rgba(255,255,255,.08);
      border-radius: 8px; background: rgba(255,255,255,.03);
      color: rgba(255,255,255,.6); cursor: pointer;
      transition: color .15s, background .15s, border-color .15s;
    }
    .d3-tool i { font-size: .92rem; }
    .d3-tool span { font-family: var(--pp); font-size: .3rem; letter-spacing: .03em; text-transform: uppercase; text-align: center; line-height: 1.05; }
    .d3-tool:hover { color: #fff; background: rgba(255,255,255,.07); }
    .d3-tool.is-active { color: var(--acc); background: rgba(233,32,56,.14); border-color: rgba(233,32,56,.45); }
    .d3-palette { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px; }
    .d3-palette .palette-sw { aspect-ratio: 1/1; border-radius: 6px; }
    .d3-seg { display: grid; grid-template-columns: repeat(5, 1fr); gap: 3px; }
    .d3-segbtn {
      padding: .35rem 0; border: 1px solid rgba(255,255,255,.1); border-radius: 6px;
      background: rgba(255,255,255,.03); color: rgba(255,255,255,.6); cursor: pointer;
      font-family: var(--pp); font-size: .42rem;
      transition: color .15s, background .15s, border-color .15s;
    }
    .d3-segbtn:hover { color: #fff; }
    .d3-segbtn.is-active { color: #fff; background: rgba(233,32,56,.16); border-color: var(--acc); }
    .d3-toggle {
      display: flex; align-items: center; gap: 6px;
      width: 100%; padding: .4rem .5rem; border: 1px solid rgba(255,255,255,.08);
      border-radius: 8px; background: rgba(255,255,255,.03);
      color: rgba(255,255,255,.6); cursor: pointer;
      font-family: var(--pp); font-size: .38rem; letter-spacing: .06em; text-transform: uppercase;
      transition: color .15s, background .15s, border-color .15s;
    }
    .d3-toggle i { font-size: .72rem; width: 14px; text-align: center; }
    .d3-toggle:hover { color: #fff; }
    .d3-toggle.is-active { color: #fff; background: rgba(233,32,56,.16); border-color: rgba(233,32,56,.5); }
    .d3-toggle.is-active i { color: var(--acc); }
    .d3-range { width: 100%; accent-color: var(--acc); margin: 2px 0 6px; }
    .d3-fx { display: flex; flex-direction: column; gap: 4px; }
    .d3-inline {
      width: 56px; margin: 4px 0 2px; padding: 6px 6px 8px;
      display: flex; flex-direction: column; gap: 2px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.08);
      border-radius: 12px;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
    }
    .d3-inline .d3-lbl { padding: .3rem 0 .15rem; font-size: .3rem; }
    .d3-inline .d3-seg { grid-template-columns: repeat(3, 1fr); gap: 2px; }
    .d3-inline .d3-segbtn { padding: .25rem 0; font-size: .36rem; border-radius: 5px; }
    .d3-hint { display: none; }
    .d3-hint i { color: var(--acc, var(--in-accent, #e92038)); margin-right: 3px; }
    .dock-mode-3d .d3-tool.is-active {
      color: #2ec4b6; background: rgba(46,196,182,.16); border-color: rgba(46,196,182,.5);
    }
    .dock-mode-3d .d3-segbtn.is-active { background: rgba(46,196,182,.18); border-color: #2ec4b6; color: #2ec4b6; }
    .dock-mode-3d .d3-toggle.is-active {
      background: rgba(46,196,182,.18); border-color: rgba(46,196,182,.5);
    }
    .dock-mode-3d .d3-toggle.is-active i { color: #2ec4b6; }
    .dock-mode-3d .dock-cat.d3-cat .dock-cat-hd { border-left: 2px solid rgba(46,196,182,.4); }
    .dock-mode-3d .d3-catbtn.has-active {
      border-color: rgba(46,196,182,.55);
      box-shadow: 0 4px 16px rgba(46,196,182,.3), inset 0 0 0 1px rgba(46,196,182,.35);
    }
    .dock-mode-3d .d3-catbtn.has-active::after {
      background: #2ec4b6; box-shadow: 0 0 6px rgba(46,196,182,.85);
    }
    .dock-mode-3d .d3-sym-card.is-active {
      color: #fff; background: rgba(46,196,182,.16);
      border-color: rgba(46,196,182,.55);
      box-shadow: 0 0 0 1px rgba(46,196,182,.3) inset;
    }
    .dock-mode-3d .d3-sym-card.is-active i,
    .dock-mode-3d .d3-sym-card.is-active .d3-sym-card__desc { color: #2ec4b6; }
    .dock-mode-3d .d3-fx-card.is-active::after { color: #2ec4b6; }
    .dock-mode-3d .nm-fly-tool.is-active {
      color: #2ec4b6; background: rgba(46,196,182,.13);
      border-color: rgba(46,196,182,.45);
      box-shadow: 0 0 0 1px rgba(46,196,182,.3) inset;
    }
    .dock-mode-3d .d3-range { accent-color: #2ec4b6; }
    .dock-mode-3d .dock-color__swatch { box-shadow: 0 0 0 2px rgba(46,196,182,.4); }

    /* ── 3D kategori butonu ── */
    .d3-catbtn {
      position: relative;
      display: flex; align-items: center; justify-content: center;
      width: 46px; height: 46px; padding: 0;
      background: radial-gradient(circle at 35% 28%, #2c2c30, #131315);
      border: 1px solid rgba(255,255,255,.1); border-radius: 9px;
      color: rgba(255,255,255,.82); cursor: pointer;
      box-shadow: 0 4px 12px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.07);
      transition: transform .18s cubic-bezier(.34,1.56,.64,1), color .15s, border-color .15s, box-shadow .15s;
    }
    .d3-catbtn > i:first-child { font-size: 1.12rem; }
    .d3-catbtn .d3-catbtn__lbl { display: none; }
    .d3-catbtn .d3-catbtn__caret { display: none; }
    .d3-catbtn:hover { color: #fff; transform: scale(1.1); border-color: rgba(255,255,255,.2); }
    .d3-catbtn.is-open {
      color: #fff; border-color: rgba(255,255,255,.3);
      box-shadow: 0 4px 16px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.12);
    }
    .d3-catbtn.has-active {
      color: #fff;
      border-color: rgba(233,32,56,.55);
      box-shadow: 0 4px 16px rgba(233,32,56,.35), inset 0 0 0 1px rgba(233,32,56,.35);
    }
    .d3-catbtn.has-active::after {
      content: ''; position: absolute; right: -6px; top: 50%; transform: translateY(-50%);
      width: 4px; height: 4px; border-radius: 50%; background: var(--acc, var(--in-accent, #e92038));
      box-shadow: 0 0 6px rgba(233,32,56,.8);
    }
    #tool3dFlyout .d3-fly-sub { display: flex; flex-direction: column; gap: .6rem; width: 100%; grid-column: 1 / -1; }
    .d3-fly-hint {
      font-family: var(--pp); font-size: .58rem; line-height: 1.5;
      color: rgba(255,255,255,.55); margin: 0;
    }
    .d3-sym-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
    .d3-sym-card {
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      gap: 3px; padding: .65rem .25rem .55rem;
      background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08);
      border-radius: 11px; color: rgba(255,255,255,.72); cursor: pointer;
      transition: transform .12s, color .15s, background .15s, border-color .15s, box-shadow .15s;
      text-align: center;
    }
    .d3-sym-card i { font-size: 1.15rem; margin-bottom: 2px; }
    .d3-sym-card__lbl {
      font-family: var(--pp); font-weight: 600; font-size: .56rem;
      letter-spacing: .04em; line-height: 1.1;
    }
    .d3-sym-card__desc {
      font-family: var(--pp); font-size: .46rem; letter-spacing: .02em;
      color: rgba(255,255,255,.42); line-height: 1.1;
    }
    .d3-sym-card:hover {
      transform: translateY(-2px); color: #fff;
      background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.25);
    }
    .d3-sym-card.is-active {
      color: #fff; background: rgba(233,32,56,.14);
      border-color: rgba(233,32,56,.5);
      box-shadow: 0 0 0 1px rgba(233,32,56,.3) inset;
    }
    .d3-sym-card.is-active i,
    .d3-sym-card.is-active .d3-sym-card__desc { color: var(--acc); }
    .d3-env-card { position: relative; overflow: hidden; padding-top: 1.7rem; }
    .d3-env-card__sw {
      position: absolute; top: 0; left: 0; right: 0; height: 22px;
      background: var(--env-prev); border-radius: 11px 11px 0 0;
      box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);
    }
    .d3-env-card i { position: relative; z-index: 1; }
    .d3-env-card.is-active {
      color:#fff; background: rgba(46,196,182,.14);
      border-color: rgba(46,196,182,.55);
      box-shadow: 0 0 0 1px rgba(46,196,182,.3) inset;
    }
    .d3-env-card.is-active i { color:#2ec4b6; }
    .d3-fx-card { position: relative; }
    .d3-fx-card.is-active::after {
      content: '\f00c'; font-family: 'Font Awesome 6 Free'; font-weight: 900;
      position: absolute; top: 5px; right: 6px; font-size: .5rem; color: var(--acc);
    }

    .sp3-palette-unused {
      position: absolute; left: 50%; bottom: 78px; transform: translateX(-50%) translateY(8px);
      display: grid; grid-template-columns: repeat(10, 1fr); gap: 6px;
      padding: 10px; width: min(420px, 90vw);
      background: rgba(12,12,14,.92);
      border: 1px solid rgba(255,255,255,.13); border-radius: 12px;
      box-shadow: 0 14px 48px rgba(0,0,0,.7);
      opacity: 0; pointer-events: none;
      transition: opacity .2s, transform .2s;
    }
    .sp3-palette.visible { opacity: 1; pointer-events: auto; transform: translateX(-50%) translateY(0); }
    .sp3-palette .palette-sw { aspect-ratio: 1/1; border-radius: 6px; }

    /* ── 3D nesne seçici tetikleyici ── */
    .nm-s3d-trigger {
      display: inline-flex; align-items: center; gap: 5px;
      height: 30px; padding: 0 9px;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 7px;
      background: rgba(255,255,255,.03);
      color: rgba(255,255,255,.78);
      cursor: pointer; font-size: .82rem;
      transition: color .15s, background .15s, border-color .15s;
    }
    .nm-s3d-trigger:hover { color: #fff; border-color: rgba(255,255,255,.45); }
    .nm-s3d-trigger.is-open {
      color: #fff; border-color: var(--acc, var(--in-accent, #e92038));
      background: rgba(233,32,56,.14);
    }
    .nm-s3d-caret { font-size: .52rem; opacity: .6; }

    /* ── 3D nesne seçici pop-up paneli ── */
    #shape3dPopover {
      position: fixed;
      background: #0c0c0e;
      border: 1px solid rgba(255,255,255,.13);
      padding: .8rem;
      z-index: 9400;
      display: none; flex-direction: column; gap: .65rem;
      width: 320px;
      box-shadow: 0 14px 48px rgba(0,0,0,.75);
      border-radius: 12px;
    }
    #shape3dPopover.visible { display: flex; }
    .s3p-head { display: flex; align-items: center; justify-content: space-between; }
    .s3p-title {
      font-family: var(--pp); font-size: .5rem; letter-spacing: .22em;
      text-transform: uppercase; color: rgba(255,255,255,.55);
    }
    .s3p-close {
      width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center;
      background: none; border: none; color: rgba(255,255,255,.4); cursor: pointer;
      transition: color .15s;
    }
    .s3p-close:hover { color: #fff; }
    .s3p-grid {
      display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px;
    }
    .s3p-card {
      position: relative;
      aspect-ratio: 1 / 1;
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 6px;
      background: radial-gradient(circle at 40% 35%, #232427, #0c0c0e);
      cursor: pointer; overflow: hidden;
      display: flex; align-items: center; justify-content: center;
      transition: border-color .15s, transform .12s, box-shadow .15s;
    }
    .s3p-card:hover { transform: translateY(-2px); border-color: rgba(255,255,255,.4); }
    .s3p-card.is-active {
      border-color: var(--acc, var(--in-accent, #e92038));
      box-shadow: 0 0 0 1px rgba(233,32,56,.5) inset, 0 4px 14px rgba(233,32,56,.25);
    }
    .s3p-card canvas { width: 100%; height: 100%; display: block; }
    .s3p-card__lbl {
      position: absolute; bottom: 0; left: 0; right: 0;
      font-family: var(--pp); font-size: .4rem; letter-spacing: .08em;
      text-transform: uppercase; text-align: center;
      color: rgba(255,255,255,.7);
      background: linear-gradient(0deg, rgba(0,0,0,.78), transparent);
      padding: 9px 2px 3px;
      pointer-events: none;
    }

    @media(max-width:1280px) { .hud-seg.hide-md { display: none; } }
    @media(max-width:980px)  { .hud-seg.hide-sm { display: none; } }
    @media(max-width:780px)  { .nm-tools-zone .ctrl-label { display: none; } }
    @media(max-width:640px)  { .nm-btn-lbl { display: none; } }
    @media(max-width:1100px) {
      .nm-active-badge__lbl { display: none; }
      .nm-cat__lbl { display: none; }
      .nm-ctx-trigger__lbl { display: none; }
    }
    @media(max-width:760px) {
      .nm-active-badge { display: none; }
      .nm-cat__caret { display: none; }
    }

    /* ── Inline Text Editor ── */
    #textEditor {
      position: fixed; z-index: 9500;
      display: none; flex-direction: column; gap: 0;
      background: rgba(13,13,13,.96);
      border: 1px solid var(--acc);
      box-shadow: 0 4px 32px rgba(233,32,56,.25);
      backdrop-filter: blur(10px);
      min-width: 280px;
    }
    #textEditor.visible { display: flex; }
    .te-hint {
      display: flex; align-items: center; gap: .4rem;
      padding: .35rem .7rem;
      background: rgba(233,32,56,.15);
      border-bottom: 1px solid rgba(233,32,56,.3);
      font-family: var(--pp);
      font-size: .42rem; letter-spacing: .18em;
      text-transform: uppercase; color: rgba(255,255,255,.7);
    }
    .te-hint i { color: var(--acc); font-size: .55rem; }
    #textInput {
      background: transparent; border: none;
      color: #fff; font-family: var(--sf); font-size: 1.4rem;
      padding: .9rem 1.1rem; outline: none; width: 100%;
      text-transform: uppercase; letter-spacing: .04em;
      caret-color: var(--acc);
    }
    #textInput::placeholder { color: rgba(255,255,255,.2); font-style: italic; }
    .te-toolbar {
      display: flex; align-items: center; gap: .5rem;
      padding: .45rem .55rem;
      border-top: 1px solid rgba(255,255,255,.08);
      background: rgba(0,0,0,.3);
    }
    .te-lbl {
      font-family: var(--pp); font-size: .42rem; letter-spacing: .18em;
      text-transform: uppercase; color: rgba(255,255,255,.45);
    }
    #teSizeSlider {
      -webkit-appearance: none; flex: 1; height: 2px;
      background: rgba(255,255,255,.12); outline: none; border: none; cursor: pointer;
      min-width: 80px;
    }
    #teSizeSlider::-webkit-slider-thumb {
      -webkit-appearance: none; width: 11px; height: 11px;
      background: var(--acc); border-radius: 50%; border: none;
    }
    .te-val {
      font-family: var(--pp); font-size: .55rem; color: #fff;
      min-width: 28px; text-align: right;
    }
    .te-sep { width: 1px; height: 16px; background: rgba(255,255,255,.1); margin: 0 .15rem; }
    .te-btn {
      width: 26px; height: 26px;
      display: inline-flex; align-items: center; justify-content: center;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.12);
      color: #fff; cursor: pointer;
      transition: background .2s, border-color .2s;
    }
    .te-btn:hover { background: rgba(255,255,255,.12); }
    .te-btn--ok { background: var(--acc); border-color: var(--acc); }
    .te-btn--ok:hover { background: #ff3855; }
    .te-btn--cancel:hover { background: rgba(255,80,80,.15); border-color: rgba(255,80,80,.45); color: #ff8080; }
    .te-btn i { font-size: .65rem; }

    /* ── SOL DİKEY ARAÇ PANELİ ── */
    #nmDock {
      position: fixed;
      left: 14px;
      top: 50%;
      transform-origin: left center;
      transform: translateY(-50%) scale(0.9);
      width: auto;
      z-index: 9100;
      background: rgba(22,22,24,.66);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 16px;
      box-shadow: 0 18px 50px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
      -webkit-backdrop-filter: blur(22px) saturate(160%);
      backdrop-filter: blur(22px) saturate(160%);
      display: flex; flex-direction: column; align-items: center;
      gap: 8px;
      padding: 12px 9px;
    }
    body:not(.nm-started) #nmDock { opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(-130%) scale(0.9); }
    #nmDock { transition: opacity .5s ease, transform .5s ease; }

    /* ── DOCK GİZLEME ── */
    body.dock-hidden #nmDock { opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(-130%) scale(0.9); }
    html.dock-hidden { --dock-w: 0px; }
    .dock-hidebtn {
      display: flex; align-items: center; justify-content: center;
      width: 28px; height: 22px; margin: 0 auto 4px;
      background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1);
      border-radius: 7px; cursor: pointer;
      color: rgba(255,255,255,.6); font-size: .68rem;
      transition: color .15s ease, background .15s ease, border-color .15s ease;
    }
    .dock-hidebtn:hover { background: rgba(233,32,56,.16); border-color: rgba(233,32,56,.5); color: #fff; }

    #dockShowBtn {
      position: fixed; left: 0; top: 50%; transform: translateY(-50%);
      z-index: 9100; width: 26px; height: 64px; border-radius: 0 13px 13px 0;
      background: rgba(22,22,24,.7); border: 1px solid rgba(255,255,255,.12);
      border-left: none; color: rgba(255,255,255,.85); cursor: pointer; font-size: .8rem;
      -webkit-backdrop-filter: blur(20px) saturate(160%);
      backdrop-filter: blur(20px) saturate(160%);
      box-shadow: 4px 0 22px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
      display: none; align-items: center; justify-content: center;
      transition: background .2s ease, width .2s ease, color .2s ease;
    }
    #dockShowBtn:hover { background: var(--acc); color: #fff; }
    body.dock-hidden #dockShowBtn { display: flex; }
    body:not(.nm-started) #dockShowBtn { display: none !important; }

    /* ── HIZLI ARAÇ MENÜSÜ ── */
    #nmRadial {
      position: fixed; z-index: 9400; top: 0; left: 0;
      display: none; padding: 7px;
      background: rgba(22,22,24,.86); border: 1px solid rgba(255,255,255,.14);
      border-radius: 14px;
      box-shadow: 0 16px 44px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
      -webkit-backdrop-filter: blur(22px) saturate(160%);
      backdrop-filter: blur(22px) saturate(160%);
      animation: radialPop .16s cubic-bezier(.34,1.56,.64,1);
    }
    #nmRadial.visible { display: block; }
    .radial-items {
      display: grid; grid-template-columns: repeat(4, 1fr); gap: 5px;
    }
    .radial-item {
      width: 50px; height: 50px;
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      gap: 3px;
      background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
      border-radius: 9px;
      color: rgba(255,255,255,.85); cursor: pointer;
      transition: transform .12s cubic-bezier(.34,1.56,.64,1), background .14s, color .14s, border-color .14s;
      animation: radialPop .18s cubic-bezier(.34,1.56,.64,1) both;
    }
    .radial-item i { font-size: .85rem; }
    .radial-item span { font-family: var(--pp); font-size: .4rem; letter-spacing: .03em; opacity: .7; }
    .radial-item:hover { background: var(--acc); border-color: var(--acc); color: #fff; transform: scale(1.08); }
    .radial-item:hover span { opacity: 1; }
    .radial-item.is-active { border-color: var(--acc); color: var(--acc); background: rgba(233,32,56,.12); box-shadow: 0 0 0 1px var(--acc) inset; }
    @keyframes radialPop { from { opacity: 0; transform: scale(.85); } to { opacity: 1; transform: scale(1); } }

    /* ── Renk bloğu ── */
    .dock-color {
      display: flex; flex-direction: column; align-items: center; gap: 8px;
    }
    .dock-color__swatch {
      width: 46px; height: 46px; border-radius: 9px;
      border: 1.5px solid rgba(255,255,255,.25);
      cursor: pointer; padding: 0;
      box-shadow: 0 4px 12px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.25);
      transition: transform .18s cubic-bezier(.34,1.56,.64,1);
    }
    .dock-color__swatch:hover { transform: scale(1.14) translateX(3px); }
    .dock-color__swatch.is-open {
      border-color: rgba(255,255,255,.65);
      box-shadow: 0 4px 16px rgba(0,0,0,.5), 0 0 0 3px rgba(255,255,255,.18), inset 0 1px 0 rgba(255,255,255,.3);
    }

    /* ── Aktif uzay etiketi ── */
    .dock-modetag {
      display: flex; align-items: center; justify-content: center; gap: 6px;
      width: 52px; height: 26px; margin-bottom: 2px;
      border-radius: 9px;
      font-family: var(--pp, inherit);
      font-size: .72rem; font-weight: 700; letter-spacing: .12em;
      color: #fff;
      background: linear-gradient(135deg, rgba(233,32,56,.92), rgba(190,20,42,.92));
      box-shadow: 0 4px 14px rgba(233,32,56,.45), inset 0 1px 0 rgba(255,255,255,.25);
      transition: background .35s ease, box-shadow .35s ease;
    }
    .dock-modetag__ico { font-size: .7rem; opacity: .92; }
    #nmDock.dock-mode-3d .dock-modetag {
      background: linear-gradient(135deg, rgba(58,134,255,.92), rgba(36,98,200,.92));
      box-shadow: 0 4px 14px rgba(58,134,255,.45), inset 0 1px 0 rgba(255,255,255,.25);
    }

    .dock-divider {
      width: 36px; height: 1px;
      background: rgba(255,255,255,.14);
      margin: 1px 0;
      flex-shrink: 0;
    }

    /* ── 2D / 3D MOD SEÇİCİ ── */
    /* ── 2D / 3D UZAY SEÇİCİ ── */
    .space-switch {
      position: fixed;
      right: 16px; top: 50%; transform: translateY(-50%);
      z-index: 9300;
      display: flex; flex-direction: column; align-items: stretch; gap: 8px;
      padding: 12px 10px;
      background: rgba(22,22,24,.66);
      border: 1px solid rgba(255,255,255,.12); border-radius: 18px;
      box-shadow: 0 18px 50px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08);
      -webkit-backdrop-filter: blur(22px) saturate(160%);
      backdrop-filter: blur(22px) saturate(160%);
      transition: opacity .5s ease, transform .5s ease;
    }
    body.space-3d .space-switch {
      border-color: rgba(46,196,182,.4);
      box-shadow: 0 18px 50px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.08), 0 0 0 1px rgba(46,196,182,.18);
    }
    body:not(.nm-started) .space-switch { opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(130%); }
    body.space-switch-collapsed .space-switch { opacity: 0; pointer-events: none; transform: translateY(-50%) translateX(130%); }
    .space-switch__top { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 1px; }
    .space-switch__head {
      font-family: var(--sf, var(--pp)); font-weight: 700;
      font-size: .56rem; letter-spacing: .2em;
      color: rgba(255,255,255,.4); text-transform: uppercase;
    }
    .space-switch__close {
      display: inline-flex; align-items: center; justify-content: center;
      width: 20px; height: 20px; border-radius: 6px;
      background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12);
      color: rgba(255,255,255,.55); cursor: pointer; font-size: .62rem;
      transition: background .18s, color .18s;
    }
    .space-switch__close:hover { background: var(--acc, var(--in-accent, #e92038)); color: #fff; }

    /* ── KAPALI ŞERİT ── */
    .space-mini {
      position: fixed; right: 0; top: 50%; transform: translateY(-50%) translateX(110%);
      z-index: 9300;
      display: flex; flex-direction: column; align-items: stretch; gap: 4px;
      padding: 6px 5px;
      background: rgba(22,22,24,.66);
      border: 1px solid rgba(255,255,255,.12); border-right: none;
      border-radius: 12px 0 0 12px;
      box-shadow: -8px 12px 32px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.08);
      -webkit-backdrop-filter: blur(22px) saturate(160%);
      backdrop-filter: blur(22px) saturate(160%);
      opacity: 0; pointer-events: none;
      transition: opacity .35s ease, transform .35s ease;
    }
    body.space-switch-collapsed .space-mini { opacity: 1; pointer-events: auto; transform: translateY(-50%) translateX(0); }
    .space-mini__btn {
      font-family: var(--sf, var(--pp)); font-weight: 700; font-size: .72rem; letter-spacing: .08em;
      width: 34px; height: 30px; border-radius: 8px;
      background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
      color: rgba(255,255,255,.6); cursor: pointer;
      transition: color .18s, background .18s, border-color .18s;
    }
    .space-mini__btn:hover { color: #fff; background: rgba(255,255,255,.09); }
    .space-mini__btn.is-active {
      color: #fff; background: linear-gradient(165deg, rgba(233,32,56,.45), rgba(233,32,56,.22));
      border-color: var(--acc, var(--in-accent, #e92038));
    }
    .space-mini__expand {
      display: inline-flex; align-items: center; justify-content: center;
      width: 34px; height: 22px; border-radius: 7px;
      background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12);
      color: rgba(255,255,255,.5); cursor: pointer; font-size: .6rem; margin-top: 1px;
      transition: background .18s, color .18s;
    }
    .space-mini__expand:hover { background: var(--acc, var(--in-accent, #e92038)); color: #fff; }
    .space-mode {
      position: relative;
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
      width: 72px; height: 72px;
      border: 1.5px solid rgba(255,255,255,.12); border-radius: 14px;
      background: rgba(255,255,255,.04); color: rgba(255,255,255,.6); cursor: pointer;
      transition: color .2s, background .2s, border-color .2s, box-shadow .2s, transform .14s;
    }
    .space-mode__ico { font-size: 1.45rem; transition: transform .2s; }
    .space-mode__lbl { font-family: var(--sf, var(--pp)); font-weight: 700; font-size: .92rem; letter-spacing: .08em; line-height: 1; }
    .space-mode__sub { font-family: var(--pp); font-size: .5rem; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.45); line-height: 1; }
    .space-mode:hover {
      color: #fff; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.22);
      transform: translateY(-1px);
    }
    .space-mode:hover .space-mode__ico { transform: scale(1.08); }
    .space-mode.is-active {
      color: #fff;
      background: linear-gradient(165deg, rgba(233,32,56,.45), rgba(233,32,56,.22));
      border-color: var(--acc, var(--in-accent, #e92038));
      box-shadow: 0 0 0 1px rgba(233,32,56,.6) inset, 0 6px 22px rgba(233,32,56,.4);
    }
    .space-mode.is-active .space-mode__sub { color: rgba(255,255,255,.85); }
    .space-mode[data-cmode="3d"].is-active {
      background: linear-gradient(165deg, rgba(46,196,182,.45), rgba(46,196,182,.22));
      border-color: #2ec4b6;
      box-shadow: 0 0 0 1px rgba(46,196,182,.6) inset, 0 6px 22px rgba(46,196,182,.4);
    }
    .space-mini__btn[data-cmode="3d"].is-active {
      background: linear-gradient(165deg, rgba(46,196,182,.45), rgba(46,196,182,.22));
      border-color: #2ec4b6;
    }
    body.space-3d .space-switch__head { color: #2ec4b6; }
    body.space-3d .space-switch__close:hover { background: #2ec4b6; }
    .space-mode:not(.is-active) { animation: spaceHint 3.2s ease-in-out infinite; }
    @keyframes spaceHint {
      0%, 92%, 100% { box-shadow: 0 0 0 0 rgba(233,32,56,0); }
      96% { box-shadow: 0 0 0 4px rgba(233,32,56,.18); border-color: rgba(233,32,56,.5); }
    }
    .space-mode[data-cmode="3d"]:not(.is-active) { animation: spaceHint3d 3.2s ease-in-out infinite; }
    @keyframes spaceHint3d {
      0%, 92%, 100% { box-shadow: 0 0 0 0 rgba(46,196,182,0); }
      96% { box-shadow: 0 0 0 4px rgba(46,196,182,.18); border-color: rgba(46,196,182,.5); }
    }
    @media(max-width:640px){
      .space-switch { right: 8px; padding: 8px 7px; gap: 6px; }
      .space-mode { width: 56px; height: 56px; }
      .space-mode__ico { font-size: 1.15rem; }
      .space-mode__lbl { font-size: .78rem; }
    }

    /* ── Araç listesi ── */
    .dock-scroll {
      display: flex; flex-direction: column; align-items: center; gap: 8px;
      overflow: visible;
    }
    .dock-scroll[hidden] { display: none !important; }

    /* ── Moda özel ayar dock'u ── */
    .dock-bottom-spacer { height: 4px; }
    .dock-settings { display: flex; flex-direction: column; align-items: center; gap: 8px; width: 100%; }
    .dock-settings[hidden] { display: none !important; }
    .dock-set-block { display: flex; flex-direction: column; align-items: center; gap: 4px; }
    .dock-set-lbl {
      font-family: var(--pp); font-size: .3rem; letter-spacing: .14em;
      text-transform: uppercase; color: rgba(255,255,255,.4); line-height: 1;
    }
    .dock-set-toggle {
      display: flex; align-items: center; justify-content: center;
      width: 38px; height: 38px; padding: 0;
      background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1);
      border-radius: 8px; color: rgba(255,255,255,.7); cursor: pointer;
      transition: transform .15s cubic-bezier(.34,1.56,.64,1), color .15s, border-color .15s, background .15s;
    }
    .dock-set-toggle i { font-size: .9rem; }
    .dock-set-toggle:hover { color: #fff; transform: scale(1.1); }
    .dock-set-toggle.is-active { color: var(--acc); background: rgba(233,32,56,.14); border-color: rgba(233,32,56,.5); }

    /* ── Boyut & Opaklık ── */
    .dock-sliders { display: flex; flex-direction: column; gap: 8px; width: 56px; }
    .dock-slider {
      display: flex; flex-direction: column; align-items: center; gap: 2px;
      padding: 6px 4px; border-radius: 8px;
      background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
    }
    .dock-slider__lbl {
      font-family: var(--pp); font-size: .3rem; letter-spacing: .12em;
      text-transform: uppercase; color: rgba(255,255,255,.4); line-height: 1;
    }
    .dock-range { width: 100%; accent-color: var(--acc); height: 14px; cursor: pointer; }
    .dock-slider__val {
      font-family: var(--pp); font-size: .4rem; color: rgba(255,255,255,.7); line-height: 1;
    }

    /* ── Kategori butonu ── */
    .dock-catbtn {
      position: relative;
      display: flex; align-items: center; justify-content: center;
      width: 46px; height: 46px; padding: 0;
      background: radial-gradient(circle at 35% 28%, #2c2c30, #131315);
      border: 1px solid rgba(255,255,255,.1); border-radius: 9px;
      color: rgba(255,255,255,.82); cursor: pointer;
      box-shadow: 0 4px 12px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.07);
      transition: transform .18s cubic-bezier(.34,1.56,.64,1), color .15s, border-color .15s, box-shadow .15s;
    }
    .dock-catbtn > i:first-child { font-size: 1.12rem; }
    .dock-catbtn .dock-catbtn__lbl { display: none; }
    .dock-catbtn .dock-catbtn__caret { display: none; }
    /* ── ALT-MENÜ GÖSTERGESİ ── */
    .dock-catbtn::before, .d3-catbtn::before {
      content: ''; position: absolute; right: 4px; top: 50%;
      transform: translateY(-50%);
      width: 1.5px; height: 1.5px; border-radius: 50%;
      color: rgba(255,255,255,.32);
      background: currentColor;
      box-shadow: 0 -3px 0 currentColor, 0 3px 0 currentColor;
      transition: color .15s;
      pointer-events: none;
      z-index: 3;
    }
    .dock-catbtn:hover::before, .dock-catbtn.is-open::before,
    .d3-catbtn:hover::before, .d3-catbtn.is-open::before { color: rgba(255,255,255,.7); }
    .dock-catbtn:hover { color: #fff; transform: scale(1.1); border-color: rgba(255,255,255,.2); }
    .dock-catbtn.is-open {
      color: #fff; border-color: rgba(255,255,255,.3);
      box-shadow: 0 4px 16px rgba(0,0,0,.5), inset 0 0 0 1px rgba(255,255,255,.12);
    }
    .dock-catbtn.has-active {
      color: #fff;
      border-color: rgba(233,32,56,.55);
      box-shadow: 0 4px 16px rgba(233,32,56,.35), inset 0 0 0 1px rgba(233,32,56,.35);
    }
    .dock-catbtn.has-active::after {
      content: ''; position: absolute; right: -6px; top: 50%; transform: translateY(-50%);
      width: 4px; height: 4px; border-radius: 50%; background: var(--acc, var(--in-accent, #e92038));
      box-shadow: 0 0 6px rgba(233,32,56,.8);
    }

    /* ── Akordeon kategori grubu ── */
    .dock-cat { display: flex; flex-direction: column; }
    .dock-cat-hd {
      display: flex; align-items: center; justify-content: center; gap: 4px;
      width: 100%; padding: .42rem .2rem;
      background: rgba(255,255,255,.03);
      border: 1px solid rgba(255,255,255,.07); border-radius: 8px;
      color: rgba(255,255,255,.55); cursor: pointer;
      font-family: var(--pp); font-size: .36rem; letter-spacing: .14em;
      text-transform: uppercase; line-height: 1;
      transition: color .15s, background .15s, border-color .15s;
    }
    .dock-cat-hd .dock-cat-caret {
      font-size: .42rem; opacity: .5; transition: transform .25s;
    }
    .dock-cat-hd:hover { color: #fff; background: rgba(255,255,255,.06); }
    .dock-cat.is-open > .dock-cat-hd {
      color: #fff; background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.12);
    }
    .dock-cat.is-open > .dock-cat-hd .dock-cat-caret { transform: rotate(180deg); }
    .dock-cat.has-active > .dock-cat-hd {
      color: var(--acc); border-color: rgba(233,32,56,.4); background: rgba(233,32,56,.1);
    }
    /* Açılır içerik */
    .dock-cat-body {
      display: grid; grid-template-rows: 0fr;
      transition: grid-template-rows .28s ease;
    }
    .dock-cat.is-open > .dock-cat-body { grid-template-rows: 1fr; }
    .dock-cat-body > div {
      overflow: hidden;
      display: flex; flex-direction: column; gap: 3px;
      padding-top: 3px;
    }

    .dock-tool {
      position: relative;
      display: flex; flex-direction: column; align-items: center; gap: 3px;
      width: 100%; padding: .42rem .1rem .34rem;
      background: none; border: 1px solid transparent; border-radius: 9px;
      color: rgba(255,255,255,.6); cursor: pointer;
      transition: color .15s, background .15s, border-color .15s;
    }
    .dock-tool i { font-size: 1rem; }
    .dock-tool__lbl {
      font-family: var(--pp); font-size: .33rem; letter-spacing: .04em;
      text-transform: uppercase; text-align: center; line-height: 1.1;
    }
    .dock-tool:hover { color: #fff; background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.1); }
    .dock-tool.is-active {
      color: var(--acc); background: rgba(233,32,56,.13);
      border-color: rgba(233,32,56,.4);
      box-shadow: 0 0 0 1px rgba(233,32,56,.25) inset;
    }
    .dock-tool .nm-new-tag {
      position: absolute; top: 3px; right: 5px;
      font-family: var(--pp); font-size: .28rem; letter-spacing: .05em;
      background: var(--acc); color: #fff; padding: 1px 3px; border-radius: 3px; line-height: 1;
    }

    .dock-ctx {
      display: flex; align-items: center; justify-content: center;
      width: 46px; height: 46px; padding: 0;
      background: radial-gradient(circle at 35% 28%, #3a1620, #1a0a0e);
      border: 1px solid rgba(233,32,56,.4); border-radius: 9px;
      color: rgba(255,255,255,.9); cursor: pointer;
      box-shadow: 0 4px 12px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.07);
      transition: transform .18s cubic-bezier(.34,1.56,.64,1), color .15s, border-color .15s, box-shadow .15s;
    }
    .dock-ctx i:first-child { font-size: 1.05rem; }
    .dock-ctx span { display: none; }
    .dock-ctx:hover { color: #fff; transform: scale(1.14) translateX(3px); border-color: rgba(233,32,56,.7); }
    .dock-ctx.is-open { color: #fff; border-color: var(--acc); box-shadow: 0 4px 16px rgba(233,32,56,.45), inset 0 1px 0 rgba(255,255,255,.07); }

    .nm-flyout__arrow--left {
      bottom: auto; left: -8px; top: 28px;
      transform: rotate(45deg);
      border-right: none; border-bottom: none;
      border-left: 1px solid rgba(255,255,255,.13);
      border-top: 1px solid rgba(255,255,255,.13);
    }
    .palette-grid {
      display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px;
    }
    .palette-sw {
      width: 100%; aspect-ratio: 1/1; border-radius: 7px;
      border: 2px solid rgba(255,255,255,.12); cursor: pointer; padding: 0;
      transition: transform .12s, border-color .15s, box-shadow .15s;
    }
    .palette-sw:hover { transform: translateY(-2px) scale(1.06); border-color: rgba(255,255,255,.6); }
    .palette-sw.is-active {
      border-color: #fff;
      box-shadow: 0 0 0 2px var(--acc), 0 4px 14px rgba(233,32,56,.3);
    }

    @media(max-height:620px) {
      .dock-tool__lbl, .dock-cat-lbl, .dock-color__more span { display: none; }
      .dock-tool { padding: .35rem .1rem; }
    }

    /* ── HUD İÇİ ARAÇLAR ── */
    .hud-tools {
      display: flex; align-items: center; gap: .5rem;
      flex-shrink: 0;
      padding: 0 .4rem;
    }
    .hud-sep {
      width: 1px; height: 32px;
      background: rgba(255,255,255,.08);
      margin: 0 .4rem;
      flex-shrink: 0;
      align-self: center;
    }

    /* ── Aktif araç rozeti ── */
    .nm-active-badge {
      display: inline-flex; align-items: center; gap: .4rem;
      height: 34px; padding: 0 .7rem;
      border: 1px solid rgba(233,32,56,.4);
      background: rgba(233,32,56,.1);
      border-radius: 8px;
      color: #fff; flex-shrink: 0;
    }
    .nm-active-badge i { font-size: .82rem; color: var(--acc); }
    .nm-active-badge__lbl {
      font-family: var(--pp); font-size: .5rem; letter-spacing: .14em;
      text-transform: uppercase; color: #fff; white-space: nowrap;
    }

    /* ── Canlı durum çubuğu ── */
    .nm-hud-status {
      display: inline-flex; align-items: center; gap: .35rem;
      height: 34px; padding: 0 .55rem; margin-left: .35rem;
      border: 1px solid rgba(255,255,255,.1);
      background: rgba(255,255,255,.04);
      border-radius: 8px; flex-shrink: 0;
    }
    .nm-hud-stat {
      display: inline-flex; align-items: center; gap: .25rem;
      color: rgba(255,255,255,.78);
    }
    .nm-hud-stat + .nm-hud-stat {
      padding-left: .35rem; border-left: 1px solid rgba(255,255,255,.1);
    }
    .nm-hud-stat i { font-size: .68rem; color: rgba(255,255,255,.5); }
    .nm-hud-stat__val {
      font-family: var(--pp); font-weight: 600; font-size: .62rem;
      letter-spacing: .02em; color: #fff; min-width: 1.4em; text-align: right;
    }
    .nm-hud-stat__unit { font-family: var(--pp); font-size: .5rem; color: rgba(255,255,255,.45); }
    .nm-hud-stat--col { padding-left: .4rem; }
    .nm-hud-dot {
      width: 16px; height: 16px; border-radius: 50%;
      border: 2px solid rgba(255,255,255,.7);
      box-shadow: 0 0 0 1px rgba(0,0,0,.4), 0 0 8px rgba(0,0,0,.3);
      display: inline-block;
    }
    @media (max-width: 720px) { .nm-hud-status { display: none; } }

    /* ── AKTİF ARAÇ SEÇENEKLERİ ── */
    .hud-opts {
      display: inline-flex; align-items: center; gap: .3rem;
      height: 34px; padding: 0 .45rem; margin-left: .35rem;
      border: 1px solid rgba(255,255,255,.1);
      background: rgba(255,255,255,.04);
      border-radius: 8px; flex-shrink: 0;
    }
    .hud-opt {
      display: inline-flex; align-items: center; gap: .3rem;
      padding: 0 .35rem; height: 26px;
      border-radius: 6px;
      transition: background .15s;
    }
    .hud-opt + .hud-opt { border-left: 1px solid rgba(255,255,255,.1); }
    .hud-opt:hover { background: rgba(255,255,255,.06); }
    .hud-opt > i { font-size: .66rem; color: rgba(255,255,255,.55); }
    .hud-opt__range {
      -webkit-appearance: none; appearance: none;
      width: 64px; height: 4px; border-radius: 2px;
      background: rgba(255,255,255,.16);
      accent-color: var(--acc);
      cursor: pointer; outline: none;
    }
    .hud-opt__range::-webkit-slider-thumb {
      -webkit-appearance: none; appearance: none;
      width: 12px; height: 12px; border-radius: 50%;
      background: var(--acc); border: 2px solid #fff;
      cursor: pointer; box-shadow: 0 1px 4px rgba(0,0,0,.4);
    }
    .hud-opt__range::-moz-range-thumb {
      width: 12px; height: 12px; border-radius: 50%;
      background: var(--acc); border: 2px solid #fff;
      cursor: pointer;
    }
    .hud-opt__val {
      font-family: var(--pp); font-weight: 600; font-size: .58rem;
      color: #fff; min-width: 1.7em; text-align: right;
    }
    .hud-opt--col { padding: 0 .3rem; cursor: pointer; background: none; border: none; }
    .hud-opt[hidden] { display: none !important; }
    body.space-3d .hud-opt__range { accent-color: #2ec4b6; }
    body.space-3d .hud-opt__range::-webkit-slider-thumb { background: #2ec4b6; }
    body.space-3d .hud-opt__range::-moz-range-thumb { background: #2ec4b6; }
    @media (max-width: 760px) { .hud-opts { display: none; } }

    /* ── HUD GRUP ETİKETLERİ ── */
    .hud-grp-mini {
      font-family: var(--pp); font-size: .5rem; font-weight: 700;
      letter-spacing: .14em; text-transform: uppercase;
      color: rgba(255,255,255,.32);
      padding: 0 .15rem; user-select: none; flex-shrink: 0;
      align-self: center;
    }
    body.space-3d .hud-grp-mini { color: rgba(46,196,182,.5); }
    @media (max-width: 1100px) { .hud-grp-mini { display: none; } }

    /* ── HUD ZEMİN BUTONU + POPOVER ── */
    .hud-bg-btn {
      position: relative; display: inline-flex; align-items: center; gap: .3rem;
      height: 30px; padding: 0 .5rem; flex-shrink: 0;
      border: 1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.04);
      border-radius: 8px; cursor: pointer;
      color: rgba(255,255,255,.6);
      transition: background .15s, border-color .15s, color .15s;
    }
    .hud-bg-btn:hover { background: rgba(255,255,255,.08); color: #fff; }
    .hud-bg-btn.is-open { border-color: var(--acc); color: #fff; }
    body.space-3d .hud-bg-btn.is-open { border-color: #2ec4b6; }
    .hud-bg-btn i { font-size: .68rem; }
    .hud-bg-btn__chip {
      width: 16px; height: 16px; border-radius: 5px;
      border: 1.5px solid rgba(255,255,255,.25);
      box-shadow: 0 1px 3px rgba(0,0,0,.4); flex-shrink: 0;
    }
    .hud-bg-pop {
      position: fixed; z-index: 9600;   /* HUD üstünde kalmalı */
      display: none; flex-direction: column; gap: .5rem;
      padding: .6rem .65rem;
      background: rgba(16,18,24,.97);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 12px;
      box-shadow: 0 14px 40px rgba(0,0,0,.55);
      backdrop-filter: blur(14px);
    }
    .hud-bg-pop.visible { display: flex; animation: hudBgPopIn .16s ease; }
    @keyframes hudBgPopIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: translateY(0); } }
    .hud-bg-pop__title {
      font-family: var(--pp); font-size: .52rem; font-weight: 700;
      letter-spacing: .16em; text-transform: uppercase;
      color: rgba(255,255,255,.4);
    }
    .hud-bg-pop__row { display: flex; gap: .4rem; }
    .hud-bg-sw {
      width: 26px; height: 26px; border-radius: 7px; cursor: pointer;
      border: 1.5px solid rgba(255,255,255,.18);
      transition: transform .14s, border-color .14s, box-shadow .14s;
      position: relative;
    }
    .hud-bg-sw:hover { transform: scale(1.12); border-color: rgba(255,255,255,.5); }
    .hud-bg-sw.active { border-color: var(--acc); box-shadow: 0 0 0 2px rgba(233,32,56,.45); }
    body.space-3d .hud-bg-sw.active { border-color: #2ec4b6; box-shadow: 0 0 0 2px rgba(46,196,182,.45); }
    @media (max-width: 760px) { .hud-bg-btn { display: none; } }

    /* ── Kategori çubuğu ── */
    .nm-cat-bar {
      display: flex; align-items: center; gap: .25rem;
      padding: 3px; border-radius: 9px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.07);
    }
    .nm-cat {
      display: inline-flex; align-items: center; gap: .4rem;
      height: 30px; padding: 0 .65rem;
      background: none; border: 1px solid transparent; border-radius: 7px;
      color: rgba(255,255,255,.62); cursor: pointer;
      transition: color .18s, background .18s, border-color .18s;
      flex-shrink: 0;
    }
    .nm-cat i:first-child { font-size: .82rem; }
    .nm-cat__lbl {
      font-family: var(--pp); font-size: .46rem; letter-spacing: .16em;
      text-transform: uppercase; white-space: nowrap;
    }
    .nm-cat__caret { font-size: .5rem; opacity: .55; transition: transform .2s; }
    .nm-cat:hover { color: #fff; background: rgba(255,255,255,.06); }
    .nm-cat.is-open { color: #fff; background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.16); }
    .nm-cat.is-open .nm-cat__caret { transform: rotate(180deg); }
    .nm-cat.has-active {
      color: var(--acc); background: rgba(233,32,56,.12);
      border-color: rgba(233,32,56,.35);
    }
    .nm-cat--solo .nm-cat__caret { display: none; }

    /* ── Bağlam tetikleyicileri ── */
    .nm-ctx-wrap { display: inline-flex; align-items: center; gap: .35rem; flex-shrink: 0; }
    .nm-ctx-arrow { color: rgba(255,255,255,.22); font-size: .7rem; }
    .nm-ctx-trigger {
      display: inline-flex; align-items: center; gap: .4rem;
      height: 30px; padding: 0 .6rem;
      border: 1px solid rgba(255,255,255,.16); border-radius: 7px;
      background: rgba(255,255,255,.03); color: rgba(255,255,255,.8);
      cursor: pointer; transition: color .15s, background .15s, border-color .15s;
    }
    .nm-ctx-trigger:hover { color: #fff; border-color: rgba(255,255,255,.4); }
    .nm-ctx-trigger.is-open { color: #fff; border-color: var(--acc); background: rgba(233,32,56,.14); }
    .nm-ctx-trigger i:first-child { font-size: .82rem; }
    .nm-ctx-trigger__lbl {
      font-family: var(--pp); font-size: .46rem; letter-spacing: .12em;
      text-transform: uppercase; white-space: nowrap;
    }
    .nm-ctx-caret { font-size: .48rem; opacity: .55; }

    /* ── Araç FLYOUT menüsü ── */
    .nm-flyout {
      position: fixed; z-index: 9400;
      background: rgba(18,18,22,.9);
      -webkit-backdrop-filter: blur(24px) saturate(150%);
      backdrop-filter: blur(24px) saturate(150%);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 14px;
      padding: .7rem;
      box-shadow: 0 16px 48px rgba(0,0,0,.55), 0 0 0 .5px rgba(255,255,255,.04) inset;
      display: flex; flex-direction: column; gap: .55rem;
      width: 320px;
      opacity: 0; visibility: hidden; pointer-events: none;
      transform: translateX(-8px) scale(.94);
      transform-origin: left center;
      transition: opacity .26s ease,
                  transform .34s cubic-bezier(.34,1.56,.64,1),
                  visibility 0s linear .26s;
    }
    .nm-flyout.visible {
      opacity: 1; visibility: visible; pointer-events: auto;
      transform: translateX(0) scale(1);
      transition: opacity .22s ease,
                  transform .42s cubic-bezier(.34,1.56,.64,1),
                  visibility 0s linear 0s;
    }
    .nm-flyout.is-left { transform-origin: right center; transform: translateX(8px) scale(.94); }
    .nm-flyout.is-left.visible { transform: translateX(0) scale(1); }
    .nm-flyout::after {
      content: ''; position: absolute;
      top: var(--fly-conn-y, 22px); left: -5px;
      width: 11px; height: 11px;
      background: inherit;
      border-left: 1px solid rgba(255,255,255,.1);
      border-bottom: 1px solid rgba(255,255,255,.1);
      transform: rotate(45deg);
      border-radius: 0 0 0 3px;
      -webkit-backdrop-filter: blur(24px) saturate(150%);
      backdrop-filter: blur(24px) saturate(150%);
    }
    .nm-flyout.is-left::after {
      left: auto; right: -5px;
      border-left: none; border-bottom: none;
      border-right: 1px solid rgba(255,255,255,.1);
      border-top: 1px solid rgba(255,255,255,.1);
      border-radius: 0 3px 0 0;
    }
    .nm-flyout.visible { box-shadow: 0 16px 48px rgba(0,0,0,.55), 0 0 0 .5px rgba(255,255,255,.06) inset; }
    .nm-flyout__body > * { animation: nmFlyIn .34s cubic-bezier(.22,1,.36,1) backwards; }
    @keyframes nmFlyIn { from { opacity: 0; transform: translateY(6px) scale(.92); } to { opacity: 1; transform: none; } }
    .nm-flyout--mini { width: 240px; }
    .nm-flyout__arrow { display: none !important; }
    .nm-flyout__head { display: flex; align-items: center; justify-content: space-between; padding: 0 .15rem; }
    .nm-flyout__title {
      font-family: var(--pp); font-size: .5rem; letter-spacing: .22em;
      text-transform: uppercase; color: rgba(255,255,255,.55);
    }
    .nm-flyout__body { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }

    /* ── 3D NESNE DÜZENLEME PANELİ ── */
    .sp3-edit {
      position: fixed; right: 16px; top: 50%; transform: translateY(-50%) translateX(20px);
      z-index: 9500; width: 244px;
      background: rgba(18,18,22,.92);
      -webkit-backdrop-filter: blur(24px) saturate(150%);
      backdrop-filter: blur(24px) saturate(150%);
      border: 1px solid rgba(46,196,182,.35); border-radius: 14px;
      padding: .85rem .9rem; color: #fff;
      box-shadow: 0 16px 48px rgba(0,0,0,.55);
      display: flex; flex-direction: column; gap: .55rem;
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity .2s ease, transform .28s cubic-bezier(.34,1.56,.64,1), visibility 0s linear .2s;
    }
    .sp3-edit.visible { opacity: 1; visibility: visible; pointer-events: auto;
      transform: translateY(-50%) translateX(0); transition: opacity .2s ease, transform .32s cubic-bezier(.34,1.56,.64,1), visibility 0s; }
    .sp3-edit__head { display: flex; align-items: center; justify-content: space-between; }
    .sp3-edit__title { font-family: var(--pp); font-size: .5rem; letter-spacing: .14em; color: #2ec4b6; display: flex; align-items: center; gap: .4rem; }
    .sp3-edit__close { background: none; border: none; color: rgba(255,255,255,.6); cursor: pointer; font-size: .85rem; }
    .sp3-edit__close:hover { color: #fff; }
    .sp3-edit__hint { font-size: .62rem; line-height: 1.35; color: rgba(255,255,255,.5); margin: 0; }
    .sp3-edit__row { display: grid; grid-template-columns: 58px 1fr 40px; align-items: center; gap: .4rem; font-size: .64rem; color: rgba(255,255,255,.8); }
    .sp3-edit__row input[type=range] { width: 100%; accent-color: #2ec4b6; }
    .sp3-edit__row output { font-size: .6rem; text-align: right; color: rgba(255,255,255,.6); font-variant-numeric: tabular-nums; }
    .sp3-edit__actions { display: flex; gap: .4rem; margin-top: .2rem; }
    .sp3-edit__btn { flex: 1; display: inline-flex; align-items: center; justify-content: center; gap: .35rem;
      height: 30px; border-radius: 8px; border: 1px solid rgba(255,255,255,.16);
      background: rgba(255,255,255,.04); color: rgba(255,255,255,.85); cursor: pointer; font-size: .6rem; transition: all .15s; }
    .sp3-edit__btn:hover { background: rgba(255,255,255,.1); color: #fff; }
    .sp3-edit__btn--danger:hover { background: rgba(233,32,56,.18); border-color: var(--acc); color: #fff; }
    .sp3-edit__quick { display: flex; flex-direction: column; gap: .35rem; margin-bottom: .5rem;
      padding-bottom: .5rem; border-bottom: 1px solid rgba(255,255,255,.08); }
    .sp3-edit__quicklbl { font-family: var(--pp); font-size: .55rem; letter-spacing: .06em;
      color: rgba(255,255,255,.55); text-transform: uppercase; }
    .sp3-edit__swatches { display: flex; flex-wrap: wrap; gap: 5px; }
    .sp3-edit__sw { width: 22px; height: 22px; border-radius: 6px; cursor: pointer;
      border: 2px solid rgba(255,255,255,.15); transition: transform .12s, border-color .12s; }
    .sp3-edit__sw:hover { transform: scale(1.12); border-color: #fff; }
    .sp3-edit__btn--mini { height: 26px; font-size: .56rem; align-self: flex-start; flex: 0 0 auto; padding: 0 .7rem; }

    /* Flyout içindeki tek araç kartı */
    .nm-fly-tool {
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem;
      aspect-ratio: 1 / 1; padding: .4rem .2rem;
      background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08);
      border-radius: 9px; color: rgba(255,255,255,.7); cursor: pointer;
      transition: transform .12s, color .15s, background .15s, border-color .15s;
    }
    .nm-fly-tool i { font-size: 1.05rem; }
    .nm-fly-tool span {
      font-family: var(--pp); font-size: .38rem; letter-spacing: .06em;
      text-transform: uppercase; text-align: center; line-height: 1.15;
    }
    .nm-fly-tool:hover { transform: translateY(-2px); color: #fff; background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.25); }
    .nm-fly-tool.is-active {
      color: var(--acc); background: rgba(233,32,56,.13);
      border-color: rgba(233,32,56,.45);
      box-shadow: 0 0 0 1px rgba(233,32,56,.3) inset;
    }
    .nm-fly-tool { position: relative; }
    .nm-fly-tool .nm-new-tag {
      position: absolute; top: 4px; right: 4px;
      font-family: var(--pp); font-size: .3rem; letter-spacing: .08em;
      background: var(--acc); color: #fff; padding: 1px 4px; border-radius: 4px;
      line-height: 1;
    }

    /* Desen seçici grid */
    .nm-stamp-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }
    .nm-stamp-grid .nm-stampbtn {
      display: flex; flex-direction: column; align-items: center; gap: 3px;
      aspect-ratio: 1 / 1; padding: .3rem 0;
      background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.1);
      border-radius: 8px; color: rgba(255,255,255,.7); cursor: pointer;
      transition: color .15s, background .15s, border-color .15s;
    }
    .nm-stamp-grid .nm-stampbtn i { font-size: .9rem; }
    .nm-stamp-grid .nm-stampbtn span {
      font-family: var(--pp); font-size: .34rem; letter-spacing: .04em; text-transform: uppercase;
    }
    .nm-stamp-grid .nm-stampbtn:hover { color: #fff; border-color: rgba(255,255,255,.3); }
    .nm-stamp-grid .nm-stampbtn.is-active { color: var(--acc); background: rgba(233,32,56,.13); border-color: rgba(233,32,56,.45); }

    [data-tip] { position: relative; }

    /* HUD içinde renk / bg blokları */
    .hud-block {
      display: flex; align-items: center;
      gap: .45rem;
      flex-shrink: 0;
    }
    .hud-mini-divider {
      width: 1px; height: 18px;
      background: rgba(255,255,255,.14);
      flex-shrink: 0; margin: 0 .12rem;
    }
    .hud-quick-actions {
      display: flex; align-items: center; gap: .2rem;
      flex-shrink: 0;
    }
    .nm-btn--mini {
      width: 28px; height: 28px; padding: 0;
      display: inline-flex; align-items: center; justify-content: center;
    }
    .nm-btn--mini .nm-btn-lbl { display: none; }
    .nm-btn--mini i { font-size: .72rem; }
    .hud-mini-label {
      font-family: var(--pp);
      font-size: .42rem; letter-spacing: .26em;
      text-transform: uppercase; color: rgba(255,255,255,.42);
      flex-shrink: 0;
    }
    .ns-swatches {
      display: flex; align-items: center; gap: 4px;
    }
    .ns-sw {
      width: 18px; height: 18px;
      border: 1.5px solid transparent;
      cursor: pointer;
      transition: transform .15s, border-color .15s;
      flex-shrink: 0;
    }
    .ns-sw.hidden-sw { display: none; }
    .ns-sw:hover { transform: scale(1.12); }
    .ns-sw.active { border-color: #fff; }
    .ns-sw[data-bg="#ffffff"] { border-color: rgba(255,255,255,.2); }

    /* Grid toggle butonu */
    .nm-grid-toggle {
      width: 30px; height: 30px;
      display: inline-flex; align-items: center; justify-content: center;
      border: 1px solid rgba(255,255,255,.18);
      border-radius: 7px;
      background: transparent;
      color: rgba(255,255,255,.5);
      cursor: pointer;
      font-size: .8rem;
      transition: color .15s, background .15s, border-color .15s, box-shadow .15s;
    }
    .nm-grid-toggle:hover { color: #fff; border-color: rgba(255,255,255,.45); }
    .nm-grid-toggle.is-active {
      color: #fff;
      background: rgba(233,32,56,.16);
      border-color: var(--acc, var(--in-accent, #e92038));
      box-shadow: 0 0 0 1px rgba(233,32,56,.4) inset;
    }
    .nm-shape3d-row { display: flex; align-items: center; gap: 3px; }
    .nm-s3d {
      width: 28px; height: 28px;
      display: inline-flex; align-items: center; justify-content: center;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 7px;
      background: transparent;
      color: rgba(255,255,255,.5);
      cursor: pointer;
      font-size: .72rem;
      transition: color .15s, background .15s, border-color .15s, transform .12s;
    }
    .nm-s3d:hover { color: #fff; border-color: rgba(255,255,255,.45); transform: translateY(-1px); }
    .nm-s3d.is-active {
      color: #fff;
      background: rgba(233,32,56,.16);
      border-color: var(--acc, var(--in-accent, #e92038));
      box-shadow: 0 0 0 1px rgba(233,32,56,.4) inset;
    }

    /* Desen damga seçici */
    .nm-stamp-row { display: flex; align-items: center; gap: 3px; }
    .nm-stampbtn {
      width: 28px; height: 28px;
      display: inline-flex; align-items: center; justify-content: center;
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 7px; background: transparent;
      color: rgba(255,255,255,.5); cursor: pointer; font-size: .72rem;
      transition: color .15s, background .15s, border-color .15s, transform .12s;
    }
    .nm-stampbtn:hover { color: #fff; border-color: rgba(255,255,255,.45); transform: translateY(-1px); }
    .nm-stampbtn.is-active {
      color: #fff; background: rgba(233,32,56,.16);
      border-color: var(--acc, var(--in-accent, #e92038));
      box-shadow: 0 0 0 1px rgba(233,32,56,.4) inset;
    }

    #nmGridOverlay {
      position: fixed;
      left: 0;               /* TAM VIEWPORT */
      top: var(--top, 52px);
      pointer-events: none;
      z-index: 1;
      display: none;
    }
    #nmGridOverlay.visible { display: block; }

    .ns-picker-btn {
      width: 20px; height: 20px;
      background: linear-gradient(135deg, #ff0080, #ffea00 50%, #00d4ff);
      border: 1.5px solid rgba(255,255,255,.3);
      border-radius: 50%;
      display: inline-flex; align-items: center; justify-content: center;
      color: #000; cursor: pointer;
      transition: transform .15s, border-color .15s;
      flex-shrink: 0;
      margin-left: 2px;
    }
    .ns-picker-btn i { font-size: .48rem; }
    .ns-picker-btn:hover { transform: scale(1.12); border-color: #fff; }

    /* Slider blokları */
    .hud-slider-block {
      display: flex; align-items: center; gap: .4rem;
      flex-shrink: 0;
      padding: 0 .2rem;
    }
    .hud-slider-block .ns-val {
      font-family: var(--sf);
      font-size: .78rem; font-weight: 700;
      color: #fff; min-width: 22px; text-align: right;
    }
    .ns-slider {
      -webkit-appearance: none;
      width: 70px; height: 2px;
      background: rgba(255,255,255,.14);
      outline: none; border: none; cursor: pointer;
    }
    .ns-slider::-webkit-slider-thumb {
      -webkit-appearance: none; width: 12px; height: 12px;
      background: var(--acc); border-radius: 50%; border: none;
    }
    .ns-slider::-moz-range-thumb {
      width: 12px; height: 12px;
      background: var(--acc); border-radius: 50%; border: none;
    }

    .hud-spacer { flex: 1; min-width: 0; }

    @media (max-width: 1100px) {
      .hud-mini-label { display: none; }
      .ns-slider { width: 56px; }
    }
    @media (max-width: 860px) {
      .hud-slider-block .ns-val { display: none; }
      .hud-block:nth-of-type(2) .ns-sw:nth-child(n+4) { display: none; }
    }

    .hud-stat {
      display: flex; flex-direction: column;
      align-items: flex-start; justify-content: center;
      padding: 0 1rem;
      border-right: 1px solid rgba(255,255,255,.06);
      gap: .15rem;
      flex-shrink: 0;
    }
    .hud-stat__lbl {
      font-family: var(--pp); font-size: .42rem;
      letter-spacing: .28em; text-transform: uppercase;
      color: rgba(255,255,255,.32);
    }
    .hud-stat__val {
      font-family: var(--sf); font-size: .95rem; font-weight: 700;
      color: #fff; letter-spacing: .01em; line-height: 1;
    }
    .hud-stat__val em { color: var(--acc); font-style: normal; }

    .hud-message {
      flex: 1;
      display: flex; align-items: center; justify-content: flex-start;
      padding: 0 .4rem;
      font-family: var(--pp); font-size: .55rem;
      letter-spacing: .22em; text-transform: uppercase;
      color: rgba(255,255,255,.45);
    }
    .hud-message strong { color: var(--acc); font-weight: 600; margin: 0 .35rem; }
    @media (max-width: 720px) { .hud-message { display: none; } }

    /* ── PENCERELER ── */
    .in-modal.pw-modal { background: #0c0c0d; border-radius: 4px; }
    .in-modal.pw-modal--archive {
      max-width: min(1200px, 100%); height: 88vh;
      padding: 0; overflow: hidden;
      display: flex; flex-direction: column;
    }
    .pw-modal--archive .in-modal-body { flex: 1; min-height: 0; display: flex; flex-direction: column; }
    #archiveModal { flex: 1; min-height: 0; display: flex; flex-direction: column; }
    #archiveModal[hidden], #archPreview[hidden], #saveModal[hidden] { display: none; }
    .pw-modal--archive h2.arch-title { margin: 0; font-size: 2.4rem; font-weight: 700; line-height: 1; color: #fff; }

    /* ARŞİV */
    .arch-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 1.4rem 4rem 1rem 2rem;
      border-bottom: 1px solid rgba(255,255,255,.08);
      flex-shrink: 0;
    }
    .arch-head__l { display: flex; flex-direction: column; gap: .35rem; }
    .arch-eyebrow {
      font-family: var(--pp); font-size: .42rem;
      letter-spacing: .4em; text-transform: uppercase;
      color: var(--acc);
    }
    .arch-title {
      font-family: var(--sf); font-size: 2.4rem;
      font-weight: 700; letter-spacing: -.02em;
      color: #fff; line-height: 1;
    }
    .arch-title em { color: var(--acc); font-style: normal; }
    .arch-sub {
      font-family: var(--pp); font-size: .55rem;
      letter-spacing: .15em; text-transform: uppercase;
      color: rgba(255,255,255,.4); margin-top: .25rem;
    }
    .arch-tabs {
      display: inline-flex; gap: 4px;
      margin: .25rem 2rem 0; padding: 4px;
      background: rgba(255,255,255,.04);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 12px;
      align-self: flex-start;
    }
    .arch-tab {
      background: none; border: none;
      font-family: var(--pp); font-weight: 600;
      font-size: .8rem; letter-spacing: .04em;
      color: rgba(255,255,255,.55);
      padding: .55rem 1.1rem; cursor: pointer;
      border-radius: 9px;
      transition: color .2s, background .2s;
      display: inline-flex; align-items: center; gap: .5rem;
    }
    .arch-tab i { font-size: .95em; }
    .arch-tab:hover { color: rgba(255,255,255,.9); }
    .arch-tab.active { color: #fff; background: var(--acc); box-shadow: 0 4px 14px rgba(233,32,56,.35); }
    .arch-tab__count {
      font-size: .62rem; line-height: 1; font-weight: 700;
      background: rgba(255,255,255,.14);
      padding: .25em .5em; border-radius: 99px;
      color: rgba(255,255,255,.8);
    }
    .arch-tab.active .arch-tab__count { background: rgba(0,0,0,.28); color: #fff; }
    .arch-body { flex: 1; overflow-y: auto; padding: 1.5rem 2rem 2rem; }
    .arch-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
      gap: 1rem;
    }
    .arch-card {
      position: relative;
      background: #0a0a0a;
      border: 1px solid rgba(255,255,255,.08);
      overflow: hidden;
      display: flex; flex-direction: column;
      transition: border-color .25s, transform .25s;
      cursor: pointer;
    }
    .arch-card:hover { border-color: var(--acc); }
    .arch-card__type {
      position: absolute; top: 8px; left: 8px; z-index: 2;
      font-family: var(--pp); font-weight: 700;
      font-size: .55rem; letter-spacing: .08em;
      padding: .25em .55em; border-radius: 4px;
      display: inline-flex; align-items: center; gap: .3em;
      backdrop-filter: blur(6px);
      background: rgba(0,0,0,.55); color: #fff;
      border: 1px solid rgba(255,255,255,.18);
    }
    .arch-card__type--3d { background: rgba(233,32,56,.85); border-color: rgba(255,255,255,.3); }
    .arch-card__img {
      aspect-ratio: 16 / 10;
      background: #111;
      width: 100%; object-fit: cover; display: block;
    }
    .arch-card__body {
      padding: .6rem .75rem .75rem;
      display: flex; flex-direction: column; gap: .25rem;
    }
    .arch-card__title {
      font-family: var(--pp); font-size: .7rem; font-weight: 600;
      color: #fff;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .arch-card__meta {
      display: flex; justify-content: space-between; align-items: center;
      font-family: var(--pp); font-size: .5rem;
      letter-spacing: .15em; text-transform: uppercase;
      color: rgba(255,255,255,.4);
    }
    .arch-card__like {
      display: inline-flex; align-items: center; gap: .25rem;
      background: none; border: none;
      color: rgba(255,255,255,.45);
      cursor: pointer; padding: 0;
      font-family: inherit; font-size: inherit;
      letter-spacing: inherit;
      transition: color .2s;
    }
    .arch-card__like:hover,
    .arch-card__like.liked { color: var(--acc); }
    .arch-card__like i { font-size: .7rem; }

    .arch-empty {
      grid-column: 1 / -1;
      padding: 4rem 2rem; text-align: center;
      color: rgba(255,255,255,.4);
      font-family: var(--pp); font-size: .85rem;
      line-height: 1.7;
    }
    .arch-empty i {
      font-size: 2rem; color: var(--acc);
      display: block; margin-bottom: 1rem;
    }
    .arch-loading {
      grid-column: 1 / -1;
      padding: 3rem 2rem; text-align: center;
      color: rgba(255,255,255,.5);
      font-family: var(--pp); font-size: .7rem;
      letter-spacing: .25em; text-transform: uppercase;
    }
    .arch-loading i { color: var(--acc); margin-right: .55rem; }

    .in-modal.pw-modal--preview { max-width: min(1200px, 100%); padding: 3.4rem 1.4rem 1.4rem; }
    #archPreview img {
      display: block; margin: 0 auto;
      max-width: 100%; max-height: 70vh;
      object-fit: contain;
      border: 1px solid rgba(255,255,255,.1);
      box-shadow: 0 12px 60px rgba(0,0,0,.7);
    }
    .arch-preview-info {
      margin-top: 1rem;
      display: flex; flex-direction: column; gap: .25rem;
    }
    .arch-preview-info .pi-title {
      font-family: var(--sf); font-size: 1.6rem; font-weight: 700;
      color: #fff; letter-spacing: -.01em;
    }
    .arch-preview-info .pi-meta {
      font-family: var(--pp); font-size: .55rem;
      letter-spacing: .25em; text-transform: uppercase;
      color: rgba(255,255,255,.5);
    }

    .nm-btn--archive {
      border-color: rgba(255,255,255,.5) !important;
      background: rgba(255,255,255,.06) !important;
      color: #fff !important;
    }
    .nm-btn--archive:hover {
      background: #fff !important;
      color: #0a0a0a !important;
      border-color: #fff !important;
    }

    /* ── KAYDET ── */
    .in-modal.pw-modal--save {
      max-width: 560px; max-height: 92vh;
      padding: 1.5rem 1.6rem;
      background: rgba(18,18,20,.72);
      backdrop-filter: blur(22px) saturate(140%);
      -webkit-backdrop-filter: blur(22px) saturate(140%);
      box-shadow: 0 24px 60px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.06);
    }
    .sm-card.sm-save { text-align: left; }
    .pw-modal--save .sm-title { padding-right: 2.6rem; }
    .sm-title {
      font-family: var(--sf); font-size: 1.55rem; font-weight: 700;
      text-transform: uppercase; letter-spacing: .02em;
      color: #fff; margin-bottom: .35rem; line-height: 1; text-align: left;
    }
    .sm-title em { color: var(--acc); font-style: normal; }
    .sm-desc {
      font-family: var(--pp); font-size: .46rem;
      letter-spacing: .14em; text-transform: uppercase;
      line-height: 1.5; color: rgba(255,255,255,.5);
      margin-bottom: 1rem; text-align: left;
    }
    /* Önizleme */
    .sm-preview {
      width: 100%;
      margin: 0 0 .85rem 0;
      background: rgba(0,0,0,.35);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 4px;
      position: relative; overflow: hidden;
      display: flex; align-items: center; justify-content: center;
    }
    .sm-preview canvas { width: 100%; height: auto; display: block; }
    /* Meta satırı */
    .sm-meta {
      font-family: var(--pp); font-size: .42rem;
      letter-spacing: .26em; text-transform: uppercase;
      color: rgba(255,255,255,.55);
      margin-bottom: .9rem;
      display: flex; gap: .55rem; justify-content: flex-start; align-items: center;
    }
    .sm-meta strong, .sm-meta #smMetaType { color: var(--acc); font-weight: 600; }
    .sm-dot-sep { color: rgba(255,255,255,.25); }
    /* İki input yan yana */
    .sm-row {
      display: flex; align-items: flex-end; gap: .6rem;
      width: 100%; margin: 0 0 .85rem 0;
    }
    .sm-input-wrap { display: block; text-align: left; flex: 1 1 0; min-width: 0; }
    .sm-input-lbl {
      display: flex; align-items: center; gap: .45em;
      font-family: var(--pp); font-size: .42rem; font-weight: 500;
      letter-spacing: .26em; text-transform: uppercase;
      color: rgba(255,255,255,.6); margin-bottom: .5rem; padding-left: .15rem;
    }
    .sm-input-lbl i { font-size: .62rem; color: var(--acc); }
    .sm-input-field { display: block; position: relative; }
    .sm-input {
      display: block; width: 100%;
      background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
      border: 1px solid rgba(255,255,255,.14);
      border-radius: 4px; outline: 0;
      font-family: var(--pp); font-size: .66rem; letter-spacing: .03em;
      color: #fff; padding: 1.2rem 1.05rem;
      box-shadow: inset 0 1px 2px rgba(0,0,0,.35);
      transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .sm-input::placeholder { color: rgba(255,255,255,.28); letter-spacing: .02em; }
    .sm-input:hover { border-color: rgba(255,255,255,.26); }
    .sm-input:focus {
      border-color: rgba(233,32,56,.7);
      background: linear-gradient(180deg, rgba(233,32,56,.08), rgba(233,32,56,.02));
      box-shadow: inset 0 1px 2px rgba(0,0,0,.3), 0 0 0 3px rgba(233,32,56,.18);
    }
    .sm-save-go {
      display: flex; align-items: center; justify-content: center; gap: .6rem;
      width: 100%; margin: 0;
      font-family: var(--pp); font-size: .64rem; font-weight: 600;
      letter-spacing: .26em; text-transform: uppercase;
      padding: 1.15rem 1.7rem; border: 0; border-radius: 4px;
      white-space: nowrap; cursor: pointer; color: #fff;
      background: linear-gradient(135deg, #ff2c45 0%, var(--in-accent, #E92038) 55%, #c4172b 100%);
      box-shadow: 0 10px 24px rgba(233,32,56,.4), inset 0 1px 0 rgba(255,255,255,.25);
      position: relative; overflow: hidden;
      transition: box-shadow .2s ease, filter .2s ease;
    }
    .sm-save-go::after {
      content: ''; position: absolute; top: 0; left: -60%;
      width: 40%; height: 100%;
      background: linear-gradient(100deg, transparent, rgba(255,255,255,.35), transparent);
      transform: skewX(-18deg); transition: left .5s ease;
    }
    .sm-save-go:hover {
      box-shadow: 0 12px 28px rgba(233,32,56,.5), inset 0 1px 0 rgba(255,255,255,.3);
      filter: brightness(1.05);
    }
    .sm-save-go:hover::after { left: 130%; }
    .sm-save-go:active { filter: brightness(.98); }
    .sm-save-go:disabled { opacity: .55; cursor: not-allowed; }
    .sm-save-ico {
      display: inline-flex; align-items: center; justify-content: center;
      width: 1.5rem; height: 1.5rem; border-radius: 50%;
      background: rgba(255,255,255,.18);
    }
    .sm-save-go .sm-save-ico i { font-size: .72rem; }
    .sm-save-foot {
      font-family: var(--pp); font-size: .38rem;
      letter-spacing: .22em; text-transform: uppercase;
      color: rgba(255,255,255,.34); margin-top: .55rem; text-align: left;
    }
    @media (max-width: 480px) {
      .sm-row { flex-direction: column; align-items: stretch; }
    }

    /* ── TUVAL KONUMU ── */

    #nmBgCanvas,
    #nmCanvas {
      top: var(--pw-cv-y, var(--top)) !important;
      left: var(--pw-cv-x, 0px) !important;
      width: var(--pw-cv-w, 100vw) !important;
      height: var(--pw-cv-h, calc(100dvh - var(--top) - var(--hud))) !important;
      right: auto !important;
      bottom: auto !important;
    }
    body.pw-letterbox { background: #0b0b0c !important; }
    body.pw-letterbox #nmBgCanvas { box-shadow: 0 0 0 1px rgba(255,255,255,.16), 0 12px 40px rgba(0,0,0,.65); }

    #nmHud.inlab-hud #btnMore { display: none !important; }

    @media (max-width: 1280px) { #nmHud .hud-grp-mini { display: none !important; } }

    @media (max-width: 1140px), (max-height: 500px) {
      #nmHud.inlab-hud #btnMore { display: inline-flex !important; }
      #nmHud #hudBgBtn,
      #nmHud #gridToggle,
      #nmHud #btnClear,
      #nmHud #btnOrbit,
      #nmHud #btnRecenter,
      #nmHud #btnArchive,
      #nmHud #btnFullscreen,
      #nmHud #btnInfo,
      #nmHud.inlab-hud .inlab-hud__home-btn,
      #nmHud .hud-divider,
      #nmHud .hud-grp-lbl,
      #nmHud .hud-mini-divider--bg { display: none !important; }
      #nmHud .hud-block { padding-left: .6rem; }
    }
    @media (max-height: 500px) {
      :root { --inlab-hud-h: 58px; }
      #nmHud.inlab-hud .inlab-hud__title { display: none !important; }
    }
    @media (max-width: 760px) {
      #nmHud #hudSpaceTag,
      #nmHud #activeBadge,
      #nmHud #hudOptOpa,
      #nmHud .hud-mini-divider { display: none !important; }
      #nmHud .hud-opts { display: inline-flex !important; margin-left: 0; padding: 0 .2rem; gap: .1rem; }
      #nmHud #hudOptSize { gap: .2rem; padding: 0 .3rem; }
      #nmHud #hudOptSize > i { display: none; }
      #nmHud .hud-opt__range { width: 62px; }
      #nmHud .hud-block { gap: .3rem; padding-left: .5rem; }
      #nmHud.inlab-hud .hud-btn-group { padding: 0 .5rem !important; gap: .3rem !important; }
      .pw-more__row--opa { display: flex !important; }
    }

    .pw-more {
      position: fixed; z-index: 9600;           /* HUD üstünde */
      right: 8px; bottom: calc(var(--hud) + 8px);
      width: min(360px, calc(100vw - 16px));
      max-height: calc(100dvh - var(--top) - var(--hud) - 16px);
      overflow-y: auto; overscroll-behavior: contain;
      display: none; flex-direction: column; gap: .55rem;
      padding: .7rem;
      background: rgba(16,18,24,.97);
      border: 1px solid rgba(255,255,255,.12);
      border-radius: 12px;
      box-shadow: 0 14px 40px rgba(0,0,0,.55);
      -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
      cursor: auto;
    }
    .pw-more.visible { display: flex; animation: hudBgPopIn .16s ease; }
    .pw-more__title {
      font-family: var(--pp); font-size: .52rem; font-weight: 700;
      letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.4);
    }
    .pw-more__row { display: flex; align-items: center; gap: .6rem; min-height: 44px; }
    .pw-more__row--opa { display: none; }
    .pw-more__lbl {
      font-family: var(--pp); font-size: .6rem; font-weight: 600;
      letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.7);
      min-width: 4.6rem;
    }
    .pw-more__range { flex: 1; min-width: 0; height: 44px; accent-color: var(--acc); cursor: pointer; }
    .pw-more__val { font-family: var(--pp); font-size: .7rem; font-weight: 600; color: #fff; min-width: 2.2em; text-align: right; }
    .pw-more__sws { display: flex; gap: .4rem; }
    .pw-more__sw {
      width: 44px; height: 44px; border-radius: 8px; cursor: pointer;
      border: 1.5px solid rgba(255,255,255,.2);
      transition: border-color .14s, box-shadow .14s;
    }
    .pw-more__sw.active { border-color: var(--acc); box-shadow: 0 0 0 2px rgba(233,32,56,.45); }
    body.space-3d .pw-more__sw.active { border-color: #2ec4b6; box-shadow: 0 0 0 2px rgba(46,196,182,.45); }
    .pw-more__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(78px, 1fr)); gap: .4rem; }
    .pw-more__btn {
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .3rem;
      min-height: 56px; padding: .45rem .25rem;
      background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); border-radius: 8px;
      color: #fff; cursor: pointer;
      font-family: var(--pp); font-size: .52rem; font-weight: 500; letter-spacing: .06em;
      text-transform: uppercase; text-align: center; line-height: 1.2;
      transition: background .15s, border-color .15s;
    }
    .pw-more__btn i { font-size: .95rem; color: rgba(255,255,255,.8); }
    .pw-more__btn:hover { background: rgba(255,255,255,.09); border-color: rgba(255,255,255,.22); }
    .pw-more__btn[aria-pressed="true"] { border-color: var(--acc); background: rgba(233,32,56,.14); }
    .pw-more__btn[aria-pressed="true"] i { color: var(--acc); }
    body.space-3d .pw-more__btn[aria-pressed="true"] { border-color: #2ec4b6; background: rgba(46,196,182,.14); }
    body.space-3d .pw-more__btn[aria-pressed="true"] i { color: #2ec4b6; }
    .pw-more__btn:focus-visible, .pw-more__sw:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }

    @media (max-height: 500px) {
      #nmDock {
        top: calc(var(--top) + 6px);
        max-height: calc(100dvh - var(--top) - var(--hud) - 12px);
        overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none;
        transform: none;
        padding: 8px 7px; gap: 6px;
      }
      #nmDock::-webkit-scrollbar { display: none; }
      #nmDock > * { flex-shrink: 0; }
      body:not(.nm-started) #nmDock,
      body.dock-hidden #nmDock { transform: translateX(-130%); }
      #nmDock .dock-scroll { display: grid; grid-template-columns: repeat(2, 46px); gap: 6px; }
      #nmDock .dock-scroll[hidden] { display: none !important; }
      .dock-catbtn.has-active::after { right: auto; left: 50%; top: auto; bottom: -5px; transform: translateX(-50%); }
      .space-switch { top: calc(var(--top) + 6px); transform: none; padding: 8px 7px; gap: 6px; }
      body:not(.nm-started) .space-switch,
      body.space-switch-collapsed .space-switch { transform: translateX(130%); }
      .space-mode { width: 56px; height: 56px; }
      .space-mode__ico { font-size: 1.1rem; }
    }

    /* ── Dokunma hedefleri ≥ 44 px ── */
    @media (pointer: coarse) {
      #nmHud.inlab-hud .nm-btn {
        width: 44px !important; min-width: 44px !important; height: 44px !important;
      }
      #nmHud .hud-opts { height: 44px; }
      #nmHud .hud-opt { height: 44px; }
      #nmHud .hud-opt--col { width: 44px; justify-content: center; }
      #nmHud .hud-opt__range {
        height: 44px;
        background: linear-gradient(rgba(255,255,255,.16), rgba(255,255,255,.16)) center / 100% 4px no-repeat;
      }
      #nmHud .hud-opt__range::-webkit-slider-thumb { width: 20px; height: 20px; }
      #nmHud .hud-opt__range::-moz-range-thumb { width: 20px; height: 20px; }

      #nmDock { transform: translateY(-50%); }
      .dock-hidebtn { width: 46px; height: 44px; }
      #dockShowBtn { width: 44px; }
      .space-switch__close { width: 44px; height: 44px; font-size: .75rem; }
      .space-mini__btn,
      .space-mini__expand { width: 44px; height: 44px; }

      .hud-bg-sw { width: 44px; height: 44px; }
      .radial-item { width: 56px; height: 56px; }
      .te-btn { min-width: 44px; min-height: 44px; }
      .pw-modal .in-modal-x { min-width: 44px; min-height: 44px; }
      .arch-tab { min-height: 44px; }
      .arch-card__like { min-height: 44px; min-width: 44px; }
    }
    @media (pointer: coarse) and (max-height: 500px) {
      #nmDock { transform: none; }
    }

/* ── Satır-içi stillerden taşındı ── */
.sp3-axes-lbl .sp3-ax-x { color: #e92038; }
.sp3-axes-lbl .sp3-ax-y { color: #2ec4b6; }
.sp3-axes-lbl .sp3-ax-z { color: #3a86ff; }
.sp3-edit__row .sp3-rot-x { color: #ff5b6e; }
.sp3-edit__row .sp3-rot-y { color: #2ec4b6; }
.sp3-edit__row .sp3-rot-z { color: #5b9bff; }
