:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#183b36;background:#f6f8f5;font-synthesis:none;line-height:1.55;font-size:16px;--green:#17634f;--border:#dae4df;--muted:#586b65}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,select,input{font:inherit}button,.button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 20px;border:1px solid var(--green);border-radius:12px;background:var(--green);color:white;font-weight:650;cursor:pointer;line-height:1.35;text-align:center}button:hover,.button:hover{background:#104d3e}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:white;color:var(--green)}.secondary:hover{background:#e6efe9}:focus-visible{outline:3px solid #b36c0a;outline-offset:4px}main:focus{outline:none}header{background:#fff;border-bottom:1px solid var(--border)}.header-inner{max-width:1184px;margin:auto;padding:18px 32px;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-mark{background:#153e38;color:#fff;border-radius:12px;font:700 25px Georgia;display:grid;place-items:center;width:43px;height:43px}.brand strong{font-size:19px;letter-spacing:-.5px}.brand small{display:block;font-size:11px;color:var(--muted)}nav{display:flex;align-items:center;gap:20px}nav .nav-link{font-size:14px;min-height:44px;display:flex;align-items:center}nav label{font-size:0}select{display:block;min-height:46px;padding:9px 32px 9px 12px;max-width:100%;border:1px solid var(--border);border-radius:10px;background:#fff;color:#183b36;font-size:15px}main{max-width:1184px;margin:auto;padding:40px 32px 64px;min-height:calc(100vh - 175px)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(28px,3.2vw,42px);line-height:1.16;letter-spacing:-1.1px;margin-bottom:22px}h2{font-size:23px;line-height:1.3;letter-spacing:-.45px;margin-bottom:8px}h3{font-size:19px;line-height:1.35;margin-bottom:8px}p{margin-bottom:16px}.muted{color:var(--muted)}.small{font-size:13px}.hero{display:grid;grid-template-columns:1.65fr 1fr;gap:56px;align-items:center;margin:10px 0 30px}.hero>div{max-width:640px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:750;color:var(--green);margin-bottom:15px}.hero-lead{font-size:20px;line-height:1.4;margin-bottom:10px}.hero .button{margin-top:9px}.starter{padding:26px;background:#e9f0e7;border:1px solid #d8e5d6;border-radius:22px}.starter p{font-size:14px;color:#506250}.book-icon{width:45px;height:45px;background:#d4e5c8;border-radius:13px;display:grid;place-items:center;font-size:28px;margin-bottom:16px}.meter-heading{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin-top:20px;margin-bottom:7px}progress{display:block;appearance:none;width:100%;height:8px;border:none;border-radius:20px;overflow:hidden;background:#d8e2dc}progress::-webkit-progress-bar{background:#d8e2dc}progress::-webkit-progress-value{background:#227356;border-radius:20px}progress::-moz-progress-bar{background:#227356}.meter-heading+.small{margin-top:8px}.notice{display:flex;align-items:flex-start;gap:10px;background:#fff6e5;border:1px solid #e9d8b5;border-radius:12px;padding:13px 16px;color:#76551c;font-size:13px;margin:20px 0 30px}.dot{width:7px;height:7px;border-radius:50%;background:#ac7b2b;margin-top:7px;flex-shrink:0}.path>p{font-size:14px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:22px}.card{position:relative;display:block;border:1px solid var(--border);border-radius:17px;padding:22px;background:#fff;transition:border-color .15s,box-shadow .15s}.card:hover{border-color:#9bbbad;box-shadow:0 5px 16px #193d3509}.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:21px}.module-icon{display:inline-grid;place-items:center;min-width:40px;height:40px;background:#eaf2ed;color:#226a53;border-radius:12px;font-size:22px;font-weight:650}.badge{display:inline-block;padding:4px 8px;background:#e9f3ed;color:#28664a;border-radius:7px;font-size:11px;font-weight:650;line-height:1.4}.badge.planned{background:#f1f3f3;color:#65716d}.card p{font-size:14px;color:var(--muted);padding-right:14px;margin-bottom:8px}.card-arrow{position:absolute;right:19px;bottom:18px;color:#6a8076}.narrow{max-width:760px;margin:0 auto}.back-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--green);margin-bottom:18px}.back-link:before{content:'←';margin-right:8px}.text-link{color:var(--green);text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}.page-heading h1{font-size:30px;margin:0}.practice-panel,.empty,.activity-list{padding:28px;background:#fff;border:1px solid var(--border);border-radius:18px;margin:20px 0}.question-meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-bottom:12px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:23px;line-height:1.4;font-weight:650;margin-bottom:16px;padding:0;width:100%}.options{display:grid;gap:10px;margin:18px 0 22px}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--border);border-radius:12px;padding:15px;min-height:60px;cursor:pointer}.option.selected{background:#edf5ef;border-color:#438769}.option input{accent-color:var(--green);width:19px;height:19px;margin:0;flex-shrink:0}.option-letter{font-size:12px;color:var(--muted)}.feedback{margin:20px 0;padding:18px;border-radius:12px;border:1px solid}.feedback h2{font-size:19px}.feedback p:last-child{margin-bottom:0}.success{background:#edf6ef;border-color:#bfdcc5}.error{background:#fff4eb;border-color:#ebccb6;color:#754221}.metadata{font-size:13px;color:var(--muted);margin:24px 0}.metadata summary{cursor:pointer;padding:12px 0;min-height:44px}dl{display:grid;grid-template-columns:1fr 1fr;gap:10px}dd{margin:0}.empty{text-align:center;padding:40px 26px}.empty h1{font-size:30px;margin:22px 0 14px}.empty h2{font-size:18px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.empty .actions{justify-content:center}.privacy{padding:16px;background:#f0f5f1;border-radius:12px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.stats>div{display:flex;flex-direction:column;padding:14px 10px;background:#f5f8f5;border-radius:12px}.stats strong{font-size:28px}.stats span{font-size:12px;color:var(--muted)}.settings-form label{display:block;font-weight:600;margin-bottom:22px}.settings-form select{width:100%;margin-top:8px}.settings-form p{margin:0;color:var(--green);font-size:14px}.activity-list p{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border);font-size:13px}.activity-list p:last-child{margin-bottom:0}footer{max-width:1120px;margin:auto;padding:20px 0;border-top:1px solid var(--border);color:var(--muted);font-size:12px;display:flex;justify-content:space-between;gap:16px}.storage-warning{position:sticky;bottom:0;padding:14px;background:#fff0ca;border-top:1px solid #dbc185;color:#684712;font-size:14px}a,button,p,h1,h2,h3,span{overflow-wrap:break-word}@media(max-width:850px){.header-inner{padding:16px 24px}nav{gap:12px}nav .nav-link:first-child{display:none}.hero{gap:24px;grid-template-columns:1.35fr 1fr}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:20px}main{padding:28px 24px 42px}footer{margin:0 24px}.starter{padding:20px}}@media(max-width:560px){.header-inner{padding:12px 16px;flex-wrap:wrap;gap:8px}.brand small{font-size:10px}nav{margin-left:auto;gap:8px}nav .nav-link{font-size:12px;max-width:105px;line-height:1.2}nav select{font-size:13px;padding-left:9px;padding-right:20px;min-height:44px}.brand-mark{width:36px;height:36px}.brand strong{font-size:17px}.brand small{display:none}main{padding:24px 16px 36px}.hero{display:block;margin:4px 0 22px}h1{font-size:30px}.hero-lead{font-size:18px}.hero .button{width:100%}.starter{margin-top:24px;padding:18px 20px}.starter .book-icon{display:none}.starter h2{font-size:19px}.starter p{margin-bottom:10px}.starter .meter-heading{margin-top:14px}.notice{margin:18px 0 25px;padding:12px;font-size:12px}.cards{gap:11px;margin-top:18px}.card{padding:16px 13px}.card-top{align-items:flex-start;flex-direction:column;margin-bottom:13px;gap:10px}.card h3{font-size:17px}.card p{font-size:12px;padding-right:0;line-height:1.5;margin-bottom:13px}.card-arrow{right:11px;bottom:9px;font-size:13px}.badge{font-size:10px}.module-icon{min-width:34px;height:34px;font-size:20px}.path h2{font-size:22px}.practice-panel,.activity-list{padding:20px 16px}.page-heading{align-items:flex-start}.page-heading h1{font-size:27px}.page-heading a{font-size:13px;flex-shrink:0}legend{font-size:21px}.question-meta{font-size:12px}.question-meta span:last-child{text-align:right}.stats{grid-template-columns:repeat(2,1fr)}.activity-list p{flex-direction:column;gap:5px}.actions{flex-direction:column}.actions>*{width:100%}.empty{padding:30px 18px}.empty h1{font-size:27px}footer{margin:0 16px;flex-direction:column;gap:5px}dl{grid-template-columns:1fr;gap:4px}dd{margin-bottom:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Keep the header compact on narrow phones while retaining a 44px touch target. */
.brand{min-height:44px}
@media(max-width:560px){.brand{gap:8px}.brand-mark{width:32px;height:32px}.brand strong{font-size:15px}nav .nav-link{max-width:90px}}

