:root{--pda-surface-canvas:#f6f4ed;--pda-surface-card:#fbfaf5;--pda-surface-raised:#ffffff;--pda-surface-subtle:#eeeadf;--pda-surface-tint:#edf3ef;--pda-surface-inverse:#173c38;--pda-surface-warning:#fff3d6;--pda-surface-success:#e6f3ea;--pda-surface-error:#fbe9e7;--pda-surface-google:#ffffff;--pda-text-primary:#1c2f2b;--pda-text-secondary:#3f5a53;--pda-text-muted:#536a62;--pda-text-disabled:#a7b7b1;--pda-text-on-inverse:#fbfaf5;--pda-text-on-inverse-muted:#edc582;--pda-text-link:#2f6158;--pda-text-warning:#7a4f10;--pda-text-success:#236340;--pda-text-error:#8f2c2c;--pda-text-google:#1f1f1f;--pda-border-default:#e1dccc;--pda-border-input:#7a8f89;--pda-border-strong:#3f5a53;--pda-border-focus:#a8702a;--pda-border-inverse:#d2ad64;--pda-border-google:#747775;--pda-accent-primary:#173c38;--pda-accent-primary-hover:#234e49;--pda-accent-on-primary:#fbfaf5;--pda-accent-amber:#d2ad64;--pda-space-4:4px;--pda-space-8:8px;--pda-space-12:12px;--pda-space-16:16px;--pda-space-20:20px;--pda-space-24:24px;--pda-space-32:32px;--pda-space-40:40px;--pda-radius-sm:6px;--pda-radius-md:10px;--pda-radius-lg:16px;--pda-radius-full:999px;--pda-size-control:44px;--pda-size-control-touch:48px;--pda-content-max:1040px;--pda-font-display:Georgia,"Source Serif 4","Times New Roman",serif;--pda-font-ui:"Avenir Next",Avenir,Figtree,system-ui,sans-serif;--pda-font-mono:"SF Mono",Menlo,"JetBrains Mono",monospace;font-family:var(--pda-font-ui);color:var(--pda-text-primary);background:var(--pda-surface-canvas);color-scheme:light;font-size:15px;line-height:1.6}*{box-sizing:border-box}html{scroll-padding-bottom:120px}body{margin:0;min-height:100vh;display:flex;flex-direction:column}.subject-card,.checkbox-row,.switch,.difficulty,.field,.segmented-field,.stepper{scroll-margin-bottom:120px}a{color:var(--pda-text-link);text-underline-offset:4px}h1,h2,h3{font-weight:400;margin:0}h1{font-family:var(--pda-font-display);font-size:clamp(30px,4vw,36px);line-height:1.2;letter-spacing:-.5px}h2{font-family:var(--pda-font-display);font-size:28px;line-height:1.3}h3{font-size:17px;font-weight:600;line-height:1.4}p{margin:0}:focus-visible{outline:3px solid var(--pda-border-focus);outline-offset:3px}.breadcrumb svg,.difficulty>button svg,.menu-sheet svg,.menu-button svg,.row svg{width:18px;height:18px;flex:none}svg[aria-hidden=true]{max-width:24px;max-height:24px}.hero[hidden]{display:none}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.site-header{max-width:var(--pda-content-max);margin:0 auto;width:100%;padding:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:600;font-size:17px}.brand img{width:32px;height:32px;border-radius:var(--pda-radius-md)}.brand-and-links{display:flex;align-items:center;gap:40px}.site-links{display:flex;gap:24px}.site-links a{text-decoration:none;color:var(--pda-text-secondary);font-weight:500}.site-links a[aria-current=page]{color:var(--pda-text-primary);text-decoration:underline}.header-right{display:flex;align-items:center;gap:8px}.account-chip{display:flex;align-items:center;gap:10px;padding:4px 6px;border:1px solid var(--pda-border-default);border-radius:var(--pda-radius-full);background:var(--pda-surface-card)}.account-chip .avatar{width:32px;height:32px}.account-chip .email{font-size:13px;color:var(--pda-text-secondary)}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--pda-surface-inverse);color:var(--pda-text-on-inverse-muted);font-family:var(--pda-font-display);flex:none}.menu-button{display:none;width:44px;height:44px;border:1px solid var(--pda-border-default);border-radius:var(--pda-radius-md);background:var(--pda-surface-card);cursor:pointer;align-items:center;justify-content:center;color:var(--pda-text-secondary)}.menu-sheet{display:none;position:absolute;left:16px;right:16px;top:72px;z-index:20;background:var(--pda-surface-raised);border:1px solid var(--pda-border-default);border-radius:var(--pda-radius-lg);padding:8px;box-shadow:0 8px 24px -4px #173c381f}.menu-sheet[data-open=true]{display:block}.menu-sheet a{display:flex;align-items:center;gap:10px;min-height:48px;padding:0 12px;border-radius:var(--pda-radius-md);text-decoration:none;color:var(--pda-text-secondary);font-weight:500}.menu-sheet a[aria-current=page]{background:var(--pda-surface-tint);color:var(--pda-text-primary);text-decoration:underline}.menu-sheet .account-row{display:flex;align-items:center;gap:10px;padding:6px 4px 6px 12px;border-top:1px solid var(--pda-border-default);margin-top:4px;font-size:13px;color:var(--pda-text-secondary)}.menu-sheet .account-row span{flex:1}main{max-width:var(--pda-content-max);margin:0 auto;width:100%;padding:24px 16px 48px;display:flex;flex-direction:column;gap:24px;flex:1}.site-footer{max-width:var(--pda-content-max);margin:0 auto;width:100%;padding:24px 16px;display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;font-size:13px;color:var(--pda-text-muted)}.site-footer nav{display:flex;gap:20px}.hero{display:flex;flex-direction:column;gap:12px}.hero p{max-width:62ch;color:var(--pda-text-secondary)}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--pda-text-muted)}.muted{color:var(--pda-text-muted);font-size:13px}.secondary-text{color:var(--pda-text-secondary)}.small{font-size:13px;line-height:1.5}.strong{font-weight:600}.success-text{color:var(--pda-text-success);font-weight:600}.columns{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start}.columns.wide-left{grid-template-columns:minmax(0,680px) minmax(280px,1fr)}.columns.two-equal{grid-template-columns:1fr 1fr;gap:24px}.stack{display:flex;flex-direction:column;gap:16px}.stack-sm{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.between{justify-content:space-between}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.section-head h2{font-family:var(--pda-font-ui);font-size:20px;font-weight:600}.card{background:var(--pda-surface-card);border:1px solid var(--pda-border-default);border-radius:var(--pda-radius-lg);padding:24px;box-shadow:0 1px 3px #173c380f;display:flex;flex-direction:column;gap:16px}section.card{margin:0}.divider{height:1px;background:var(--pda-border-default);border:0;margin:0}.steps{display:flex;flex-direction:column;gap:10px;padding:0;margin:0;list-style:none}.steps li{display:flex;gap:12px;align-items:flex-start}.steps .num{flex:none;width:24px;height:24px;border-radius:50%;background:var(--pda-surface-tint);color:var(--pda-text-link);font-size:13px;font-weight:500;display:inline-flex;align-items:center;justify-content:center}.steps .step-body{display:flex;flex-direction:column;gap:2px}.jump-list{display:flex;flex-direction:column;gap:6px}.jump-list a{text-decoration:none}.btn{font:inherit;font-weight:500;font-size:15px;min-height:var(--pda-size-control);padding:0 20px;border-radius:var(--pda-radius-md);border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:transparent;color:inherit;text-decoration:none;margin:0}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--pda-accent-primary);color:var(--pda-accent-on-primary);border-color:var(--pda-accent-primary)}.btn-primary:hover:not(:disabled){background:var(--pda-accent-primary-hover)}.btn-secondary{background:var(--pda-surface-card);color:var(--pda-text-primary);border-color:var(--pda-border-input)}.btn-secondary:hover:not(:disabled){background:var(--pda-surface-subtle)}.btn-ghost{color:var(--pda-text-link)}.btn-ghost:hover:not(:disabled){background:var(--pda-surface-subtle)}.btn-danger{background:var(--pda-surface-card);color:var(--pda-text-error);border-color:var(--pda-text-error)}.btn-google{background:var(--pda-surface-google);color:var(--pda-text-google);border:1px solid var(--pda-border-google);border-radius:var(--pda-radius-full);font-family:Roboto,var(--pda-font-ui);font-weight:500;font-size:14px;letter-spacing:.25px;padding:0 20px 0 16px;gap:12px;width:100%}.btn-google:hover:not(:disabled){background:#f2f2f2}.btn-google img{width:18px;height:18px}.btn-block{width:100%}.btn-sm{min-height:36px;padding:0 14px;font-size:14px}.btn[aria-busy=true]{cursor:wait}.btn .spinner{width:16px;height:16px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:pda-spin .8s linear infinite}@keyframes pda-spin{to{transform:rotate(360deg)}}.btn svg{width:18px;height:18px;flex:none}.field{display:flex;flex-direction:column;gap:8px}.field>label,.field>legend,.field-label{font-weight:500;font-size:15px;line-height:1.35}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field textarea{font:inherit;width:100%;min-height:var(--pda-size-control);padding:10px 14px;border:1px solid var(--pda-border-input);border-radius:var(--pda-radius-md);background:var(--pda-surface-raised);color:var(--pda-text-primary);margin:0}.field textarea{min-height:128px;resize:vertical}.field.is-error input,.field.is-error textarea{border:2px solid var(--pda-text-error)}.field .help{font-size:13px;color:var(--pda-text-muted);line-height:1.5}.field.is-error .help{color:var(--pda-text-error)}.field input::placeholder{color:var(--pda-text-muted)}.code-field input{font-family:var(--pda-font-mono);font-size:28px;letter-spacing:4px;text-align:center;min-height:64px}.file-field .zone{display:flex;align-items:center;gap:12px;padding:10px 10px 10px 14px;border:1px dashed var(--pda-border-input);border-radius:var(--pda-radius-md);background:var(--pda-surface-subtle)}.file-field .zone.chosen{border-style:solid;background:var(--pda-surface-raised)}.file-field .zone .name{flex:1;min-width:0;overflow-wrap:anywhere}.file-field input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.file-field.is-disabled{opacity:.45}.inline-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.inline-form .field{flex:1;min-width:200px}.prefix-chip{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:var(--pda-radius-md);background:var(--pda-surface-subtle);font-family:var(--pda-font-mono);font-size:12px;overflow-wrap:anywhere}.prefix-chip code{flex:1}.checkbox-row{display:flex;align-items:center;gap:12px;min-height:44px;padding:6px 0;cursor:pointer}.checkbox-row input{width:22px;height:22px;margin:0;accent-color:var(--pda-accent-primary);flex:none}.checkbox-row .label{flex:1}.checkbox-row .meta{font-size:13px;color:var(--pda-text-muted)}.checkbox-row.is-disabled{color:var(--pda-text-disabled);cursor:default}.switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;flex:none}.switch input{position:absolute;opacity:0;width:44px;height:26px;margin:0;cursor:pointer;z-index:1}.switch .track{width:44px;height:26px;border-radius:var(--pda-radius-full);background:var(--pda-border-input);position:relative;transition:background .15s;pointer-events:none}.switch .track:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--pda-surface-raised);transition:transform .15s}.switch input:checked+.track{background:var(--pda-accent-primary)}.switch input:checked+.track:after{transform:translate(18px)}.switch input:focus-visible+.track{outline:3px solid var(--pda-border-focus);outline-offset:3px}.segmented{display:inline-flex;gap:2px;padding:3px;border:1px solid var(--pda-border-input);border-radius:var(--pda-radius-md);background:var(--pda-surface-raised);margin:0}.segmented label{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:36px;border:1px solid var(--pda-border-default);border-radius:var(--pda-radius-sm);background:var(--pda-surface-card);cursor:pointer;font-weight:500}.segmented input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}.segmented label:has(input:checked){background:var(--pda-accent-primary);color:var(--pda-accent-on-primary);border-color:var(--pda-accent-primary)}.segmented label:has(input:focus-visible){outline:3px solid var(--pda-border-focus);outline-offset:3px}fieldset.segmented-field{border:0;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}fieldset.segmented-field legend{font-size:13px;font-weight:500;color:var(--pda-text-secondary);padding:0;margin-bottom:6px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--pda-border-input);border-radius:var(--pda-radius-md);background:var(--pda-surface-raised);height:var(--pda-size-control)}.stepper button{width:44px;height:42px;border:0;background:transparent;font:inherit;font-size:20px;cursor:pointer;color:var(--pda-text-secondary);border-radius:var(--pda-radius-md)}.stepper button:disabled{opacity:.35;cursor:default}.stepper output{min-width:56px;text-align:center;font-weight:600}.difficulty{display:flex;flex-direction:column;gap:12px}.difficulty>button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 0;border:0;background:transparent;font:inherit;cursor:pointer;color:inherit;border-radius:var(--pda-radius-sm)}.difficulty>button .summary{flex:1;font-size:13px;color:var(--pda-text-muted)}.difficulty>button svg{transition:transform .15s}.difficulty>button[aria-expanded=true] svg{transform:rotate(90deg)}.difficulty-panel[hidden]{display:none}.difficulty-panel{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:var(--pda-radius-md);background:var(--pda-surface-subtle)}.difficulty-panel .controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.badge{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:var(--pda-radius-full);font-size:13px;font-weight:500;white-space:nowrap}.badge svg{width:14px;height:14px}.badge-success{background:var(--pda-surface-success);color:var(--pda-text-success)}.badge-warning{background:var(--pda-surface-warning);color:var(--pda-text-warning)}.badge-info{background:var(--pda-surface-tint);color:var(--pda-text-link)}.badge-neutral{background:var(--pda-surface-subtle);color:var(--pda-text-secondary)}.notice{display:flex;gap:12px;padding:14px 16px;border-radius:var(--pda-radius-lg);align-items:flex-start}.notice:empty{display:none}.notice svg{width:20px;height:20px;flex:none;margin-top:2px}.notice .body{display:flex;flex-direction:column;gap:4px}.notice .title{font-weight:600}.notice .text{font-size:13px;color:var(--pda-text-secondary)}.notice-info{background:var(--pda-surface-tint);color:var(--pda-text-link)}.notice-warning{background:var(--pda-surface-warning);color:var(--pda-text-warning)}.notice-error{background:var(--pda-surface-error);color:var(--pda-text-error)}.notice-success{background:var(--pda-surface-success);color:var(--pda-text-success)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--pda-border-default)}.tabs button{font:inherit;font-weight:500;background:transparent;border:0;border-bottom:3px solid transparent;padding:12px 4px 10px;cursor:pointer;color:var(--pda-text-muted);margin-bottom:-1px;border-radius:var(--pda-radius-sm) var(--pda-radius-sm) 0 0}.tabs button[aria-selected=true]{color:var(--pda-text-primary);border-bottom-color:var(--pda-accent-primary)}.breadcrumb{display:inline-flex;align-items:center;gap:4px;font-weight:500;text-decoration:none}.child-header{display:flex;flex-direction:column;gap:8px}.child-header .title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.child-header .avatar{width:48px;height:48px;font-size:22px}.child-card{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.child-card .avatar{width:48px;height:48px;font-size:22px}.child-card .content{flex:1;min-width:200px;display:flex;flex-direction:column;gap:6px}.child-card .name-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.child-card .name{font-size:20px;font-weight:600}.child-card .actions{display:flex;gap:8px;flex-wrap:wrap}.subject-card{gap:16px;padding:20px 24px}.subject-card .header{display:flex;gap:16px;align-items:flex-start}.subject-card .heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.subject-card .heading h3{font-size:20px}.subject-card .version-row{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;font-size:13px;color:var(--pda-text-muted)}.subject-card .update-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding-bottom:4px}.subject-card .update-row p{flex:1;min-width:200px}.subject-card .topics{display:flex;flex-direction:column}.subject-card.is-off .topics,.subject-card.is-off .difficulty,.subject-card.is-off .vocabulary{display:none}.subject-card.is-off .heading h3{color:var(--pda-text-muted)}.device-row{display:flex;align-items:center;gap:14px;padding:12px 0;flex-wrap:wrap}.device-row svg{width:24px;height:24px;color:var(--pda-text-secondary);flex:none}.device-row .content{flex:1;min-width:180px}.device-row .content .name{font-weight:600}.save-bar{position:sticky;bottom:12px;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:12px 20px;border-radius:var(--pda-radius-lg);background:var(--pda-surface-card);border:1px solid var(--pda-border-default);box-shadow:0 -4px 16px #173c381f}.save-bar .status{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--pda-text-secondary)}.save-bar .status svg{width:20px;height:20px;flex:none}.save-bar .actions{display:flex;gap:8px;flex-wrap:wrap}.save-bar[data-state=dirty]{background:var(--pda-surface-warning);border-color:var(--pda-border-inverse)}.save-bar[data-state=dirty] .status{color:var(--pda-text-warning)}.save-bar[data-state=saved] .status{color:var(--pda-text-success)}.save-bar[data-state=failed]{background:var(--pda-surface-error);border-color:var(--pda-text-error)}.save-bar[data-state=failed] .status{color:var(--pda-text-error)}.save-bar[data-state=conflict]{background:var(--pda-surface-warning);border-color:var(--pda-border-inverse)}.save-bar[data-state=conflict] .status{color:var(--pda-text-warning)}dialog.confirm{border:1px solid var(--pda-border-default);border-radius:var(--pda-radius-lg);padding:24px;max-width:440px;width:calc(100% - 32px);background:var(--pda-surface-raised);color:var(--pda-text-primary);box-shadow:0 8px 24px -4px #173c381f;display:flex;flex-direction:column;gap:16px}dialog.confirm:not([open]){display:none}dialog.confirm::backdrop{background:#173c3873}dialog.confirm h2{font-family:var(--pda-font-ui);font-size:20px;font-weight:600}dialog.confirm .actions{display:flex;justify-content:flex-end;gap:8px}.skeleton{height:14px;border-radius:var(--pda-radius-sm);background:var(--pda-surface-subtle)}.trust{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--pda-text-secondary)}.trust svg{width:20px;height:20px;flex:none;color:var(--pda-text-success)}.keep-box{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--pda-radius-md);background:var(--pda-surface-tint);font-size:13px;color:var(--pda-text-secondary)}.keep-box strong{color:var(--pda-text-primary);font-size:13px}.centered{align-self:center;width:100%;max-width:560px;display:flex;flex-direction:column;gap:24px;align-items:center}.centered .card{width:100%}code.pairing{font-family:var(--pda-font-mono);font-size:28px;letter-spacing:4px;overflow-wrap:anywhere}.code-box{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px;border-radius:var(--pda-radius-lg);background:var(--pda-surface-inverse);color:var(--pda-text-on-inverse)}.code-box code{color:var(--pda-text-on-inverse-muted)}.reduced-motion *{animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:900px){.columns,.columns.wide-left,.columns.two-equal{grid-template-columns:minmax(0,1fr);gap:16px}.site-links{display:none}.menu-button{display:inline-flex}.account-chip .email,.account-chip .sign-out{display:none}.brand-and-links{gap:0}.brand .full{display:none}.btn{min-height:var(--pda-size-control-touch)}.card,.subject-card{padding:20px 18px}.save-bar{flex-direction:column;align-items:stretch}.save-bar .actions{flex-direction:column}.save-bar .actions .btn{width:100%}.site-footer{flex-direction:column}.child-card .actions{width:100%}.child-card .actions .btn{flex:1}}@media(min-width:901px){.brand .short{display:none}}
