/* =====================================================================
   StudiFocus · Cinematic update (35-sf-cinematic.css)
   - Weblove-style hero: 3D studi logo, orbiting focus ring, masked headline reveal,
     cursor spotlight, parallax chips, big outline marquee, card tilt.
   - Performance: only transform/opacity are animated (GPU compositor), no backdrop-filter,
     no animated blur/filter, nothing animates off-screen or in a hidden tab.
   - Tiers (set on <html> by 23-sf-cinematic.js):
       .sfc-on       module active
       .sfc-full     capable device: pointer parallax, tilt, idle motion
       .sfc-lite     low-end / battery saver: static 3D, no infinite animations, no blurs
       .sfc-reduced  prefers-reduced-motion: no motion at all
   Everything is scoped to html.sfc-on so removing the JS file restores the old look.
   ===================================================================== */

html.sfc-on {
  --sfc-ease: cubic-bezier(.16, 1, .3, 1);
  --sfc-sage: #8fb68e;
  --sfc-sage-hi: #b9d8a8;
  --sfc-mint: #dff2aa;
  --sfc-ivory: #f2f5ed;
}

/* ---------------------------------------------------------------- hero stage */
html.sfc-on #p-index .hero { --sfc-x: 0; --sfc-y: 0; }
html.sfc-on #p-index .hero .hero-copy { position: relative; z-index: 4; max-width: min(58%, 760px) !important; }
html.sfc-on #p-index .studi-hero-floats { display: none !important; }      /* replaced by the stage chips */

.sfc-stage {
  position: absolute; z-index: 3; pointer-events: none;
  right: clamp(24px, 5vw, 96px); top: 50%;
  width: clamp(300px, 30vw, 460px); aspect-ratio: 1;
  transform: translate3d(0, -50%, 0);
  perspective: 900px;
  contain: layout style;
}
.sfc-stage * { box-sizing: border-box; }

/* spotlight that follows the cursor: a fixed gradient moved by transform (no repaint) */
.sfc-spot {
  position: absolute; z-index: 1; pointer-events: none; left: 0; top: 0;
  width: 720px; height: 720px; margin: -360px 0 0 -360px; border-radius: 50%;
  background: radial-gradient(circle, rgba(207, 238, 170, .16) 0%, rgba(207, 238, 170, .05) 38%, rgba(207, 238, 170, 0) 66%);
  transform: translate3d(var(--sfc-spot-x, 70%), var(--sfc-spot-y, 40%), 0);
  opacity: 0; transition: opacity .6s var(--sfc-ease);
}
html.sfc-full #p-index .hero.sfc-hover .sfc-spot { opacity: 1; }

/* orbit ring (static arc, moving knob via rotate = compositor only) */
.sfc-orbit { position: absolute; inset: 0; transform: rotateX(calc(var(--sfc-y) * 7deg)) rotateY(calc(var(--sfc-x) * -9deg)); transition: transform .9s var(--sfc-ease); }
.sfc-orbit svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.sfc-orbit .sfc-knob-arm { position: absolute; inset: 0; animation: sfcSpin 25s linear infinite; }
.sfc-orbit .sfc-knob {
  position: absolute; left: 50%; top: 3.2%; width: 18px; height: 18px; margin-left: -9px; border-radius: 50%;
  background: var(--sfc-ivory); box-shadow: 0 0 0 6px rgba(223, 242, 170, .16), 0 6px 18px rgba(0, 0, 0, .25);
}
.sfc-time {
  position: absolute; left: 50%; bottom: 10%; transform: translate3d(-50%, 0, 0);
  font: 700 clamp(15px, 1.25vw, 19px)/1 Manrope, "DM Sans", sans-serif; letter-spacing: .5px;
  color: rgba(242, 245, 237, .82); white-space: nowrap;
}
.sfc-time small { display: block; margin-top: 6px; font: 800 9px/1 "DM Sans", sans-serif; letter-spacing: 2.4px; color: rgba(184, 212, 154, .8); text-align: center; }

/* 3D logo: stacked layers (true CSS 3D, no WebGL) */
.sfc-logo-wrap {
  position: absolute; left: 50%; top: 50%; width: 42%; aspect-ratio: 1; margin: -21% 0 0 -21%;
  transform-style: preserve-3d;
  transform: rotateX(calc(14deg + var(--sfc-y) * -14deg)) rotateY(calc(-22deg + var(--sfc-x) * 26deg));
  transition: transform .9s var(--sfc-ease);
}
.sfc-logo { position: absolute; inset: 0; transform-style: preserve-3d; animation: sfcSway 9s ease-in-out infinite; }
.sfc-logo i {                                     /* side layers */
  position: absolute; inset: 0; border-radius: 34.5% 34.5% 13.8% 34.5%;
  background: #4f7c58; transform: translateZ(calc(var(--z) * -1px));
  backface-visibility: hidden;
}
.sfc-logo i:nth-child(odd) { background: #557f5d; }
.sfc-logo .sfc-face {
  position: absolute; inset: 0; border-radius: 34.5% 34.5% 13.8% 34.5%;
  background: radial-gradient(120% 120% at 22% 18%, #c9e3b8 0%, #9fc49b 38%, #86ad85 70%, #739b74 100%);
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, .45), inset 0 -10px 24px rgba(40, 80, 50, .25);
  transform: translateZ(1px);
}
.sfc-logo .sfc-face::after {                       /* the dot */
  content: ""; position: absolute; left: 50%; top: 50%; width: 27.6%; height: 27.6%; margin: -13.8% 0 0 -13.8%; border-radius: 50%;
  background: radial-gradient(circle at 35% 30%, #ffffff 0%, #f5f6ed 55%, #dfe7d5 100%);
  box-shadow: 0 2px 6px rgba(30, 60, 40, .25);
}
.sfc-logo .sfc-shine {                             /* moving glass reflection */
  position: absolute; inset: 0; border-radius: 34.5% 34.5% 13.8% 34.5%; overflow: hidden; transform: translateZ(1.5px);
}
.sfc-logo .sfc-shine::before {
  content: ""; position: absolute; top: -20%; bottom: -20%; width: 34%; left: -60%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .38) 50%, rgba(255, 255, 255, 0) 100%);
  transform: translate3d(0, 0, 0) skewX(-12deg);
}
.sfc-ground {                                     /* soft contact shadow */
  position: absolute; left: 50%; top: 78%; width: 46%; height: 9%; margin-left: -23%; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(0, 0, 0, .34), rgba(0, 0, 0, 0));
  transform: translate3d(calc(var(--sfc-x) * 10px), 0, 0); transition: transform .9s var(--sfc-ease);
}

html.sfc-on .sfc-stage.sfc-in .sfc-shine::before { animation: sfcShine 2.6s var(--sfc-ease) 1.4s 1 both; }
html.sfc-full #p-index .hero.sfc-hover .sfc-shine::before { animation: sfcShine2 1.6s var(--sfc-ease) 1 both; }