/* Native WebKit menus may ignore min-height until native appearance is removed. */
select{appearance:none;-webkit-appearance:none;min-height:46px;background-image:linear-gradient(45deg,transparent 50%,#386052 50%),linear-gradient(135deg,#386052 50%,transparent 50%);background-position:calc(100% - 15px) 50%,calc(100% - 10px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:32px}

nav select{padding-right:30px}

/* Point 2: exam selector */
.selector-form{display:grid;gap:12px}.selector-form label{font-weight:650;margin-top:12px}.selector-form p{margin:0}.selector-form input{min-width:0;width:100%;min-height:48px;padding:10px;border:1px solid var(--border);border-radius:10px;background:white;color:inherit}.selector-form select{width:100%}.unknown-button{justify-self:start;margin-bottom:16px}.selector summary{min-height:44px;padding:12px 0;cursor:pointer}.selector details{border-top:1px solid var(--border);margin-top:12px}.selector .text-link{display:flex}.selector #edit-selection{margin-top:20px}.selector dd{overflow-wrap:anywhere}

/* Point 4: official Learn */
.learn-context{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}.learn-modules,.learn-question-list{padding:0;list-style:none;display:grid;gap:14px}.learn-modules li,.learn-question-list li{background:white;border:1px solid var(--border);border-radius:14px;padding:18px}.learn-module-link{display:flex;align-items:center;min-height:48px;font-size:18px;font-weight:650;color:var(--green)}.learn-modules p{font-size:14px;margin:8px 0}.learn-progress p{margin-top:14px}.learn-question-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px}.learn-module-caption{font-weight:600}.learn-question h1{font-size:clamp(25px,3vw,34px);line-height:1.35;letter-spacing:-.4px}.learn-question h2{font-size:20px;margin-top:24px}.learn-answers ul{padding-left:24px}.learn-answers li{font-size:19px;line-height:1.6;margin-bottom:10px}.learn-audio-options{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.learn-audio-options button{font-size:13px;padding:9px 12px;min-height:44px}.learn [aria-pressed=true]{background:#e1eee7;color:#124d3b;border:2px solid #17634f}.learn-dynamic{background:#fff6e5;border:1px solid #c9a66b;border-radius:12px;padding:16px;margin:18px 0;color:#65471b}.learn-dynamic strong{display:block;margin-bottom:8px}.learn-dynamic p:last-child{margin-bottom:0}.learn-education{background:#eef4f0;border-radius:12px;padding:0 16px;margin-top:24px}.learn summary{min-height:48px;padding:12px 0;cursor:pointer;font-weight:600}.learn-education[open]{padding-bottom:16px}.education-label{font-size:13px;color:#315b4d}.learn-education h3{font-size:16px;margin-top:18px}.learn-mark{margin-top:20px}.learn-navigation{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}.learn-navigation>*{padding:12px 8px;font-size:15px}.official-note{font-size:16px;margin-top:16px}.learn [role=status]{margin:12px 0;min-height:24px}.learn button,.learn a,.learn li,.learn dt,.learn dd{overflow-wrap:anywhere}.learn button:disabled{opacity:1;background:#edf0ee;color:#52605a;border-color:#a9b6af;cursor:not-allowed}@media(max-width:400px){.learn-navigation{grid-template-columns:1fr 1fr}.learn-navigation #learn-got-it{grid-column:1/-1;grid-row:1}.learn-context{font-size:14px}.learn-answers li{font-size:18px}}

.selector .step-question{font-size:clamp(21px,3vw,28px);line-height:1.35}.selector-actions{display:flex;gap:12px}.selector-actions>*{flex:1}.selector-result-numbers{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0}.selector-result-numbers strong{display:block;font-size:25px;line-height:1.3;margin-top:8px}.selector-special{background:#eef4f0;padding:16px;border-radius:12px;margin:20px 0}#special-circumstances{margin:24px 0}#special-circumstances select{margin:12px 0;max-width:100%;white-space:normal}#special-circumstances label{display:block;font-weight:600}@media(max-width:400px){.selector-result-numbers{grid-template-columns:1fr}}

/* N-400 filing date only: independent controls, no mask or forced cursor movement. */
.selector .date-parts{min-width:0;margin:0;padding:0;border:0}.selector .date-parts legend{padding:0;margin-bottom:12px}.selector .date-parts-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.4fr);gap:16px}.selector .date-part{min-width:0}.selector .date-part label{display:block;margin-bottom:8px;font-weight:650}.selector .date-part input{width:100%;min-width:0;min-height:52px;font-size:18px;scroll-margin-block:24px}.selector .date-part .error{font-size:15px;margin-top:8px}.selector .date-parts-help{font-size:16px}@media(max-width:420px){.selector .date-parts-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.selector .date-part-year{grid-column:1/-1}}
