.practice-page{--p-paper:#f7f5ef;--p-card:#fffefa;--p-ink:#20243c;--p-muted:#646679;--p-line:#deded7;--p-purple:#6550bf;--p-lime:#e3eab3;--p-soft:#efebfa;background:var(--p-paper);color:var(--p-ink)}
.practice-page [hidden],[data-practice-resume][hidden]{display:none!important}.practice-shell{max-width:1180px;margin:auto;padding:52px 28px 80px}.practice-kicker{font:600 11px/1.6 'IBM Plex Mono',monospace;letter-spacing:.1em;color:var(--p-muted,#646679);margin:0 0 14px}.practice-hub-hero{display:grid;grid-template-columns:1.45fr 1fr;gap:76px;align-items:center;padding:20px 0 65px}.practice-hub-hero h1,.practice-task-heading h1{font:600 clamp(2.6rem,4.6vw,4.3rem)/1.07 'Bricolage Grotesque',sans-serif;letter-spacing:-.04em;margin:0 0 24px}.practice-hub-hero h1 em{font-style:normal;color:var(--p-purple)}.practice-hub-hero>div>p:not(.practice-kicker),.practice-task-heading>p:not(.practice-kicker){font-size:18px;line-height:1.7;color:var(--p-muted);max-width:610px}.practice-promises{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:12px;margin-top:28px;color:var(--p-muted)}.practice-promises span:before{content:'✓';color:var(--p-purple);margin-right:6px}.practice-featured{position:relative;background:var(--p-lime);padding:30px;border-radius:20px;overflow:hidden}.practice-featured .practice-kicker{position:relative;z-index:1;color:#3d4727}.practice-featured-symbol{display:block;font:400 70px/1.1 'Bricolage Grotesque',sans-serif;color:#53643d;margin:10px 0 20px}.practice-featured h2{font:600 28px/1.15 'Bricolage Grotesque',sans-serif;letter-spacing:-.025em;margin:0 0 12px;color:#24331e}.practice-featured>p{font-size:15px;line-height:1.65;color:#47513d}.practice-button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:46px;padding:11px 20px;border-radius:9px;border:1px solid transparent;font:600 14px/1.5 Inter,sans-serif;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}.practice-button:hover{transform:translateY(-1px)}.practice-button.primary{background:var(--p-ink,#20243c);color:#fff}.practice-button.primary:hover{background:#3c335c}.practice-button.secondary{background:var(--p-card,#fffefa);color:var(--p-ink,#20243c);border-color:var(--p-line,#deded7)}.practice-button.secondary:hover{border-color:var(--p-purple,#6550bf);background:var(--p-soft,#efebfa)}.practice-button:disabled{opacity:.55;cursor:wait;transform:none}.practice-text-button{padding:8px 0;background:none;border:0;color:var(--p-purple,#6550bf);font:600 13px/1.5 Inter,sans-serif;cursor:pointer;text-decoration:none}.practice-text-button:hover{text-decoration:underline}.practice-page :focus-visible,.practice-library-card :focus-visible{outline:3px solid #876ed9;outline-offset:4px}.practice-section-heading{display:flex;justify-content:space-between;gap:24px;align-items:end;margin:0 0 28px}.practice-section-heading h2,.practice-next>div>h2,.practice-learn-callout h2,.practice-resume h2{font:600 32px/1.16 'Bricolage Grotesque',sans-serif;letter-spacing:-.025em;margin:0}.practice-section-heading>p{font-size:14px;color:var(--p-muted)}.practice-filters{display:flex;gap:9px;flex-wrap:wrap}.practice-filters button{border:1px solid var(--p-line);background:transparent;border-radius:30px;padding:10px 17px;font:500 13px Inter,sans-serif;color:var(--p-ink);cursor:pointer;min-height:42px}.practice-filters button[aria-pressed=true]{background:var(--p-ink);color:#fff;border-color:var(--p-ink)}.practice-filter-status{font-size:12px;color:var(--p-muted);margin:18px 0}.practice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.practice-card{position:relative;background:var(--p-card);border:1px solid var(--p-line);border-radius:15px;padding:24px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s}.practice-card:hover{border-color:var(--p-purple);transform:translateY(-3px)}.practice-card-top{display:flex;align-items:center;gap:12px;justify-content:space-between;margin-bottom:24px}.practice-card-top>span:last-child{font-size:10px;color:var(--p-muted);text-align:right}.practice-symbol{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--p-soft);color:var(--p-purple);font:500 30px 'Bricolage Grotesque',sans-serif;flex-shrink:0}.practice-card:nth-child(3n+2) .practice-symbol{background:#f3ead7;color:#94723a}.practice-card:nth-child(3n) .practice-symbol{background:#e9edcf;color:#647239}.practice-card h3{font:600 23px/1.2 'Bricolage Grotesque',sans-serif;letter-spacing:-.02em;margin:0 0 12px}.practice-card h3 a{text-decoration:none;color:inherit}.practice-card h3 a:after{content:'';position:absolute;inset:0;border-radius:15px}.practice-card>p{font-size:14px;line-height:1.7;color:var(--p-muted);margin:0 0 30px}.practice-card-bottom{display:flex;gap:15px;align-items:center;justify-content:space-between;margin-top:auto;padding-top:16px;border-top:1px solid var(--p-line)}.practice-card-bottom>span{font-size:11px;line-height:1.5;max-width:190px;color:var(--p-muted)}.practice-card-bottom a{position:relative;z-index:1;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid var(--p-line);color:var(--p-purple);font-size:20px;text-decoration:none}.practice-card-bottom .practice-has-progress{color:var(--p-purple);font-weight:600}.practice-learn-callout{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:40px;margin-top:64px;border-radius:18px;background:var(--p-soft)}.practice-learn-callout p:not(.practice-kicker){max-width:540px;font-size:15px;line-height:1.7;color:var(--p-muted);margin-bottom:0}.practice-learn-callout .practice-button{flex-shrink:0}.practice-resume{display:flex;justify-content:space-between;align-items:center;gap:25px;border:1px solid var(--p-line,#deded7);border-left:4px solid var(--p-purple,#6550bf);background:var(--p-card,#fffefa);border-radius:12px;padding:25px 30px;margin-bottom:50px}.practice-resume h2{font-size:25px}.practice-resume p:not(.practice-kicker){font-size:14px;color:var(--p-muted,#646679);margin:10px 0 0}.practice-resume .practice-kicker{margin:0 0 6px}.practice-back{display:inline-block;font-size:13px;color:var(--p-muted);text-decoration:none;margin-bottom:26px}.practice-back:hover{color:var(--p-purple)}.practice-task-shell{padding-top:35px}.practice-task-heading h1{font-size:clamp(2.3rem,4vw,3.3rem);margin-bottom:15px}.practice-task-heading{margin-bottom:36px}.practice-task-heading .practice-kicker{margin-bottom:12px}.practice-workspace{display:grid;grid-template-columns:1fr 1.12fr;gap:26px;align-items:start}.practice-input-panel,.practice-output-panel{border:1px solid var(--p-line);border-radius:18px;padding:28px;background:var(--p-card);min-width:0}.practice-output-panel{background:#efedf5;min-height:670px}.practice-panel-heading{display:flex;gap:13px;align-items:flex-start;padding-bottom:22px;border-bottom:1px solid var(--p-line);margin-bottom:22px}.practice-step{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:var(--p-ink);color:#fff;flex-shrink:0;font:500 12px 'IBM Plex Mono',monospace}.practice-panel-heading h2{font:600 22px/1.3 'Bricolage Grotesque',sans-serif;margin:0 0 4px;scroll-margin-top:100px}.practice-panel-heading p{font-size:12px;line-height:1.6;color:var(--p-muted);margin:0}.practice-example{display:flex;width:100%;justify-content:space-between;align-items:center;gap:15px;background:var(--p-soft);border:1px dashed #c1b7db;padding:14px 16px;border-radius:8px;font:500 13px/1.5 Inter,sans-serif;color:var(--p-purple);text-align:left;cursor:pointer;margin-bottom:26px}.practice-example:hover{border-style:solid;background:#e6e0f5}.practice-field{margin-bottom:22px}.practice-field label,.practice-refine label{display:block;font-size:13px;font-weight:600;line-height:1.5;margin-bottom:8px}.practice-field label>span{font-weight:400;color:var(--p-muted)}.practice-field input,.practice-field textarea,.practice-field select,.practice-refine input,.practice-prompt-fallback{display:block;width:100%;border:1px solid #d2d2d2;background:var(--p-card);color:var(--p-ink);padding:12px 13px;border-radius:8px;font:400 15px/1.6 Inter,sans-serif;box-sizing:border-box;min-height:46px}.practice-field textarea,.practice-prompt-fallback{resize:vertical}.practice-field input::placeholder,.practice-field textarea::placeholder,.practice-refine input::placeholder{color:#797a86;opacity:1}.practice-field small{display:block;text-align:right;color:var(--p-muted);font-size:10px;margin-top:6px}.practice-privacy,.practice-storage-note{font-size:11px;line-height:1.65;color:var(--p-muted);margin:0 0 20px}.practice-storage-note{margin:16px 0 0}.practice-storage-note a{color:var(--p-purple);text-decoration:underline}.practice-form-actions,.practice-actions{display:flex;align-items:center;gap:10px 17px;flex-wrap:wrap}.practice-form-actions>.primary{flex:1;white-space:nowrap}.practice-form-actions>.practice-text-button{flex-shrink:0}.practice-status{font-size:12px;line-height:1.65;color:var(--p-purple,#6550bf);margin:12px 0 0}.practice-status:empty{display:none}.practice-tip{display:flex;gap:13px;margin-top:25px;padding:17px 0 0;border-top:1px solid var(--p-line);color:var(--p-muted)}.practice-tip>span{font-size:25px;color:var(--p-purple)}.practice-tip>p{font-size:12px;line-height:1.7;margin:0}.practice-empty{text-align:center;padding:65px 28px 45px}.practice-empty-art{width:165px;transform:rotate(-7deg);border:1px solid #d6cfea;border-radius:10px;background:var(--p-card);margin:0 auto 35px;padding:20px;box-shadow:10px 10px 0 #e4def0}.practice-empty-art span{display:block;font:500 37px/1 'Bricolage Grotesque',sans-serif;color:var(--p-purple);text-align:left;margin-bottom:15px}.practice-empty-art i{display:block;height:6px;background:#dfd8ed;margin:8px 0;border-radius:4px}.practice-empty-art i:last-child{width:60%}.practice-empty h3,.practice-loading h3,.practice-error h3{font:600 24px/1.2 'Bricolage Grotesque',sans-serif;letter-spacing:-.02em;margin:0 0 12px}.practice-empty p,.practice-loading p,.practice-error p{font-size:14px;color:var(--p-muted);line-height:1.7;margin:0}.practice-empty-note{display:inline-block;font:500 10px 'IBM Plex Mono',monospace;color:var(--p-purple);margin-top:30px;padding:7px 12px;background:#e3dcee;border-radius:20px}.practice-loading{text-align:center;padding:65px 25px}.practice-loading-mark{display:block;color:var(--p-purple);font-size:55px;animation:practice-pulse 2s infinite ease-in-out;margin-bottom:25px}.practice-loading .practice-text-button{margin-top:22px}.practice-error{border:1px solid #d9b7a2;background:#fff5ec;border-radius:10px;padding:22px;margin-bottom:20px}.practice-error h3{color:#744122}.practice-error p{color:#765c4b}.practice-error .practice-actions{margin-top:20px}.practice-result-label{display:block;font-size:11px;font-weight:500;color:var(--p-muted);margin-bottom:10px}.practice-output-panel textarea[data-practice-result]{box-sizing:border-box;width:100%;background:var(--p-card);color:var(--p-ink);border:1px solid #d6cfea;border-radius:10px;padding:22px;resize:vertical;font:400 15px/1.8 Inter,sans-serif;min-height:330px}.practice-result-note{font-size:11px;color:var(--p-muted);line-height:1.6;margin:12px 0 18px}.practice-refine{border-top:1px solid #d6cfea;padding-top:22px;margin-top:24px}.practice-refine>div{display:flex;gap:9px}.practice-refine input{min-width:0;flex:1}.practice-refine button{flex-shrink:0}.practice-use{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 0;border-bottom:1px solid #d6cfea;margin-top:15px}.practice-use strong{font-size:14px}.practice-use p{font-size:11px;color:var(--p-muted);line-height:1.5;margin:4px 0 0;max-width:210px}.practice-use button{white-space:nowrap;font-size:12px}.practice-use button[aria-pressed=true]{color:#39542e;border-color:#bdc9a9;background:#e5edd8}.practice-next{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:24px;align-items:start;margin:65px 0 10px}.practice-next>div>h2{font-size:29px}.practice-next-card{text-decoration:none;padding:25px;background:var(--p-card);border:1px solid var(--p-line);border-radius:13px;color:var(--p-ink);height:100%}.practice-next-card:hover{border-color:var(--p-purple)}.practice-next-card>span{font:500 9px 'IBM Plex Mono',monospace;letter-spacing:.06em;color:var(--p-purple)}.practice-next-card h3{font:600 22px/1.25 'Bricolage Grotesque',sans-serif;margin:15px 0 12px;letter-spacing:-.02em}.practice-next-card h3>span{color:var(--p-purple)}.practice-next-card p{font-size:13px;line-height:1.7;color:var(--p-muted);margin:0}.practice-next-card.learn{background:var(--p-lime)}.practice-library-summary,.practice-library-empty{font-size:14px;line-height:1.7;color:var(--muted,#646679)}.practice-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.practice-library-card{border:1px solid var(--line,#deded7);border-radius:12px;padding:22px;background:var(--card,#fffefa);min-width:0}.practice-library-card h3{font:600 21px 'Bricolage Grotesque',sans-serif;margin:0 0 12px}.practice-library-card h3 a{color:inherit;text-decoration:none}.practice-library-card>p{font-size:13px;line-height:1.6;overflow-wrap:anywhere}.practice-library-excerpt{color:var(--muted,#646679);white-space:pre-line}.practice-library-card .practice-actions{justify-content:space-between;margin-top:14px}.practice-library-card .practice-actions button{color:#9a4c40}
@keyframes practice-pulse{50%{opacity:.45;transform:rotate(90deg)}}
html[data-tema=escuro] .practice-page{--p-paper:#171925;--p-card:#202333;--p-ink:#f1efea;--p-muted:#b5b5c5;--p-line:#393c4d;--p-purple:#b5a0fa;--p-lime:#35422b;--p-soft:#302b43}html[data-tema=escuro] .practice-page .practice-button.primary,html[data-tema=escuro] .practice-page .practice-step,html[data-tema=escuro] .practice-page .practice-filters button[aria-pressed=true]{color:#20243c}html[data-tema=escuro] .practice-page .practice-button.primary:hover{background:#ddd6ed}html[data-tema=escuro] .practice-featured h2,html[data-tema=escuro] .practice-featured p,html[data-tema=escuro] .practice-featured .practice-kicker{color:#e8efd8}html[data-tema=escuro] .practice-featured-symbol{color:#c4d59d}html[data-tema=escuro] .practice-output-panel{background:#262436}html[data-tema=escuro] .practice-field input,html[data-tema=escuro] .practice-field textarea,html[data-tema=escuro] .practice-field select,html[data-tema=escuro] .practice-refine input,html[data-tema=escuro] .practice-output-panel textarea[data-practice-result]{border-color:#49455c}html[data-tema=escuro] .practice-empty-art{box-shadow:10px 10px 0 #373046;border-color:#49455c}html[data-tema=escuro] .practice-empty-art i{background:#4b425e}html[data-tema=escuro] .practice-empty-note{background:#393148;color:#c3adf7}html[data-tema=escuro] .practice-example:hover{background:#3a3151}html[data-tema=escuro] .practice-library-card{background:#202333;border-color:#393c4d}html[data-tema=escuro] .practice-resume{background:#202333;border-color:#49455c}html[data-tema=escuro] .practice-resume .practice-button{background:#302b43;color:#f1efea;border-color:#49455c}
@media(max-width:1000px){.practice-hub-hero{gap:35px}.practice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-workspace{gap:18px}.practice-input-panel,.practice-output-panel{padding:23px}.practice-form-actions>.primary{flex-basis:100%}.practice-next{grid-template-columns:1fr 1fr}.practice-next>div{grid-column:1/-1}}
@media(max-width:760px){.practice-shell{padding:30px 20px 55px}.practice-hub-hero{grid-template-columns:1fr;gap:32px;padding:8px 0 40px}.practice-hub-hero h1{font-size:42px}.practice-featured{padding:24px}.practice-featured-symbol{font-size:45px;margin:5px 0 15px}.practice-featured .practice-button{width:100%;box-sizing:border-box}.practice-section-heading{display:block}.practice-section-heading>p{margin:14px 0 0}.practice-learn-callout{padding:26px;display:block;margin-top:40px}.practice-learn-callout .practice-button{margin-top:24px}.practice-resume{display:block;padding:24px;margin-bottom:35px}.practice-resume .practice-button{margin-top:20px}.practice-workspace{grid-template-columns:1fr}.practice-output-panel{min-height:420px}.practice-empty{padding:35px 20px}.practice-task-heading{margin-bottom:28px}.practice-task-heading h1{font-size:38px}.practice-task-heading>p:not(.practice-kicker){font-size:16px}.practice-next{margin-top:40px;gap:16px}.practice-next>div>h2{font-size:30px}.practice-library-grid{grid-template-columns:1fr}}
@media(max-width:480px){.practice-shell{padding-left:16px;padding-right:16px}.practice-hub-hero h1{font-size:37px}.practice-hub-hero>div>p:not(.practice-kicker){font-size:16px}.practice-grid{grid-template-columns:1fr}.practice-card{padding:23px}.practice-filters{gap:7px}.practice-filters button{font-size:12px;padding:10px 13px}.practice-input-panel,.practice-output-panel{padding:20px 17px;border-radius:13px}.practice-form-actions>.primary{width:100%}.practice-next{grid-template-columns:1fr}.practice-next>div{grid-column:auto}.practice-refine>div{display:block}.practice-refine button{margin-top:10px;width:100%}.practice-use{align-items:flex-start;flex-direction:column}.practice-use p{max-width:none}.practice-output-panel textarea[data-practice-result]{padding:15px}.practice-task-heading h1{font-size:34px}.practice-promises{font-size:11px}.practice-actions .practice-button{font-size:12px;padding:10px 14px}.practice-featured h2{font-size:26px}}
@media(prefers-reduced-motion:reduce){.practice-loading-mark{animation:none}.practice-card,.practice-button{transition:none}.practice-card:hover,.practice-button:hover{transform:none}}

/* Readability and comfortable touch targets, including compact layouts. */
.practice-field input,.practice-field textarea,.practice-field select,.practice-refine input,.practice-prompt-fallback,.practice-output-panel textarea[data-practice-result]{font-size:16px}
.practice-field label,.practice-refine label,.practice-panel-heading p,.practice-tip>p,.practice-next-card p,.practice-back,.practice-text-button,.practice-filters button{font-size:14px}
.practice-privacy,.practice-storage-note,.practice-result-note,.practice-status,.practice-result-label,.practice-use p,.practice-promises,.practice-card-bottom>span{font-size:13px}
.practice-button,.practice-actions .practice-button,.practice-use button{font-size:14px;min-height:46px}
.practice-text-button,.practice-card-bottom a,.practice-filters button{min-height:44px}
.practice-text-button{display:inline-flex;align-items:center}
.practice-card-bottom a{min-width:44px}
.practice-card-top>span:last-child{font-size:11px}
.practice-library-card>p{font-size:14px}
