html,body{overscroll-behavior-y:none}html{touch-action:pan-x pan-y}button,input,select,textarea,a{touch-action:manipulation}.ux-field-error{display:block;color:#ac4038;font-size:12px;line-height:1.6;margin:5px 0 0}.ux-invalid{border-color:#bd5649!important;box-shadow:0 0 0 2px #bd564915!important}.ux-password{position:relative;display:block;min-width:0}.ux-password>input{box-sizing:border-box;width:100%;padding-right:43px!important}.ux-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);width:32px;height:32px;background:transparent;border:0;color:var(--muted,#797970);display:grid;place-items:center;cursor:pointer}.ux-eye svg{width:19px;height:19px}.ux-strength{display:flex;align-items:center;gap:8px;margin:6px 0 2px;font-size:11px;color:var(--muted,#777)}.ux-strength-track{height:3px;border-radius:4px;background:#e5e6df;flex:1;overflow:hidden}.ux-strength-fill{display:block;height:100%;width:0;transition:width .2s,background .2s}.ux-captcha-source{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;padding:0!important;border:0!important;pointer-events:none}.ux-captcha-cells{display:flex;gap:7px;min-width:0}.ux-captcha-cells input{width:36px!important;min-width:0!important;height:43px;padding:4px!important;text-align:center;font-size:20px;box-sizing:border-box;text-transform:uppercase}.ux-choices{display:flex;flex-wrap:wrap;gap:6px;min-width:0;border:0;padding:0;margin:0}.ux-choice{display:inline-flex!important;align-items:center;gap:5px!important;padding:6px 9px;border:1px solid var(--line,#e6e2d9);border-radius:9px;font-size:12px!important;cursor:pointer;background:var(--bg,#faf8f3)}.ux-choice:has(input:checked){border-color:#86a079;background:#edf3e9;color:#42633d}.ux-choice input{min-height:14px!important;padding:0!important;flex:0 0 14px;box-shadow:none;width:14px!important;min-width:14px!important;height:14px!important;margin:0!important;accent-color:#668b56}.ux-select-backing{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important;min-width:0!important}.ux-operation{position:fixed;left:50%;top:max(14px,env(safe-area-inset-top));transform:translateX(-50%);z-index:10050;padding:12px 18px;border:1px solid #dce3d4;border-radius:15px;background:#fffffff5;box-shadow:0 7px 30px #263b2319;color:#3c5136;font:13px/1.6 system-ui;max-width:min(80vw,420px);pointer-events:none}.ux-spinner{display:inline-block;width:14px;height:14px;border:2px solid #cddac7;border-top-color:#56784b;border-radius:50%;animation:ux-spin .8s linear infinite;margin-right:9px;vertical-align:-3px}@keyframes ux-spin{to{transform:rotate(360deg)}}.ux-retry{margin-left:9px;border:0;border-radius:7px;padding:4px 8px;background:#f5e8e3;color:#914538;font:inherit;cursor:pointer}.ux-image{display:inline-grid;position:relative;overflow:hidden;vertical-align:middle;max-width:100%;isolation:isolate;border-radius:inherit;background:#e4e8df}.ux-image>img{grid-area:1/1;width:100%;height:100%;object-fit:inherit}.ux-image>.ux-image-preview{min-width:100%;min-height:100%;filter:blur(9px);transform:scale(1.06);pointer-events:none;opacity:1;object-fit:cover}.ux-image>.ux-image-original{position:relative;opacity:0;transition:opacity .35s ease;min-height:60px}.ux-image.is-loaded>.ux-image-original{opacity:1}.ux-image.is-loaded>.ux-image-preview{opacity:0;transition:opacity .4s ease}.ux-image-error{position:absolute;inset:0;border:0;background:#e8e9e4d9;color:#52614c;font:12px system-ui;cursor:pointer}.ux-image-avatar{width:100%;height:100%}.ux-image-avatar>.ux-image-original{min-height:0}.ux-pull{position:fixed;z-index:10020;left:50%;top:max(8px,env(safe-area-inset-top));transform:translate(-50%,-90px);background:#fffdf9;border:1px solid #e1e7dc;border-radius:24px;padding:11px 17px;box-shadow:0 4px 18px #31432914;font-size:12px;color:#57744b;pointer-events:none;opacity:0;transition:transform .18s,opacity .18s}.ux-pull.is-visible{opacity:1}.ux-pull .ux-spinner{animation:none}.ux-pull.is-refreshing .ux-spinner{animation:ux-spin .8s linear infinite}.ux-empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:26px 15px;color:var(--muted,#777);font-size:13px}.ux-empty svg{width:86px;height:60px;color:#90a380}.ux-empty p{margin:0;line-height:1.7}.ux-empty .btn{padding:7px 14px;font-size:12px}.ux-feed-more{display:block;text-align:center;padding:14px;font-size:12px;color:#7d8775;border:0;background:transparent;width:100%}.ux-not-found{max-width:440px;text-align:center}.ux-empty-art{font-size:74px;color:#92a77f;line-height:1.3}.ux-not-found form{text-align:left;margin-top:26px}.ux-search-row{display:flex;gap:8px;margin-top:8px}.ux-search-row input{min-width:0;flex:1}.ux-select-search{width:100%;box-sizing:border-box;border:1px solid #dce3d4;border-radius:9px;padding:10px;margin:0 0 10px;font:inherit}.ux-search-results{padding:12px 0;display:grid;gap:7px}.ux-search-result{border:1px solid #e2e7dc;padding:10px;border-radius:10px;color:inherit;text-decoration:none}.ux-autocomplete{display:flex;gap:6px}.ux-autocomplete input{width:100%;min-width:0}.ux-autocomplete button{flex:none}@media(prefers-reduced-motion:reduce){.ux-image>.ux-image-original,.ux-image>.ux-image-preview,.ux-pull{transition:none}.ux-spinner{animation-duration:1.6s}}

html.study-select-open,html.study-select-open body{overflow:hidden!important}
.study-select-dialog{position:fixed;inset:0;margin:auto;width:min(380px,calc(100vw - 32px));max-width:none;max-height:min(560px,calc(100dvh - 64px));padding:0;border:1px solid #e3e7dc;border-radius:20px;background:var(--card,#fff);color:var(--ink);box-shadow:0 20px 70px #1d301d2b;box-sizing:border-box;overflow:hidden}
.study-select-dialog[open]{display:flex;flex-direction:column}
.study-select-dialog::backdrop{background:#20291f45;backdrop-filter:blur(3px)}
.study-select-head{flex:none;padding:17px 20px 13px;border-bottom:1px solid var(--line)}
.study-select-head h2{margin:0;text-align:center;font:inherit;font-size:15px;font-weight:600;line-height:1.5}
.study-select-options{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;padding:6px 10px 10px;scrollbar-width:thin}
.study-select-options>button{display:flex;align-items:center;gap:9px;width:100%;min-height:46px;box-sizing:border-box;border:0;border-radius:10px;padding:11px 13px;background:transparent;color:var(--ink);font:inherit;font-size:14px;line-height:1.5;text-align:left;cursor:pointer}
.study-select-options>button[aria-selected=true]{background:#edf2e7;color:#45663b}
.study-select-options>button:focus-visible{outline:2px solid #729669;outline-offset:-2px}
.study-select-options>button:disabled{opacity:.4;cursor:default}
.study-select-options .study-select-label,.study-select-options .plan-topic-name{flex:1;min-width:0}
.study-select-options .plan-recommended{flex:none;margin-left:auto;font-size:11px;color:#658258}
.study-select-options>button:has(.plan-mastery-dot){display:grid;grid-template-columns:minmax(0,1fr) 6px 28px;column-gap:9px}
.study-select-options>button>.plan-mastery-dot{grid-column:2}
.study-select-options>button:has(.plan-mastery-dot)>.plan-recommended{grid-column:3;margin-left:0;text-align:right}
.study-select-group{padding:12px 13px 5px;color:var(--muted);font-size:11px}
@media(prefers-reduced-motion:no-preference){
  .study-select-dialog[open]{animation:study-select-in .26s cubic-bezier(.2,.65,.3,1) both}
  .study-select-dialog[open]::backdrop{animation:study-select-backdrop-in .26s ease-out both}
  .study-select-dialog[open].is-closing{pointer-events:none;animation:study-select-out .22s ease-in both}
  .study-select-dialog[open].is-closing::backdrop{animation:study-select-backdrop-out .22s ease-in both}
  @keyframes study-select-in{from{opacity:0;scale:.98}to{opacity:1;scale:1}}
  @keyframes study-select-out{from{opacity:var(--select-close-opacity,1);scale:var(--select-close-scale,1)}to{opacity:0;scale:.98}}
  @keyframes study-select-backdrop-in{from{opacity:0}to{opacity:1}}
  @keyframes study-select-backdrop-out{from{opacity:var(--select-backdrop-opacity,1)}to{opacity:0}}
}
.media-grid>.ux-image{display:grid;width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.media-grid.one>.ux-image{aspect-ratio:4/3;max-height:420px;object-fit:contain}.media-grid .ux-image>.ux-image-original{width:100%;height:100%;min-height:0;aspect-ratio:auto}.feed-thumbnail .ux-image{width:40px;height:40px;border-radius:8px}.feed-thumbnail .ux-image-original{min-height:0}.md>.ux-image{display:inline-grid;min-height:80px;max-width:100%}#lightboxInner>.ux-image{max-height:85dvh;object-fit:contain}

/* Captcha errors occupy a reserved row, never a flex item beside the code image. */
#captchaField .captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 116px;align-items:center;gap:8px}
#captchaField .ux-captcha-wrap{display:block;min-width:0;width:100%}
#captchaField .ux-captcha-cells{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
#captchaField .ux-captcha-cells input{width:100%!important;min-width:0!important;letter-spacing:0}
#captchaField .captcha-box{width:116px;height:46px;box-sizing:border-box}
#captchaField .captcha-box svg{display:block;max-width:100%;height:100%}
#captchaField>.ux-field-error{min-height:20px;line-height:20px;margin-top:5px}
#captchaField>.ux-field-error[hidden]{display:block!important;visibility:hidden}
@media(max-width:380px){#captchaField .captcha-row{grid-template-columns:minmax(0,1fr)}#captchaField .captcha-box{justify-self:start}}
