/* Hazırlık rotası (26. tur): rota/rota.js. The program list reuses city-menu.css (.today-tasks); colours from transparent-ui.css. */
*{box-sizing:border-box}
body{margin:0;color:var(--ui-text,#f5f7fa);background:#152b36;font:15px/1.6 system-ui,-apple-system,sans-serif}
body:before{content:"";position:fixed;inset:0;z-index:-1;background:linear-gradient(#07162488,#071624cc),url('../assets/sultanhani-interior-v1.webp') center/cover no-repeat}
a{color:inherit;text-underline-offset:4px}
button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid #f2cd92;outline-offset:3px}
.skip-link{position:absolute;left:-999px}.skip-link:focus{left:12px;top:12px;z-index:5;padding:8px 12px;background:#15202b;border-radius:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.glass{background:var(--ui-reading,rgba(10,21,30,.72));border:1px solid var(--ui-line,#ffffff40);border-radius:16px;box-shadow:0 12px 35px #0003}
.rota-header{max-width:1000px;margin:12px auto;padding:4px 16px;min-height:52px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.rota-header a{display:inline-flex;align-items:center;gap:4px;min-height:44px;font-size:13px;text-decoration:none}
.rota-header span{font:600 15px Georgia,serif;letter-spacing:.07em}
main{max-width:1000px;margin:auto;padding:4px 16px 48px;display:grid;gap:16px}
.rota-tabs{display:flex;gap:6px;flex-wrap:wrap}
.rota-tabs a{min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border-radius:999px;border:1px solid var(--ui-line,#ffffff40);background:var(--ui-reading,#0a151eb8);font-size:14px;font-weight:600;text-decoration:none}
.rota-tabs a[aria-current=page]{border-color:var(--ui-accent,#ecc27f);background:#ecc27f26;color:var(--ui-accent,#ecc27f)}
#view-rota,#view-ilerleme{display:grid;gap:16px}#view-rota[hidden],#view-ilerleme[hidden],.method[hidden]{display:none}
section.glass,.method>section{padding:22px 24px}
.eyebrow{margin:0;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.14em;color:var(--ui-accent,#ecc27f)}
h1{margin:6px 0 10px;font:500 34px/1.15 Georgia,serif}
h2{margin:0 0 10px;font:500 23px/1.25 Georgia,serif}
.lead{margin:0 0 14px;font-size:16px;color:var(--ui-text,#f4f1ea);max-width:720px}
.quiet{margin:8px 0 0;font-size:13px;color:var(--ui-muted,#c6ced6)}
.warning{margin:0;padding:10px 14px;border-radius:10px;border:1px solid #e0a15e;background:#4a2e1acc;font-size:14px}
.action{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 18px;border-radius:10px;border:1px solid var(--ui-line,#3a4b5c);background:var(--ui-raised,#1f2d3b);font-weight:650;text-decoration:none;cursor:pointer}
.action:hover{background:var(--ui-hover,#2a3b4c)}
.action.primary{border-color:transparent;background:var(--ui-accent,#ecc27f);color:#1b1407}
.action.primary:hover{background:#f3d197}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ui-link,#a8d8f3);font-size:14px;font-weight:600}
/* Start questions */
.choices{margin:18px 0 0;padding:0;border:0}
.choices legend{margin-bottom:8px;font-weight:650;font-size:15px}
.choice-row{display:flex;flex-wrap:wrap;gap:8px}
.choice{min-height:48px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 14px;border-radius:10px;border:1px solid var(--ui-line,#3a4b5c);background:var(--ui-raised,#1f2d3b);text-align:left;cursor:pointer}
.choice strong{font-size:14px}.choice small{font-size:12px;color:var(--ui-muted,#c6ced6)}
.choice.on{border-color:var(--ui-accent,#ecc27f);background:#ecc27f26}
.choice.on strong:before{content:'✓ ';color:var(--ui-accent,#ecc27f)}
[data-multi] .choice{min-width:58px;align-items:center}
/* Today */
.today h1{font-size:30px}
.today .today-tasks{margin-top:12px}
.placement-line{margin:0;padding:0 4px}
/* 42. tur: a guest's account card when the program is ready, and the free week's plan before it begins. */
.save-route,.week-plan{padding:18px 20px;border-color:#ecc27f99;background:linear-gradient(180deg,#ecc27f14,#ecc27f00 70%),var(--ui-reading,#15202b)}
.save-route h2,.week-plan h2{margin:4px 0 8px;font:600 22px/1.25 Georgia,serif}
.save-route p:not(.eyebrow){margin:0;font-size:14.5px;line-height:1.55;color:var(--ui-muted,#d3d9de)}
.plan-steps{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0}
.plan-steps li{position:relative;display:grid;grid-template-columns:92px 1fr;gap:12px;padding:10px 0 10px 18px;border-left:2px solid #ecc27f55}
.plan-steps li::before{content:'';position:absolute;left:-6px;top:15px;width:10px;height:10px;border-radius:50%;background:var(--ui-reading,#15202b);border:2px solid var(--ui-accent,#ecc27f)}
.plan-steps li:first-child::before{background:var(--ui-accent,#ecc27f)}
.plan-steps strong{font-size:14px;color:var(--ui-accent,#ecc27f)}.plan-steps span{font-size:14px;line-height:1.5}
@media(max-width:520px){.plan-steps li{grid-template-columns:1fr;gap:2px}}
/* Route */
.areas{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.areas li{position:relative;display:grid;grid-template-columns:30px minmax(0,1.3fr) minmax(0,1fr) auto;gap:4px 12px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid var(--ui-line,#3a4b5c);background:var(--ui-raised,#1f2d3bcc)}
.areas li.top{border-color:#ecc27f99}
.areas .rank{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff14;font-weight:700;font-size:13px}
.areas li.top .rank{background:var(--ui-accent,#ecc27f);color:#1b1407}
.area-name strong{display:block;font-size:15px}.area-name small,.area-now span:last-child{font-size:12px;color:var(--ui-muted,#c6ced6)}
.area-now{display:flex;flex-direction:column;gap:2px}
.dots{letter-spacing:.12em;color:var(--ui-accent,#ecc27f);font-size:14px}
.prio{grid-column:2/4;height:4px;border-radius:2px;background:#ffffff14;position:relative;overflow:hidden}
.prio:after{content:'';position:absolute;inset:0 auto 0 0;width:var(--w,0);background:linear-gradient(90deg,#ecc27f,#e0895e)}
.area-go{grid-row:1/3;grid-column:4;min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:9px;border:1px solid var(--ui-primary-line,#6aa6bd);background:var(--ui-primary,#2e6c85);color:#fff;font-size:13px;font-weight:650;text-decoration:none}
.badge{position:absolute;top:-8px;right:12px;padding:1px 8px;border-radius:999px;background:var(--ui-accent,#ecc27f);color:#1b1407;font:700 10px/1.6 system-ui,sans-serif;font-style:normal;letter-spacing:.06em}
/* Week */
.days{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.days li{display:flex;flex-direction:column;gap:2px;min-height:92px;padding:10px 8px;border-radius:10px;border:1px solid var(--ui-line,#3a4b5c);background:var(--ui-raised,#1f2d3bcc)}
.days small{font-weight:700;font-size:11px;letter-spacing:.06em;color:var(--ui-muted,#c6ced6)}.days .date{font-size:11px;color:var(--ui-muted,#c6ced6)}
.days strong{margin-top:auto;font-size:13px;line-height:1.3}
.days li.today{border-color:var(--ui-accent,#ecc27f)}.days li.exam{background:#3a2b18cc}.days li.rest{opacity:.65}
.facts{margin:6px 0 0;padding-left:18px;display:grid;gap:4px;font-size:14px}
/* İlerlemem */
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
.tile{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:12px;border:1px solid var(--ui-line,#3a4b5c);background:var(--ui-raised,#1f2d3bcc)}
.tile strong{font:500 28px/1.1 Georgia,serif;color:var(--ui-accent,#ecc27f)}.tile span{font-size:12px;color:var(--ui-muted,#c6ced6)}
.table-wrap{overflow-x:auto}
.area-table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.area-table th,.area-table td{padding:9px 8px;border-bottom:1px solid #ffffff1f;text-align:left;vertical-align:middle}
.area-table thead th{font-size:11px;letter-spacing:.08em;color:var(--ui-muted,#c6ced6);font-weight:700}
.area-table tbody th small{display:block;font-weight:400;font-size:11px;color:var(--ui-muted,#c6ced6)}
.acc{display:block;margin-top:4px;height:4px;border-radius:2px;background:#ffffff14;position:relative;overflow:hidden;max-width:160px}
.acc:after{content:'';position:absolute;inset:0 auto 0 0;width:var(--w,0);background:#82dfae}
.calendar{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:5px;max-width:560px}
.calendar li{aspect-ratio:1;border-radius:5px;background:#ffffff14;border:1px solid #ffffff1f}
.calendar li.few{background:#82dfae40}.calendar li.some{background:#82dfae88}.calendar li.lots{background:#82dfae}
.calendar li.today{outline:2px solid var(--ui-accent,#ecc27f);outline-offset:1px}
.exam-results{list-style:none;margin:6px 0 8px;padding:0;display:grid;gap:6px}
.exam-results li{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding:10px 12px;border-radius:10px;border:1px solid var(--ui-line,#3a4b5c);background:var(--ui-raised,#1f2d3bcc)}
.exam-results strong{grid-row:1/3;grid-column:2;align-self:center;font:500 22px Georgia,serif}.exam-results small{font-size:12px;color:var(--ui-muted,#c6ced6)}
.exam-results li.passed strong{color:#82dfae}.exam-results li.failed strong{color:#f0a37e}
/* Nasıl çalışılır? */
.method{display:grid;gap:14px}
.method>section p{margin:0 0 8px;max-width:760px}.method>section p:last-child{margin-bottom:0}
.sources ol{margin:0;padding-left:20px;display:grid;gap:8px;font-size:13px;color:var(--ui-muted,#c6ced6)}
.sources a{color:var(--ui-link,#a8d8f3)}
.back-to-route{margin:0}
@media(max-width:700px){
 .rota-header{margin:8px 12px}main{padding:0 12px 40px}
 section.glass,.method>section{padding:18px 16px}
 h1{font-size:28px}
 .areas li{grid-template-columns:28px minmax(0,1fr) auto}
 .area-now{grid-column:2}.prio{grid-column:2/3}.area-go{grid-row:1/4;grid-column:3}
 .days{grid-template-columns:repeat(4,minmax(0,1fr))}
 .tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
 .calendar{grid-template-columns:repeat(7,minmax(0,1fr))}
}
@media(prefers-reduced-transparency:reduce),(prefers-contrast:more){.glass,.rota-tabs a{background:#15202b}}
/* 28. tur: a wide table (Alanlara göre) scrolls inside its box on a phone instead of widening the page. */
main>*,#view-rota>*,#view-ilerleme>*{min-width:0}

/* 30. tur (Ücretsiz örnek, learning/access.js): a locked item is quieter; its own words say what it needs. */
.locked{opacity:.78}
.locked .action,a.locked,.today-go.locked{font-weight:600}
.today-week{margin:4px 0 0;font-size:12px;opacity:.85}.report-lock{padding:18px 20px}
/* 39. tur: the free week's reminder (Bugün) and the weakest areas on the locked report (İlerlemem). */
.week-nudge{padding:16px 20px;border-color:#ecc27f99;background:linear-gradient(180deg,#ecc27f14,#ecc27f00 70%),var(--ui-reading,#15202b)}
.week-nudge h2{margin:4px 0 6px;font:600 21px/1.25 Georgia,serif}
.week-nudge p:not(.eyebrow){margin:0;font-size:14.5px;line-height:1.5}
.week-nudge .action{margin-top:12px}
.weak-areas{margin:0 0 6px;font-weight:650;color:var(--ui-accent,#ecc27f)}

/* 34. tur: the weekly summary on İlerlemem (learning/weekly.js). */
.week-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 10px}
.week-col h3{margin:0 0 6px;font-size:15px}
.week-box>.action{margin-top:4px}
@media(max-width:560px){.week-cols{grid-template-columns:1fr}}
