/* ═══ BAKIM ASİSTANI FİLM MOTORU (09.08.2026) — fm- öneki: panel.css ile çakışmaz ═══
   Sahne dili: koyu depo zemini + çizgi karakterler + gerçek ekran çizimleri.
   Kural (patron standardı, hafızada): karakter eylemi FİİLEN yapar — yürür, biner, iner,
   araçtan çıkar; masabaşı roller masada; zincir faturayla/kayıtla kapanır. */
.fm-wrap{max-width:1000px;margin:0 auto;padding:16px 16px 22px;color:#e8ebe0;background:#0d1114;border-radius:18px}
.fm-wrap h1{font-size:clamp(1.05rem,2.5vw,1.4rem);font-weight:850;margin:0 0 4px;color:#e8ebe0}
.fm-wrap h1 b{color:#bed600}
.fm-alt{color:#8b968a;font-size:.85rem;margin:0 0 12px}
.fm-stage{position:relative;width:100%;aspect-ratio:16/9;background:#161b20;border:1px solid #333a40;
  border-radius:16px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.5);
  font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.fm-stage::before{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.35)),
  repeating-linear-gradient(90deg,transparent 0 119px,rgba(255,255,255,.03) 119px 120px),
  radial-gradient(120% 90% at 50% 0%,rgba(190,214,0,.05),transparent 55%)}
.fm-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s ease}
.fm-scene.fm-on{opacity:1;visibility:visible}
.fm-ph{position:absolute;width:190px;aspect-ratio:9/18.5;background:#0b0f13;border-radius:22px;
  padding:9px;box-shadow:0 14px 40px rgba(0,0,0,.55), inset 0 0 0 2px #2a3138}
.fm-scr{width:100%;height:100%;background:#eef0e6;border-radius:14px;overflow:hidden;position:relative;
  color:#1a2028;font-size:9px;line-height:1.35}
.fm-notch{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:52px;height:6px;border-radius:3px;background:#2a3138;z-index:2}
.fm-who{position:absolute;left:50%;transform:translateX(-50%);bottom:-26px;white-space:nowrap;
  font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#8b968a}
.fm-pc{position:absolute;width:430px;background:#0b0f13;border-radius:12px;padding:10px 10px 22px;
  box-shadow:0 16px 44px rgba(0,0,0,.55), inset 0 0 0 2px #2a3138}
.fm-pc::after{content:"";position:absolute;left:50%;bottom:-26px;transform:translateX(-50%);
  width:110px;height:26px;background:linear-gradient(#20272d,#0b0f13);border-radius:0 0 10px 10px}
.fm-pcscr{aspect-ratio:16/9.4;background:#eef0e6;border-radius:6px;overflow:hidden;position:relative;color:#1a2028;font-size:9px}
.fm-bar{background:#1f2937;color:#fff;padding:5px 8px;font-weight:800;font-size:8.5px;display:flex;align-items:center;gap:5px}
.fm-bar i{width:7px;height:7px;border-radius:50%;background:#bed600;font-style:normal}
.fm-row{margin:6px;padding:6px 7px;background:#fff;border:1px solid #c9cdbb;border-radius:7px}
.fm-row b{display:block;font-size:9px}.fm-row small{color:#98a08e;font-size:8px}
.fm-chip{display:inline-block;padding:2px 6px;border-radius:99px;font-size:7.5px;font-weight:800}
.fm-chip--new{background:#fef3c7;color:#92400e;border:1px solid #fcd34d}
.fm-chip--urgent{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.fm-chip--ok{background:#dcfce7;color:#166534;border:1px solid #86efac}
.fm-chip--wait{background:#e0e7ff;color:#3730a3;border:1px solid #a5b4fc}
.fm-btn{display:inline-block;background:#bed600;color:#1a1a1a;font-weight:800;font-size:8.5px;padding:4px 9px;border-radius:7px}
.fm-btn--ghost{background:#fff;border:1px solid #c9cdbb;color:#1a2028}
.fm-foto{height:34px;border-radius:5px;background:#dfe3d3;position:relative;border:1px solid #c9cdbb}
.fm-foto::after{content:"📷";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;opacity:.75}
.fm-imza{height:30px;border:1.5px dashed #c9cdbb;border-radius:6px;margin:6px;position:relative}
.fm-imza svg{position:absolute;inset:4px}
.fm-toast{position:absolute;left:6px;right:6px;top:16px;background:#fff;border-radius:9px;padding:6px 8px;
  box-shadow:0 6px 18px rgba(0,0,0,.25);border:1px solid #c9cdbb;display:flex;gap:6px;align-items:flex-start;
  transform:translateY(-140%);opacity:0}
.fm-toast i{font-style:normal;font-size:12px}.fm-toast b{font-size:8.5px;display:block}.fm-toast small{font-size:7.5px;color:#98a08e}
.fm-on .fm-toast{animation:fmdrop .55s var(--d,.5s) cubic-bezier(.2,.9,.3,1.2) forwards}
@keyframes fmdrop{to{transform:translateY(0);opacity:1}}
.fm-tap{position:absolute;width:26px;height:26px;border:3px solid #f59e0b;border-radius:50%;opacity:0;pointer-events:none}
.fm-on .fm-tap{animation:fmtap 1.1s var(--d,1.2s) ease-out forwards}
@keyframes fmtap{0%{opacity:0;transform:scale(.4)}25%{opacity:.95;transform:scale(1)}100%{opacity:0;transform:scale(2.1)}}
.fm-on .fm-glow{animation:fmglow 1.2s var(--d,.6s) ease-in-out 2}
@keyframes fmglow{50%{box-shadow:0 0 0 3px rgba(190,214,0,.55)}}
.fm-fade{opacity:0;transform:translateY(8px);transition:.5s ease}
.fm-on .fm-fade{opacity:1;transform:none}
.fm-on .fm-fade.fm-f1{transition-delay:.4s}.fm-on .fm-fade.fm-f2{transition-delay:1.1s}
.fm-on .fm-fade.fm-f3{transition-delay:1.9s}.fm-on .fm-fade.fm-f4{transition-delay:2.7s}.fm-on .fm-fade.fm-f5{transition-delay:3.6s}
.fm-tag{position:absolute;top:14px;left:14px;background:rgba(0,0,0,.45);border:1px solid #333a40;
  color:#bed600;font-size:.66rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:99px;z-index:4}
/* karakter iskeleti */
.fm-kisi{position:absolute;pointer-events:none;filter:drop-shadow(0 8px 10px rgba(0,0,0,.4))}
.fm-kisi svg{width:100%;height:auto;overflow:visible;display:block}
.fm-kolL,.fm-kolR,.fm-bacL,.fm-bacR{transform-box:fill-box;transform-origin:50% 10%}
.fm-on .fm-gel{animation:fmgel var(--gt,2.2s) var(--gd,0s) ease-out both}
@keyframes fmgel{from{transform:translateX(var(--gx,-300px))}to{transform:translateX(0)}}
.fm-on .fm-gel .fm-kolL,.fm-on .fm-gel .fm-bacR{animation:fmsw .5s var(--gd,0s) linear var(--sw,4) alternate}
.fm-on .fm-gel .fm-kolR,.fm-on .fm-gel .fm-bacL{animation:fmsw .5s var(--gd,0s) linear var(--sw,4) alternate-reverse}
@keyframes fmsw{from{transform:rotate(22deg)}to{transform:rotate(-22deg)}}
.fm-on .fm-kisi .fm-gov{animation:fmbob 2.8s calc(var(--gt,0s) + var(--gd,0s) + .2s) ease-in-out infinite}
@keyframes fmbob{50%{transform:translateY(-2.5px)}}
.fm-on .fm-telcek .fm-kolR{animation:fmtelcek .7s var(--d,1s) ease-out forwards}
@keyframes fmtelcek{to{transform:rotate(-118deg)}}
.fm-on .fm-sok .fm-kolL{animation:fmsokL .45s var(--sd,.7s) ease-out forwards}
.fm-on .fm-sok .fm-kolR{animation:fmsokR .45s var(--sd,.7s) ease-out forwards}
@keyframes fmsokL{to{transform:rotate(150deg)}}
@keyframes fmsokR{to{transform:rotate(-150deg)}}
.fm-ter{opacity:0;font-size:15px}
.fm-on .fm-sok .fm-ter{animation:fmterr .6s calc(var(--sd,.7s) + .4s) ease-out forwards}
@keyframes fmterr{to{opacity:1;transform:translateY(6px)}}
.fm-diz .fm-bacL{transform:rotate(78deg)}.fm-diz .fm-bacR{transform:rotate(-14deg)}
.fm-diz .fm-gov,.fm-diz .fm-kolL,.fm-diz .fm-kolR{transform:translateY(9px)}
.fm-on .fm-tamir .fm-kolR{animation:fmtork .4s .8s ease-in-out 6 alternate}
@keyframes fmtork{from{transform:translateY(9px) rotate(-58deg)}to{transform:translateY(9px) rotate(-8deg)}}
.fm-on .fm-uzat .fm-kolR{animation:fmuzat .8s .6s ease-out forwards}
@keyframes fmuzat{to{transform:rotate(-86deg)}}
.fm-on .fm-selam .fm-kolR{animation:fmselam .7s var(--d,.5s) ease-in-out 3 alternate}
@keyframes fmselam{from{transform:rotate(-155deg)}to{transform:rotate(-125deg)}}
.fm-on .fm-dusun .fm-kolR{animation:fmdusun .8s .8s ease-out forwards}
@keyframes fmdusun{to{transform:rotate(-142deg)}}
.fm-otur .fm-bacL,.fm-otur .fm-bacR{transform:rotate(84deg)}
.fm-otur .fm-kolR{transform:rotate(-52deg)}
.fm-on .fm-otur.fm-yaz .fm-kolR{animation:fmyaz .5s .8s ease-in-out 5 alternate}
@keyframes fmyaz{from{transform:rotate(-52deg)}to{transform:rotate(-44deg)}}
.fm-elp,.fm-elp3{opacity:0}
.fm-on .fm-telal .fm-kolR{animation:fmtelal 1s var(--d,1.2s) ease-in-out forwards}
@keyframes fmtelal{0%{transform:rotate(-52deg)}40%{transform:rotate(6deg)}100%{transform:rotate(-124deg)}}
.fm-on .fm-telal .fm-elp{animation:fmshow .25s calc(var(--d,1.2s) + .45s) forwards}
.fm-on .fm-scene-dp .fm-dp{opacity:0;transition:opacity .25s;transition-delay:var(--dpd,1.8s)}
@keyframes fmshow{to{opacity:1}}
.fm-on .fm-swapA{animation:fmhide .25s var(--d,2.4s) forwards}
@keyframes fmhide{to{opacity:0}}
.fm-swapB{opacity:0}
.fm-on .fm-swapB{animation:fmshow .25s var(--d,2.4s) forwards}
/* forklift */
.fm-flift{position:absolute}
.fm-flift svg{width:100%;height:auto;overflow:visible;display:block}
.fm-fork,.fm-w,.fm-al,.fm-vw{transform-box:fill-box;transform-origin:center}
.fm-al{opacity:0}
.fm-on .fm-yukles .fm-fork{animation:fmyuk 3.1s 1s ease-in-out 2}
@keyframes fmyuk{0%,100%{transform:translateY(0)}42%,62%{transform:translateY(-64px)}}
.fm-yari .fm-fork{transform:translateY(-46px)}
.fm-on .fm-bozul .fm-fork{animation:fmsars .1s 1s 8 alternate}
@keyframes fmsars{from{transform:translateY(-49px)}to{transform:translateY(-43px)}}
.fm-on .fm-bozul .fm-al{animation:fmblink .45s .9s 7}
@keyframes fmblink{50%{opacity:1}}
.fm-alarmda .fm-al{opacity:1;animation:fmblink 1s infinite}
.fm-sarjled{fill:#475569}
.fm-on .fm-sarjda .fm-sarjled{animation:fmled 1.2s .8s infinite}
@keyframes fmled{50%{fill:#4ade80}}
.fm-sarjist{position:absolute}
.fm-sarjist svg{width:100%;height:auto;display:block}
/* araç */
.fm-van{position:absolute}
.fm-van svg{width:100%;height:auto;overflow:visible;display:block}
.fm-on .fm-vangel{animation:fmvangel 2.5s ease-out forwards}
@keyframes fmvangel{from{transform:translateX(-720px)}to{transform:translateX(0)}}
.fm-on .fm-vangel .fm-vw{animation:fmspin .55s linear 4.5}
@keyframes fmspin{to{transform:rotate(360deg)}}
/* final + kontrol */
.fm-final{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
.fm-final h2{font-size:clamp(1.1rem,2.8vw,1.8rem);margin:0;font-weight:850;color:#e8ebe0}
.fm-final h2 b{color:#bed600}
.fm-final .fm-kisi{position:relative;width:64px;filter:none}
.fm-zin{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.fm-zin span{display:flex;align-items:center;gap:6px;background:#1f262c;border:1px solid #333a40;border-radius:99px;padding:6px 13px;font-size:.78rem;font-weight:700;color:#e8ebe0}
.fm-zin i{font-style:normal;width:19px;height:19px;border-radius:50%;background:#22c55e;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:900;opacity:0;transform:scale(.4)}
.fm-on .fm-zin i{animation:fmpop .4s forwards}
.fm-on .fm-zin span:nth-child(1) i{animation-delay:.4s}.fm-on .fm-zin span:nth-child(2) i{animation-delay:.8s}
.fm-on .fm-zin span:nth-child(3) i{animation-delay:1.2s}.fm-on .fm-zin span:nth-child(4) i{animation-delay:1.6s}
@keyframes fmpop{to{opacity:1;transform:scale(1)}}
.fm-subt{position:absolute;left:50%;transform:translateX(-50%);bottom:14px;max-width:86%;
  background:rgba(0,0,0,.62);border:1px solid rgba(255,255,255,.08);color:#fff;padding:8px 16px;border-radius:10px;
  font-size:clamp(.78rem,1.8vw,.98rem);text-align:center;z-index:4}
.fm-subt b{color:#bed600}
.fm-prog{position:absolute;left:0;top:0;height:3px;background:#bed600;width:0%;z-index:5}
.fm-ctr{display:flex;gap:10px;align-items:center;margin-top:12px;flex-wrap:wrap}
.fm-ctr button{background:#1f262c;border:1px solid #333a40;color:#e8ebe0;font:inherit;font-weight:700;padding:8px 16px;border-radius:10px;cursor:pointer}
.fm-ctr button:hover{border-color:#8aa00a}
.fm-ctr button:focus-visible{outline:2px solid #bed600;outline-offset:2px}
.fm-ctr .fm-play{background:#bed600;color:#101300;border-color:#bed600}
.fm-scn{color:#8b968a;font-size:.8rem;font-variant-numeric:tabular-nums;margin-left:auto}
.fm-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;
  background:rgba(10,13,16,.72);z-index:6;transition:opacity .4s}
.fm-overlay.fm-gone{opacity:0;pointer-events:none}
.fm-overlay button{font-size:1.05rem;padding:14px 34px;border-radius:14px;background:#bed600;border:0;color:#101300;font-weight:850;cursor:pointer;box-shadow:0 10px 30px rgba(190,214,0,.25)}
.fm-overlay p{color:#8b968a;font-size:.85rem;max-width:46ch;text-align:center;margin:0}
/* /tanitim marka şeridi — layouts.platform çıplaktır, sayfa kendi chrome'unu taşır.
   body.plat-body kuralı yalnız film.css'in yüklendiği sayfada etkir (landing bu dosyayı yüklemez). */
body.plat-body{margin:0;background:#0d1114}
.fm-hd{position:sticky;top:0;z-index:40;background:rgba(13,17,20,.9);backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.fm-hd-in{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 20px}
.fm-brand{display:flex;align-items:center;gap:.6rem;color:#fff;font-weight:800;text-decoration:none;
  font-size:1.12rem;letter-spacing:-.02em}
.fm-brand .mk{width:32px;height:32px;flex:0 0 auto}
.fm-brand .mk svg{width:100%;height:100%;display:block}
.fm-hd-btn{background:#c4dc00;color:#161f0c;font-weight:750;border-radius:10px;padding:.55rem 1.05rem;
  text-decoration:none;font-size:.92rem;transition:background .12s}
.fm-hd-btn:hover{background:#d6ec3a}
.fm-hd-btn:focus-visible,.fm-brand:focus-visible{outline:2px solid #bed600;outline-offset:2px}

@media (prefers-reduced-motion:reduce){
  .fm-scene,.fm-fade{transition:none}
  .fm-on *{animation-duration:.01s !important;animation-delay:0s !important}
}