:root{
  color-scheme:light;
  --bg:#f4f7fb;--panel:#fff;--panel-soft:#f7f9fc;--ink:#172033;--muted:#68758a;--line:#dbe4ef;
  --blue:#2563eb;--blue2:#3b82f6;--green:#16a34a;--orange:#f59e0b;--purple:#7c3aed;--shadow:0 14px 34px rgba(31,41,55,.09);
}
html[data-theme="dark"]{color-scheme:dark;--bg:#111827;--panel:#182230;--panel-soft:#202b3b;--ink:#f1f5f9;--muted:#aeb9c9;--line:#334155;--shadow:0 16px 38px rgba(0,0,0,.25)}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{font-family:ui-rounded,"Arial Rounded MT Bold","Segoe UI",Arial,sans-serif;background:var(--bg);color:var(--ink);touch-action:manipulation}button{font:inherit}
.app{height:100dvh;min-height:560px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;padding:7px 9px 4px;overflow:hidden}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:45px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:5px 7px 5px 8px;box-shadow:0 4px 12px rgba(31,41,55,.045)}
.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-size:21px;background:#fff4dd;border:1px solid #f4d18e;flex:0 0 auto}.brand h1{font-size:clamp(18px,1.48vw,24px);line-height:1;margin:0;font-weight:1000;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;gap:6px;flex:0 0 auto}.top-btn{border:0;border-radius:10px;padding:7px 10px;min-height:33px;cursor:pointer;font-weight:950;background:#edf2f8;color:#263244;white-space:nowrap}.top-btn.full{background:#202a38;color:#fff}.top-btn:active{transform:scale(.97)}
.workspace{min-height:0;display:grid;grid-template-columns:minmax(300px,.97fr) minmax(0,1.93fr);gap:9px;overflow:hidden}.side-panel{min-height:0;align-self:start;display:grid;grid-template-rows:auto auto auto auto;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:12px;box-shadow:0 6px 18px rgba(31,41,55,.05);overflow:hidden}
.mode-switch{display:flex;gap:7px;flex-wrap:wrap}.mode-btn{border:1px solid #d8e2ef;background:#f7f9fc;color:#314057;border-radius:999px;padding:8px 11px;min-height:36px;font-weight:950;cursor:pointer;box-shadow:0 2px 7px rgba(31,41,55,.04)}.mode-btn.active{background:linear-gradient(180deg,#eef5ff,#dceaff);border-color:#7ba7f5;color:#154fb6;box-shadow:0 5px 14px rgba(37,99,235,.13)}
.goal-card{border-radius:14px;background:linear-gradient(180deg,#fff9e9,#fffdf7);border:1px solid #f2d597;padding:11px 12px}.goal-kicker{display:inline-flex;border-radius:999px;padding:4px 8px;background:#ffefc8;color:#9a5700;font-size:9px;font-weight:1000;letter-spacing:.08em}.goal-card h2{margin:7px 0 4px;font-size:clamp(18px,1.55vw,24px);line-height:1.08}.goal-card p{margin:0;color:#5b6474;font-size:13px;line-height:1.35;font-weight:800}
.mini-guide{display:grid;gap:8px}.guide-step{position:relative;display:flex;align-items:center;gap:10px;border:1px solid #e0e7f0;background:var(--panel-soft);border-radius:13px;padding:9px 10px;min-height:56px}.guide-index{flex:0 0 35px;width:35px;height:35px;border-radius:12px;display:grid;place-items:center;background:#e9eef6;color:#41516b;font-weight:1000}.guide-copy{min-width:0}.guide-step strong{display:block;font-size:13px}.guide-step small{display:block;margin-top:2px;color:var(--muted);font-size:10px;line-height:1.2;font-weight:750}.guide-step.active{border-color:#74a5fa;background:#eef5ff}.guide-step.active .guide-index{background:linear-gradient(180deg,#5792ff,#2563eb);color:#fff;box-shadow:0 4px 0 #174bb2}.guide-step.done{border-color:#a8dfb8;background:#effaf2}.guide-step.done .guide-index{background:#22c55e;color:#fff}.guide-step.reward .guide-index{background:linear-gradient(180deg,#ffbb3e,#f59e0b);box-shadow:0 4px 0 #c57a00}.guide-check{margin-left:auto;flex:0 0 28px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#22c55e;color:#fff;font-weight:1000}
.status-card{display:flex;align-items:center;gap:9px;border:1px solid #e0e7ef;background:var(--panel-soft);border-radius:12px;padding:8px 10px;min-height:50px}.status-icon{font-size:22px}.status-card strong{display:block;font-size:13px}.status-card p{margin:2px 0 0;color:var(--muted);font-size:10px;line-height:1.2;font-weight:750}.status-card.success{border-color:#9edcae;background:#effaf2}.status-card.error{border-color:#ffc3bd;background:#fff5f4}
.stage-panel{position:relative;min-width:0;min-height:0;overflow:hidden}.stage{height:100%;min-height:0;display:grid;place-items:center;padding:12px 12px 65px}.lesson-actions{position:absolute;left:18px;right:18px;bottom:8px;display:flex;justify-content:center;pointer-events:none}.primary-action{pointer-events:auto;border:0;border-radius:13px;padding:10px 22px;min-width:185px;background:linear-gradient(180deg,#ffb432,#f59e0b);color:#402500;font-weight:1000;cursor:pointer;box-shadow:0 5px 0 #c47b00,0 10px 18px rgba(245,158,11,.18)}.primary-action:active{transform:translateY(3px);box-shadow:0 2px 0 #c47b00,0 5px 10px rgba(245,158,11,.15)}.primary-action.attention{animation:actionPulse 1.2s ease-in-out infinite}
.success-banner{position:absolute;top:10px;right:18px;z-index:20;display:flex;align-items:center;gap:10px;padding:10px 18px;border-radius:15px;background:linear-gradient(180deg,#fff,#f1fff4);border:2px solid #7ad698;box-shadow:0 12px 30px rgba(22,163,74,.18);min-width:340px}.success-banner[hidden]{display:none}.success-banner>span{font-size:26px}.success-banner strong{display:block;color:#0d7d34;font-size:19px}.success-banner small{display:block;margin-top:2px;color:#315c40;font-weight:800}
@keyframes actionPulse{0%,100%{transform:scale(1);box-shadow:0 5px 0 #c47b00,0 10px 18px rgba(245,158,11,.18)}50%{transform:translateY(-2px) scale(1.035);box-shadow:0 7px 0 #c47b00,0 13px 25px rgba(245,158,11,.25)}}
.object-img,.shape-img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.object-img{filter:drop-shadow(0 13px 18px rgba(15,23,42,.16))}
.observe-stage{width:min(100%,1120px);height:min(100%,760px);display:grid;grid-template-columns:minmax(280px,.86fr) minmax(500px,1.64fr);gap:18px;align-items:stretch}.object-hero{position:relative;min-height:0;background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);display:grid;place-items:center;padding:42px 24px 34px;overflow:hidden}.object-hero::after{content:"";position:absolute;left:16%;right:16%;bottom:12%;height:24px;border-radius:50%;background:radial-gradient(ellipse,rgba(17,24,39,.18),transparent 68%);filter:blur(4px)}.hero-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(96,165,250,.13),rgba(255,255,255,0) 66%)}.hero-label{position:absolute;top:14px;left:50%;transform:translateX(-50%);z-index:4;border-radius:999px;padding:7px 15px;background:#fff;border:1px solid #dce5ef;box-shadow:0 4px 12px rgba(31,41,55,.08);font-weight:1000;font-size:15px}.hero-object{width:min(94%,370px);height:min(78%,380px);position:relative;z-index:2}.hero-tip{position:absolute;left:12%;right:12%;bottom:13px;z-index:4;border-radius:12px;padding:8px 10px;background:#eef5ff;color:#2563eb;text-align:center;font-weight:850;font-size:12px}
.answer-panel{min-height:0;display:grid;grid-template-rows:1fr 1.08fr;gap:14px}.answer-block{border:2px solid #e2e8f0;background:var(--panel);border-radius:20px;padding:13px;display:grid;grid-template-rows:auto 1fr;gap:11px;box-shadow:var(--shadow)}.active-question{border-color:#72a3fb;box-shadow:0 0 0 4px rgba(37,99,235,.08),var(--shadow)}.answer-title{display:flex;align-items:center;gap:10px}.answer-title span{flex:0 0 36px;width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(180deg,#5f98ff,#245de7);color:#fff;font-weight:1000;box-shadow:0 4px 0 #1b46a6}.answer-title.purple span{background:linear-gradient(180deg,#9a69ff,#7338e4);box-shadow:0 4px 0 #5423b3}.answer-title strong{font-size:clamp(19px,1.4vw,28px);line-height:1.05}.answer-title em{margin-left:auto;border-radius:999px;padding:7px 12px;background:#eef5ff;color:#4870a6;font-style:normal;font-size:11px;font-weight:850}.answer-title.purple em{background:#f2edff;color:#7046a9}
.color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:center}.shape-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:center}.color-choice,.shape-choice,.candidate-card{border:1px solid #dbe5f1;background:linear-gradient(180deg,#fbfdff,#f2f6fb);border-radius:17px;cursor:pointer;box-shadow:0 5px 12px rgba(148,163,184,.11);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.color-choice:hover,.shape-choice:hover,.candidate-card:hover{transform:translateY(-2px);box-shadow:0 9px 18px rgba(148,163,184,.17)}.color-choice{min-height:102px;padding:10px;display:grid;grid-template-columns:60px auto;place-items:center;gap:10px}.color-choice strong,.shape-choice strong,.candidate-card strong{font-size:clamp(16px,1.12vw,21px);line-height:1.05}.color-orb{position:relative;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 33% 27%,#fff 0 8%,var(--orb-light) 12%,var(--orb) 48%,var(--orb-dark) 100%);box-shadow:inset -5px -7px 10px rgba(0,0,0,.13),0 8px 12px rgba(15,23,42,.15)}.color-orb::after{content:"";position:absolute;left:13px;top:8px;width:17px;height:10px;border-radius:50%;background:rgba(255,255,255,.8);transform:rotate(-24deg)}.shape-choice{min-height:120px;padding:9px 7px;display:grid;grid-template-rows:78px auto;place-items:center}.shape-art{width:82px;height:78px;display:grid;place-items:center}.shape-art .shape-img{filter:drop-shadow(0 7px 8px rgba(15,23,42,.16))}
.correct{border-color:#5cca7f!important;background:linear-gradient(180deg,#f5fff8,#eaf8ee)!important;box-shadow:0 0 0 4px rgba(34,197,94,.10),0 10px 20px rgba(34,197,94,.13)!important}.wrong{animation:wrongShake .38s ease}@keyframes wrongShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}50%{transform:translateX(6px)}75%{transform:translateX(-4px)}}
.compare-stage{width:min(100%,1120px);height:min(100%,690px);display:grid;grid-template-columns:minmax(250px,.8fr) 54px minmax(500px,1.7fr);align-items:center;gap:14px}.target-card{height:min(90%,520px);border:2px solid #f0c667;background:linear-gradient(180deg,#fffbef,#fff);border-radius:23px;display:grid;grid-template-rows:auto 1fr auto auto;place-items:center;padding:13px 18px 18px;box-shadow:var(--shadow)}.target-kicker{border-radius:999px;background:#f59e0b;color:#fff;padding:5px 10px;font-size:10px;font-weight:1000;letter-spacing:.1em}.target-art{width:min(95%,290px);height:min(100%,330px);display:grid;place-items:center}.target-card>strong{font-size:22px}.target-card>small{margin-top:5px;padding:6px 10px;border-radius:999px;background:#fff0c5;color:#8a5500;font-weight:900;text-align:center}.compare-arrow{font-size:48px;color:#5e7fae;font-weight:1000}.candidate-grid{height:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;align-items:center}.candidate-card{position:relative;height:min(78%,410px);min-height:270px;display:grid;grid-template-rows:1fr auto;place-items:center;padding:14px}.candidate-num{position:absolute;top:10px;left:10px;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;background:#e8eef7;color:#38506f;font-weight:1000}.candidate-art{width:min(96%,220px);height:min(100%,270px);display:grid;place-items:center}
.classroom-stage{width:min(100%,990px);height:min(100%,650px);display:grid;place-items:center}.classroom-prompt{width:min(94%,820px);height:min(88%,550px);border:2px solid #77a6f7;background:linear-gradient(180deg,#fff,#f5f9ff);border-radius:26px;box-shadow:var(--shadow);padding:22px;display:grid;grid-template-rows:auto 1fr auto auto;place-items:center;gap:10px}.classroom-label{border-radius:999px;background:#2563eb;color:#fff;padding:6px 14px;font-size:11px;font-weight:1000;letter-spacing:.1em}.prompt-visual{display:flex;align-items:center;justify-content:center;gap:24px;width:100%}.big-color{width:190px;height:190px;border-radius:36px;display:grid;place-items:center;background:linear-gradient(180deg,var(--prompt-light),var(--prompt),var(--prompt-dark));box-shadow:inset 0 4px 0 rgba(255,255,255,.48),inset 0 -6px 0 rgba(0,0,0,.13),0 14px 22px rgba(31,41,55,.14);color:#fff;text-shadow:0 2px 0 rgba(0,0,0,.22)}.big-color span{font-size:22px;font-weight:1000}.plus{font-size:50px;font-weight:1000;color:#8a99ad}.big-shape{width:190px;height:190px;border-radius:28px;background:#fff;border:1px solid #dce5ef;box-shadow:0 12px 25px rgba(31,41,55,.08);display:grid;grid-template-rows:1fr auto;place-items:center;padding:14px}.big-shape .shape-img{width:135px;height:135px;filter:drop-shadow(0 8px 8px rgba(15,23,42,.14))}.big-shape strong{font-size:18px}.classroom-prompt p{margin:0;font-size:clamp(18px,1.55vw,25px);font-weight:1000;text-align:center;line-height:1.25}.classroom-tip{border-radius:12px;background:#eef5ff;color:#36547a;padding:9px 14px;font-size:12px;font-weight:850;text-align:center}
.footer{min-height:14px;display:flex;justify-content:space-between;align-items:center;padding:0 3px;color:#7b8494;font-size:8px;font-weight:850}
html[data-theme="dark"] .top-btn{background:#253145;color:#e8eef7}html[data-theme="dark"] .top-btn.full{background:#0f172a}html[data-theme="dark"] .brand-icon{background:#3b2c12;border-color:#6e521d}html[data-theme="dark"] .goal-card{background:linear-gradient(180deg,#322810,#261f10);border-color:#604b1f}html[data-theme="dark"] .goal-card p{color:#c7bfae}html[data-theme="dark"] .mode-btn{background:#253145;border-color:#39485c;color:#d8e0ea}html[data-theme="dark"] .mode-btn.active{background:linear-gradient(180deg,#21457b,#193a69);border-color:#5b8ee8;color:#e8f1ff}html[data-theme="dark"] .object-hero,html[data-theme="dark"] .answer-block,html[data-theme="dark"] .candidate-card,html[data-theme="dark"] .big-shape{background:#182230;border-color:#3a4b60}html[data-theme="dark"] .target-card{background:linear-gradient(180deg,#382f18,#1c2635);border-color:#765d24}html[data-theme="dark"] .classroom-prompt{background:linear-gradient(180deg,#182230,#16243a);border-color:#456fae}html[data-theme="dark"] .color-choice,html[data-theme="dark"] .shape-choice{background:#202b3b;border-color:#3a4b60;color:#e9eff7}html[data-theme="dark"] .hero-label{background:#202b3b;border-color:#3a4b60}html[data-theme="dark"] .classroom-tip{background:#203650;color:#dce9f8}html[data-theme="dark"] .success-banner{background:linear-gradient(180deg,#182230,#153322)}html[data-theme="dark"] .success-banner small{color:#d6f6df}
@media(max-height:760px){.app{min-height:500px;gap:4px;padding:4px 7px 3px}.topbar{min-height:37px;padding:3px 6px}.brand-icon{width:27px;height:27px;font-size:18px}.brand h1{font-size:17px}.top-btn{min-height:29px;padding:5px 8px}.side-panel{padding:9px;gap:7px}.mode-btn{min-height:31px;padding:6px 9px;font-size:12px}.goal-card{padding:8px 9px}.goal-card h2{font-size:17px;margin:5px 0 2px}.goal-card p{font-size:11px}.guide-step{min-height:45px;padding:6px 8px}.guide-index{width:29px;height:29px}.status-card{min-height:42px;padding:6px 8px}.stage{padding:8px 10px 54px}.observe-stage{height:min(100%,575px)}.color-choice{min-height:75px}.color-orb{width:46px;height:46px}.shape-choice{min-height:88px;grid-template-rows:55px auto}.shape-art{width:60px;height:55px}.candidate-card{min-height:220px}.lesson-actions{bottom:4px}.primary-action{padding:8px 16px}.classroom-prompt{padding:16px}.big-color,.big-shape{width:150px;height:150px}.big-shape .shape-img{width:105px;height:105px}}
@media(max-width:980px){.workspace{grid-template-columns:minmax(250px,.9fr) minmax(0,2.1fr)}.mode-switch{gap:4px}.mode-btn{padding:6px 8px;font-size:11px}.observe-stage{grid-template-columns:minmax(210px,.75fr) minmax(390px,1.75fr)}.color-grid,.shape-grid{gap:6px}.answer-title em{display:none}.color-choice{grid-template-columns:44px auto;padding:6px}.color-orb{width:42px;height:42px}.shape-choice{min-height:94px}.shape-art{width:64px;height:60px}.compare-stage{grid-template-columns:200px 30px minmax(390px,1fr);gap:8px}.compare-arrow{font-size:34px}.candidate-grid{gap:7px}.prompt-visual{gap:14px}}
@media(max-width:720px){html,body{height:auto;overflow:auto}.app{height:auto;min-height:100dvh;padding:7px}.topbar{position:sticky;top:0;z-index:40}.workspace{grid-template-columns:1fr;overflow:visible}.side-panel{overflow:visible}.stage-panel{overflow:visible}.stage{height:auto;min-height:620px;padding:14px 0 80px}.observe-stage{height:auto;grid-template-columns:1fr;gap:12px}.object-hero{min-height:360px}.hero-object{height:270px}.answer-panel{grid-template-rows:auto auto}.color-choice{min-height:82px}.shape-choice{min-height:105px}.compare-stage{height:auto;grid-template-columns:1fr;gap:12px}.target-card{height:auto;min-height:360px}.compare-arrow{transform:rotate(90deg)}.candidate-grid{height:auto;grid-template-columns:1fr}.candidate-card{height:auto;min-height:300px}.classroom-stage{height:auto}.classroom-prompt{height:auto}.lesson-actions{position:static;padding:10px}.success-banner{position:fixed;left:12px;right:12px;top:62px;min-width:0}.footer{font-size:10px}.top-actions span:not(#themeIcon){display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* v1.1.1 — shape-only compare/classroom + dark theme harmonization */
.classroom-prompt.shape-only-prompt{
  width:min(94%,860px);
  height:min(90%,590px);
  grid-template-rows:auto 1fr auto auto;
  padding:22px 28px;
}
.classroom-shape-hero{
  width:min(78%,430px);
  min-height:350px;
  display:grid;
  grid-template-rows:1fr auto;
  place-items:center;
  align-self:center;
  padding:12px 20px 16px;
  border-radius:34px;
  background:radial-gradient(circle at 50% 34%,#ffffff 0%,#f6f9ff 64%,#edf3fb 100%);
  border:1px solid #dce6f2;
  box-shadow:0 18px 38px rgba(31,41,55,.10),inset 0 2px 0 rgba(255,255,255,.8);
}
.classroom-shape-hero .shape-img{
  width:min(92%,330px);
  height:min(38vh,330px);
  object-fit:contain;
  filter:drop-shadow(0 18px 18px rgba(15,23,42,.18));
}
.classroom-shape-hero strong{
  margin-top:-6px;
  font-size:clamp(28px,2.3vw,40px);
  line-height:1;
  font-weight:1000;
  letter-spacing:-.02em;
}
.shape-only-prompt p{font-size:clamp(22px,1.8vw,30px)}

/* Koyu tema: açık kalan bütün öğretim kartlarını aynı palete çek. */
html[data-theme="dark"] .side-panel{
  background:#182230;
  border-color:#334155;
  box-shadow:0 8px 22px rgba(0,0,0,.18);
}
html[data-theme="dark"] .guide-step{
  background:#202b3b;
  border-color:#3a4b60;
  color:#e9eff7;
}
html[data-theme="dark"] .guide-index{
  background:#2b3a4e;
  color:#dce7f4;
}
html[data-theme="dark"] .guide-step.active{
  background:linear-gradient(180deg,#203c66,#1c355b);
  border-color:#5b8ee8;
  box-shadow:inset 0 0 0 1px rgba(91,142,232,.18);
}
html[data-theme="dark"] .guide-step.done{
  background:linear-gradient(180deg,#173a27,#153322);
  border-color:#3f8b58;
}
html[data-theme="dark"] .guide-step.done .guide-index{
  background:#239a4b;
  color:#fff;
}
html[data-theme="dark"] .guide-step small{color:#b9c6d6}
html[data-theme="dark"] .status-card{
  background:#202b3b;
  border-color:#3a4b60;
  color:#e9eff7;
}
html[data-theme="dark"] .status-card p{color:#b9c6d6}
html[data-theme="dark"] .status-card.success{
  background:#153322;
  border-color:#3f8b58;
}
html[data-theme="dark"] .status-card.error{
  background:#3b2022;
  border-color:#8b4548;
}
html[data-theme="dark"] .active-question{
  border-color:#5b8ee8;
  box-shadow:0 0 0 4px rgba(91,142,232,.10),0 14px 30px rgba(0,0,0,.20);
}
html[data-theme="dark"] .answer-title em{
  background:#253a58;
  color:#d9e7fb;
  border:1px solid #3c5575;
}
html[data-theme="dark"] .answer-title.purple em{
  background:#332952;
  color:#eadfff;
  border-color:#584480;
}
html[data-theme="dark"] .candidate-num{
  background:#2b3a4e;
  color:#dce7f4;
}
html[data-theme="dark"] .target-card>small{
  background:#4a3b17;
  color:#ffe7a5;
  border:1px solid #735c24;
}
html[data-theme="dark"] .target-kicker{box-shadow:0 3px 0 #a55c00}
html[data-theme="dark"] .correct{
  border-color:#3e9c5c!important;
  background:linear-gradient(180deg,#183b28,#153322)!important;
  color:#e9fff0!important;
  box-shadow:0 0 0 4px rgba(34,197,94,.08),0 10px 20px rgba(0,0,0,.18)!important;
}
html[data-theme="dark"] .classroom-shape-hero{
  background:radial-gradient(circle at 50% 34%,#26384f 0%,#202d3f 60%,#1a2534 100%);
  border-color:#3a4b60;
  box-shadow:0 18px 38px rgba(0,0,0,.24),inset 0 2px 0 rgba(255,255,255,.035);
}
html[data-theme="dark"] .classroom-shape-hero strong{color:#f1f5f9}
html[data-theme="dark"] .classroom-prompt p{color:#f1f5f9}
html[data-theme="dark"] .classroom-label{box-shadow:0 4px 0 #1747b2}
html[data-theme="dark"] .hero-tip{
  background:#253a58;
  color:#dceaff;
  border-color:#3c5575;
}
html[data-theme="dark"] .success-banner{
  border-color:#3f8b58;
  box-shadow:0 14px 32px rgba(0,0,0,.24);
}
html[data-theme="dark"] .success-banner strong{color:#8df0ad}
html[data-theme="dark"] .success-banner small{color:#d6f6df}

@media(max-height:760px){
  .classroom-prompt.shape-only-prompt{height:min(91%,500px);padding:14px 20px}
  .classroom-shape-hero{min-height:280px;width:min(70%,360px);padding:8px 14px 12px}
  .classroom-shape-hero .shape-img{width:min(90%,250px);height:min(34vh,250px)}
  .classroom-shape-hero strong{font-size:28px}
}
@media(max-width:980px){
  .classroom-shape-hero{width:min(82%,390px)}
}
@media(max-width:720px){
  .classroom-prompt.shape-only-prompt{width:100%;height:auto;padding:16px}
  .classroom-shape-hero{width:min(92%,360px);min-height:300px}
  .classroom-shape-hero .shape-img{width:min(92%,260px);height:260px}
}

/* v1.1.2 — mobile portrait polish only; desktop rules above are unchanged */
@media (max-width:720px){
  html,body{width:100%;height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}
  body{background:var(--bg)}
  .app{
    width:100%;height:auto;min-height:100dvh;
    display:block;
    padding:6px 6px calc(10px + env(safe-area-inset-bottom));
    overflow:visible;
  }
  .topbar{
    position:sticky;top:0;z-index:60;
    min-height:45px;
    margin-bottom:7px;
    padding:5px 6px;
    border-radius:13px;
    backdrop-filter:blur(12px);
  }
  .brand{gap:7px;min-width:0;max-width:calc(100% - 132px)}
  .brand-icon{width:30px;height:30px;font-size:19px;border-radius:9px}
  .brand h1{font-size:clamp(15px,4.2vw,18px);max-width:100%;text-overflow:ellipsis}
  .top-actions{gap:4px}
  .top-btn{width:38px;min-width:38px;height:34px;min-height:34px;padding:0;display:grid;place-items:center;border-radius:10px;font-size:18px}
  .top-btn span:not(#themeIcon){display:none}
  .top-btn.full{font-size:19px}

  .workspace{display:block;overflow:visible}
  .side-panel{
    width:100%;
    display:block;
    padding:9px;
    margin-bottom:8px;
    border-radius:16px;
    overflow:visible;
  }
  .mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:8px}
  .mode-btn{width:100%;min-width:0;min-height:38px;padding:7px 4px;font-size:clamp(10px,3.25vw,13px);white-space:nowrap;text-align:center}
  .goal-card{padding:9px 10px;margin-bottom:7px;border-radius:13px}
  .goal-kicker{font-size:8px;padding:4px 7px}
  .goal-card h2{margin:5px 0 3px;font-size:clamp(17px,4.8vw,20px)}
  .goal-card p{font-size:11px;line-height:1.27}

  .mini-guide{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-bottom:7px}
  .guide-step{
    min-width:0;min-height:82px;
    display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto 1fr;
    align-items:start;gap:5px 6px;
    padding:7px 6px;border-radius:12px;
  }
  .guide-index{grid-row:1 / span 2;width:29px;height:29px;flex-basis:29px;border-radius:9px;font-size:13px}
  .guide-copy{min-width:0}
  .guide-step strong{font-size:10px;line-height:1.08}
  .guide-step small{font-size:8px;line-height:1.15;margin-top:2px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .guide-check{position:absolute;right:4px;top:4px;width:18px;height:18px;font-size:10px}
  .status-card{min-height:43px;padding:7px 8px;border-radius:11px}
  .status-icon{font-size:18px}
  .status-card strong{font-size:11px}
  .status-card p{font-size:9px;line-height:1.15}

  .stage-panel{width:100%;overflow:visible}
  .stage{height:auto;min-height:0;display:block;padding:0;overflow:visible}
  .lesson-actions{
    position:static;
    width:100%;
    display:flex;justify-content:center;
    padding:8px 0 4px;
    pointer-events:auto;
  }
  .primary-action{
    width:min(86vw,330px);min-width:0;
    min-height:46px;padding:10px 16px;
    border-radius:14px;font-size:15px;
  }
  .success-banner{
    position:fixed;z-index:90;
    left:10px;right:10px;top:58px;
    min-width:0;max-width:none;
    padding:9px 12px;border-radius:14px;
  }
  .success-banner>span{font-size:21px}
  .success-banner strong{font-size:16px}
  .success-banner small{font-size:10px;line-height:1.2}

  /* Gözle: compact premium mobile card */
  .observe-stage{width:100%;height:auto;display:block}
  .object-hero{
    width:100%;min-height:260px;height:260px;
    padding:38px 14px 30px;margin-bottom:8px;
    border-radius:20px;
  }
  .hero-label{top:10px;padding:6px 12px;font-size:13px}
  .hero-object{width:min(70vw,250px);height:190px}
  .hero-tip{left:8%;right:8%;bottom:8px;padding:6px 8px;font-size:9px}
  .answer-panel{display:block}
  .answer-block{padding:10px;border-radius:17px;margin-bottom:8px;gap:8px}
  .answer-title{gap:8px;margin-bottom:7px}
  .answer-title span{width:31px;height:31px;flex-basis:31px;border-radius:10px;font-size:14px}
  .answer-title strong{font-size:clamp(17px,4.5vw,20px)}
  .answer-title em{display:none}
  .color-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .color-choice{
    min-width:0;min-height:82px;
    padding:7px 4px;
    display:grid;grid-template-columns:1fr;grid-template-rows:48px auto;
    place-items:center;gap:5px;border-radius:13px;
  }
  .color-orb{width:45px;height:45px}
  .color-choice strong{font-size:12px}
  .shape-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .shape-choice{min-height:104px;padding:6px;border-radius:14px;grid-template-rows:70px auto}
  .shape-art{width:78px;height:68px}
  .shape-choice strong{font-size:13px}

  /* Karşılaştır: target above + three compact choices in one row */
  .compare-stage{width:100%;height:auto;display:block}
  .target-card{
    width:100%;height:245px;min-height:0;
    grid-template-rows:auto 1fr auto auto;
    padding:9px 12px 11px;margin-bottom:7px;border-radius:19px;
  }
  .target-kicker{font-size:8px;padding:4px 8px}
  .target-art{width:190px;height:150px}
  .target-card>strong{font-size:18px}
  .target-card>small{font-size:9px;padding:4px 8px;margin-top:3px}
  .compare-arrow{display:none}
  .candidate-grid{height:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .candidate-card{
    height:150px;min-height:150px;
    padding:8px 4px 7px;border-radius:14px;
    grid-template-rows:1fr auto;
  }
  .candidate-num{top:6px;left:6px;width:24px;height:24px;border-radius:8px;font-size:11px}
  .candidate-art{width:100%;height:102px}
  .candidate-card strong{max-width:100%;font-size:10px;text-align:center;line-height:1.05;overflow-wrap:anywhere}

  /* Sınıfta Bul: one unmistakable large shape, no wasted space */
  .classroom-stage{width:100%;height:auto;display:block}
  .classroom-prompt.shape-only-prompt{
    width:100%;height:auto;min-height:430px;
    display:grid;grid-template-rows:auto auto auto auto;
    gap:9px;padding:14px 10px 12px;border-radius:21px;
  }
  .classroom-label{font-size:9px;padding:5px 10px}
  .classroom-shape-hero{
    width:min(88vw,340px);min-height:270px;height:270px;
    padding:8px 14px 10px;border-radius:26px;
  }
  .classroom-shape-hero .shape-img{width:min(66vw,220px);height:205px}
  .classroom-shape-hero strong{font-size:27px;margin-top:-4px}
  .shape-only-prompt p{font-size:18px;line-height:1.2;padding:0 6px}
  .classroom-tip{font-size:10px;line-height:1.25;padding:8px 10px}

  .footer{min-height:18px;margin-top:5px;padding:0 3px;font-size:9px;gap:5px}
  .footer span:first-child{display:none}
}

@media (max-width:430px){
  .mode-btn{font-size:10px;padding-inline:2px}
  .mini-guide{gap:4px}
  .guide-step{min-height:78px;padding:6px 5px;gap:4px}
  .guide-index{width:26px;height:26px;flex-basis:26px;font-size:12px}
  .guide-step strong{font-size:9px}
  .guide-step small{font-size:7.5px}
  .object-hero{height:245px;min-height:245px}
  .hero-object{height:175px}
  .target-card{height:230px}
  .target-art{width:175px;height:140px}
  .candidate-card{height:142px;min-height:142px}
  .candidate-art{height:94px}
  .classroom-prompt.shape-only-prompt{min-height:405px}
  .classroom-shape-hero{height:250px;min-height:250px}
  .classroom-shape-hero .shape-img{height:190px}
}
