:root { --city-ink: #edf8f2; --city-muted: #aac3b5; --city-line: #83a99855; --city-green: #68d6a3; --city-copper: #e59a62; --city-blue: #78b9d4; --city-panel: #0d1c1c; }
.mint-world { background: radial-gradient(circle at 82% 8%, #245b4d55, transparent 22rem), linear-gradient(180deg, #071516, #0b1d1c 42%, #071314); color: var(--city-ink); }
.mint-page { display: grid; gap: 1.6rem; }
.mint-header { color: var(--city-green); font-weight: 850; letter-spacing: .18em; }
.mint-hero, .mint-subject-map, .mint-year-map, .mint-workspace, .mint-source-note { width: min(74rem, calc(100% - 2rem)); margin-inline: auto; }
.mint-hero { min-height: 29rem; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); gap: 2rem; align-items: center; padding-block: 3.5rem 1.5rem; }
.mint-hero h1 { margin: .2rem 0 .8rem; font-size: clamp(3rem, 6.4vw, 5.9rem); line-height: .9; letter-spacing: -.055em; color: var(--city-ink); }
.mint-curriculum-note { max-width: 48rem; padding: .85rem 1rem; border-left: .3rem solid var(--city-copper); color: var(--city-muted); background: #0f2924aa; line-height: 1.5; }
.research-city { position: relative; min-height: 22rem; display: grid; grid-template-columns: repeat(3, 1fr); align-items: end; gap: .8rem; padding: 2rem 1rem 3.2rem; border: 1px solid var(--city-line); border-radius: 2rem; background: linear-gradient(180deg, #153b3b, #0b2422 60%, #182820); overflow: hidden; }
.research-city::before { content: ""; position: absolute; inset: 10% 8% auto; height: 45%; background: radial-gradient(circle at 18% 30%, #fff 0 .08rem, transparent .1rem), radial-gradient(circle at 66% 20%, #fff 0 .06rem, transparent .09rem), radial-gradient(circle at 82% 58%, #fff 0 .07rem, transparent .1rem); opacity: .7; }
.research-city span { position: relative; z-index: 1; display: grid; place-items: center; min-height: 8rem; border: .15rem solid currentColor; background: #0c2221; font-size: 2rem; font-weight: 900; }
.research-city__tower { height: 13rem; color: var(--city-blue); border-radius: 1rem 1rem .3rem .3rem; }
.research-city__dome { height: 9rem; color: var(--city-green); border-radius: 50% 50% .4rem .4rem; }
.research-city__works { height: 11rem; color: var(--city-copper); clip-path: polygon(0 20%, 35% 20%, 35% 0, 60% 20%, 100% 20%, 100% 100%, 0 100%); }
.research-city i { position: absolute; inset: auto 0 2.5rem; height: .28rem; background: linear-gradient(90deg, var(--city-blue), var(--city-green), var(--city-copper)); }
.research-city b { position: absolute; inset: auto 0 .7rem; text-align: center; color: var(--city-muted); font-size: .72rem; letter-spacing: .24em; }
.mint-subject-map, .mint-year-map, .mint-workspace, .mint-source-note { padding: 1.4rem; border: 1px solid var(--city-line); border-radius: 1.35rem; background: #0a1819dd; }
.mint-subject-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .85rem; }
.mint-subject, .mint-year, .mint-mission-button { min-width: 0; color: var(--city-ink); text-align: left; }
.mint-subject { min-height: 11rem; display: grid; align-content: center; gap: .45rem; padding: 1rem; border-radius: 1rem; background: linear-gradient(145deg, #102827, #0a1819); }
.mint-subject[aria-pressed="true"], .mint-year[aria-pressed="true"], .mint-mission-button[aria-pressed="true"] { border-color: var(--city-green); box-shadow: 0 0 0 2px #68d6a322; }
.mint-subject__icon { color: var(--city-green); font-size: 2rem; font-weight: 900; }
.mint-subject span:last-child, .mint-year span, .mint-year small { color: var(--city-muted); line-height: 1.4; }
.mint-year-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.mint-year { min-height: 9rem; display: grid; align-content: start; gap: .25rem; padding: .9rem; border-radius: .9rem; background: #0d2322; }
.mint-year__grade { color: var(--city-copper) !important; font-size: 1.45rem; font-weight: 900; }
.mint-workspace { display: grid; gap: 1rem; }
.mint-workspace__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(15rem, .65fr); gap: 1rem; align-items: start; }
.mint-source, .mint-provenance { margin: 0; padding: .75rem; border-radius: .8rem; background: #122a27; color: var(--city-muted); line-height: 1.45; }
.mint-competency { margin: 0; padding: .75rem; border-left: .2rem solid var(--city-copper); background: #102724; color: var(--city-ink); line-height: 1.45; }
.mint-source strong { display: block; color: var(--city-green); }
.mint-picker { display: grid; gap: .55rem; }
.mint-missions { display: flex; flex-wrap: wrap; gap: .55rem; }
.mint-mission-button { display: inline-flex; align-items: center; gap: .55rem; padding: .7rem .85rem; border-radius: 999px; background: #112825; }
.mint-check { color: var(--city-green); font-weight: 900; }
.mint-placeholder { margin: 0; padding: 1.4rem; border: 1px dashed var(--city-line); border-radius: .9rem; color: var(--city-muted); }
.mint-file { display: grid; gap: .8rem; }
.mint-task-list { display: grid; gap: .85rem; padding-left: 1.35rem; }
.mint-task { padding: .85rem; border: 1px solid var(--city-line); border-radius: .9rem; background: var(--city-panel); }
.mint-task.is-correct { border-color: var(--city-green); }
.mint-task.is-wrong { border-color: #ef8e79; }
.mint-task fieldset { min-width: 0; display: grid; gap: .65rem; margin: 0; padding: 0; border: 0; }
.mint-task legend { padding: 0; color: var(--city-ink); font-weight: 750; line-height: 1.5; }
.mint-choices { display: grid; gap: .45rem; }
.mint-choice { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .6rem; align-items: start; padding: .65rem; border: 1px solid #83a99844; border-radius: .7rem; background: #102321; color: var(--city-muted); line-height: 1.4; }
.mint-choice:has(input:checked) { border-color: var(--city-blue); color: var(--city-ink); }
.mint-task__feedback, .mint-output { min-height: 1.4em; margin: 0; color: var(--city-muted); }
.mint-submit { padding: .8rem 1.1rem; border-color: var(--city-green); border-radius: 999px; color: #062018; background: var(--city-green); font-weight: 850; }
.mint-output { display: block; margin-top: .7rem; }
.mint-source-note { margin-bottom: 2rem; display: grid; grid-template-columns: .8fr 1.2fr 1.2fr; gap: 1rem; align-items: start; }
.mint-source-note p { color: var(--city-muted); line-height: 1.5; }
.mint-source-note a { color: var(--city-green); }
.mint-preview { width: min(74rem, calc(100% - 2rem)); margin: 1.5rem auto; display: grid; grid-template-columns: 1fr auto; gap: 1.2rem; align-items: center; padding: 1.3rem; border: 1px solid #68d6a355; border-radius: 1.2rem; background: linear-gradient(135deg, #0d2422, #18332e); }
.mint-preview__marks { display: flex; gap: .8rem; color: var(--city-green); font-size: 2.2rem; font-weight: 900; }
.mint-preview a { color: var(--city-green); }
@media (max-width: 760px) {
  .mint-hero, .mint-workspace__header, .mint-source-note { grid-template-columns: 1fr; }
  .mint-hero { padding-top: 2rem; }
  .research-city { min-height: 16rem; }
  .mint-subject-grid, .mint-year-grid { grid-template-columns: 1fr; }
  .mint-subject, .mint-year { min-height: 0; }
  .mint-preview { grid-template-columns: 1fr; }
}