/* floating chips with parallax depth */
.sfc-chip {
  position: absolute; display: flex; align-items: center; gap: 10px; white-space: nowrap;
  padding: 11px 15px 11px 12px; border-radius: 16px;
  background: rgba(250, 252, 245, .1); border: 1px solid rgba(255, 255, 255, .16);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .14);
  color: var(--sfc-ivory); font: 700 12px/1.15 "DM Sans", sans-serif;
  transform: translate3d(calc(var(--sfc-x) * var(--d) * 1px), calc(var(--sfc-y) * var(--d) * 1px), 0);
  transition: transform .9s var(--sfc-ease);
}
.sfc-chip > span { display: block; animation: sfcFloat 7s ease-in-out infinite; animation-delay: var(--delay, 0s); }
.sfc-chip b { display: block; font: 800 17px/1 Manrope, sans-serif; letter-spacing: -.4px; color: #fff; }
.sfc-chip small { display: block; margin-top: 3px; font-size: 9.5px; font-weight: 600; color: rgba(209, 223, 208, .78); letter-spacing: .2px; }
.sfc-chip .sfc-dot { flex: none; width: 30px; height: 30px; border-radius: 10px 10px 4px 10px; background: var(--sfc-sage); position: relative; }
.sfc-chip .sfc-dot::after { content: ""; position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; margin: -4px 0 0 -4px; border-radius: 50%; background: #f5f6ed; }
.sfc-chip.c1 { right: -14%; bottom: 20%; --d: 26; }
.sfc-chip.c2 { right: -8%; top: 12%; --d: -20; --delay: -2.4s; }
.sfc-chip.c3 { left: -10%; bottom: 10%; --d: 16; --delay: -4.8s; }
.sfc-chip.c2 .sfc-dot { background: #eeb98e; border-radius: 50%; }
.sfc-chip.c3 .sfc-dot { background: #b9ace3; }

/* stage entrance */
html.sfc-on .sfc-stage { opacity: 0; }
html.sfc-on .sfc-stage.sfc-in { opacity: 1; transition: opacity .9s var(--sfc-ease) .25s; }
html.sfc-on .sfc-stage .sfc-logo-wrap { scale: .82; }
html.sfc-on .sfc-stage.sfc-in .sfc-logo-wrap { scale: 1; transition: transform .9s var(--sfc-ease), scale 1.2s var(--sfc-ease) .3s; }
html.sfc-on .sfc-stage .sfc-chip { opacity: 0; }
html.sfc-on .sfc-stage.sfc-in .sfc-chip { opacity: 1; transition: opacity .8s var(--sfc-ease), transform .9s var(--sfc-ease); }
html.sfc-on .sfc-stage.sfc-in .sfc-chip.c1 { transition-delay: .7s, 0s; }
html.sfc-on .sfc-stage.sfc-in .sfc-chip.c2 { transition-delay: .85s, 0s; }
html.sfc-on .sfc-stage.sfc-in .sfc-chip.c3 { transition-delay: 1s, 0s; }

/* ---------------------------------------------------------------- headline reveal */
html.sfc-on #p-index .hero h1.sfc-split { animation: none !important; }
.sfc-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.sfc-wi { display: inline-block; transform: translate3d(0, 108%, 0); }
.sfc-revealed .sfc-wi { transform: none; transition: transform 1.05s var(--sfc-ease); transition-delay: calc(var(--i) * 55ms + 80ms); }
html.sfc-on #p-index .hero .sfc-fade { opacity: 0; transform: translate3d(0, 14px, 0); }
html.sfc-on #p-index .hero.sfc-revealed .sfc-fade { opacity: 1; transform: none; transition: opacity .8s var(--sfc-ease), transform .9s var(--sfc-ease); transition-delay: calc(var(--i, 0) * 90ms + 520ms); }
html.sfc-on #p-index .hero .sfc-fade { animation: none !important; }

/* ---------------------------------------------------------------- CTA: magnetic + shine */
html.sfc-on #p-index .hero .btn.primary { position: relative; overflow: hidden; transform: translate3d(var(--sfc-mx, 0px), var(--sfc-my, 0px), 0); transition: transform .5s var(--sfc-ease), box-shadow .3s ease !important; }
html.sfc-on #p-index .hero .btn.primary::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -40%; width: 30%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .55), rgba(255, 255, 255, 0));
  transform: translate3d(0, 0, 0) skewX(-14deg); pointer-events: none;
}
html.sfc-on #p-index .hero .btn.primary:hover::after { transform: translate3d(520%, 0, 0) skewX(-14deg); transition: transform .9s var(--sfc-ease); }
html.sfc-on #p-index .hero .btn.primary:hover { box-shadow: 0 14px 34px rgba(185, 223, 122, .28); }

/* ---------------------------------------------------------------- home: drop the English strip + duplicate quick cards */
html.sfc-on #p-index .studi-marquee { display: none !important; }
html.sfc-on #p-index .sfc-today ~ .quick-grid { display: none !important; }

/* ---------------------------------------------------------------- card tilt (full tier, set by JS) */
html.sfc-full .sfc-tilt { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translate3d(0, 0, 0); transition: transform .55s var(--sfc-ease), box-shadow .35s ease; }
html.sfc-full .sfc-tilt.sfc-tilting { transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) translate3d(0, -3px, 0); transition: transform .12s linear, box-shadow .35s ease; box-shadow: 0 22px 50px rgba(42, 68, 47, .1) !important; }

/* ---------------------------------------------------------------- pausing (never animate what you can't see) */
html.sfc-on .sfc-paused, html.sfc-on .sfc-paused *,
html.sfc-hidden * { animation-play-state: paused !important; }

/* ---------------------------------------------------------------- LITE tier: low-end PCs / battery saver */
html.sfc-lite .sfc-logo, html.sfc-lite .sfc-chip > span,
html.sfc-lite .sfc-logo .sfc-shine::before, html.sfc-lite .sfc-orbit .sfc-knob-arm { animation: none !important; }
html.sfc-lite .sfc-spot { display: none; }
html.sfc-lite .sfc-flame.lit { animation: none; }
html.sfc-lite .sfc-chip { box-shadow: none; transition: none; }
/* remove the existing expensive effects as well */
html.sfc-lite #p-index .motion-glow,
html.sfc-lite #p-index .motion-stars,
html.sfc-lite #p-index .motion-sheen,
html.sfc-lite #p-index .motion-grid { display: none !important; }
html.sfc-lite #p-index .motion-ribbon { animation: none !important; filter: none !important; }
html.sfc-lite .hero-float-card,
html.sfc-lite .sidebar,
html.sfc-lite .studi-type-scale,
html.sfc-lite .music-dock, html.sfc-lite .dock-restore, html.sfc-lite .youtube-dock-restore,
html.sfc-lite .live-chat-head { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
html.sfc-lite .sidebar { background: #f8f8f2 !important; }
html.sfc-lite .studi-reveal, html.sfc-lite .v5-lit { filter: none !important; }
html.sfc-lite .card { box-shadow: 0 4px 14px rgba(42, 68, 47, .04) !important; }

/* ---------------------------------------------------------------- reduced motion: no movement at all */
html.sfc-reduced .sfc-stage *, html.sfc-reduced .sfc-stage { animation: none !important; transition: none !important; }
html.sfc-reduced .sfc-wi, html.sfc-reduced #p-index .hero .sfc-fade, html.sfc-reduced .sfc-today .sfc-tcard, html.sfc-reduced .sfc-pagehead > *, html.sfc-reduced .sfc-today .sfc-bar i { transform: none !important; opacity: 1 !important; transition: none !important; }
html.sfc-reduced .sfc-flame.lit, html.sfc-reduced .sfc-tglow, html.sfc-reduced #start.sfc-cue::after { animation: none !important; }

/* ---------------------------------------------------------------- hero: greeting + continue */
.sfc-greet { font: 600 clamp(15px, 1.15vw, 18px)/1.2 "DM Sans", sans-serif; color: rgba(242, 245, 237, .9); margin-bottom: 18px; letter-spacing: -.1px; }
html.sfc-on #p-index .hero .head-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
html.sfc-on #p-index .hero .btn.sfc-continue {
  background: transparent; color: #eef4e8; border: 1px solid rgba(214, 232, 189, .42); border-radius: 9px;
  padding: 12px 16px; font-weight: 800; text-decoration: none; transition: background .25s ease, border-color .25s ease, transform .4s var(--sfc-ease);
}
html.sfc-on #p-index .hero .btn.sfc-continue:hover { background: rgba(214, 232, 189, .12); border-color: rgba(214, 232, 189, .8); transform: translate3d(0, -1px, 0); }

/* ---------------------------------------------------------------- home: "Bugün" panel */
.sfc-today { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 14px; margin: 18px 0 4px; }
.sfc-tcard {
  position: relative; overflow: hidden; border-radius: 20px; padding: 20px 20px 18px;
  background: #fbfcf7; border: 1px solid rgba(42, 76, 53, .1); box-shadow: 0 6px 22px rgba(42, 68, 47, .045);
  color: #203b2e; display: flex; flex-direction: column; min-height: 196px;
}
.sfc-tcard .sfc-k { font: 800 9px/1 "DM Sans", sans-serif; letter-spacing: 2.2px; color: #738f76; margin-bottom: 12px; }
.sfc-tcard h3 { font: 700 clamp(18px, 1.35vw, 22px)/1.2 Manrope, sans-serif; letter-spacing: -.6px; margin: 0 0 14px; color: #1f392f; }
.sfc-tcard h4 { font: 700 16px/1.25 Manrope, sans-serif; letter-spacing: -.3px; margin: 2px 0 4px; color: #1f392f; }
.sfc-tcard p { font-size: 11.5px; line-height: 1.5; color: #6d7f75; margin: 0 0 10px; }
.sfc-count { display: flex; align-items: baseline; gap: 6px; margin-bottom: 6px; }
.sfc-count b { font: 800 46px/1 Manrope, sans-serif; letter-spacing: -2.4px; color: #2d5440; }
.sfc-count span { font: 700 13px/1 "DM Sans", sans-serif; color: #71877a; }
.sfc-link, .sfc-btn { margin-top: auto; align-self: flex-start; font: 800 11.5px/1 "DM Sans", sans-serif; text-decoration: none; }
.sfc-link { color: #2d5440; padding: 8px 0 0; }
.sfc-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.sfc-btn { background: #1d382b; color: #eef6e2; padding: 11px 15px; border-radius: 10px; transition: transform .4s var(--sfc-ease), background .25s; }
.sfc-btn:hover { background: #244936; transform: translate3d(0, -1px, 0); }

/* goal card (dark, the hero of the panel) */
.sfc-goal { flex-direction: row; align-items: center; gap: 22px; background: linear-gradient(135deg, #1f3d2e 0%, #2a5139 100%); border-color: transparent; color: #f2f5ed; }
.sfc-goal .sfc-k { color: #b8d49a; }
.sfc-goal h3 { color: #f2f5ed; }
.sfc-goal-ring { position: relative; flex: none; width: 132px; height: 132px; }
.sfc-goal-ring svg circle:first-of-type { stroke: rgba(255, 255, 255, .1); }
.sfc-goal-num { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.sfc-goal-num b { font: 800 34px/1 Manrope, sans-serif; letter-spacing: -1.6px; color: #fff; }
.sfc-goal-num span { font: 700 10.5px/1 "DM Sans", sans-serif; color: rgba(209, 223, 208, .75); margin-top: 4px; }
.sfc-goal-copy { min-width: 0; flex: 1; }
.sfc-starts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.sfc-starts a {
  display: block; text-decoration: none; border-radius: 12px; padding: 11px 10px 10px;
  background: rgba(255, 255, 255, .07); border: 1px solid rgba(214, 232, 189, .2); color: #eef4e8;
  transition: background .25s ease, border-color .25s ease, transform .4s var(--sfc-ease);
}
.sfc-starts a:first-child { background: #d6e8bd; border-color: #d6e8bd; color: #1d382b; }
.sfc-starts a:hover { transform: translate3d(0, -2px, 0); border-color: rgba(214, 232, 189, .7); }
.sfc-starts b { display: block; font: 800 16px/1 Manrope, sans-serif; letter-spacing: -.4px; }
.sfc-starts span { display: block; margin-top: 5px; font: 700 10px/1.1 "DM Sans", sans-serif; opacity: .8; }

/* streak */
.sfc-flame { width: 20px; height: 26px; margin-left: auto; align-self: center; border-radius: 50% 50% 50% 50% / 62% 62% 38% 38%; background: transparent; border: 2px dashed #cfd8c8; }
.sfc-flame.lit { border: 0; width: 22px; height: 28px; background: radial-gradient(60% 55% at 50% 70%, #ffe7a8 0%, #f6b25c 45%, #e8743f 100%); box-shadow: 0 6px 18px rgba(232, 116, 63, .35); animation: sfcFlicker 2.4s ease-in-out infinite; transform-origin: 50% 90%; }
.sfc-week { list-style: none; display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; padding: 0; margin: 8px 0 12px; }
.sfc-week li { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.sfc-week li i { width: 100%; max-width: 26px; aspect-ratio: 1; border-radius: 8px 8px 3px 8px; background: #edf1e7; border: 1px solid rgba(42, 76, 53, .08); }
.sfc-week li.on i { background: #8fb68e; border-color: #8fb68e; }
.sfc-week li.today i { box-shadow: 0 0 0 2px #fbfcf7, 0 0 0 3.5px #2d5440; }
.sfc-week li span { font: 700 8.5px/1 "DM Sans", sans-serif; color: #8a978f; }
.sfc-week li.today span { color: #2d5440; }

/* exam */
.sfc-exam .sfc-bar { height: 6px; border-radius: 4px; background: #e9eee4; overflow: hidden; margin: 6px 0 6px; }
.sfc-exam .sfc-bar i { display: block; height: 100%; width: var(--w); border-radius: 4px; background: #8fb68e; transform-origin: 0 50%; }
.sfc-exam small { font: 700 10px/1 "DM Sans", sans-serif; color: #71877a; }
.sfc-exam.soon { background: linear-gradient(180deg, #fff7ef 0%, #fbfcf7 60%); border-color: rgba(238, 185, 142, .55); }
.sfc-exam.soon .sfc-count b { color: #b0683f; }
.sfc-exam.urgent { background: linear-gradient(180deg, #fdf0ee 0%, #fbfcf7 60%); border-color: rgba(216, 120, 104, .55); }
.sfc-exam.urgent .sfc-count b { color: #b24c3c; }
.sfc-exam.soon .sfc-bar i { background: #eeb98e; } .sfc-exam.urgent .sfc-bar i { background: #d88a7c; }

/* continue */
.sfc-cont .sfc-mini { display: flex; justify-content: space-between; align-items: baseline; padding: 10px 12px; margin: 2px 0 12px; border-radius: 12px; background: #f1f5ec; }
.sfc-cont .sfc-mini span { font: 700 10px/1 "DM Sans", sans-serif; color: #71877a; }
.sfc-cont .sfc-mini b { font: 800 15px/1 Manrope, sans-serif; color: #2d5440; }

/* entrance (transform/opacity only, once per render) */
.sfc-today .sfc-tcard { opacity: 0; transform: translate3d(0, 18px, 0); }
.sfc-today.sfc-revealed .sfc-tcard { opacity: 1; transform: none; transition: opacity .7s var(--sfc-ease), transform .8s var(--sfc-ease); }
.sfc-today.sfc-revealed .sfc-tcard:nth-child(2) { transition-delay: .07s; }
.sfc-today.sfc-revealed .sfc-tcard:nth-child(3) { transition-delay: .14s; }
.sfc-today.sfc-revealed .sfc-tcard:nth-child(4) { transition-delay: .21s; }
.sfc-today .sfc-today-arc { stroke-dashoffset: var(--c); }
.sfc-today.sfc-revealed .sfc-today-arc { stroke-dashoffset: var(--o); transition: stroke-dashoffset 1.4s var(--sfc-ease) .3s; }
.sfc-today .sfc-bar i { transform: scaleX(0); }
.sfc-today.sfc-revealed .sfc-bar i { transform: scaleX(1); transition: transform 1.1s var(--sfc-ease) .45s; }
html.sfc-full .sfc-tcard.sfc-tilt.sfc-tilting { transition: transform .12s linear, box-shadow .35s ease, opacity .7s var(--sfc-ease); }

/* ---------------------------------------------------------------- every page: accented headline + entrance */
html.sfc-on .main.page h1 .sfc-accent { font-family: "DM Serif Display", Georgia, serif; font-style: italic; font-weight: 400; letter-spacing: -.01em; color: #5f8c63; }
html.sfc-on .main.page h1 .sfc-accent .sfc-wi { font-style: italic; }
html.sfc-on .sfc-pagehead h1 { text-wrap: balance; }
html.sfc-on .sfc-pagehead > :not(h1) { opacity: 0; transform: translate3d(0, 10px, 0); }
html.sfc-on .sfc-pagehead.sfc-revealed > :not(h1) { opacity: 1; transform: none; transition: opacity .6s var(--sfc-ease) .35s, transform .7s var(--sfc-ease) .35s; }
html.sfc-on .sfc-pagehead .sfc-wi { transform: translate3d(0, 108%, 0); }
html.sfc-on .sfc-pagehead.sfc-revealed .sfc-wi { transform: none; transition: transform .9s var(--sfc-ease); transition-delay: calc(var(--i) * 45ms); }

/* ---------------------------------------------------------------- timer: live progress ring + focus glow */
html.sfc-on #p-timer .timer-orbit { position: relative; }
.sfc-tring { position: absolute; inset: -16px; pointer-events: none; }
.sfc-tring svg { width: 100%; height: 100%; overflow: visible; }
.sfc-tring .sfc-tarc { transition: stroke-dashoffset .95s linear; }
.sfc-tglow { position: absolute; inset: 6%; border-radius: 50%; background: radial-gradient(circle, rgba(185, 223, 122, .32) 0%, rgba(185, 223, 122, 0) 68%); opacity: 0; z-index: -1; }
html.sfc-on #p-timer.sfc-running .sfc-tglow { opacity: 1; animation: sfcBreath 4.8s ease-in-out infinite; }
html.sfc-lite #p-timer.sfc-running .sfc-tglow { animation: none; }
#start.sfc-cue { position: relative; }
#start.sfc-cue::after { content: ""; position: absolute; inset: -6px; border-radius: 12px; border: 2px solid #8fb68e; pointer-events: none; animation: sfcCue 1.3s var(--sfc-ease) 3; }

/* ---------------------------------------------------------------- courses / exams / analytics */
html.sfc-on .course-card:not(.add-card) { transition: transform .55s var(--sfc-ease), box-shadow .35s ease; }
html.sfc-on .course-card:not(.add-card):hover { box-shadow: 0 18px 44px rgba(42, 68, 47, .09); }
html.sfc-on #p-exams .exam-row { position: relative; overflow: hidden; }
html.sfc-on #p-exams .exam-row::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #8fb68e; opacity: .7; }
html.sfc-on #p-exams .exam-row.sfc-soon::before { background: #eeb98e; opacity: 1; }
html.sfc-on #p-exams .exam-row.sfc-urgent::before { background: #d8786a; opacity: 1; }
html.sfc-on #p-exams .exam-row.sfc-soon .exam-date { background: #fbe9dc !important; color: #a5684a !important; }
html.sfc-on #p-exams .exam-row.sfc-urgent .exam-date { background: #f8dcd7 !important; color: #a23e30 !important; }
html.sfc-on #p-analytics .stat { transition: transform .45s var(--sfc-ease), box-shadow .3s ease; }
html.sfc-on #p-analytics .stat:hover { transform: translate3d(0, -2px, 0); box-shadow: 0 14px 34px rgba(42, 68, 47, .07); }

/* ---------------------------------------------------------------- responsive */
@media (max-width: 1560px) { .sfc-chip.c3 { display: none; } }   /* keep the headline clear on laptop widths */
@media (max-width: 1380px) { .sfc-today { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .sfc-today { grid-template-columns: minmax(0, 1fr); }
  .sfc-goal { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 1320px) {
  .sfc-chip.c1 { right: -4%; bottom: 14%; }
  .sfc-chip.c2 { right: -6%; top: 6%; }
}
@media (max-width: 1180px) {
  .sfc-stage { width: clamp(240px, 29vw, 330px); right: 22px; }
  .sfc-chip.c1 { display: none; }
  .sfc-chip.c2 { right: -2%; top: 2%; }
  html.sfc-on #p-index .hero .hero-copy { max-width: 62% !important; }
}
@media (max-width: 900px) {
  .sfc-stage { top: 26px; right: 50%; width: 230px; transform: translate3d(50%, 0, 0); }
  .sfc-chip, .sfc-time, .sfc-spot { display: none; }
  html.sfc-on #p-index .hero { padding-top: 280px !important; }
  html.sfc-on #p-index .hero .hero-copy { max-width: 100% !important; }
}
@media (max-width: 520px) {
  .sfc-stage { width: 190px; top: 20px; }
  html.sfc-on #p-index .hero { padding-top: 230px !important; }
}

/* ---------------------------------------------------------------- keyframes (transform/opacity only) */
@keyframes sfcSpin { to { transform: rotate(360deg); } }
@keyframes sfcFlicker { 0%, 100% { transform: scale(1, 1); } 50% { transform: scale(.94, 1.06); } }
@keyframes sfcBreath { 0%, 100% { opacity: .55; transform: scale(.97); } 50% { opacity: 1; transform: scale(1.04); } }
@keyframes sfcCue { 0% { opacity: 1; transform: scale(.96); } 100% { opacity: 0; transform: scale(1.18); } }
@keyframes sfcSway { 0%, 100% { transform: rotateY(-9deg) translate3d(0, -4px, 0); } 50% { transform: rotateY(11deg) translate3d(0, 6px, 0); } }
@keyframes sfcFloat { 0%, 100% { transform: translate3d(0, 0, 0); } 50% { transform: translate3d(0, -8px, 0); } }
@keyframes sfcShine { 0% { transform: translate3d(0, 0, 0) skewX(-12deg); } 100% { transform: translate3d(520%, 0, 0) skewX(-12deg); } }
@keyframes sfcShine2 { 0% { transform: translate3d(0, 0, 0) skewX(-12deg); } 100% { transform: translate3d(520%, 0, 0) skewX(-12deg); } }

/* =====================================================================
   v3 · ENGAGEMENT — onboarding journey, quests, badges, levels, streak
   transform / opacity / translate / scale only
   ===================================================================== */

/* ---------- onboarding journey (new users) */
.sfc-journey { position: relative; overflow: hidden; margin: 18px 0 0; padding: 22px 24px 20px; border-radius: 22px;
  background: linear-gradient(120deg, #fbfcf7 0%, #eef5e4 100%); border: 1px solid rgba(42, 76, 53, .12); box-shadow: 0 8px 26px rgba(42, 68, 47, .05);
  opacity: 0; translate: 0 14px; transition: opacity .7s var(--sfc-ease), translate .8s var(--sfc-ease); }
.sfc-journey.sfc-revealed { opacity: 1; translate: 0 0; }
.sfc-journey.out { opacity: 0; translate: 0 -12px; }
.sfc-journey::after { content: ""; position: absolute; right: -80px; top: -120px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(185, 223, 122, .28), rgba(185, 223, 122, 0) 70%); pointer-events: none; }
.sfc-j-head { position: relative; z-index: 1; display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.sfc-j-head .sfc-k { font: 800 9px/1 "DM Sans", sans-serif; letter-spacing: 2.2px; color: #738f76; margin-bottom: 8px; }
.sfc-j-head h3 { font: 700 clamp(18px, 1.5vw, 24px)/1.2 Manrope, sans-serif; letter-spacing: -.6px; margin: 0; color: #1f392f; }
.sfc-j-head h3 em { font-family: "DM Serif Display", Georgia, serif; font-style: italic; font-weight: 400; color: #5f8c63; letter-spacing: 0; }
.sfc-j-ring { position: relative; flex: none; width: 66px; height: 66px; border-radius: 50%; display: grid; place-items: center;
  background: conic-gradient(#2d5440 calc(var(--p) * 1%), #dfe8d6 0); }
.sfc-j-ring::before { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: #f6f9f1; }
.sfc-j-ring b { position: relative; font: 800 15px/1 Manrope, sans-serif; color: #1f392f; }
.sfc-j-gift { margin-left: auto; display: flex; align-items: center; gap: 10px; }
.sfc-j-gift small { font: 800 10.5px/1.3 "DM Sans", sans-serif; color: #71877a; max-width: 90px; }
.sfc-journey .sfc-btn { margin: 0 0 0 auto; border: 0; cursor: pointer; }
.sfc-j-steps { position: relative; z-index: 1; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 10px; }
.sfc-j-steps li { position: relative; display: flex; flex-direction: column; gap: 4px; min-height: 138px; padding: 14px; border-radius: 16px;
  background: rgba(255, 255, 255, .75); border: 1px solid rgba(42, 76, 53, .08);
  opacity: 0; translate: 0 12px; }
.sfc-journey.sfc-revealed .sfc-j-steps li { opacity: 1; translate: 0 0; transition: opacity .6s var(--sfc-ease), translate .7s var(--sfc-ease), box-shadow .3s ease; transition-delay: calc(var(--j) * 70ms + 150ms); }
.sfc-j-steps b { font: 700 13.5px/1.25 Manrope, sans-serif; color: #1f392f; letter-spacing: -.2px; }
.sfc-j-steps small { font-size: 11px; line-height: 1.45; color: #6d7f75; }
.sfc-j-dot { position: relative; width: 28px; height: 28px; margin-bottom: 6px; border-radius: 9px 9px 3px 9px; display: grid; place-items: center;
  font: 800 12px/1 Manrope, sans-serif; background: #e3eadb; color: #55765e; }
.sfc-j-steps li.done { background: #edf4e5; }
.sfc-j-steps li.done .sfc-j-dot { background: #8fb68e; color: #fff; }
.sfc-j-steps li.done b { color: #55765e; }
.sfc-j-steps li.cur { background: #1f3d2e; border-color: transparent; box-shadow: 0 16px 36px rgba(31, 61, 46, .22); }
.sfc-j-steps li.cur b { color: #f2f5ed; }
.sfc-j-steps li.cur small { color: rgba(209, 223, 208, .8); }
.sfc-j-steps li.cur .sfc-j-dot { background: #d6e8bd; color: #1d382b; }
.sfc-j-steps li.cur .sfc-j-dot::after { content: ""; position: absolute; inset: -4px; border-radius: 12px 12px 5px 12px; border: 2px solid #d6e8bd; animation: sfcPulse 1.8s var(--sfc-ease) infinite; }
.sfc-j-cta { margin-top: auto; padding-top: 8px; align-self: flex-start; font: 800 11.5px/1 "DM Sans", sans-serif; color: #2d5440; text-decoration: none; }
.sfc-j-steps li.cur .sfc-j-cta { background: #d6e8bd; color: #1d382b; padding: 10px 13px; border-radius: 10px; transition: transform .4s var(--sfc-ease); }
.sfc-j-steps li.cur .sfc-j-cta:hover { transform: translate3d(0, -2px, 0); }

/* ---------- home row 2 */
.sfc-today.sfc-row2 { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1fr); margin-top: 14px; }

/* quests */
.sfc-quests h3 { margin-bottom: 14px; }
.sfc-quests ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.sfc-quests li { display: flex; align-items: center; gap: 12px; }
.sfc-qico { flex: none; width: 30px; height: 30px; border-radius: 10px 10px 4px 10px; display: grid; place-items: center; font-size: 12px; background: #eef2e8; color: #55765e; }
.sfc-quests li.done .sfc-qico { background: #8fb68e; color: #fff; }
.sfc-qtxt { flex: 1; min-width: 0; }
.sfc-qtxt b { display: block; font: 700 12.5px/1.2 Manrope, sans-serif; color: #1f392f; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sfc-quests li.done .sfc-qtxt b { color: #71877a; }
.sfc-quests li > a { flex: none; font: 800 11px/1 "DM Sans", sans-serif; color: #1d382b; background: #e3eedb; padding: 8px 11px; border-radius: 9px; text-decoration: none; transition: background .25s ease; }
.sfc-quests li > a:hover { background: #d6e8bd; }
.sfc-quests li > small { flex: none; font: 800 10px/1 "DM Sans", sans-serif; color: #4f7c58; }
.sfc-quests.perfect { background: linear-gradient(160deg, #fffbea 0%, #fbfcf7 60%); border-color: rgba(232, 194, 90, .5); }
.sfc-qnote { margin: 14px 0 0 !important; font-size: 10.5px !important; }
.sfc-qbar { width: 100%; height: 6px; margin-top: 6px; border-radius: 4px; background: #e9eee4; overflow: hidden; }
.sfc-qbar.big { height: 9px; margin: 2px 0 10px; }
.sfc-qbar i { display: block; height: 100%; width: var(--w); border-radius: 4px; background: linear-gradient(90deg, #9fcf86, #4f7c58); transform-origin: 0 50%; transform: scaleX(0); }
.sfc-revealed .sfc-qbar i, .sfc-sdone.in .sfc-qbar i { transform: scaleX(1); transition: transform 1.1s var(--sfc-ease) .35s; }

/* medals */
.sfc-medal { --s: 64px; position: relative; flex: none; display: inline-grid; place-items: center; width: var(--s); height: var(--s); }
.sfc-medal svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.sfc-medal i { position: relative; overflow: hidden; width: 74%; height: 74%; display: grid; place-items: center; font-style: normal; font-size: calc(var(--s) * .3); line-height: 1;
  border-radius: 32% 32% 12% 32%; background: #eef1ea; color: #a7b3aa; box-shadow: inset 0 0 0 1px rgba(42, 76, 53, .08); }
.sfc-medal.got i { width: 86%; height: 86%; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .18); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .5), inset 0 -6px 12px rgba(0, 0, 0, .12), 0 8px 18px rgba(42, 68, 47, .18); }
.sfc-medal.got i::after { content: ""; position: absolute; top: -30%; bottom: -30%; left: -70%; width: 40%; background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .55), rgba(255, 255, 255, 0)); transform: skewX(-14deg); }
.sfc-badge2:hover .sfc-medal.got i::after, .sfc-modal.in .sfc-medal.got i::after { transform: translate3d(420%, 0, 0) skewX(-14deg); transition: transform .9s var(--sfc-ease); }
.sfc-medal.t-sage.got i { background: linear-gradient(140deg, #bfdcae 0%, #5f8c63 100%); }
.sfc-medal.t-bronze.got i { background: linear-gradient(140deg, #f5cfa8 0%, #bf7646 100%); }
.sfc-medal.t-silver.got i { background: linear-gradient(140deg, #eef2f5 0%, #8b99a5 100%); }
.sfc-medal.t-gold.got i { background: linear-gradient(140deg, #fff0b3 0%, #d29a24 100%); }

/* next badge + level (home) */
.sfc-nb { display: flex; align-items: center; gap: 13px; margin-bottom: 12px; }
.sfc-nb b { display: block; font: 700 15px/1.2 Manrope, sans-serif; color: #1f392f; letter-spacing: -.3px; }
.sfc-nb small { display: block; margin-top: 2px; font-size: 11px; line-height: 1.4; color: #6d7f75; }
.sfc-nb em { display: block; margin-top: 4px; font: 800 11px/1 "DM Sans", sans-serif; font-style: normal; color: #b0683f; }
.sfc-nb.small { opacity: .72; }
.sfc-nb.small b { font-size: 12.5px; }
.sfc-lvl-top { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; }
.sfc-lvl-top h4 { margin: 0 0 3px !important; }
.sfc-lvl-top small { font: 800 11px/1 "DM Sans", sans-serif; color: #71877a; }
.sfc-lvl-hex { flex: none; width: 58px; height: 58px; display: grid; place-items: center; background: linear-gradient(140deg, #2a5139, #1d382b);
  clip-path: polygon(25% 4%, 75% 4%, 100% 50%, 75% 96%, 25% 96%, 0 50%); }
.sfc-lvl-hex b { font: 800 22px/1 Manrope, sans-serif; color: #dff2aa; }

/* ---------- Gelişim hub */
html.sfc-on #p-gelisim .sf-achievements.sfc-replaced { display: none !important; }
.sfc-hub { margin: 18px 0 26px; }
.sfc-hub-top { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) minmax(0, 1.2fr); gap: 14px; margin-bottom: 14px; }
.sfc-hcard { position: relative; overflow: hidden; padding: 22px; border-radius: 22px; background: #fbfcf7; border: 1px solid rgba(42, 76, 53, .1); box-shadow: 0 6px 22px rgba(42, 68, 47, .045); color: #203b2e; }
.sfc-hcard .sfc-k { font: 800 9px/1 "DM Sans", sans-serif; letter-spacing: 2.2px; color: #738f76; margin-bottom: 14px; }
.sfc-hcard h3 { font: 700 clamp(18px, 1.4vw, 23px)/1.2 Manrope, sans-serif; letter-spacing: -.6px; margin: 0 0 6px; color: #1f392f; }
.sfc-hcard p { font-size: 11.5px; line-height: 1.5; color: #6d7f75; margin: 0; }
.sfc-hub .sfc-hub-top > *, .sfc-hub .sfc-hbadges { opacity: 0; translate: 0 16px; }
.sfc-hub.sfc-revealed .sfc-hub-top > *, .sfc-hub.sfc-revealed .sfc-hbadges { opacity: 1; translate: 0 0; transition: opacity .7s var(--sfc-ease), translate .8s var(--sfc-ease); }
.sfc-hub.sfc-revealed .sfc-hub-top > :nth-child(2) { transition-delay: .08s; }
.sfc-hub.sfc-revealed .sfc-hub-top > :nth-child(3) { transition-delay: .16s; }
.sfc-hub.sfc-revealed .sfc-hbadges { transition-delay: .22s; }

/* streak card */
.sfc-hstreak { background: linear-gradient(150deg, #1f3d2e 0%, #2b523a 100%); border-color: transparent; color: #f2f5ed; }
.sfc-hstreak .sfc-k { color: #b8d49a; }
.sfc-hstreak h3 { color: #fff; }
.sfc-hstreak p { color: rgba(209, 223, 208, .85); }
.sfc-hs-main { display: flex; align-items: center; gap: 22px; }
.sfc-bigflame { position: relative; flex: none; width: 92px; height: 116px; display: grid; place-items: end center; }
.sfc-bigflame i { position: absolute; inset: 0; border-radius: 50% 50% 46% 46% / 62% 62% 38% 38%;
  background: radial-gradient(60% 55% at 50% 72%, #ffe7a8 0%, #f6b25c 45%, #e8743f 100%); box-shadow: 0 14px 40px rgba(232, 116, 63, .38);
  transform-origin: 50% 90%; animation: sfcFlicker 2.4s ease-in-out infinite; }
.sfc-bigflame i::after { content: ""; position: absolute; left: 30%; right: 30%; bottom: 9%; height: 44%; border-radius: 50% 50% 45% 45% / 62% 62% 38% 38%; background: #fff3cf; opacity: .75; }
.sfc-bigflame b { position: relative; margin-bottom: 16px; font: 800 32px/1 Manrope, sans-serif; letter-spacing: -1px; color: #7a2f12; }
.sfc-bigflame.dim i { background: radial-gradient(60% 55% at 50% 72%, #f1f4ee 0%, #cdd7c8 100%); box-shadow: none; animation: none; }
.sfc-bigflame.dim i::after { background: #fff; opacity: .5; }
.sfc-bigflame.dim b { color: #4d6656; }
.sfc-hs-meta { display: flex; gap: 22px; margin-top: 12px; }
.sfc-hs-meta small { display: block; font: 700 9.5px/1 "DM Sans", sans-serif; color: rgba(184, 212, 154, .85); margin-bottom: 4px; }
.sfc-hs-meta b { font: 800 17px/1 Manrope, sans-serif; color: #fff; }
.sfc-ladder { margin: 22px 0 18px; }
.sfc-ladder ul { position: relative; list-style: none; margin: 0; padding: 0; display: flex; justify-content: space-between; }
.sfc-ladder ul::before { content: ""; position: absolute; left: 8px; right: 8px; top: 7px; height: 3px; border-radius: 2px; background: rgba(255, 255, 255, .12); }
.sfc-ladder li { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; }
.sfc-ladder li i { width: 17px; height: 17px; border-radius: 50%; background: #2b523a; border: 2px solid rgba(255, 255, 255, .25); }
.sfc-ladder li.on i { background: #f6b25c; border-color: #f6b25c; box-shadow: 0 0 0 4px rgba(246, 178, 92, .18); }
.sfc-ladder li.next i { border-color: #dff2aa; animation: sfcPulseDot 1.8s ease-in-out infinite; }
.sfc-ladder li span { font: 800 10px/1 "DM Sans", sans-serif; color: rgba(242, 245, 237, .7); }
.sfc-ladder li.on span { color: #ffd59c; }
.sfc-cal-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 8px; font: 700 10px/1 "DM Sans", sans-serif; color: rgba(209, 223, 208, .75); }
.sfc-cal-head i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; margin: 0 4px 0 10px; vertical-align: -1px; }
.sfc-cal { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 5px; margin-bottom: 16px; }
.sfc-cal i { aspect-ratio: 1; border-radius: 5px; background: rgba(255, 255, 255, .08); }
.sfc-cal i.l1, .sfc-cal-head i.l1 { background: #8fb68e; }
.sfc-cal i.l2, .sfc-cal-head i.l2 { background: #dff2aa; }
.sfc-cal i.today { box-shadow: 0 0 0 2px #f6b25c; }
.sfc-hub .sfc-cal i { opacity: 0; scale: .4; }
.sfc-hub.sfc-revealed .sfc-cal i { opacity: 1; scale: 1; transition: opacity .5s ease .35s, scale .7s var(--sfc-ease) .35s; }
.sfc-hstreak .sfc-btn { display: inline-block; background: #d6e8bd; color: #1d382b; }
.sfc-hstreak .sfc-btn:hover { background: #e4f0d2; }

/* level card */
.sfc-hlvl { text-align: center; }
.sfc-hl-ring { position: relative; width: 136px; height: 136px; margin: 0 auto 12px; }
.sfc-hl-ring svg { width: 100%; height: 100%; }
.sfc-hl-ring > div { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.sfc-hl-ring small { font: 800 9px/1 "DM Sans", sans-serif; letter-spacing: 2px; color: #738f76; }
.sfc-hl-ring b { font: 800 42px/1 Manrope, sans-serif; letter-spacing: -1.5px; color: #2d5440; margin-top: 4px; }
.sfc-hl-arc { stroke-dashoffset: var(--c); }
.sfc-revealed .sfc-hl-arc { stroke-dashoffset: var(--o); transition: stroke-dashoffset 1.4s var(--sfc-ease) .3s; }
.sfc-hl-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 16px; }
.sfc-hl-stats span { padding: 11px 6px; border-radius: 12px; background: #f1f5ec; }
.sfc-hl-stats b { display: block; font: 800 18px/1 Manrope, sans-serif; color: #2d5440; }
.sfc-hl-stats small { display: block; margin-top: 4px; font: 700 9.5px/1 "DM Sans", sans-serif; color: #71877a; }
.sfc-hub .sfc-quests { min-height: 0; }

/* badge collection */
.sfc-hb-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.sfc-hb-head h3 { margin: 0; }
.sfc-chips { display: flex; gap: 6px; flex-wrap: wrap; }
.sfc-chips button { cursor: pointer; padding: 8px 13px; border-radius: 999px; border: 1px solid rgba(42, 76, 53, .15); background: transparent; font: 800 11px/1 "DM Sans", sans-serif; color: #55765e; transition: background .25s ease, color .25s ease; }
.sfc-chips button:hover { background: #eef3e8; }
.sfc-chips button.on { background: #1d382b; border-color: #1d382b; color: #eef6e2; }
.sfc-bprog { height: 8px; margin: 16px 0 20px; border-radius: 5px; background: #e9eee4; overflow: hidden; }
.sfc-bprog i { display: block; height: 100%; width: var(--w); border-radius: 5px; background: linear-gradient(90deg, #f6d36b, #8fb68e 60%, #4f7c58); transform-origin: 0 50%; transform: scaleX(0); }
.sfc-hub.sfc-revealed .sfc-bprog i { transform: scaleX(1); transition: transform 1.3s var(--sfc-ease) .4s; }
.sfc-bcat { display: flex; align-items: center; gap: 8px; margin: 4px 0 10px; font: 800 10.5px/1 "DM Sans", sans-serif; letter-spacing: 1.8px; text-transform: uppercase; color: #738f76; }
.sfc-bcat small { letter-spacing: .5px; color: #a3b0a6; }
.sfc-bgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; margin-bottom: 18px; }
.sfc-badge2 { display: flex; flex-direction: column; align-items: flex-start; gap: 3px; padding: 15px 14px 13px; border-radius: 16px; background: #f5f8f1; border: 1px solid rgba(42, 76, 53, .06);
  transition: translate .45s var(--sfc-ease), box-shadow .3s ease, background .3s ease; }
.sfc-badge2.got { background: #fff; border-color: rgba(42, 76, 53, .1); }
.sfc-badge2:hover { translate: 0 -3px; box-shadow: 0 14px 30px rgba(42, 68, 47, .08); }
.sfc-badge2 b { margin-top: 8px; font: 700 13.5px/1.2 Manrope, sans-serif; color: #1f392f; letter-spacing: -.2px; }
.sfc-badge2:not(.got) b { color: #4f6457; }
.sfc-badge2 small { font-size: 10.5px; line-height: 1.4; color: #76877c; }
.sfc-badge2 em { margin-top: auto; padding-top: 6px; font: 800 10px/1 "DM Sans", sans-serif; font-style: normal; color: #8a978f; }
.sfc-badge2 em.ok { color: #4f7c58; }
.sfc-badge2 .sfc-qbar { margin-top: 8px; height: 5px; }
.sfc-hub .sfc-badge2 { opacity: 0; scale: .94; }
.sfc-hub.sfc-revealed .sfc-badge2 { opacity: 1; scale: 1; transition: opacity .5s var(--sfc-ease), scale .6s var(--sfc-ease), translate .45s var(--sfc-ease), box-shadow .3s ease; transition-delay: calc(var(--j) * 35ms + 250ms), calc(var(--j) * 35ms + 250ms), 0s, 0s; }

/* ---------- celebration: modal, confetti, session toast, streak nudge */
.sfc-modal { position: fixed; inset: 0; z-index: 10000; display: grid; place-items: center; padding: 16px; background: rgba(18, 32, 24, .52); opacity: 0; transition: opacity .25s ease; }
.sfc-modal.in { opacity: 1; }
.sfc-modal-card { width: min(420px, 100%); padding: 32px 26px 22px; border-radius: 26px; background: #fbfcf7; text-align: center; color: #203b2e;
  box-shadow: 0 30px 80px rgba(0, 0, 0, .3); transform: translate3d(0, 26px, 0) scale(.94); transition: transform .55s var(--sfc-ease); }
.sfc-modal.in .sfc-modal-card { transform: none; }
.sfc-modal .sfc-k { font: 800 9.5px/1 "DM Sans", sans-serif; letter-spacing: 2.4px; color: #b0683f; margin-bottom: 10px; }
.sfc-modal h3 { font: 800 24px/1.2 Manrope, sans-serif; letter-spacing: -.8px; margin: 0 0 8px; color: #1f392f; }
.sfc-modal p { font-size: 12.5px; line-height: 1.55; color: #6d7f75; margin: 0; }
.sfc-unlock-medals { display: flex; justify-content: center; gap: 10px; margin-bottom: 18px; perspective: 600px; }
.sfc-modal.in .sfc-unlock-medals .sfc-medal { animation: sfcMedalIn 1.1s var(--sfc-ease) both; }
.sfc-modal.in .sfc-unlock-medals .sfc-medal:nth-child(2) { animation-delay: .12s; }
.sfc-modal.in .sfc-unlock-medals .sfc-medal:nth-child(3) { animation-delay: .24s; }
.sfc-modal .sfc-bigflame { margin: 0 auto 16px; }
.sfc-modal.in .sfc-bigflame { animation: sfcMedalIn 1.1s var(--sfc-ease) both; }
.sfc-modal-actions { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 20px; }
.sfc-modal-actions .sfc-btn { margin: 0; border: 0; cursor: pointer; font-size: 12.5px; padding: 12px 20px; }
.sfc-modal-actions .sfc-link { margin: 0; padding: 0; }

.sfc-confetti { position: fixed; z-index: 10001; width: 0; height: 0; pointer-events: none; }
.sfc-confetti i { position: absolute; left: -4px; top: -6px; width: 8px; height: 12px; border-radius: 2px; background: var(--c);
  animation: sfcBurst 1.5s cubic-bezier(.15, .7, .3, 1) var(--d) both; }
.sfc-confetti i:nth-child(3n) { width: 7px; height: 7px; border-radius: 50%; }

.sfc-sdone { position: fixed; left: 50%; bottom: 104px; z-index: 9998; display: flex; align-items: center; gap: 14px; width: min(430px, calc(100vw - 32px));
  padding: 14px 12px 14px 14px; border-radius: 20px; background: #1d382b; color: #f2f5ed; box-shadow: 0 22px 56px rgba(0, 0, 0, .3);
  opacity: 0; transform: translate3d(-50%, 30px, 0); transition: transform .6s var(--sfc-ease), opacity .4s ease; }
.sfc-sdone.in { opacity: 1; transform: translate3d(-50%, 0, 0); }
.sfc-sdone-xp { flex: none; padding: 13px 12px; border-radius: 14px; background: #dff2aa; color: #1d382b; font: 800 19px/1 Manrope, sans-serif; letter-spacing: -.5px; }
.sfc-sdone-body { flex: 1; min-width: 0; }
.sfc-sdone-body > b { display: block; font: 700 14px/1.2 Manrope, sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sfc-sdone-lvl { margin-top: 6px; }
.sfc-sdone-lvl span { font: 700 10.5px/1 "DM Sans", sans-serif; color: #b8d49a; }
.sfc-sdone .sfc-qbar { background: rgba(255, 255, 255, .12); }
.sfc-sdone small { display: block; margin-top: 7px; font: 600 10.5px/1.3 "DM Sans", sans-serif; color: rgba(242, 245, 237, .75); }
.sfc-sdone button, .sfc-nudge button { flex: none; align-self: flex-start; width: 28px; height: 28px; border: 0; border-radius: 8px; background: transparent; color: currentColor; opacity: .55; font-size: 18px; line-height: 1; cursor: pointer; }
.sfc-sdone button:hover, .sfc-nudge button:hover { opacity: 1; }

.sfc-nudge { position: fixed; right: 20px; bottom: 108px; z-index: 9997; display: flex; align-items: center; gap: 12px; max-width: min(400px, calc(100vw - 32px));
  padding: 12px 10px 12px 14px; border-radius: 18px; background: #fffaf2; border: 1px solid rgba(232, 116, 63, .3); box-shadow: 0 18px 44px rgba(42, 30, 20, .16); color: #3a2a1d;
  opacity: 0; transform: translate3d(0, 20px, 0); transition: transform .6s var(--sfc-ease), opacity .4s ease; }
.sfc-nudge.in { opacity: 1; transform: none; }
.sfc-nudge .sfc-flame { margin: 0; flex: none; }
.sfc-nudge b { display: block; font: 700 12.5px/1.25 Manrope, sans-serif; }
.sfc-nudge small { display: block; margin-top: 2px; font: 600 10.5px/1.3 "DM Sans", sans-serif; color: #8a6a55; }
.sfc-nudge a { flex: none; padding: 10px 12px; border-radius: 10px; background: #e8743f; color: #fff; font: 800 11px/1 "DM Sans", sans-serif; text-decoration: none; }

/* ---------- timer: next badge / quest line */
.sfc-tnext { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; margin-top: 12px; font: 600 11px/1.3 "DM Sans", sans-serif; color: #5f7468; }
.sfc-tnext b { color: #2d5440; }
.sfc-tnext .sfc-tq { padding: 6px 11px; border-radius: 999px; background: #eef3e8; }

/* ---------- other pages: staggered rise, growing bars & meters */
html.sfc-on .sfc-rise { animation: sfcRise .75s var(--sfc-ease) both; animation-delay: calc(var(--ri, 0) * 55ms + 60ms); }
html.sfc-on .sfc-grow .bar-col i { animation: sfcGrowY 1s var(--sfc-ease) both; transform-origin: 50% 100%; }
html.sfc-on .sfc-grow .bar-col:nth-child(2) i { animation-delay: .06s; }
html.sfc-on .sfc-grow .bar-col:nth-child(3) i { animation-delay: .12s; }
html.sfc-on .sfc-grow .bar-col:nth-child(4) i { animation-delay: .18s; }
html.sfc-on .sfc-grow .bar-col:nth-child(5) i { animation-delay: .24s; }
html.sfc-on .sfc-grow .bar-col:nth-child(6) i { animation-delay: .3s; }
html.sfc-on .sfc-grow .bar-col:nth-child(7) i { animation-delay: .36s; }
html.sfc-on .sfc-grow .progress i, html.sfc-on .sfc-grow .mini-meter i { animation: sfcGrowX 1.1s var(--sfc-ease) .3s both; transform-origin: 0 50%; }

/* ---------- lite / reduced for v3 */
html.sfc-lite .sfc-bigflame i, html.sfc-lite .sfc-j-steps li.cur .sfc-j-dot::after, html.sfc-lite .sfc-ladder li.next i { animation: none !important; }
html.sfc-lite .sfc-badge2:hover { translate: none; }
html.sfc-reduced .sfc-rise, html.sfc-reduced .sfc-grow *, html.sfc-reduced .sfc-modal *, html.sfc-reduced .sfc-bigflame i, html.sfc-reduced .sfc-j-dot::after, html.sfc-reduced .sfc-ladder i { animation: none !important; }
html.sfc-reduced .sfc-journey, html.sfc-reduced .sfc-journey li, html.sfc-reduced .sfc-hub *, html.sfc-reduced .sfc-qbar i, html.sfc-reduced .sfc-bprog i { opacity: 1 !important; translate: none !important; scale: none !important; transform: none !important; transition: none !important; }

/* ---------- responsive v3 */
@media (max-width: 1380px) {
  .sfc-today.sfc-row2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sfc-row2 .sfc-quests { grid-column: 1 / -1; }
  .sfc-hub-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sfc-hub-top .sfc-hstreak { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .sfc-j-gift { display: none; }
  .sfc-j-head { flex-wrap: wrap; }
  .sfc-journey { padding: 18px 16px; }
}
@media (max-width: 640px) {
  .sfc-today.sfc-row2, .sfc-hub-top { grid-template-columns: minmax(0, 1fr); }
  .sfc-hs-main { flex-direction: column; align-items: flex-start; }
  .sfc-cal { grid-template-columns: repeat(7, minmax(0, 1fr)); }
  .sfc-bgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sfc-nudge { right: 16px; left: 16px; max-width: none; }
}

@keyframes sfcPulse { 0% { opacity: .9; transform: scale(1); } 100% { opacity: 0; transform: scale(1.45); } }
@keyframes sfcPulseDot { 0%, 100% { box-shadow: 0 0 0 0 rgba(223, 242, 170, .5); } 50% { box-shadow: 0 0 0 6px rgba(223, 242, 170, 0); } }
@keyframes sfcMedalIn { 0% { opacity: 0; transform: scale(.3) rotateY(-200deg); } 60% { opacity: 1; } 100% { opacity: 1; transform: none; } }
@keyframes sfcBurst {
  0% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(.6); }
  45% { opacity: 1; transform: translate3d(var(--dx), var(--dy), 0) rotate(calc(var(--r) * .5)) scale(1); }
  100% { opacity: 0; transform: translate3d(calc(var(--dx) * 1.25), var(--fy), 0) rotate(var(--r)) scale(.9); }
}
@keyframes sfcRise { from { opacity: 0; translate: 0 18px; } }
@keyframes sfcGrowY { from { scale: 1 0; } }
@keyframes sfcGrowX { from { scale: 0 1; } }
/* journey open: drop the panel's empty duplicates */
.sfc-today.sfc-lean .is-empty { display: none; }
.sfc-today.sfc-lean.sfc-n2 { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); }
.sfc-today.sfc-lean.sfc-n3 { grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr) minmax(0, 1fr); }
@media (max-width: 1380px) { .sfc-today.sfc-lean.sfc-n2, .sfc-today.sfc-lean.sfc-n3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sfc-today.sfc-lean.sfc-n3 .sfc-goal { grid-column: 1 / -1; } }
@media (max-width: 640px) { .sfc-today.sfc-lean.sfc-n2, .sfc-today.sfc-lean.sfc-n3 { grid-template-columns: minmax(0, 1fr); } }
/* badge groups sit side by side on wide screens */
.sfc-bgroups { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 500px), 1fr)); gap: 0 24px; }
.sfc-bgroups.one { grid-template-columns: minmax(0, 1fr); }
.sfc-bgroups .sfc-bgrid { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); }
@media (max-width: 640px) {
  .sfc-j-steps { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -16px; padding: 0 16px 4px; }
  .sfc-j-steps::-webkit-scrollbar { display: none; }
  .sfc-j-steps li { flex: 0 0 72%; min-height: 124px; scroll-snap-align: start; }
}

/* =====================================================================
   v4 · GROWTH — guest timer · live presence · ambience · share · news
   ===================================================================== */
.sfc-guest { position: fixed; right: 20px; bottom: 20px; z-index: 9996; display: flex; align-items: center; gap: 14px; width: min(370px, calc(100vw - 32px));
  padding: 14px 14px 14px 14px; border-radius: 22px; background: linear-gradient(140deg, #1d382b, #2a5139); color: #f2f5ed; box-shadow: 0 22px 56px rgba(0,0,0,.28);
  opacity: 0; transform: translate3d(0, 24px, 0); transition: transform .6s var(--sfc-ease, ease), opacity .4s ease; font-family: "DM Sans", sans-serif; }
.sfc-guest.in { opacity: 1; transform: none; }
.sfc-g-ring { position: relative; flex: none; width: 84px; height: 84px; display: grid; place-items: center; }
.sfc-g-ring svg { position: absolute; inset: 0; }
.sfc-g-arc { transition: stroke-dashoffset .5s linear; }
.sfc-g-ring b { position: relative; font: 800 19px/1 Manrope, sans-serif; letter-spacing: -.4px; }
.sfc-g-copy { min-width: 0; flex: 1; }
.sfc-g-copy small { display: block; font: 800 9px/1 "DM Sans", sans-serif; letter-spacing: 2px; color: #b8d49a; margin-bottom: 5px; }
.sfc-g-copy strong { display: block; font: 700 13.5px/1.25 Manrope, sans-serif; margin-bottom: 10px; }
.sfc-g-btns { display: flex; gap: 6px; }
.sfc-g-btns button { cursor: pointer; border: 0; border-radius: 10px; padding: 9px 12px; background: #dff2aa; color: #1d382b; font: 800 11.5px/1 "DM Sans", sans-serif; }
.sfc-g-btns button.ghost { background: rgba(255,255,255,.1); color: #eef4e8; }
.sfc-g-min { position: absolute; top: 6px; right: 8px; border: 0; background: transparent; color: rgba(255,255,255,.55); font-size: 18px; cursor: pointer; }
.sfc-guest.mini { width: auto; padding: 8px; }
.sfc-guest.mini .sfc-g-copy { display: none; }
.sfc-guest.mini .sfc-g-ring { width: 64px; height: 64px; }
.sfc-guest.mini .sfc-g-min { position: static; }
.sfc-guest.run .sfc-g-ring::after { content: ""; position: absolute; inset: -6px; border-radius: 50%; border: 2px solid rgba(223,242,170,.35); animation: sfcPulse 2.4s ease-out infinite; }

.sfc-amb .sfc-k { font: 800 9px/1 "DM Sans", sans-serif; letter-spacing: 2.2px; color: #738f76; margin-bottom: 8px; }
.sfc-amb h3 { margin: 0 0 12px; }
.sfc-amb-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sfc-amb-grid button { cursor: pointer; display: flex; align-items: center; gap: 8px; padding: 11px 12px; border-radius: 12px; border: 1px solid rgba(42,76,53,.12); background: #f6f8f2;
  font: 700 12px/1.1 "DM Sans", sans-serif; color: #203b2e; transition: background .25s ease, transform .35s var(--sfc-ease, ease); }
.sfc-amb-grid button span { font-size: 16px; }
.sfc-amb-grid button:hover { transform: translate3d(0,-1px,0); }
.sfc-amb-grid button.on { background: #1d382b; color: #eef6e2; border-color: #1d382b; }
.sfc-amb-vol { display: flex; align-items: center; gap: 10px; margin-top: 12px; font: 700 11px/1 "DM Sans", sans-serif; color: #71877a; text-transform: none; letter-spacing: 0; }
.sfc-amb-vol input { flex: 1; accent-color: #4f7c58; }
.sfc-amb.playing { box-shadow: 0 0 0 2px rgba(143,182,142,.35), 0 14px 34px rgba(42,68,47,.08); }

.sfc-sharebtn { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 14px; padding: 9px 13px; border-radius: 10px; background: rgba(255,255,255,.09);
  border: 1px solid rgba(214,232,189,.25); color: #eef4e8; font: 800 11.5px/1 "DM Sans", sans-serif; text-decoration: none; }
.sfc-sharebtn:hover { background: rgba(255,255,255,.16); }
.sfc-sdone small a { color: #dff2aa; font-weight: 800; }
.sfc-share-img { display: block; width: min(220px, 60vw); aspect-ratio: 9 / 16; margin: 14px auto 0; border-radius: 16px; box-shadow: 0 16px 40px rgba(0,0,0,.25); }
.sfc-modal-actions a.sfc-btn { display: inline-block; }

.sfc-news { list-style: none; margin: 16px 0 0; padding: 0; text-align: left; display: flex; flex-direction: column; gap: 10px; }
.sfc-news li { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; border-radius: 14px; background: #f1f5ec; }
.sfc-modal.in .sfc-news li { animation: sfcRise .6s var(--sfc-ease, ease) both; animation-delay: calc(var(--j) * 70ms + 150ms); }
.sfc-news span { font-size: 20px; line-height: 1; }
.sfc-news b { display: block; font: 700 13px/1.25 Manrope, sans-serif; color: #1f392f; }
.sfc-news small { display: block; margin-top: 2px; font-size: 11.5px; line-height: 1.4; color: #6d7f75; }
.sfc-modal-card { max-height: calc(100vh - 32px); overflow: auto; }

html.sfc-lite html.sfc-lite .sfc-guest.run .sfc-g-ring::after { animation: none; }
html.sfc-reduced .sfc-news li { animation: none !important; }
@media (max-width: 640px) { .sfc-guest { right: 16px; left: 16px; bottom: 16px; width: auto; } }

html.sfc-on .sfc-hide { display: none !important; }

/* v5 · share styles, percentile, plan share */
.sfc-share-tabs { justify-content: center; margin: 12px 0 0; }
.sfc-share-img.s-receipt { aspect-ratio: auto; width: min(230px, 62vw); }
.sfc-share-img.s-sticker { aspect-ratio: auto; width: min(320px, 80vw); background: conic-gradient(#3b4a41 25%, #56665c 0 50%, #3b4a41 0 75%, #56665c 0) 0 0 / 22px 22px; box-shadow: none; }
.sfc-share-hint { margin-top: 10px !important; font-size: 11px !important; }
.sfc-pct { margin-top: 10px; padding: 8px 11px; border-radius: 10px; background: rgba(246,211,107,.16); border: 1px solid rgba(246,211,107,.4); font: 700 11.5px/1.35 "DM Sans", sans-serif; color: #ffe7a8; }
.sfc-sdone-body .sfc-pct { margin-top: 8px; padding: 0; border: 0; background: none; color: #f6d36b; }
.sfc-plan-url { width: 100%; margin-top: 14px; padding: 11px 12px; border-radius: 10px; border: 1px solid rgba(42,76,53,.18); background: #f1f5ec; font: 600 11.5px/1.2 "DM Sans", sans-serif; color: #203b2e; }
.sfc-plan-list li { flex-direction: column; gap: 2px; }
html.sfc-on .sfc-planbtn { margin-right: 8px; }

/* =====================================================================
   v6 · study space mixer, exam calendar, smart planner, today's plan
   ===================================================================== */
/* --- study space (timer side panel) */
.sfc-amb{padding:20px!important}
.sfc-amb-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:12px}
.sfc-amb-head h3{margin:0!important;font:700 18px/1.2 Manrope,sans-serif;letter-spacing:-.4px;color:#1f392f}
.sfc-amb-stop{border:0;cursor:pointer;padding:8px 12px;border-radius:9px;background:#f3e7e2;color:#9b4b33;font:800 11px/1 DM Sans,sans-serif}
.sfc-amb-presets{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -20px 12px;padding:0 20px 2px}
.sfc-amb-presets::-webkit-scrollbar{display:none}
.sfc-amb-presets button{flex:none;display:inline-flex;align-items:center;gap:6px;cursor:pointer;padding:8px 12px;border-radius:999px;border:1px solid rgba(42,76,53,.14);background:#fff;font:700 11.5px/1 DM Sans,sans-serif;color:#2d4a3a;transition:background .2s ease,color .2s ease,border-color .2s ease}
.sfc-amb-presets button:hover{border-color:#8fb68e}
.sfc-amb-presets button.on{background:#1d382b;border-color:#1d382b;color:#eef6e2}
.sfc-amb-resume{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 12px;border-radius:12px;background:#f1f5ec;font:600 11.5px/1.35 DM Sans,sans-serif;color:#4f6457}
.sfc-amb-resume b{color:#1f392f}
.sfc-amb-resume button{flex:none;border:0;cursor:pointer;padding:8px 11px;border-radius:9px;background:#1d382b;color:#eef6e2;font:800 11px/1 DM Sans,sans-serif}
.sfc-amb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.sfc-amb-tile{position:relative;display:flex;flex-direction:column;border-radius:14px;background:#f6f8f2;border:1px solid rgba(42,76,53,.08);overflow:hidden;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease}
.sfc-amb-tile button{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:12px 11px 10px;border:0;background:transparent;cursor:pointer;text-align:left;color:#203b2e}
.sfc-amb-ico{font-size:19px;line-height:1;filter:saturate(.8)}
.sfc-amb-name{font:700 11.5px/1.2 DM Sans,sans-serif}
.sfc-amb-tile input{display:none;width:calc(100% - 20px);margin:0 10px 10px;accent-color:#dff2aa;height:16px}
.sfc-amb-tile:hover{border-color:rgba(42,76,53,.2)}
.sfc-amb-tile.on{background:linear-gradient(150deg,#1f3d2e,#2b523a);border-color:transparent;box-shadow:0 10px 24px #1f3d2e2e}
.sfc-amb-tile.on button{color:#f2f5ed}
.sfc-amb-tile.on input{display:block}
.sfc-amb-tile.on .sfc-amb-ico{filter:none}
.sfc-amb-spin{position:absolute;top:10px;right:10px;width:12px;height:12px;border-radius:50%;border:2px solid rgba(223,242,170,.35);border-top-color:#dff2aa;opacity:0}
.sfc-amb-tile.loading .sfc-amb-spin{opacity:1;animation:sfcSpin .8s linear infinite}
.sfc-amb-foot{display:flex;align-items:center;gap:14px;margin-top:14px}
.sfc-amb-foot .sfc-amb-vol{flex:1;margin:0}
.sfc-amb-foot a{flex:none;font:700 10.5px/1 DM Sans,sans-serif;color:#71877a;text-decoration:underline;text-underline-offset:3px}
.sfc-amb.playing{box-shadow:0 0 0 2px #8fb68e59,0 14px 34px #2a442f14}
.sfc-credits li{padding:8px 12px!important}
.sfc-credits a{color:#4f7c58}
.sfc-ambpill{position:fixed;left:50%;bottom:18px;z-index:9995;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 32px));padding:8px 8px 8px 14px;border-radius:999px;background:#1d382b;color:#eef6e2;box-shadow:0 14px 34px #00000038;font:700 12px/1 DM Sans,sans-serif;transform:translateX(-50%);cursor:pointer;animation:sfcRise .5s var(--sfc-ease,ease) both}
.sfc-ambpill span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-ambpill button{flex:none;width:26px;height:26px;border:0;border-radius:50%;background:#ffffff1f;color:#fff;font-size:15px;line-height:1;cursor:pointer}
.sfc-eq{display:inline-flex;align-items:flex-end;gap:2px;width:14px;height:12px}
.sfc-eq b{flex:1;background:#dff2aa;border-radius:1px;animation:sfcEq 1s ease-in-out infinite;height:40%}
.sfc-eq b:nth-child(2){animation-delay:-.35s}.sfc-eq b:nth-child(3){animation-delay:-.7s}
@keyframes sfcEq{0%,to{height:30%}50%{height:100%}}
html.sfc-reduced .sfc-eq b{animation:none;height:70%}

/* --- exam calendar (home) */
.sfc-exams{position:relative;margin:18px 0 0;padding:20px 0 14px;border-radius:22px;background:#fbfcf7;border:1px solid rgba(42,76,53,.1);box-shadow:0 6px 22px #2a442f0b;overflow:hidden}
.sfc-ex-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:0 22px;margin-bottom:14px}
.sfc-ex-head h3{margin:0;font:700 clamp(17px,1.35vw,21px)/1.2 Manrope,sans-serif;letter-spacing:-.5px;color:#1f392f}
.sfc-exams .sfc-k{font:800 9px/1 DM Sans,sans-serif;letter-spacing:2.2px;color:#738f76;margin-bottom:8px}
.sfc-ex-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#cfdac8 transparent;padding:2px 22px 8px;scroll-padding:0 22px}
.sfc-ex-card{flex:0 0 172px;scroll-snap-align:start;display:flex;flex-direction:column;gap:2px;min-height:174px;padding:13px 14px 12px;border-radius:16px;background:#fff;border:1px solid rgba(42,76,53,.09);transition:translate .4s var(--sfc-ease,ease),box-shadow .3s ease}
.sfc-ex-card:hover{translate:0 -2px;box-shadow:0 12px 28px #2a442f14}
.sfc-ex-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.sfc-ex-tag{font:800 8.5px/1 DM Sans,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#738f76;padding:5px 7px;border-radius:6px;background:#eef3e8}
.sfc-ex-pin{border:0;background:transparent;cursor:pointer;font-size:16px;line-height:1;color:#a9b5ad;padding:2px 2px 2px 8px}
.sfc-ex-pin:hover{color:#d29a24}
.sfc-ex-name{font:800 16px/1.15 Manrope,sans-serif;letter-spacing:-.4px;color:#1f392f}
.sfc-ex-name small{display:block;margin-top:2px;font:700 10.5px/1.2 DM Sans,sans-serif;letter-spacing:0;color:#71877a}
.sfc-ex-desc{font:600 10.5px/1.3 DM Sans,sans-serif;color:#8a978f}
.sfc-ex-count{display:flex;align-items:baseline;gap:5px;margin:auto 0 2px;padding-top:8px}
.sfc-ex-count strong{font:800 34px/1 Manrope,sans-serif;letter-spacing:-1.6px;color:#2d5440}
.sfc-ex-count span{font:700 12px/1 DM Sans,sans-serif;color:#71877a}
.sfc-ex-date{font:600 10.5px/1.2 DM Sans,sans-serif;color:#5f7468}
.sfc-ex-foot{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:9px}
.sfc-ex-badge{font:800 9px/1 DM Sans,sans-serif;letter-spacing:.4px;padding:5px 7px;border-radius:6px}
.sfc-ex-badge.ok{background:#e3efd9;color:#3f6b45}
.sfc-ex-badge.est{background:#f4efe1;color:#8a6c2e}
.sfc-ex-foot a{font:800 10.5px/1 DM Sans,sans-serif;color:#2d5440;text-decoration:none;white-space:nowrap}
.sfc-ex-foot a:hover{text-decoration:underline;text-underline-offset:3px}
.sfc-ex-card.soon .sfc-ex-count strong{color:#b0683f}
.sfc-ex-card.urgent{border-color:#d878688c;background:linear-gradient(180deg,#fdf0ee,#fff 55%)}
.sfc-ex-card.urgent .sfc-ex-count strong{color:#b24c3c}
.sfc-ex-card.mine{background:linear-gradient(150deg,#1f3d2e,#2b523a);border-color:transparent;box-shadow:0 14px 30px #1f3d2e33}
.sfc-ex-card.mine .sfc-ex-name,.sfc-ex-card.mine .sfc-ex-count strong{color:#fff}
.sfc-ex-card.mine .sfc-ex-name small,.sfc-ex-card.mine .sfc-ex-desc,.sfc-ex-card.mine .sfc-ex-count span,.sfc-ex-card.mine .sfc-ex-date{color:#d1dfd0d9}
.sfc-ex-card.mine .sfc-ex-tag{background:#ffffff1a;color:#dff2aa}
.sfc-ex-card.mine .sfc-ex-pin{color:#f6d36b}
.sfc-ex-card.mine .sfc-ex-foot a{color:#dff2aa}
.sfc-ex-card.mine .sfc-ex-badge.ok{background:#dff2aa;color:#1d382b}
.sfc-ex-card.mine .sfc-ex-badge.est{background:#ffffff1f;color:#f6e3b0}
.sfc-ex-note{margin:6px 22px 0;font:600 10.5px/1.45 DM Sans,sans-serif;color:#8a978f}
.sfc-exams .sfc-ex-card{opacity:0;translate:0 12px}
.sfc-exams.sfc-revealed .sfc-ex-card{opacity:1;translate:0 0;transition:opacity .5s var(--sfc-ease,ease),translate .6s var(--sfc-ease,ease),box-shadow .3s ease;transition-delay:calc(var(--j) * 40ms)}
.sfc-exams.sfc-revealed .sfc-ex-card:hover{translate:0 -2px;transition-delay:0s}
html.sfc-reduced .sfc-exams .sfc-ex-card{opacity:1;translate:none;transition:none}

/* --- today's plan (home) */
.sfc-plantoday{margin:14px 0 0;padding:18px 20px;border-radius:20px;background:#fbfcf7;border:1px solid rgba(42,76,53,.1);box-shadow:0 6px 22px #2a442f0b}
.sfc-pt-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.sfc-pt-head h3{margin:0;font:700 18px/1.2 Manrope,sans-serif;letter-spacing:-.4px;color:#1f392f}
.sfc-plantoday .sfc-k{font:800 9px/1 DM Sans,sans-serif;letter-spacing:2.2px;color:#738f76;margin-bottom:8px}
.sfc-plantoday .sfc-link{margin:0;padding:0;flex:none}
.sfc-pt-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.sfc-pt-item{position:relative;display:flex;align-items:center;gap:10px;padding:11px 10px 13px 14px;border-radius:13px;background:#fff;border:1px solid rgba(42,76,53,.08);overflow:hidden}
.sfc-pt-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c)}
.sfc-pt-item>div{flex:1;min-width:0}
.sfc-pt-item b{display:block;font:700 12.5px/1.2 Manrope,sans-serif;color:#1f392f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-pt-item small{display:block;margin-top:3px;font:600 10.5px/1.2 DM Sans,sans-serif;color:#71877a}
.sfc-pt-item button{flex:none;width:30px;height:30px;border:0;border-radius:9px;background:#e3eedb;color:#1d382b;font-size:11px;cursor:pointer}
.sfc-pt-item button:hover{background:#d6e8bd}
.sfc-pt-item i{position:absolute;left:4px;right:0;bottom:0;height:3px;background:#eef2e8}
.sfc-pt-item i:after{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--p);background:var(--c)}
.sfc-pt-item.done{background:#f3f8ee}
.sfc-pt-item.done button{background:#8fb68e;color:#fff}
.sfc-pt-item.k-mock,.sfc-pt-item.k-analysis,.sfc-pt-item.k-review{background:#faf7ef}

/* --- smart planner page */
.sfc-plpage .sfc-pl-body{padding-bottom:40px}
.sfc-pl-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);gap:16px;align-items:start;margin-top:8px}
.sfc-pl-main{display:flex;flex-direction:column;gap:14px;min-width:0}
.sfc-plpage .card{border-radius:20px}
.sfc-plpage .sfc-k{font:800 9px/1 DM Sans,sans-serif;letter-spacing:2.2px;color:#738f76;margin-bottom:10px}
.sfc-plpage h3{font:700 clamp(17px,1.3vw,21px)/1.2 Manrope,sans-serif;letter-spacing:-.5px;margin:0 0 6px;color:#1f392f}
.sfc-plpage h3 small{font:600 12px/1 DM Sans,sans-serif;letter-spacing:0;color:#71877a;margin-left:6px}
.sfc-pl-setup{position:sticky;top:16px;padding:20px!important;max-height:calc(100vh - 32px);overflow:auto;scrollbar-width:thin}
.sfc-pl-start{padding:24px!important;max-width:860px}
.sfc-pl-pick{display:flex;flex-direction:column;gap:10px;margin:12px 0 16px}
.sfc-pl-pgrp{display:flex;flex-direction:column;gap:6px}
.sfc-pl-pgrp>span{font:800 9.5px/1 DM Sans,sans-serif;letter-spacing:1.6px;text-transform:uppercase;color:#8a978f}
.sfc-pl-pgrp>div{display:flex;flex-wrap:wrap;gap:6px}
.sfc-pl-pick button,.sfc-pl-mini button,.sfc-pl-days button,.sfc-pl-lvls button{cursor:pointer;border:1px solid rgba(42,76,53,.14);background:#fff;color:#2d4a3a;font:700 11.5px/1 DM Sans,sans-serif;border-radius:999px;padding:8px 12px;transition:background .2s ease,color .2s ease,border-color .2s ease}
.sfc-pl-pick button:hover,.sfc-pl-mini button:hover,.sfc-pl-days button:hover{border-color:#8fb68e}
.sfc-pl-pick button.on,.sfc-pl-mini button.on,.sfc-pl-days button.on,.sfc-pl-lvls button.on{background:#1d382b;border-color:#1d382b;color:#eef6e2}
.sfc-pl-start .sfc-pl-pick button{padding:11px 16px;font-size:12.5px}
.sfc-pl-field{display:flex;flex-direction:column;gap:8px;margin:0 0 16px}
.sfc-pl-field>span{font:800 10.5px/1.2 DM Sans,sans-serif;color:#4f6457}
.sfc-pl-field>span b{color:#1f392f}
.sfc-pl-field input[type=date]{padding:10px 12px;border-radius:10px;border:1px solid rgba(42,76,53,.18);background:#fff;font:600 13px/1 DM Sans,sans-serif;color:#1f392f}
.sfc-pl-field input[type=range]{width:100%;accent-color:#4f7c58}
.sfc-pl-mini{display:flex;flex-wrap:wrap;gap:5px}
.sfc-pl-mini button{padding:7px 10px;font-size:11px}
.sfc-pl-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.sfc-pl-days button{padding:8px 0;border-radius:9px;font-size:10.5px}
.sfc-pl-lvls{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sfc-pl-lvls li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:8px}
.sfc-pl-lvls li>i{width:8px;height:8px;border-radius:3px}
.sfc-pl-lvls b{font:700 11.5px/1.2 DM Sans,sans-serif;color:#1f392f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-pl-lvls li>div{display:flex;gap:3px}
.sfc-pl-lvls button{padding:5px 8px;font-size:10px}
.sfc-pl-reset{font-size:11px!important}
.sfc-pl-how{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 0;padding:0}
.sfc-pl-how li{padding:14px;border-radius:14px;background:#f1f5ec}
.sfc-pl-how b{display:block;font:700 13px/1.2 Manrope,sans-serif;color:#1f392f;margin-bottom:4px}
.sfc-pl-how small{font:600 11px/1.4 DM Sans,sans-serif;color:#6d7f75}
.sfc-pl-sum,.sfc-pl-week,.sfc-pl-topics,.sfc-pl-tips{padding:20px!important}
.sfc-pl-sum-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.sfc-pl-sum p{margin:0;font:600 12px/1.4 DM Sans,sans-serif;color:#6d7f75}
.sfc-pl-big{flex:none;text-align:right}
.sfc-pl-big b{display:block;font:800 36px/1 Manrope,sans-serif;letter-spacing:-1.6px;color:#2d5440}
.sfc-pl-big span{font:700 10.5px/1 DM Sans,sans-serif;color:#71877a}
.sfc-pl-phases{position:relative;display:flex;gap:4px;margin:16px 0 18px}
.sfc-pl-phases>div{flex:0 0 calc(var(--w) - 3px);min-width:0;padding:10px 10px 9px;border-radius:10px;overflow:hidden}
.sfc-pl-phases b{display:block;font:800 11px/1.2 DM Sans,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-pl-phases small{display:block;margin-top:3px;font:600 10px/1.2 DM Sans,sans-serif;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-pl-phases .ph1{background:#e3efd9;color:#2d5440}
.sfc-pl-phases .ph2{background:#f4efe1;color:#7a5f2a}
.sfc-pl-phases .ph3{background:#f6e4dd;color:#93452f}
.sfc-pl-now{position:absolute;top:-5px;bottom:-5px;width:2px;margin-left:-1px;background:#1d382b;border-radius:2px}
.sfc-pl-now:before{content:"";position:absolute;top:-4px;left:-4px;width:10px;height:10px;border-radius:50%;background:#1d382b}
.sfc-pl-alloc{display:flex;flex-direction:column;gap:7px}
.sfc-pl-arow{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(0,2fr) 68px;align-items:center;gap:12px}
.sfc-pl-arow span{display:flex;align-items:center;gap:8px;min-width:0;font:700 12px/1.2 DM Sans,sans-serif;color:#1f392f;white-space:nowrap}
.sfc-pl-arow span small{font:600 10.5px/1 DM Sans,sans-serif;color:#8a978f;overflow:hidden;text-overflow:ellipsis}
.sfc-pl-arow span i{flex:none;width:9px;height:9px;border-radius:3px}
.sfc-pl-bar{height:8px;border-radius:5px;background:#eef2e8;overflow:hidden}
.sfc-pl-bar i{display:block;height:100%;width:var(--w);border-radius:5px}
.sfc-pl-arow>b{font:800 11.5px/1 Manrope,sans-serif;color:#2d5440;text-align:right;white-space:nowrap}
.sfc-pl-whead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.sfc-pl-nav{display:flex;gap:6px}
.sfc-pl-nav button{width:34px;height:34px;border-radius:10px;border:1px solid rgba(42,76,53,.15);background:#fff;font-size:18px;line-height:1;color:#1f392f;cursor:pointer}
.sfc-pl-nav button:disabled{opacity:.35;cursor:default}
.sfc-pl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:8px}
.sfc-pl-day{display:flex;flex-direction:column;gap:6px;min-width:0;padding:10px;border-radius:14px;background:#f6f8f2;border:1px solid rgba(42,76,53,.06)}
.sfc-pl-day.today{background:#fff;border-color:#8fb68e;box-shadow:0 0 0 2px #8fb68e40}
.sfc-pl-day.past{opacity:.62}
.sfc-pl-dh{display:flex;align-items:baseline;gap:6px;padding:0 2px 4px;border-bottom:1px solid rgba(42,76,53,.08)}
.sfc-pl-dh b{font:800 12px/1 Manrope,sans-serif;color:#1f392f}
.sfc-pl-dh small{font:600 10px/1 DM Sans,sans-serif;color:#8a978f}
.sfc-pl-dh em{margin-left:auto;font:800 10px/1 DM Sans,sans-serif;font-style:normal;color:#4f7c58}
.sfc-pl-blk{position:relative;display:flex;flex-direction:column;gap:2px;padding:8px 9px 8px 11px;border-radius:9px;background:#fff;border:1px solid rgba(42,76,53,.07)}
.sfc-pl-blk:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--c)}
.sfc-pl-blk b{font:700 11px/1.2 DM Sans,sans-serif;color:#1f392f;overflow-wrap:anywhere}
.sfc-pl-blk small{font:600 10px/1.2 DM Sans,sans-serif;color:#71877a}
.sfc-pl-blk button{position:absolute;top:6px;right:6px;width:22px;height:22px;border:0;border-radius:7px;background:#e3eedb;color:#1d382b;font-size:9px;cursor:pointer}
.sfc-pl-blk.k-mock{background:#fbf3ee;border-color:#eeb98e66}
.sfc-pl-blk.k-mock:before{background:#d6a47f}
.sfc-pl-blk.k-analysis,.sfc-pl-blk.k-review{background:#f9f7f1}
.sfc-pl-blk.k-analysis:before,.sfc-pl-blk.k-review:before{background:#b59a55}
.sfc-pl-day.today .sfc-pl-blk.k-sub b{padding-right:22px}
.sfc-pl-tlist{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.sfc-pl-trow>button{display:grid;grid-template-columns:9px minmax(120px,190px) minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:11px 12px;border-radius:12px;border:1px solid rgba(42,76,53,.08);background:#fff;text-align:left;cursor:pointer}
.sfc-pl-trow>button:hover{border-color:rgba(42,76,53,.2)}
.sfc-pl-trow>button i{width:9px;height:9px;border-radius:3px}
.sfc-pl-trow>button b{font:700 12px/1.2 DM Sans,sans-serif;color:#1f392f}
.sfc-pl-trow>button span{font:600 11.5px/1.35 DM Sans,sans-serif;color:#4f6457}
.sfc-pl-trow>button em{font:700 10.5px/1 DM Sans,sans-serif;font-style:normal;color:#8a978f;white-space:nowrap}
.sfc-pl-road{list-style:none;margin:6px 0 4px;padding:0 0 0 20px;display:flex;flex-direction:column;gap:2px;border-left:2px solid #e3eadb;margin-left:16px}
.sfc-pl-road li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;padding:6px 8px;border-radius:8px;font:600 11px/1.4 DM Sans,sans-serif;color:#4f6457}
.sfc-pl-road li span{font-weight:800;color:#8a978f}
.sfc-pl-road li.cur{background:#eef5e4;color:#1f392f}
.sfc-pl-road li.cur span{color:#2d5440}
.sfc-pl-road li.done{opacity:.55;text-decoration:line-through;text-decoration-color:#8fb68e}
.sfc-pl-road li.ph{font-style:italic}
.sfc-pl-tips ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sfc-pl-tips li{padding:12px 14px;border-radius:12px;background:#f1f5ec;font:600 11.5px/1.45 DM Sans,sans-serif;color:#4f6457}
.sfc-pl-tips li b{display:block;font:700 12.5px/1.2 Manrope,sans-serif;color:#1f392f;margin-bottom:4px}
a[data-sfc-planner] .sfc-new{margin-left:auto;font:800 8.5px/1 DM Sans,sans-serif;letter-spacing:.6px;text-transform:uppercase;padding:4px 6px;border-radius:6px;background:#dff2aa;color:#1d382b}
@media (max-width:1100px){.sfc-pl-layout{grid-template-columns:minmax(0,1fr)}.sfc-pl-setup{position:static;max-height:none}.sfc-pl-tips ul{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){
  .sfc-ex-card{flex-basis:150px;min-height:164px}.sfc-ex-head,.sfc-ex-note{padding-left:16px;padding-right:16px}.sfc-ex-note{margin-left:16px;margin-right:16px;padding:0}.sfc-ex-row{padding-left:16px;padding-right:16px}
  .sfc-pl-how{grid-template-columns:minmax(0,1fr)}
  .sfc-pl-arow{grid-template-columns:minmax(0,1fr) 62px}.sfc-pl-arow .sfc-pl-bar{grid-column:1 / -1;grid-row:2}
  .sfc-pl-trow>button{grid-template-columns:9px minmax(0,1fr) auto}.sfc-pl-trow>button span{grid-column:2 / -1;grid-row:2}
  .sfc-pl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sfc-pl-sum-top{flex-direction:column}.sfc-pl-big{text-align:left}
  .sfc-pt-row{grid-template-columns:minmax(0,1fr)}
}
.sfc-amb-resume[hidden],.sfc-amb-stop[hidden]{display:none!important}
@media (max-width:640px){.sfc-ex-head .sfc-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;max-width:100%}.sfc-ex-head .sfc-chips::-webkit-scrollbar{display:none}.sfc-ex-head .sfc-chips button{flex:none}}

/* --- v6.1 · hero stage polish (calmer 3D, no clash with the hero's own arcs / watermark) */
html.sfc-on #p-index .hero .motion-arc{display:none!important}
html.sfc-on #p-index .hero:has(.sfc-stage):before{opacity:.18!important}
html.sfc-on .sfc-logo-wrap{transform:rotateX(calc(9deg + var(--sfc-y) * -10deg)) rotateY(calc(-12deg + var(--sfc-x) * 18deg))}
@keyframes sfcSway{0%,to{transform:rotateY(-5deg) translate3d(0,-4px,0)}50%{transform:rotateY(6deg) translate3d(0,5px,0)}}
html.sfc-on .sfc-time{bottom:8%}

/* --- v6.1 · "Yeni" spotlight (home) */
.sfc-spot6{position:relative;margin:18px 0 0;padding:16px 18px 18px;border-radius:22px;background:linear-gradient(120deg,#fbfcf7,#eef5e4);border:1px solid rgba(42,76,53,.12);box-shadow:0 8px 26px #2a442f0d;transition:opacity .4s ease,translate .45s var(--sfc-ease,ease)}
.sfc-spot6.out{opacity:0;translate:0 -10px}
.sfc-spot6-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.sfc-spot6-head b{font:700 15px/1.2 Manrope,sans-serif;letter-spacing:-.3px;color:#1f392f}
.sfc-spot6-tag{font:800 9px/1 DM Sans,sans-serif;letter-spacing:1.6px;padding:5px 8px;border-radius:7px;background:#1d382b;color:#dff2aa}
.sfc-spot6-head button{margin-left:auto;width:28px;height:28px;border:0;border-radius:9px;background:transparent;color:#71877a;font-size:18px;cursor:pointer}
.sfc-spot6-head button:hover{background:#e3eadb}
.sfc-spot6-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sfc-spot6-card{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:16px;background:#fff;border:1px solid rgba(42,76,53,.08);transition:translate .4s var(--sfc-ease,ease),box-shadow .3s ease}
.sfc-spot6-card:hover{translate:0 -2px;box-shadow:0 14px 30px #2a442f14}
.sfc-spot6-card>i{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:13px 13px 5px;font-size:21px;font-style:normal;background:#eef3e8}
.sfc-spot6-card.s-pl{background:linear-gradient(150deg,#1f3d2e,#2b523a);border-color:transparent}
.sfc-spot6-card.s-pl>i{background:#ffffff1a}
.sfc-spot6-card.s-pl b{color:#fff}.sfc-spot6-card.s-pl p{color:#d1dfd0d9}.sfc-spot6-card.s-pl a{background:#dff2aa;color:#1d382b}
.sfc-spot6-card b{display:block;font:700 14.5px/1.2 Manrope,sans-serif;color:#1f392f;letter-spacing:-.2px}
.sfc-spot6-card p{margin:5px 0 12px;font:600 11.5px/1.45 DM Sans,sans-serif;color:#6d7f75}
.sfc-spot6-card a{display:inline-block;padding:8px 12px;border-radius:9px;background:#e3eedb;color:#1d382b;font:800 11px/1 DM Sans,sans-serif;text-decoration:none}
.sfc-spot6 .sfc-spot6-card{opacity:0;translate:0 10px}
.sfc-spot6.sfc-revealed .sfc-spot6-card{opacity:1;translate:0 0;transition:opacity .5s var(--sfc-ease,ease),translate .6s var(--sfc-ease,ease),box-shadow .3s ease;transition-delay:calc(var(--j) * 70ms)}
html.sfc-reduced .sfc-spot6 .sfc-spot6-card{opacity:1;translate:none}
@media (max-width:1100px){.sfc-spot6-row{grid-template-columns:minmax(0,1fr)}}

/* --- v6.1 · planner layout */
.sfc-pl-hero{position:relative;overflow:hidden;margin:6px 0 16px;padding:24px 26px 20px;border-radius:24px;background:linear-gradient(130deg,#19382a,#25503a 70%,#33603f);color:#f2f5ed;box-shadow:0 18px 44px #1f3d2e26}
.sfc-pl-hero:after{content:"";position:absolute;right:-120px;top:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,#dff2aa33,#dff2aa00 70%);pointer-events:none}
.sfc-pl-hero .sfc-k{color:#b8d49a!important}
.sfc-pl-htop{position:relative;z-index:1;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.sfc-pl-hero h2{margin:0;font:400 clamp(30px,3vw,44px)/1.05 "DM Serif Display",Georgia,serif;letter-spacing:-.5px;color:#fff}
.sfc-pl-hero h2 b{font-weight:400;color:#dff2aa}
.sfc-pl-hero p{margin:8px 0 0;font:600 12.5px/1.4 DM Sans,sans-serif;color:#d1dfd0d9}
.sfc-pl-hstats{display:flex;gap:10px}
.sfc-pl-hstats span{min-width:86px;padding:12px 14px;border-radius:14px;background:#ffffff14;border:1px solid rgba(214,232,189,.18)}
.sfc-pl-hstats b{display:block;font:800 24px/1 Manrope,sans-serif;letter-spacing:-.8px;color:#fff}
.sfc-pl-hstats small{display:block;margin-top:5px;font:700 10px/1 DM Sans,sans-serif;color:#b8d49a}
.sfc-pl-hero .sfc-pl-phases{z-index:1;margin:18px 0 16px}
.sfc-pl-hero .sfc-pl-phases .ph1{background:#dff2aa;color:#1d382b}
.sfc-pl-hero .sfc-pl-phases .ph2{background:#ffffff26;color:#f2f5ed}
.sfc-pl-hero .sfc-pl-phases .ph3{background:#f6d36b33;color:#ffe7a8}
.sfc-pl-hero .sfc-pl-now,.sfc-pl-hero .sfc-pl-now:before{background:#fff}
.sfc-pl-hact{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:8px}
.sfc-pl-hact button{cursor:pointer;padding:10px 14px;border-radius:11px;border:1px solid rgba(214,232,189,.3);background:#ffffff12;color:#eef6e2;font:800 11.5px/1 DM Sans,sans-serif;transition:background .2s ease}
.sfc-pl-hact button:hover{background:#ffffff24}
.sfc-pl-hact .sfc-pl-go{background:#dff2aa;border-color:#dff2aa;color:#1d382b}
.sfc-pl-hact .sfc-pl-go:hover{background:#ecf7c4}
.sfc-pl-hpick{position:relative;z-index:1;margin-top:14px;padding:14px;border-radius:14px;background:#fbfcf7}
.sfc-pl-hpick .sfc-pl-pick{margin:0}
.sfc-pl-layout{grid-template-columns:minmax(300px,360px) minmax(0,1fr)}
.sfc-pl-setup{padding:18px!important}
.sfc-pl-sec{border-top:1px solid rgba(42,76,53,.08)}
.sfc-pl-sec:first-of-type{border-top:0}
.sfc-pl-sech{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 2px;border:0;background:transparent;cursor:pointer;text-align:left}
.sfc-pl-sech b{display:block;font:700 14px/1.2 Manrope,sans-serif;color:#1f392f}
.sfc-pl-sech small{display:block;margin-top:2px;font:600 10.5px/1.2 DM Sans,sans-serif;color:#8a978f}
.sfc-pl-sech i{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#eef3e8;color:#2d5440;font:800 15px/1 DM Sans,sans-serif;font-style:normal}
.sfc-pl-secb{padding:2px 0 12px}
.sfc-pl-secb .sfc-pl-field:last-child{margin-bottom:4px}
.sfc-pl-field input[type=number],.sfc-pl-field input[data-pname]{padding:10px 12px;border-radius:10px;border:1px solid rgba(42,76,53,.18);background:#fff;font:600 13px/1 DM Sans,sans-serif;color:#1f392f}
.sfc-pl-switch{display:flex;align-items:center;gap:10px;margin:-4px 0 16px;font:700 11.5px/1.2 DM Sans,sans-serif;color:#4f6457;cursor:pointer}
.sfc-pl-switch button{position:relative;flex:none;width:38px;height:22px;border:0;border-radius:999px;background:#d9e2d3;cursor:pointer;transition:background .2s ease}
.sfc-pl-switch button i{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .25s var(--sfc-ease,ease)}
.sfc-pl-switch button.on{background:#4f7c58}
.sfc-pl-switch button.on i{transform:translateX(16px)}
.sfc-pl-subs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.sfc-pl-subs li{padding:10px 10px 10px 12px;border-radius:12px;background:#f6f8f2;border:1px solid rgba(42,76,53,.06)}
.sfc-pl-subs li.off{opacity:.55}
.sfc-pl-sr1{display:flex;align-items:center;gap:9px}
.sfc-pl-sr1 b{flex:1;min-width:0;font:700 12px/1.25 DM Sans,sans-serif;color:#1f392f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-pl-sr1 small{flex:none;font:700 10px/1 DM Sans,sans-serif;color:#8a978f}
.sfc-pl-tog{position:relative;flex:none;width:18px;height:18px;border-radius:6px;border:2px solid var(--c);background:transparent;cursor:pointer;padding:0}
.sfc-pl-tog.on{background:var(--c)}
.sfc-pl-tog.on i:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font:800 10px/1 DM Sans,sans-serif;color:#fff;font-style:normal}
.sfc-pl-del{flex:none;width:22px;height:22px;border:0;border-radius:7px;background:#f3e7e2;color:#9b4b33;font-size:14px;line-height:1;cursor:pointer}
.sfc-pl-sr2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-left:27px}
.sfc-pl-seg{display:flex;gap:3px}
.sfc-pl-seg button{cursor:pointer;border:1px solid rgba(42,76,53,.14);background:#fff;color:#2d4a3a;font:700 10px/1 DM Sans,sans-serif;border-radius:999px;padding:5px 8px}
.sfc-pl-seg button.on{background:#1d382b;border-color:#1d382b;color:#eef6e2}
.sfc-pl-step{display:flex;align-items:center;gap:3px}
.sfc-pl-step button{width:24px;height:24px;border-radius:8px;border:1px solid rgba(42,76,53,.15);background:#fff;color:#1f392f;font:800 13px/1 DM Sans,sans-serif;cursor:pointer;padding:0}
.sfc-pl-step span{min-width:58px;text-align:center;font:800 11px/1.1 Manrope,sans-serif;color:#2d5440}
.sfc-pl-step span small{display:block;font:700 8.5px/1 DM Sans,sans-serif;letter-spacing:.4px;color:#8a978f;text-transform:uppercase;margin-top:2px}
.sfc-pl-step span.man{color:#b0683f}.sfc-pl-step span.man small{color:#b0683f}
.sfc-pl-step .sfc-pl-auto{border:0;background:#f4efe1;color:#8a6c2e}
.sfc-pl-warn{margin:10px 0 0;padding:9px 11px;border-radius:10px;background:#fbf0e8;color:#9b4b33;font:600 11px/1.4 DM Sans,sans-serif}
.sfc-pl-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-top:10px;padding:12px;border-radius:12px;border:1px dashed rgba(42,76,53,.25)}
.sfc-pl-add input,.sfc-pl-add select{min-width:0;padding:9px 10px;border-radius:9px;border:1px solid rgba(42,76,53,.16);background:#fff;font:600 11.5px/1 DM Sans,sans-serif;color:#1f392f}
.sfc-pl-add input[data-pnew-tp]{grid-column:1 / -1}
.sfc-pl-add .sfc-btn{grid-column:1 / -1;margin:0;border:0;cursor:pointer;text-align:center;padding:10px}
.sfc-pl-two{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;align-items:start}
.sfc-pl-alloc,.sfc-pl-topics{padding:20px!important}
.sfc-pl-arows{display:flex;flex-direction:column;gap:9px;margin-top:10px}
.sfc-pl-alloc .sfc-pl-arow{grid-template-columns:minmax(110px,1fr) minmax(0,1.3fr) 62px}
.sfc-pl-arow>b small{font:700 9.5px/1 DM Sans,sans-serif;color:#8a978f}
.sfc-pl-today{width:auto!important;padding:0 12px;font:800 11px/1 DM Sans,sans-serif!important}
.sfc-pl-rest{margin:6px 2px;font:600 11px/1.3 DM Sans,sans-serif;color:#a3b0a6;font-style:italic}
.sfc-pl-empty{text-align:center;padding:40px 20px!important}
.sfc-pl-empty>i{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eef3e8;font-size:22px;font-style:normal;margin-bottom:10px}
.sfc-pl-empty p{margin:4px auto 0;max-width:380px;font:600 12px/1.5 DM Sans,sans-serif;color:#6d7f75}
.sfc-pl-pick.big{gap:16px}
.sfc-pl-pick.big .sfc-pl-pgrp>div{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.sfc-pl-excard{display:flex!important;flex-direction:column;align-items:flex-start;gap:4px;padding:14px!important;border-radius:16px!important;text-align:left;background:#fff!important;transition:translate .35s var(--sfc-ease,ease),box-shadow .3s ease,border-color .2s ease!important}
.sfc-pl-excard:hover{translate:0 -2px;box-shadow:0 12px 26px #2a442f14;border-color:#8fb68e!important}
.sfc-pl-excard i{font-size:20px;font-style:normal;margin-bottom:4px}
.sfc-pl-excard b{font:700 13.5px/1.2 Manrope,sans-serif;color:#1f392f}
.sfc-pl-excard small{font:600 10.5px/1.3 DM Sans,sans-serif;color:#71877a}
.sfc-pl-how li i{display:block;font-size:20px;font-style:normal;margin-bottom:6px}
.sfc-pl-start{max-width:1100px}
@media (max-width:1300px){.sfc-pl-two{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.sfc-pl-hero{padding:20px 18px}.sfc-pl-hstats{width:100%}.sfc-pl-hstats span{flex:1;min-width:0}.sfc-pl-sr2{flex-wrap:wrap;padding-left:0}}
.sfc-pl-day.today{position:relative;margin-top:6px}
.sfc-pl-day.today:before{content:attr(data-today);position:absolute;top:-9px;left:10px;padding:3px 7px;border-radius:6px;background:#1d382b;color:#dff2aa;font:800 8.5px/1 DM Sans,sans-serif;letter-spacing:1.2px}
.sfc-pl-grid{padding-top:4px}
.sfc-pl-exgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,1fr));gap:10px;margin:14px 0 18px}
.sfc-pl-exgrid .sfc-pl-excard{position:relative;cursor:pointer;border:1px solid rgba(42,76,53,.12);min-height:118px}
.sfc-pl-extag{position:absolute;top:12px;right:12px;font:800 8.5px/1 DM Sans,sans-serif;letter-spacing:1.2px;text-transform:uppercase;padding:4px 6px;border-radius:6px;background:#eef3e8;color:#738f76}
.sfc-pl-excard.own{border-style:dashed!important;background:#f9fbf5!important}

/* ================= v6.2 · calmer home, compact study space, free weekly program ================= */
/* home: exam calendar shows 6 cards in one tidy row, the rest on demand */
.sfc-ex-row:not(.all){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));overflow:visible}
.sfc-ex-row:not(.all) .sfc-ex-card{min-height:0}
.sfc-ex-card{min-height:150px}
.sfc-ex-all{border:0;cursor:pointer;padding:8px 12px;border-radius:999px;background:#eef3e8;color:#2d4a3a;font:800 11px/1 DM Sans,sans-serif}
.sfc-ex-all:hover{background:#e2ecd8}
.sfc-exams{margin-top:14px}
.sfc-plantoday.cta{display:block;padding:16px 20px;background:linear-gradient(120deg,#fbfcf7,#f1f6ea)}
.sfc-plantoday.cta .sfc-pt-head{margin:0;align-items:center}
.sfc-plantoday.cta h3{font-size:16px}
.sfc-plantoday .sfc-pt-head .sfc-btn{margin:0;flex:none}
.sfc-pt-item time{font:800 10.5px/1 DM Sans,sans-serif;color:#71877a;margin-right:2px}
@media (max-width:1180px){.sfc-ex-row:not(.all){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:640px){.sfc-ex-row:not(.all){display:flex;overflow-x:auto}.sfc-ex-row:not(.all) .sfc-ex-card{flex:0 0 150px}.sfc-plantoday.cta .sfc-pt-head{flex-direction:column;align-items:flex-start}}

/* timer: compact study space */
.sfc-amb2{padding:18px!important}
.sfc-amb2 .sfc-amb-head{margin-bottom:10px}
.sfc-amb2 .sfc-amb-head h3{font-size:16px}
.sfc-amb2 .sfc-amb-presets{margin:0 -18px 10px;padding:0 18px 2px}
.sfc-amb2 .sfc-amb-presets button{padding:7px 10px;font-size:11px}
.sfc-amb2 .sfc-amb-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.sfc-amb2 .sfc-amb-tile{border-radius:12px}
.sfc-amb2 .sfc-amb-tile.more{display:none}
.sfc-amb2.all .sfc-amb-tile.more{display:flex}
.sfc-amb2 .sfc-amb-tile button{align-items:center;text-align:center;gap:4px;padding:9px 4px 8px}
.sfc-amb2 .sfc-amb-ico{font-size:17px}
.sfc-amb2 .sfc-amb-name{font-size:10px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sfc-amb2 .sfc-amb-spin{top:6px;right:6px;width:10px;height:10px}
.sfc-amb-moreb{display:block;width:100%;margin:6px 0 0;padding:7px;border:0;border-radius:9px;background:transparent;color:#5d7766;font:800 10.5px/1 DM Sans,sans-serif;cursor:pointer}
.sfc-amb-moreb:hover{background:#f1f5ec}
.sfc-amb-mix{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(42,76,53,.08)}
.sfc-amb-mix[hidden]{display:none}
.sfc-amb-mrow{display:grid;grid-template-columns:20px minmax(0,82px) 1fr 24px;align-items:center;gap:8px;font:700 11px/1 DM Sans,sans-serif;color:#2d4a3a}
.sfc-amb-mrow b{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-amb-mrow input{width:100%;accent-color:#4f7c58;height:16px}
.sfc-amb-mrow button{width:24px;height:24px;border:0;border-radius:7px;background:#f1f5ec;color:#5d7766;cursor:pointer;font-size:14px;line-height:1}
.sfc-amb2 .sfc-amb-foot{margin-top:10px}
.sfc-amb2 .sfc-amb-vol span{font-size:13px}
.sfc-amb2 .sfc-amb-resume{margin-bottom:10px}

/* planner page: free weekly program */
.sfc-pgpage .page-head .lead{max-width:640px}
.sfc-pg-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 16px 14px 20px!important;margin:4px 0 12px}
.sfc-pg-stats{display:flex;gap:22px;flex-wrap:wrap}
.sfc-pg-stats span{display:flex;flex-direction:column;gap:4px}
.sfc-pg-stats b{font:800 18px/1 Manrope,sans-serif;letter-spacing:-.4px;color:#1f392f}
.sfc-pg-stats small{font:700 10px/1 DM Sans,sans-serif;letter-spacing:.4px;color:#7d9083;text-transform:uppercase}
.sfc-pg-stats .ex{padding-left:22px;border-left:1px solid rgba(42,76,53,.12)}
.sfc-pg-stats .ex b{color:#4f7c58}
.sfc-pg-acts{display:flex;gap:8px;flex-wrap:wrap}
.sfc-pg-acts button{border:1px solid rgba(42,76,53,.14);cursor:pointer;padding:10px 13px;border-radius:10px;background:#fff;color:#1f392f;font:800 11.5px/1 DM Sans,sans-serif;margin:0}
.sfc-pg-acts button:hover{border-color:#8fb68e}
.sfc-pg-acts .sfc-btn{border-color:#1d382b;background:#1d382b;color:#eef6e2}
.sfc-pg-acts .sfc-pg-clr{border-color:transparent;background:transparent;color:#8a978f}
.sfc-pg-empty{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 20px!important;margin-bottom:12px;background:linear-gradient(120deg,#f6f9f1,#eef5e6)!important}
.sfc-pg-empty b{display:block;font:700 15px/1.25 Manrope,sans-serif;color:#1f392f}
.sfc-pg-empty small{display:block;margin-top:4px;font:600 12px/1.4 DM Sans,sans-serif;color:#64796b}
.sfc-pg-empty .sfc-btn{margin:0;border:0;cursor:pointer;flex:none}
.sfc-pg-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;align-items:start}
.sfc-pg-day{display:flex;flex-direction:column;gap:6px;min-height:220px;padding:8px;border-radius:16px;background:#f6f8f2;border:1px solid rgba(42,76,53,.07);transition:background .2s ease,border-color .2s ease}
.sfc-pg-day.today{background:#fff;border-color:#8fb68e;box-shadow:0 8px 24px #2a442f12}
.sfc-pg-day.over{background:#eaf3e1;border-color:#8fb68e;border-style:dashed}
.sfc-pg-dh{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:6px;align-items:baseline;width:100%;padding:4px 6px 6px;border:0;background:transparent;cursor:pointer;text-align:left;border-radius:10px}
.sfc-pg-dh:hover{background:#00000006}
.sfc-pg-dh b{font:800 13px/1 Manrope,sans-serif;color:#1f392f}
.sfc-pg-dh small{font:700 10px/1 DM Sans,sans-serif;color:#8a978f}
.sfc-pg-day.today .sfc-pg-dh small{color:#4f7c58}
.sfc-pg-dh em{grid-column:1/3;grid-row:2;margin-top:5px;font:700 10.5px/1 DM Sans,sans-serif;font-style:normal;color:#5d7766;min-height:10px}
.sfc-pg-dh i{grid-column:3;grid-row:1/3;align-self:center;font-style:normal;color:#a3b0a7;font-size:14px;opacity:0;transition:opacity .2s}
.sfc-pg-day:hover .sfc-pg-dh i,.sfc-pg-dh:focus-visible i{opacity:1}
.sfc-pg-list{display:flex;flex-direction:column;gap:6px}
.sfc-pg-blk{position:relative;display:flex;flex-direction:column;gap:3px;padding:9px 9px 10px 12px;border-radius:11px;background:#fff;border:1px solid rgba(42,76,53,.08);cursor:grab;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
.sfc-pg-blk:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--c)}
.sfc-pg-blk:after{content:"";position:absolute;left:4px;bottom:0;height:3px;width:calc(var(--p) - 4px);background:var(--c);opacity:.7}
.sfc-pg-blk:hover{transform:translateY(-1px);box-shadow:0 6px 16px #2a442f14}
.sfc-pg-blk:focus-visible{outline:2px solid #8fb68e;outline-offset:1px}
.sfc-pg-blk.drag{opacity:.45}
.sfc-pg-blk.done{background:#f3f8ee}
.sfc-pg-blk time{font:800 10px/1 DM Sans,sans-serif;color:#71877a}
.sfc-pg-blk b{font:700 12px/1.2 Manrope,sans-serif;color:#1f392f;overflow-wrap:anywhere;padding-right:20px}
.sfc-pg-blk small{font:600 10.5px/1.2 DM Sans,sans-serif;color:#71877a}
.sfc-pg-blk em{font:600 10px/1.3 DM Sans,sans-serif;font-style:normal;color:#8a978f;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sfc-pg-play{position:absolute;top:7px;right:7px;width:22px;height:22px;border:0;border-radius:7px;background:#e3eedb;color:#1d382b;font-size:9px;cursor:pointer}
.sfc-pg-play:hover{background:#d6e8bd}
.sfc-pg-blk.done .sfc-pg-play{background:#8fb68e;color:#fff}
.sfc-pg-add{margin-top:auto;padding:8px;border:1px dashed rgba(42,76,53,.18);border-radius:10px;background:transparent;color:#5d7766;font:800 11px/1 DM Sans,sans-serif;cursor:pointer;transition:background .2s,border-color .2s}
.sfc-pg-add:hover{background:#fff;border-color:#8fb68e;color:#1f392f}
.sfc-pg-day.empty .sfc-pg-add{margin-top:6px}
.sfc-pg-split{margin-top:12px;padding:16px 20px!important}
.sfc-pg-sbar{display:flex;height:10px;border-radius:99px;overflow:hidden;gap:2px;margin-bottom:12px}
.sfc-pg-sbar i{min-width:4px}
.sfc-pg-leg{display:flex;flex-wrap:wrap;gap:6px 16px;margin:0;padding:0;list-style:none}
.sfc-pg-leg li{display:flex;align-items:center;gap:6px;font:700 11.5px/1 DM Sans,sans-serif;color:#2d4a3a}
.sfc-pg-leg li i{width:8px;height:8px;border-radius:3px}
.sfc-pg-leg li b{color:#71877a;font-weight:700}
/* editor + menus */
.sfc-pg-modal .sfc-modal-card{width:min(520px,100%);text-align:left}
.sfc-pg-modal h3{text-align:left}
.sfc-pg-form{display:flex;flex-direction:column;gap:14px;margin:14px 0 4px}
.sfc-pg-f{display:flex;flex-direction:column;gap:7px;min-width:0}
.sfc-pg-f>span{font:800 10.5px/1 DM Sans,sans-serif;letter-spacing:.3px;color:#4f6457}
.sfc-pg-f>span em{font-style:normal;font-weight:600;color:#9aa79f;margin-left:4px}
.sfc-pg-f input:not([type=range]){width:100%;box-sizing:border-box;padding:11px 12px;border-radius:11px;border:1px solid rgba(42,76,53,.16);background:#fff;font:600 13.5px/1.2 DM Sans,sans-serif;color:#1f392f}
.sfc-pg-f input:focus{outline:2px solid #b9d4b2;border-color:#8fb68e}
.sfc-pg-f input.err{border-color:#c98b8b;outline-color:#f0d4d4}
.sfc-pg-f input[type=range]{width:100%;accent-color:#4f7c58}
.sfc-pg-row2{display:grid;grid-template-columns:150px 1fr;gap:10px}
.sfc-pg-chips{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.sfc-pg-chips button,.sfc-pg-sug button{border:1px solid rgba(42,76,53,.14);cursor:pointer;padding:8px 11px;border-radius:999px;background:#fff;color:#2d4a3a;font:700 11.5px/1 DM Sans,sans-serif}
.sfc-pg-chips button:hover,.sfc-pg-sug button:hover{border-color:#8fb68e}
.sfc-pg-chips button.on{background:#1d382b;border-color:#1d382b;color:#eef6e2}
.sfc-pg-chips .sfc-pg-qs{border-style:dashed;color:#5d7766}
.sfc-pg-sug{display:flex;flex-wrap:wrap;gap:5px;margin-top:-6px}
.sfc-pg-sug button{padding:6px 9px;font-size:10.5px;background:#f3f6ee;border-color:transparent}
.sfc-pg-num{display:inline-flex;align-items:center;gap:4px}
.sfc-pg-num input{width:72px!important;padding:7px 8px!important;border-radius:999px!important;text-align:center}
.sfc-pg-num small{font:700 11px/1 DM Sans,sans-serif;color:#71877a}
.sfc-pg-ex button{padding:8px 10px}
.sfc-pg-del{border:0;cursor:pointer;padding:12px 16px;border-radius:10px;background:#f6e9e4;color:#9b4b33;font:800 12px/1 DM Sans,sans-serif}
.sfc-pg-warn{margin:10px 0 0;padding:9px 12px;border-radius:10px;background:#faf3e3;color:#8a6a2f;font:600 12px/1.35 DM Sans,sans-serif}
.sfc-pg-modal .sfc-modal-actions{justify-content:flex-start}
.sfc-modal .sfc-pg-dsel{margin:12px 0 4px}
@media (max-width:1100px){.sfc-pg-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:720px){
  .sfc-pg-grid{grid-template-columns:1fr}
  .sfc-pg-day{min-height:0}
  .sfc-pg-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
  .sfc-pg-day.today{order:-1}
  .sfc-pg-row2{grid-template-columns:1fr}
  .sfc-pg-stats{gap:16px}.sfc-pg-stats .ex{padding-left:16px}
  .sfc-pg-empty{flex-direction:column;align-items:flex-start}
}

/* ================= v6.3 · timer folds + live café ================= */
.sfc-fold:not(.open)>*:not(.sfc-fold-btn){display:none!important}
.sfc-fold:not(.open){padding-top:0!important;padding-bottom:0!important;min-height:0!important}
.sfc-fold-btn{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 4px;border:0;background:transparent;cursor:pointer;font:800 12px/1 DM Sans,sans-serif;color:#2d4a3a}
.sfc-fold-btn i{font-style:normal;font-weight:700;color:#71877a;font-size:11px}
.sfc-fold.open .sfc-fold-btn{padding-top:0;margin-bottom:4px}
#p-timer .timer-layout{align-items:start}
#p-timer .timer-layout>.timer-panel{position:sticky;top:16px}

.sfc-cfpage .sfc-cf-body{padding-bottom:40px}
.sfc-cf-rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:6px}
.sfc-cf-room{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:20px;background:#fbfcf7;border:1px solid rgba(42,76,53,.1);box-shadow:0 6px 22px #2a442f0b;transition:transform .3s ease,box-shadow .3s ease}
.sfc-cf-room:hover{transform:translateY(-2px);box-shadow:0 14px 30px #2a442f17}
.sfc-cf-rtop{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.sfc-cf-rtop i{font-style:normal;font-size:26px}
.sfc-cf-live{font:800 10.5px/1 DM Sans,sans-serif;padding:6px 9px;border-radius:99px;background:#eef2e8;color:#71877a}
.sfc-cf-live.on{background:#e3f0d6;color:#2f6a3b}
.sfc-cf-live.on:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:#4caf50;margin-right:6px;vertical-align:1px;animation:sfcPulse 1.6s ease-in-out infinite}
@keyframes sfcPulse{50%{opacity:.35}}
.sfc-cf-room b{font:700 16px/1.2 Manrope,sans-serif;color:#1f392f}
.sfc-cf-room small{font:600 11.5px/1.35 DM Sans,sans-serif;color:#71877a}
.sfc-cf-rph{margin-top:4px;font:800 11px/1 DM Sans,sans-serif;color:#4f7c58}
.sfc-cf-rph.b{color:#b07a3a}
.sfc-cf-stack{display:flex;min-height:28px;margin:4px 0 6px}
.sfc-cf-stack em,.sfc-cf-seat em{display:inline-grid;place-items:center;font-style:normal;color:#fff;font:800 12px/1 Manrope,sans-serif}
.sfc-cf-stack em{width:28px;height:28px;border-radius:50%;border:2px solid #fbfcf7;margin-right:-8px}
.sfc-cf-stack em.more{background:#cfd9c9;color:#2d4a3a}
.sfc-cf-room .sfc-btn{margin-top:auto;border:0;cursor:pointer;align-self:stretch;text-align:center}
.sfc-cf-note{margin:14px 2px 0;font:600 11.5px/1.4 DM Sans,sans-serif;color:#8a978f}
.sfc-cf-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;padding:26px 28px;border-radius:24px;background:linear-gradient(135deg,#1d382b,#2d5640);color:#eef6e2;margin-top:8px}
.sfc-cf-head.b{background:linear-gradient(135deg,#5b4a2d,#8a6a3a)}
.sfc-cf-head .sfc-k{color:#cfe3c4}
.sfc-cf-head h2{margin:6px 0 6px;font:800 clamp(40px,5vw,64px)/1 Manrope,sans-serif;letter-spacing:-2px;color:#fff;display:flex;align-items:baseline;gap:12px}
.sfc-cf-head h2 small{font:700 13px/1 DM Sans,sans-serif;letter-spacing:0;color:#cfe3c4}
.sfc-cf-head p{margin:0;font:600 13px/1.4 DM Sans,sans-serif;color:#d9e8d2}
.sfc-cf-hact{display:flex;gap:8px;flex-wrap:wrap}
.sfc-cf-hact button{border:1px solid #ffffff33;cursor:pointer;padding:11px 14px;border-radius:11px;background:#ffffff14;color:#eef6e2;font:800 12px/1 DM Sans,sans-serif;margin:0}
.sfc-cf-hact .sfc-btn{background:#dff2aa;border-color:#dff2aa;color:#1d382b}
.sfc-cf-hact .sfc-cf-leave{background:transparent;border-color:transparent;color:#ffffffaa}
.sfc-cf-alone{margin:12px 2px 0;padding:12px 16px;border-radius:14px;background:#f3f6ee;font:600 12.5px/1.4 DM Sans,sans-serif;color:#4f6457}
.sfc-cf-table{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:12px}
.sfc-cf-seat{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;padding:18px 10px 14px;border-radius:18px;background:#fbfcf7;border:1px solid rgba(42,76,53,.1);text-align:center;overflow:visible}
.sfc-cf-seat em{width:46px;height:46px;border-radius:50%;font-size:17px;margin-bottom:4px}
.sfc-cf-seat b{font:700 13px/1.2 Manrope,sans-serif;color:#1f392f}
.sfc-cf-seat b small{font-weight:600;color:#71877a}
.sfc-cf-seat small{font:600 11px/1.25 DM Sans,sans-serif;color:#71877a}
.sfc-cf-seat span{font:700 10px/1 DM Sans,sans-serif;color:#8a978f}
.sfc-cf-seat.me{border-color:#8fb68e;box-shadow:0 0 0 2px #8fb68e40}
.sfc-cf-seat.empty{background:transparent;border-style:dashed}
.sfc-cf-seat.empty em{background:#eef2e8}
.sfc-cf-float{position:absolute;top:10px;font-style:normal;font-size:22px;pointer-events:none;animation:sfcFloat 1.8s ease-out forwards}
@keyframes sfcFloat{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:1;transform:translateY(-6px) scale(1.1)}100%{transform:translateY(-60px) scale(1);opacity:0}}
.sfc-cf-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:12px;padding:14px 18px!important}
.sfc-cf-bar label{display:flex;align-items:center;gap:10px;font:800 11.5px/1 DM Sans,sans-serif;color:#2d4a3a}
.sfc-cf-bar select{padding:9px 10px;border-radius:10px;border:1px solid rgba(42,76,53,.16);background:#fff;font:600 12.5px/1 DM Sans,sans-serif;color:#1f392f}
.sfc-cf-rx{display:flex;gap:6px}
.sfc-cf-rx button{width:40px;height:40px;border:1px solid rgba(42,76,53,.12);border-radius:12px;background:#fff;font-size:18px;cursor:pointer;transition:transform .15s ease}
.sfc-cf-rx button:active{transform:scale(.88)}
.sfc-cf-anon{border:0;background:transparent;cursor:pointer;font:700 11.5px/1 DM Sans,sans-serif;color:#71877a;text-decoration:underline;text-underline-offset:3px}
.sfc-cfpill{position:fixed;left:50%;bottom:64px;z-index:9995;display:flex;align-items:center;gap:10px;max-width:min(460px,calc(100vw - 32px));padding:8px 8px 8px 14px;border-radius:999px;background:#fbfcf7;color:#1f392f;border:1px solid rgba(42,76,53,.16);box-shadow:0 14px 34px #00000026;font:700 12px/1 DM Sans,sans-serif;transform:translateX(-50%);cursor:pointer}
.sfc-cfpill span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sfc-cfpill button{flex:none;width:24px;height:24px;border:0;border-radius:50%;background:#eef2e8;color:#2d4a3a;cursor:pointer}
a[data-sfc-cafe] .sfc-new.live{background:#e3f0d6;color:#2f6a3b}
@media (max-width:1100px){.sfc-cf-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.sfc-cf-rooms{grid-template-columns:1fr}.sfc-cf-head{padding:20px}.sfc-cf-table{grid-template-columns:repeat(2,minmax(0,1fr))}#p-timer .timer-layout>.timer-panel{position:static}}
/* Kafe stilleri: 45-sf-kafe.css (23-sf-cinematic.js bu dosyanın hemen arkasına ekler) */
