/* ==========================================================================
   FORMULO · mavi kopya çizim masası (formulo/assets/formulo.css), 08.11.2026
   Zemin: blueprint mavisi milimetrik kâğıt. Çizgi: beyaz tebeşir. Vurgu: sarı, camgöbeği.
   Önek fo- (ve lab için lb-). Formül yazısı Latin Modern (gömülü, KaTeX gerekmez).
   ========================================================================== */
@font-face{font-family:'Bricolage Grotesque';font-display:swap;font-weight:200 800;src:url(fonts/bricolage-latin.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:'Bricolage Grotesque';font-display:swap;font-weight:200 800;src:url(fonts/bricolage-latin-ext.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+1E00-1EFF}
@font-face{font-family:'Instrument Sans';font-display:swap;font-weight:400 700;src:url(fonts/instrument-latin.woff2) format('woff2-variations');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:'Instrument Sans';font-display:swap;font-weight:400 700;src:url(fonts/instrument-latin-ext.woff2) format('woff2-variations');unicode-range:U+0100-02BA,U+1E00-1EFF}
@font-face{font-family:'JetBrains Mono';font-display:swap;font-weight:500;src:url(fonts/jbmono-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F,U+2212}
@font-face{font-family:'JetBrains Mono';font-display:swap;font-weight:500;src:url(fonts/jbmono-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA}
@font-face{font-family:'Caveat';font-display:swap;font-weight:500 600;src:url(fonts/caveat-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+2000-206F}
@font-face{font-family:'Caveat';font-display:swap;font-weight:500 600;src:url(fonts/caveat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA}
@font-face{font-family:'LM Roman';font-display:swap;font-style:normal;src:url(fonts/lm-regular.woff) format('woff')}
@font-face{font-family:'LM Roman';font-display:swap;font-style:italic;src:url(fonts/lm-italic.woff) format('woff')}
@font-face{font-family:'LM Math';font-display:swap;src:url(fonts/lm-math.woff) format('woff')}

/* Kâğıt defter teması: kırık beyaz zemin, silik kareler, lacivert mürekkep, sarı fosforlu kalem.
   Anlatım tahtası (.fs-ort) ve lab ekranı (.fo-lab) koyu yeşil tahta jetonlarıyla açılır. */
:root{--kagit:#FAF7F0;--zit:#FFFFFF;--murekkep:#1E2A44;--soluk:#5E677A;--sari:#9A6700;--fosfor:#FFE36E;--fosfor-y:#1E2A44;--cam:#0E6F7C;--tur:#C2521D;--ok-y:#1E7A4C;--kenar:rgba(30,42,68,.15);--yuzey:#FFFFFF;--ton:rgba(30,42,68,.05);--cizgi:rgba(30,42,68,.055);--math:'LM Roman','LM Math','Cambria Math','STIX Two Math','Times New Roman',serif}
.fs-ort,.fo-lab{--kagit:#183A30;--zit:#12261F;--murekkep:#EEF5EF;--soluk:#B9CEC4;--sari:#FFD86B;--fosfor:#FFD86B;--fosfor-y:#12261F;--cam:#7FE3FF;--tur:#FF9F5A;--ok-y:#9BF0C0;--kenar:rgba(234,244,255,.26);--yuzey:rgba(255,255,255,.04);--ton:rgba(234,244,255,.07);color:var(--murekkep)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--murekkep);font:16px/1.55 'Instrument Sans',system-ui,sans-serif;background-color:var(--kagit);
  background-image:linear-gradient(var(--cizgi) 1px,transparent 1px),linear-gradient(90deg,var(--cizgi) 1px,transparent 1px);background-size:24px 24px;background-attachment:fixed}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--cam);outline-offset:3px}
.fo-gizli{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- üst çubuk + cetvel ---------- */
.fo-ust{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:12px clamp(16px,3vw,36px);background:rgba(250,247,240,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--kenar)}
.fo-ust::after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:8px;pointer-events:none;opacity:.35;background:repeating-linear-gradient(90deg,var(--soluk) 0 1px,transparent 1px 8px),repeating-linear-gradient(90deg,var(--murekkep) 0 1px,transparent 1px 80px);background-size:auto 4px,auto 8px;background-repeat:repeat-x}
.fo-marka{display:flex;align-items:center;gap:10px;text-decoration:none;margin-right:auto}
.fo-marka img{width:30px;height:30px;border-radius:7px;background:#fff;padding:2px;box-shadow:0 0 0 1px var(--kenar)}
.fo-logo{height:30px;width:auto;overflow:visible}
.fo-logo text{font:800 27px 'Bricolage Grotesque',sans-serif;letter-spacing:-.03em;fill:transparent;stroke:var(--murekkep);stroke-width:1.1;stroke-dasharray:420;stroke-dashoffset:420;animation:foYaz 2.2s .2s cubic-bezier(.6,0,.3,1) forwards,foDol .6s 2.1s forwards}
.fo-logo .o{stroke:var(--sari);animation:foDolS .6s 2.1s forwards}
@keyframes foYaz{to{stroke-dashoffset:0}}
@keyframes foDol{to{fill:var(--murekkep)}}
@keyframes foDolS{to{fill:var(--sari)}}
.fo-by{font:600 17px Caveat,cursive;color:var(--cam);transform:rotate(-4deg) translateY(4px)}
.fo-nav{display:flex;gap:6px;align-items:center}
.fo-nav a,.fo-dil button{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 14px;border:1px solid var(--kenar);border-radius:999px;text-decoration:none;font-size:14px;font-weight:600;background:transparent;cursor:pointer;transition:background .2s,border-color .2s}
.fo-nav a:hover,.fo-dil button:hover{background:var(--ton);border-color:var(--murekkep)}
.fo-nav a b{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:var(--fosfor);color:var(--fosfor-y);font:700 12px 'JetBrains Mono',monospace}
.fo-dil{display:flex;border:1px solid var(--kenar);border-radius:999px;padding:3px}
.fo-dil button{border:0;min-height:34px;padding:0 12px;font:500 12px 'JetBrains Mono',monospace}
.fo-dil button[aria-pressed="true"]{background:var(--murekkep);color:var(--zit)}

#fo-app{position:relative;max-width:1440px;margin:0 auto;padding:28px clamp(16px,3vw,36px) 80px}

/* ---------- MASA ---------- */
.fo-bas{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(20px,4vw,56px);align-items:center;padding:24px 0 40px}
.fo-eyb{font:500 12.5px 'JetBrains Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--cam)}
.fo-h1{margin:10px 0 14px;font:800 clamp(44px,7vw,92px)/.95 'Bricolage Grotesque',sans-serif;letter-spacing:-.04em}
.fo-h1 em{font-style:normal;color:var(--murekkep);position:relative;z-index:0}
.fo-h1 em::after{content:"";position:absolute;z-index:-1;left:-.06em;right:-.06em;bottom:.04em;height:.42em;border-radius:.1em;background:var(--fosfor);transform-origin:left;transform:scaleX(0);animation:foCiz 1s 1s cubic-bezier(.6,0,.3,1) forwards}
@keyframes foCiz{to{transform:scaleX(1)}}
.fo-p{max-width:540px;margin:0 0 20px;font-size:clamp(16px,1.5vw,19px);color:var(--soluk)}
.fo-sayac{display:flex;gap:10px;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.fo-sayac li{padding:8px 14px;border:1px dashed var(--kenar);border-radius:6px;font:500 13px 'JetBrains Mono',monospace;color:var(--soluk)}
.fo-sayac b{color:var(--murekkep);font-size:18px}
/* paftalar */
.fo-paftalar{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.fo-pafta{position:relative;display:grid;gap:4px;padding:18px 18px 16px;min-height:270px;text-decoration:none;background:var(--yuzey);border:1px solid var(--kenar);outline:0;box-shadow:0 1px 0 var(--kenar);border-top:3px solid var(--c);border-radius:4px;transition:transform .35s cubic-bezier(.2,.9,.3,1.2),background .3s,box-shadow .3s;opacity:0;transform:translateY(18px)}
.fo-pafta.fo-gor{animation:foGel .6s calc(var(--i) * 70ms) cubic-bezier(.2,.9,.3,1.1) forwards}
@keyframes foGel{to{opacity:1;transform:none}}
.fo-pafta:hover,.fo-pafta:focus-visible{transform:translateY(-3px);box-shadow:0 14px 26px -18px rgba(30,42,68,.45)}
.fo-pafta::before,.fo-pafta::after{content:"";position:absolute;width:12px;height:12px;border-color:var(--c);border-style:solid;opacity:.8}
.fo-pafta::before{left:-1px;bottom:-1px;border-width:0 0 2px 2px}
.fo-pafta::after{right:-1px;bottom:-1px;border-width:0 2px 2px 0}
.fo-pafta-kod{font:500 11.5px 'JetBrains Mono',monospace;color:var(--soluk);letter-spacing:.04em}
.fo-pafta-ad{font:800 25px/1.05 'Bricolage Grotesque',sans-serif;letter-spacing:-.02em}
.fo-pafta-alt{font:600 19px/1 Caveat,cursive;color:var(--cam)}
.fo-sema{width:100%;height:auto;margin:6px 0 2px}
.fo-pafta-say{font:500 12px 'JetBrains Mono',monospace;color:var(--murekkep)}
.fo-pafta-kitap{font-size:12.5px;color:var(--soluk);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fo-pafta-no{position:absolute;right:12px;top:12px;font:500 11px 'JetBrains Mono',monospace;color:var(--soluk)}
/* şemalar */
.fo-sema *{fill:none;stroke-linecap:round;stroke-linejoin:round}
.fo-sema .sm-e{stroke:var(--murekkep);stroke-width:2.4;stroke-dasharray:400;stroke-dashoffset:400}
.fo-pafta.fo-gor .sm-e{animation:foYaz 1.4s calc(var(--i) * 70ms + .3s) ease forwards}
.fo-sema .sm-t{stroke:var(--c);stroke-width:2}
.fo-sema .sm-n{fill:var(--c);stroke:var(--murekkep);stroke-width:1.5}
.fo-sema .sm-z{stroke:var(--soluk);stroke-width:1;stroke-dasharray:3 4}
.sm-turev{transform-origin:96px 44px;animation:smSal 3s ease-in-out infinite}
.sm-turev-n{animation:none}
@keyframes smSal{50%{transform:rotate(-14deg)}}
.sm-taylor{stroke-dasharray:6 5;animation:smKay 2.4s linear infinite}
@keyframes smKay{to{stroke-dashoffset:-44}}
.sm-bar rect{fill:var(--c);stroke:none;opacity:.7;animation:smBar 2.4s ease-in-out infinite}
.sm-bar rect:nth-child(2){animation-delay:.2s}.sm-bar rect:nth-child(3){animation-delay:.4s}
@keyframes smBar{50%{height:30px;y:66px}}
.sm-dalga{animation:smDalga 2s linear infinite}
@keyframes smDalga{to{transform:translateX(-50px)}}
.fo-sema-fiz2 .sm-e{stroke-dasharray:none;stroke-dashoffset:0}
.sm-n2{fill:var(--cam)!important}
.sm-izg{transform-origin:90px 60px;animation:smIzg 4s ease-in-out infinite}
.sm-kare{fill:rgba(255,216,107,.25)!important;stroke:var(--sari)!important;transform-origin:60px 70px;animation:smIzg 4s ease-in-out infinite}
@keyframes smIzg{50%{transform:matrix(1,0,.45,1,-30,0)}}
.sm-alan path{stroke:var(--soluk);stroke-width:1.6}
.sm-coz{stroke:var(--c)!important}
.sm-dolu{fill:var(--c)!important;opacity:.28;stroke:none!important;transform-origin:100px 96px;animation:smDolu 3s ease-in-out infinite}
@keyframes smDolu{50%{transform:scaleX(.55)}}
.sm-nr{stroke-dasharray:80;stroke-dashoffset:80;animation:smNr 3s ease-in-out infinite}
@keyframes smNr{60%,100%{stroke-dashoffset:0}}
.fo-sema *{animation-play-state:paused}
.fo-pafta:hover .fo-sema *,.fo-pafta:focus-visible .fo-sema *{animation-play-state:running}
.fo-pafta.fo-gor .sm-e{animation-play-state:running}
/* antet (başlık bloğu) */
.fo-antet{display:grid;grid-template-columns:repeat(5,auto);justify-content:end;margin-top:34px}
.fo-antet span{display:grid;padding:8px 16px;border:1px solid var(--kenar);margin-left:-1px;font:500 13px 'JetBrains Mono',monospace}
.fo-antet small{font-size:10px;color:var(--soluk);letter-spacing:.1em}

/* ---------- DERS ---------- */
.fo-yol{display:flex;gap:14px;align-items:center;font:500 13px 'JetBrains Mono',monospace;color:var(--soluk);margin-bottom:8px}
.fo-yol a{text-decoration:none;padding:6px 0;color:var(--cam)}
.fo-ders-bas{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 30px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px dashed var(--kenar)}
.fo-h1-k{font-size:clamp(36px,5vw,64px);margin:6px 0 0}
.fo-h1-k span{display:block;font:600 clamp(22px,2.4vw,30px)/1.1 Caveat,cursive;color:var(--c,var(--cam));letter-spacing:0;margin-top:6px}
.fo-kitap{display:flex;flex-wrap:wrap;gap:6px;align-items:center;max-width:560px}
.fo-kitap small{width:100%;font:500 11px 'JetBrains Mono',monospace;color:var(--soluk);letter-spacing:.08em;text-transform:uppercase}
.fo-kitap span{padding:5px 10px;border:1px solid var(--kenar);border-radius:4px;font-size:13px;background:var(--yuzey)}
.fo-ders{display:grid;grid-template-columns:200px minmax(0,1fr) minmax(360px,440px);gap:24px;align-items:start}
.fo-konular{position:sticky;top:86px;display:grid;gap:4px}
.fo-konular>b{font:500 11px 'JetBrains Mono',monospace;color:var(--soluk);letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}
.fo-kn{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:40px;padding:8px 12px;text-align:left;background:transparent;border:1px solid transparent;border-radius:6px;font-size:14.5px;cursor:pointer;transition:background .2s,border-color .2s}
.fo-kn i{font:500 11px 'JetBrains Mono',monospace;font-style:normal;color:var(--soluk)}
.fo-kn:hover{background:var(--ton)}
.fo-kn[aria-pressed="true"]{border-color:var(--c);background:var(--yuzey)}
.fo-kartlar{display:grid;gap:18px;min-width:0}
.fo-kartlar-tek{max-width:820px}
/* kart */
.fo-kart{position:relative;padding:18px 20px 16px;background:var(--yuzey);border:1px solid var(--kenar);border-left:3px solid var(--c);border-radius:4px;scroll-margin-top:90px;box-shadow:0 1px 0 var(--kenar);opacity:0;transform:translateY(14px)}
.fo-kart.fo-gor{animation:foGel .5s cubic-bezier(.2,.9,.3,1.1) forwards}
.fo-kart.fo-vurgu{box-shadow:0 0 0 3px var(--fosfor)}
.fo-kart::after{content:"";position:absolute;right:10px;bottom:10px;width:14px;height:14px;border-right:1px solid var(--soluk);border-bottom:1px solid var(--soluk);opacity:.6}
.fo-kart-bas{display:flex;justify-content:space-between;align-items:center;gap:10px}
.fo-konu{font:500 11.5px 'JetBrains Mono',monospace;color:var(--c);letter-spacing:.06em;text-transform:uppercase}
.fo-yildiz{width:40px;height:40px;border:1px solid var(--kenar);border-radius:50%;background:transparent;color:var(--soluk);font-size:18px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}
.fo-yildiz[aria-pressed="true"]{color:var(--fosfor-y);background:var(--fosfor);border-color:var(--sari)}
.fo-yildiz.fo-pop{animation:foPop .45s cubic-bezier(.2,.9,.3,1.6)}
@keyframes foPop{40%{transform:scale(1.35) rotate(18deg)}}
.fo-kart-ad{margin:4px 0 12px;font:700 21px/1.2 'Bricolage Grotesque',sans-serif;letter-spacing:-.01em}
.fo-kart-ad small{display:block;font:500 12.5px 'JetBrains Mono',monospace;color:var(--soluk);letter-spacing:0;margin-top:2px}
/* formül yazısı */
.fo-f{font:28px/1.5 var(--math);color:var(--murekkep);padding:14px 4px 16px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin}
.fo-kart .fo-f[data-fo-f]{clip-path:inset(-20px 100% -20px 0)}
.fo-kart.fo-gor .fo-f[data-fo-f]{animation:foTebesir 1.1s .15s cubic-bezier(.5,0,.2,1) forwards}
@keyframes foTebesir{to{clip-path:inset(-20px 0 -20px 0)}}
.fo-f i{font-style:italic}
.fo-f b{font-weight:400}
.fo-f sup,.fo-f sub{font-size:.62em;line-height:0}
.fv{cursor:pointer;padding:0 .06em;border-radius:3px;border-bottom:1.5px dotted var(--cam);transition:background .2s,color .2s}
.fv:hover,.fv:focus-visible{background:var(--ton);outline:none}
.fv.fo-acik{background:var(--fosfor);color:var(--fosfor-y);border-bottom-color:transparent}
.fr{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .12em;font-size:.86em;line-height:1.2}
.fr>span{padding:0 .2em;align-self:stretch;text-align:center}
.fr>span:first-child{border-bottom:1.5px solid currentColor;padding-bottom:.06em}
.fr-n>span:first-child{border-bottom:0}
.paren{display:inline-flex;align-items:center;font-size:1.25em}
.paren .fr{font-size:.6em}
.sq{white-space:nowrap}
.sq>span{border-top:1.5px solid currentColor;padding:0 .12em;margin-left:-.04em}
.op{display:inline-flex;flex-direction:column;align-items:center;vertical-align:middle;margin:0 .1em;line-height:1}
.op b{font-family:'LM Math',var(--math);font-size:1.45em;line-height:1}
.op sup{order:-1;font-size:.5em;line-height:1.2}
.op sub{font-size:.5em;line-height:1.2}
.mx{display:inline-flex;flex-direction:column;vertical-align:middle;padding:0 .3em;margin:0 .15em;border-left:1.5px solid;border-right:1.5px solid;border-radius:6px;font-size:.85em;line-height:1.3;text-align:center}
.fo-f-s{font-size:20px;padding:4px 0}
.fo-ipucu{margin:-6px 0 6px;font:600 17px Caveat,cursive;color:var(--soluk)}
.fo-tanim{margin:0 0 10px;padding:8px 12px;border-left:3px solid var(--fosfor);background:rgba(255,227,110,.18);font-size:14.5px}
.fo-tanim b{font:italic 18px var(--math);margin-right:6px;color:var(--sari)}
.fo-tanim span{font:500 12px 'JetBrains Mono',monospace;color:var(--soluk)}
/* tablo */
.fo-tablo{display:grid;border-top:1px dashed var(--kenar)}
.fo-tr{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:4px 0;border-bottom:1px dashed var(--kenar)}
.fo-tr>span:last-child{font-size:13.5px;color:var(--soluk);text-align:right}
/* kaydırıcılar */
.fo-kay{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 18px;margin:6px 0 12px}
.fo-k{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center;padding:8px 10px;border:1px solid transparent;border-radius:6px;transition:border-color .2s,background .2s}
.fo-k.fo-acik{border-color:var(--sari);background:rgba(255,227,110,.16)}
.fo-k-ad{grid-column:1/-1;font-size:13px;color:var(--soluk)}
.fo-k-ad b{font:italic 17px var(--math);color:var(--murekkep);margin-right:4px}
.fo-k-ad b sub,.fo-k-ad b sup{font-size:.65em}
.fo-k-deg{font:500 13px 'JetBrains Mono',monospace;white-space:nowrap}
input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--murekkep),var(--soluk))}
input[type=range]::-moz-range-track{height:2px;background:var(--soluk)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;margin-top:-9px;border-radius:50%;background:var(--fosfor);border:2px solid var(--zit);box-shadow:0 0 0 2px var(--sari)}
input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--fosfor);border:2px solid var(--zit)}
/* sonuç */
.fo-sonuc{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:10px 14px;border:1px dashed var(--sari);border-radius:6px;background:rgba(255,227,110,.14)}
.fo-sonuc-ad{font:italic 20px var(--math)}
.fo-sonuc-ad small{font:500 12px 'Instrument Sans',sans-serif;font-style:normal;color:var(--soluk)}
.fo-sonuc b{font:700 30px 'JetBrains Mono',monospace;color:var(--sari);margin-left:auto;display:inline-block}
.fo-sonuc b.fo-tik{animation:foTik .35s ease}
@keyframes foTik{40%{transform:translateY(-3px) scale(1.06)}}
.fo-sonuc-u{font:500 14px 'JetBrains Mono',monospace;color:var(--soluk)}
.fo-not{margin:12px 0 0;font:600 20px/1.25 Caveat,cursive;color:var(--cam)}
.fo-not::before{content:"✎ "}
.fo-kart-alt{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.fo-btn{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:6px;border:1px solid var(--murekkep);background:var(--murekkep);color:var(--zit);font-weight:700;font-size:14px;cursor:pointer;transition:transform .15s,background .2s}
.fo-btn:hover{transform:translateY(-1px)}
.fo-btn-lab{background:transparent;color:var(--murekkep);border-color:var(--c)}
.fo-btn-lab::before{content:"";width:9px;height:9px;margin-right:8px;border-radius:50%;background:var(--c)}
.fo-btn-ince{background:transparent;color:var(--murekkep);border-color:var(--kenar)}
/* kendini dene */
.fo-dene{margin-top:12px;padding:12px 14px;border:1px solid var(--cam);border-radius:6px;background:var(--ton)}
.fo-dene-s{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 10px;font-size:15px}
.fo-dene-s b{font:italic 17px var(--math)}
.fo-dene-f{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.fo-dene-f label{display:flex;align-items:center;gap:8px}
.fo-dene-f label span{font:italic 19px var(--math)}
.fo-dene-f input{width:140px;min-height:42px;padding:0 10px;border:1px solid var(--kenar);border-radius:6px;background:var(--zit);color:var(--murekkep);font:500 16px 'JetBrains Mono',monospace}
.fo-dene-f em{font:500 13px 'JetBrains Mono',monospace;font-style:normal;color:var(--soluk)}
.fo-dene-c{margin:10px 0 0;font-weight:600}
.fo-dene-c.fo-ok{color:var(--ok-y)}.fo-dene-c.fo-no{color:var(--tur)}
.fo-bos{font:600 24px Caveat,cursive;color:var(--soluk)}

/* ---------- LAB paneli ---------- */
.fo-lab{position:sticky;top:86px;display:grid;gap:10px;padding:14px;background:#183A30;border:1px solid rgba(30,42,68,.25);border-radius:8px;box-shadow:inset 0 0 0 6px rgba(80,52,30,.45);max-height:calc(100vh - 104px);overflow:auto}
.fo-lab-bas{display:flex;justify-content:space-between;align-items:center}
.fo-lab-bas b{font:700 18px 'Bricolage Grotesque',sans-serif}
.fo-lab-kapat{display:none;width:40px;height:40px;border:1px solid var(--kenar);border-radius:50%;background:transparent;font-size:22px;cursor:pointer}
.fo-lab-sec{display:flex;flex-wrap:wrap;gap:6px}
.fo-lab-sec button{min-height:34px;padding:0 10px;border:1px solid var(--kenar);border-radius:999px;background:transparent;font-size:12.5px;cursor:pointer}
.fo-lab-sec button[aria-pressed="true"]{background:var(--c,var(--cam));color:#12261F;border-color:transparent;font-weight:700}
.fo-lab-bos{font:600 19px/1.3 Caveat,cursive;color:var(--soluk);margin:20px 0}
.lb{display:grid;gap:10px}
.lb-cv{width:100%;aspect-ratio:4/3;display:block;border:1px solid var(--kenar);border-radius:4px;background:var(--kagit)}
.lb-oku{display:flex;flex-wrap:wrap;gap:6px}
.lb-oku span{flex:1 1 auto;padding:6px 10px;border:1px dashed var(--kenar);border-radius:4px;font:500 12px 'JetBrains Mono',monospace;color:var(--sari)}
.lb-oku b{display:block;font-weight:500;color:var(--soluk);font-size:10.5px}
.lb-kont{display:grid;gap:6px}
.lb-k{display:grid;grid-template-columns:52px 1fr 86px;gap:8px;align-items:center;font:500 12.5px 'JetBrains Mono',monospace}
.lb-k output{text-align:right;color:var(--sari)}
.lb-ad{font:italic 16px var(--math);color:var(--murekkep)}
.lb-sec{display:flex;flex-wrap:wrap;gap:6px}
.lb-sec button,.lb-dug{min-height:34px;padding:0 10px;border:1px solid var(--kenar);border-radius:6px;background:transparent;font:500 12px 'JetBrains Mono',monospace;cursor:pointer}
.lb-sec button[aria-pressed="true"]{background:var(--murekkep);color:var(--zit)}
.lb-dug{border-color:var(--cam);color:var(--cam);justify-self:start}

/* ---------- duyarlı ---------- */
@media (max-width:1200px){.fo-paftalar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:1099px){
  .fo-ders{grid-template-columns:minmax(0,1fr)}
  .fo-konular{position:sticky;top:64px;z-index:5;display:flex;overflow-x:auto;gap:6px;padding:8px 0;background:linear-gradient(var(--kagit) 70%,transparent);scrollbar-width:none}
  .fo-konular>b{display:none}
  .fo-kn{flex:none;border-color:var(--kenar)}
  .fo-lab{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:40;max-height:88vh;border-radius:14px 14px 0 0;transform:translateY(102%);transition:transform .4s cubic-bezier(.2,.9,.3,1);box-shadow:0 -20px 40px rgba(30,42,68,.3)}
  .fo-lab{background:#183A30}
  body.fo-sheet .fo-lab{transform:none;box-shadow:0 0 0 100vmax rgba(30,42,68,.45)}
  .fo-lab-kapat{display:inline-grid;place-items:center}
  .lb-cv{max-height:46vh}
}
@media (max-width:760px){
  .fo-bas{grid-template-columns:1fr}
  .fo-tanitim{order:-1}
  .fo-paftalar{grid-template-columns:minmax(0,1fr);gap:12px}
  .fo-pafta{min-height:0;grid-template-columns:1fr 120px;grid-template-rows:auto auto auto 1fr auto}
  .fo-pafta .fo-sema{grid-column:2;grid-row:1/5;align-self:center}
  .fo-antet{grid-template-columns:repeat(2,1fr);justify-content:stretch}
  .fo-ust{gap:8px;padding:10px 14px}
  .fo-by{display:none}
  .fo-nav a{padding:0 10px}
  .fo-nav a[data-fo-masa]{display:none}
  .fo-f{font-size:23px}
  .fo-kart{padding:14px 14px 14px}
  .fo-kay{grid-template-columns:minmax(0,1fr)}
  .fo-sonuc b{font-size:24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.001s!important}
  .fo-pafta,.fo-kart{opacity:1;transform:none}
  .fo-kart .fo-f[data-fo-f]{clip-path:none}
}

/* ---------- Acadex'e bağlanış: kapı ve geri bağlantısı (assets/kapi.js) ---------- */
.fo-acadex{border-style:dashed!important;color:var(--soluk)}
html.kapi body>*:not(#kilit){visibility:hidden}
#kilit{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:var(--kagit)}
#kilit .kagit{position:relative;max-width:440px;padding:28px 26px 24px;text-align:left;background:var(--yuzey);border:1px solid var(--kenar);border-radius:10px;box-shadow:0 18px 34px -24px rgba(30,42,68,.5);transform:rotate(-.6deg)}
#kilit .bant{position:absolute;top:-12px;left:50%;width:96px;height:24px;margin-left:-48px;background:rgba(255,227,110,.75);transform:rotate(-3deg)}
#kilit .kagit svg{width:64px;height:64px;margin:-58px 0 8px}
#kilit h1{font:800 28px/1.1 'Bricolage Grotesque',sans-serif;letter-spacing:-.025em;margin:0 0 10px}
#kilit p{margin:0 0 18px;color:var(--soluk)}
#kilit .dugmeler{display:flex;flex-wrap:wrap;gap:10px}
#kilit .btn{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;border:1px solid var(--kenar);color:var(--murekkep);font-weight:700;text-decoration:none}
#kilit .btn.ana{background:var(--murekkep);border-color:var(--murekkep);color:var(--zit)}
#kilit .bekle{font:600 24px Caveat,cursive;color:var(--soluk)}
@media (max-width:760px){.fo-nav .fo-acadex{display:none}}
