:root{--soft:#e5f3f0;background:#f5faf8;color:#173d39;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}body{background:linear-gradient(180deg,#f5faf8 0,#f5faf8 650px);min-height:100vh}header{padding-top:18px;padding-bottom:18px;background:#ffffffed;backdrop-filter:blur(18px);border-bottom:1px solid #c3dbd5}.brand{letter-spacing:.035em;font-size:21px}.brand span{font-size:12px;letter-spacing:.17em;color:#4b6662;margin-top:3px}.support{padding:10px 15px;background:#f5faf8;border:1px solid #c3dbd5;border-radius:30px;text-decoration:none;font-weight:650}#menu{border-radius:50%;border-color:#c3dbd5}main{padding-top:38px;padding-bottom:70px;max-width:1220px}h1{font-weight:760;letter-spacing:-.055em;line-height:1.07;font-size:clamp(2.5rem,5.3vw,4.5rem)}h2{font-weight:700;letter-spacing:-.025em;font-size:1.4rem}h3{font-weight:700}.intro>p{font-size:1.1rem;line-height:1.7;color:#4b6662}.intro .muted{font-size:.9rem}.eyebrow{font-size:.875rem;letter-spacing:.1em}.home-start{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center;margin:12px 0 44px}.home-start .intro{margin:0}.home-count{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;font-size:.9rem;color:#4b6662;margin-top:28px}.home-count strong{font-size:1.8rem;color:#173d39}.home-count span{color:#e5f3f0}.start-panel{background:#17645d;box-shadow:0 16px 36px #173d3915;padding:28px;margin:0;border-radius:24px;gap:10px 16px}.start-panel h2{font-size:1.55rem}.start-panel select{color:#173d39;min-width:0;border:0}.start-panel .primary{margin-top:8px;background:#e5f3f0;border-color:#c3dbd5}.start-panel p{margin:2px 0 0;line-height:1.55}.collection-heading{display:flex;justify-content:space-between;align-items:baseline;gap:18px;margin:36px 0 18px}.collection-heading h2{margin:0}.collection-heading span{font-size:.9rem;color:#4b6662}.group-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid{gap:18px}.card{padding:24px;border:1px solid #c3dbd5;border-radius:22px;min-height:250px;display:flex;flex-direction:column;align-items:flex-start;box-shadow:0 3px 8px #173d3903;transition:transform .18s,box-shadow .18s}.card:hover{transform:translateY(-3px);box-shadow:0 12px 24px #173d390c;border-color:var(--tone)}.card-mark{display:grid;place-items:center;width:44px;height:44px;border:1px solid color-mix(in srgb,var(--tone) 20%,white);background:color-mix(in srgb,var(--tone) 8%,white);color:var(--tone);font-weight:750;border-radius:14px;margin-bottom:20px;font-size:.875rem}.card .number{font-size:.875rem;line-height:1.4;margin-bottom:9px}.card b{font-size:1.55rem;line-height:1.2;letter-spacing:-.035em}.card p{font-size:1rem;line-height:1.55;color:#4b6662;margin:12px 0 22px}.card small{margin-top:auto;color:var(--tone);font-weight:650;border-top:1px solid #c3dbd5;padding-top:15px;width:100%}.group-grid+.panel{margin-top:28px}.panel{border:1px solid #c3dbd5;border-radius:22px;padding:28px;background:#fff}.panel p{line-height:1.65}.workspace{gap:24px;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.stack{gap:22px;min-width:0}.back{display:inline-flex;padding:8px 0;margin-bottom:20px;font-size:.9rem;text-underline-offset:5px}body[data-view=tool] .intro{position:relative;max-width:none;padding:30px 32px 30px 110px;background:var(--soft);border:1px solid color-mix(in srgb,var(--accent) 15%,white);border-radius:24px;margin-bottom:28px}body[data-view=tool] h1{font-size:clamp(2.5rem,5vw,4rem);margin:9px 0 14px}body[data-view=tool] .intro p{max-width:650px;margin-bottom:18px}.app-mark{position:absolute;left:30px;top:32px;width:56px;height:56px;display:grid;place-items:center;background:var(--accent);color:white;border-radius:17px;font-weight:800;font-size:1.1rem}.tool-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:.875rem;color:#4b6662}.tool-meta span{padding:5px 11px;background:#ffffffb5;border-radius:8px}.section-index{display:block;font-size:.75rem;letter-spacing:.13em;font-weight:750;color:var(--accent);margin-bottom:14px}.pillrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.level{padding:12px 7px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:.875rem;border-radius:13px}.level-num{font-size:.75rem;opacity:.8}.level.primary{box-shadow:0 4px 10px color-mix(in srgb,var(--accent) 15%,transparent)}.primary{font-weight:650;border-radius:12px}.primary:hover{filter:brightness(.93)}.light-choice{background:var(--soft);font-size:.9rem;padding:14px;font-weight:550}.workspace ol{list-style:none;counter-reset:step;padding:0;margin:22px 0}.workspace ol li{counter-increment:step;position:relative;padding-left:42px;min-height:32px;margin:16px 0}.workspace ol li:before{content:counter(step);position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;background:var(--soft);color:var(--accent);border-radius:50%;font-size:.875rem;font-weight:650}.workspace input,.workspace textarea{background:#f5faf8;border-color:#c3dbd5}.workspace textarea:focus,.workspace input:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}.workspace .stack:nth-child(2)>.panel:nth-child(2){background:var(--soft);border-color:transparent}.timer{font-size:3.7rem;font-weight:650;letter-spacing:-.06em;margin:22px 0;color:var(--accent)}.history{background:#f5faf8;padding:18px;border:1px solid #c3dbd5}.history button{font-size:.875rem;min-height:44px;padding:7px 12px}.button-link{font-size:.9rem;line-height:1.5}.muted{line-height:1.6}.week input{font-size:.9rem}aside{top:89px;width:min(340px,90vw);padding:22px;background:#fff}.nav-home{font-size:1.25rem;font-weight:750}nav summary{font-size:.9rem;color:#4b6662;padding:16px 0 6px}nav a{border:0;border-radius:10px;display:flex;align-items:center;gap:12px;min-height:48px}nav a:hover,nav a[aria-current]{background:#f5faf8}.nav-mark{font-size:.75rem;font-weight:800;min-width:26px}footer{background:#e5f3f0;padding:32px 20px;color:#4b6662;line-height:1.8}.version-list a{overflow-wrap:anywhere}input,select,textarea{max-width:100%}button{line-height:1.45}button,a{ -webkit-tap-highlight-color:transparent}#main:focus{outline:none}dialog{box-shadow:0 20px 100px #173d3940}body[data-view=group]>.intro{max-width:760px}@media(max-width:950px){.home-start{gap:26px}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace{grid-template-columns:1fr}}@media(max-width:650px){header{padding:13px 18px;gap:12px}.brand{font-size:17px}.brand span{font-size:10px}.support{max-width:none;font-size:.8rem;padding:9px 11px}.home-start{grid-template-columns:1fr;gap:26px;margin-top:0}.home-start h1{font-size:2.8rem}.home-count{margin-top:18px}.start-panel{padding:23px}.collection-heading{display:block}.collection-heading span{display:block;margin-top:5px}.group-grid{grid-template-columns:1fr}.card{min-height:0;padding:23px}.card-mark{margin-bottom:14px}.card p{margin-bottom:18px}.panel{padding:22px}body[data-view=tool] .intro{padding:24px}body[data-view=tool] .intro .app-mark{position:static;margin-bottom:20px;width:46px;height:46px;border-radius:14px}.tool-meta{gap:7px}.tool-meta span{font-size:.8rem}.pillrow{gap:6px}.level{font-size:.8rem;padding:12px 5px}.workspace .actions>button{flex:1 1 auto}.workspace .actions{gap:10px}aside{top:77px}.intro>p{font-size:1rem}.week{grid-template-columns:1fr}.artist-panel{display:block}.artist-panel .button-link{margin-top:12px}}@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}@media(forced-colors:active){.primary,.app-mark{border:1px solid ButtonText}.card-mark{border:1px solid CanvasText}}

/* Descriptive names stay readable at narrow widths. */
h1,.card b,nav a{overflow-wrap:anywhere}.card,.intro{min-width:0}.nav-mark{flex-shrink:0}

/* Readable archive and exercise controls at narrow widths and enlarged text. */
#versionList summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:650}#versionList a{overflow-wrap:anywhere}#versionList h3{font-size:1.05rem;margin-top:24px}#mergedSteps{margin:16px 0}#mergedSteps li{margin-bottom:12px}.panel select{max-width:100%}#versionList details{margin-top:20px}#versionList .version-list:empty{display:none}

#main>.panel{margin-top:24px}.pricing{margin-top:32px}.price-table{overflow-x:auto}.pricing th,.pricing td{font-size:1rem;padding:14px 10px}.pricing #plan{max-width:440px}#main .version-list span{overflow-wrap:anywhere}

/* The preserved Plus collection, grouped by purpose across every language. */
.bonus-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:28px}.bonus-category{min-width:0;border:1px solid #c3dbd5;border-radius:18px;background:#f5faf8;overflow:hidden}.bonus-category-heading{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid #c3dbd5;background:color-mix(in srgb,var(--bonus-tone) 6%,white)}.bonus-category-heading h3{flex:1;margin:0;font-size:1.05rem;line-height:1.5;overflow-wrap:anywhere}.bonus-category-number{color:var(--bonus-tone);font-size:.875rem;font-weight:750;flex-shrink:0}.bonus-count{min-width:30px;min-height:30px;display:grid;place-items:center;border:1px solid #c3dbd5;border-radius:50%;font-size:.875rem;background:#fff}.bonus-apps{list-style:none;padding:0;margin:0}.bonus-apps>li{padding:18px 20px;border-bottom:1px solid #c3dbd5;display:flex;flex-direction:column;gap:10px}.bonus-apps>li:last-child{border-bottom:0}.bonus-app-name{font-size:1rem;font-weight:600;line-height:1.55;overflow-wrap:anywhere}.bonus-app-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;color:#4b6662;font-size:.875rem;line-height:1.5}.bonus-badge{padding:3px 10px;border:1px solid #c3dbd5;border-radius:7px;background:#fff;color:#173d39;font-weight:650}.bonus-category:last-child{grid-column:1/-1}@media(max-width:700px){.bonus-categories{grid-template-columns:1fr;gap:16px}.bonus-category-heading,.bonus-apps>li{padding:17px}.bonus-category:last-child{grid-column:auto}}

.step-answer{display:block;margin:12px 0 20px;font-size:0.875rem;font-weight:500}.step-answer textarea{display:block;width:100%;box-sizing:border-box;min-height:76px;margin-top:6px;padding:12px;font-size:1rem;line-height:1.5;resize:vertical;border:1px solid #c3dbd5;border-radius:12px;background:#fff;color:#173d39}
