.ux-table-scroll{max-height:min(64dvh,560px);overflow:auto;overscroll-behavior:contain}.ux-table{border-collapse:separate!important;border-spacing:0}.ux-table thead th{position:sticky;top:0;z-index:3;background:var(--card,#fffdf9);box-shadow:0 1px 0 var(--line,#e3e7dd)}.ux-table tbody tr:nth-child(odd){background:var(--card,#fff)}.ux-table tbody tr:nth-child(even){background:#f1f5ec88}.ux-table tbody tr:hover{background:#eaf0e299}.ux-table-heading{display:inline-flex;gap:4px;align-items:center;max-width:100%}.ux-table-heading>span{min-width:0}.ux-table-icon{display:inline-grid;place-items:center;padding:1px!important;min-height:20px!important;min-width:18px!important;width:18px;height:20px;border:0;background:transparent;color:#85937b;cursor:pointer;font:12px system-ui;flex:none}.ux-table-icon[aria-pressed=true]{color:#3f6c30;background:#e4eddd;border-radius:4px}.ux-table-icon svg{width:12px;height:12px}.ux-table .ux-row-action{opacity:0;pointer-events:none;translate:0 0;transition:opacity .15s ease-in,translate .3s ease-in-out}.ux-table tr:hover .ux-row-action,.ux-table tr:focus-within .ux-row-action{opacity:1;pointer-events:auto;translate:0 0}.ux-table tr:focus-visible{outline:2px solid #87a075;outline-offset:-2px}@media(pointer:coarse){.ux-table tr .ux-row-action{opacity:0;pointer-events:none;translate:0 0}.ux-table tr.is-actions-open .ux-row-action,.ux-table tr:has(:focus-visible) .ux-row-action{opacity:1;pointer-events:auto;translate:0 0}}
.ux-switch{display:inline-flex;position:relative;width:42px;min-width:42px;height:24px;vertical-align:middle;flex:none;isolation:isolate}.ux-switch>input[type=checkbox]{appearance:none;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;margin:0!important;opacity:0;cursor:pointer;z-index:2}.ux-switch-track{position:absolute;inset:0;border-radius:20px;background:#d9ded3;transition:background .3s ease-in-out;pointer-events:none}.ux-switch-thumb{position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #34492e35;translate:0 0;transition:translate .3s ease-in-out;pointer-events:none}.ux-switch input:checked~.ux-switch-track{background:#759563}.ux-switch input:checked~.ux-switch-thumb{translate:18px 0}.ux-switch:has(input:disabled){opacity:.45}.ux-switch:has(input:focus-visible){outline:2px solid #7c9b6e;outline-offset:3px;border-radius:20px}.ux-checkbox-native{appearance:none!important;display:inline-block;box-sizing:border-box;width:16px!important;min-width:16px!important;height:16px!important;border:1px solid #aebba4!important;border-radius:4px!important;background:var(--card,#fff);vertical-align:middle;cursor:pointer;position:relative;flex:none}.ux-checkbox-native:checked{background:#71935f!important;border-color:#71935f!important}.ux-checkbox-mark{position:absolute;width:16px;height:16px;pointer-events:none;color:#fff;overflow:visible}.ux-checkbox-mark path{stroke-dasharray:1;stroke-dashoffset:-1;transition:stroke-dashoffset .2s ease-out}.ux-checkbox-native:checked+.ux-checkbox-mark path{stroke-dashoffset:0}.ux-checkbox-native:disabled,.ux-checkbox-native:disabled+.ux-checkbox-mark{opacity:.45}.ux-avatar-group{display:inline-flex;align-items:center;padding-left:5px;vertical-align:middle}.ux-avatar-group>.identity-avatar,.ux-avatar-group>.ux-avatar-more{margin-left:-5px!important;border:2px solid var(--card,#fff);border-radius:50%;width:25px;height:25px;min-width:25px;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}.ux-avatar-more{background:#e8eee0;color:#617752;font-size:9px;font-weight:600}.ux-like-burst{position:fixed;z-index:12000;pointer-events:none;width:0;height:0}.ux-like-burst i{position:absolute;width:5px;height:5px;border-radius:50%;background:#cf745d;left:-2px;top:-2px}.ux-like-glyph{display:inline-block;transform-origin:center}.ux-number{font-variant-numeric:tabular-nums;display:inline-block}.ux-is-pressed{scale:.96!important}button,a.btn{transform-origin:center;transition-timing-function:ease-out}.ux-success-disc{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#e4efdb;color:#4f7a3d;vertical-align:middle}.ux-success-disc svg{width:19px;height:19px}.ux-success-disc path{stroke-dasharray:1;stroke-dashoffset:-1;animation:ux-check-draw .2s ease-out forwards}@keyframes ux-check-draw{to{stroke-dashoffset:0}}
.subject-section.ux-subject-card{perspective:1200px;overflow:hidden}.ux-flip-inner{position:relative;flex:1;min-height:0;width:100%;height:100%;transform-style:preserve-3d;transition:transform .3s ease-in-out}.ux-subject-card.is-flipped .ux-flip-inner{transform:rotateY(180deg)}.ux-card-front,.ux-card-back{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;box-sizing:border-box;background:var(--card,#fff);border-radius:inherit}.ux-card-front{position:relative;transform:rotateY(0deg)}.ux-card-back{position:absolute;inset:0;transform:rotateY(180deg);padding:0 2px;overflow-y:auto;overscroll-behavior:contain;gap:14px}.ux-card-back h3{font-size:16px;margin:0}.ux-card-back-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 0 12px;border-bottom:1px solid var(--line,#e3e7dd)}.ux-card-actions{display:flex;flex-direction:column;gap:10px;min-height:0}.ux-card-actions>.dashboard-tools{display:flex!important;flex-wrap:wrap;margin:0;gap:8px}.ux-card-actions button{position:static!important;inset:auto!important;flex:none;max-width:100%;margin:0!important}.ux-card-actions>.word-settings{width:auto!important;height:auto!important;padding:10px 14px!important;border:1px solid var(--line);border-radius:10px}.ux-card-actions>.word-settings>span:after{content:'单词与题型设置';font:12px system-ui;margin-left:6px}.ux-card-actions>.subject-switch-manage{width:auto!important;font-size:12px}.ux-card-actions>.subject-switch-manage:after{content:' 科目与初始化设置'}.ux-card-front>[id$=Content]{flex:1;min-height:0;display:flex;flex-direction:column}.ux-round-summary{color:var(--muted,#777);font-size:12px}.ux-card-back .paper-round-trigger{position:static;width:auto;align-self:flex-start}.ux-skeleton{pointer-events:none;display:grid;align-content:start;gap:14px;padding:8px 0;flex:1;min-height:0;overflow:hidden}.ux-skeleton i{display:block;background:#e9eee3;position:relative;overflow:hidden;border-radius:6px}.ux-skeleton i:after{content:'';position:absolute;inset:0;translate:-100% 0;background:linear-gradient(90deg,transparent,#ffffff99,transparent);animation:ux-shimmer 1.2s linear infinite}.ux-skeleton .ux-skeleton-line{height:16px;width:100%}.ux-skeleton .ux-skeleton-ring{width:88px;height:88px;border-radius:50%}.ux-skeleton-row{display:flex;align-items:center;gap:15px}.ux-skeleton-copy{display:grid;gap:8px;flex:1}.ux-skeleton-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.ux-skeleton-grid i{aspect-ratio:1;border-radius:50%}@keyframes ux-shimmer{to{translate:100% 0}}
dialog[open]{animation-timing-function:ease-out!important;animation-duration:.25s!important}dialog[open].is-closing{animation-timing-function:ease-in!important;animation-duration:.15s!important}dialog[open]::backdrop{animation-timing-function:ease-out!important;animation-duration:.25s!important}dialog[open].is-closing::backdrop{animation-timing-function:ease-in!important;animation-duration:.15s!important}.ux-spinner,[data-feedback-state=pending]:before{animation-timing-function:linear!important}.ux-card-front .subject-mark{cursor:pointer}.ux-card-front .subject-mark:focus-visible{outline:2px solid var(--subject,#729963);outline-offset:3px}@media(prefers-reduced-motion:reduce){.ux-flip-inner,.ux-table .ux-row-action,.ux-checkbox-mark path,.ux-switch-thumb,.ux-switch-track{transition:none}.ux-skeleton i:after{animation:none}.ux-success-disc path{animation:none;stroke-dashoffset:0}}
.account-page .account-grid,.account-page .settings-account-group{display:flex!important;flex-direction:column;gap:0!important}.account-page .account-card{width:100%;margin:0!important;padding:22px 20px;border:0;border-bottom:1px solid #e3e6dd;border-radius:0!important;box-shadow:none!important;box-sizing:border-box}.account-page .settings-group>.account-card:nth-child(odd){background:#fbfcf8}.account-page .settings-group>.account-card:nth-child(even){background:#f3f6ee}.account-page .account-card h2{margin-top:0}.account-page .account-card>.btn.full{width:auto;min-width:130px}.account-page .settings-group{gap:0!important;border:1px solid #e3e6dd;border-radius:14px;overflow:clip}.account-page .account-card:last-child{border-bottom:0}.ux-checkbox-native{min-height:16px!important;max-height:16px!important;padding:0!important}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]),textarea{transition:box-shadow .25s ease-out}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]):focus:not(.ux-invalid),textarea:focus:not(.ux-invalid){outline:none!important;border-color:var(--line,#deded5)!important;background:var(--bg,#faf8f3)!important;box-shadow:0 3px 13px #34452c22!important}.account-page .field input:focus:not(.ux-invalid),.account-page .field textarea:focus:not(.ux-invalid){box-shadow:0 3px 14px #34452c25!important}@media(max-width:600px){.account-page .account-card{padding:18px 14px}.account-page .account-card>.btn.full{width:100%}}
#studyAiManager label:has(>.ux-switch){display:flex;align-items:flex-start;gap:8px;white-space:normal;line-height:1.65;min-width:0;max-width:100%;overflow-wrap:anywhere}.ux-checkbox-mark{left:clamp(0px,var(--ux-check-left,0px),calc(100% - 16px))!important}
.ux-confirm-dialog{width:min(460px,calc(100vw - 32px));max-height:80dvh}.ux-confirm-dialog form{padding:22px}.ux-confirm-dialog h2{margin:0 0 12px;font-size:18px}.ux-confirm-dialog p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.8;max-height:45dvh;overflow:auto}.ux-confirm-dialog .dialog-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:10px}dialog[open]:not(.study-select-dialog):not(.is-closing){animation:ux-modal-in .25s ease-out both!important}dialog[open].is-closing:not(.study-select-dialog)::backdrop{animation:ux-modal-backdrop-out .15s ease-in both!important}@keyframes ux-modal-in{from{opacity:0;scale:.985}to{opacity:1;scale:1}}@keyframes ux-modal-backdrop-out{to{opacity:0}}@media(prefers-reduced-motion:reduce){dialog[open]:not(.study-select-dialog):not(.is-closing){animation:none!important}}
.ux-success-disc{width:26px;height:26px;min-width:26px;box-sizing:border-box}
.ux-pull{transition:opacity .15s ease-in,transform .3s ease-in-out}.ux-pull.is-visible{transition:opacity .25s ease-out,transform .3s ease-in-out}.tab-panel.active{animation-timing-function:ease-in-out!important;animation-duration:.3s!important}.ux-card-front:focus-within{outline:none}
.ux-legacy-toggle{display:none!important}.press-ripple{display:none!important}.ux-table .ux-table-icon{font-size:10px;min-width:14px!important;width:14px}

button.ux-toggle-control{position:relative;display:inline-block;width:42px!important;min-width:42px!important;height:24px!important;min-height:24px!important;padding:0!important;border:0!important;border-radius:20px!important;background:#d9ded3!important;font-size:0!important;line-height:0!important;vertical-align:middle;box-shadow:none!important;transition:background .3s ease-in-out}button.ux-toggle-control[aria-checked=true]{background:#759563!important}button.ux-toggle-control .ux-switch-thumb{pointer-events:none}button.ux-toggle-control[aria-checked=true] .ux-switch-thumb{translate:18px 0}button.ux-toggle-control:disabled{opacity:.45}

@media(pointer:coarse){.ux-table .ux-action-cell{position:relative;width:0!important;min-width:0!important;padding-left:0!important;padding-right:0!important}.ux-table .ux-action-cell .ux-row-action{position:absolute;right:4px;top:50%;transform:translateY(-50%);translate:0 0;z-index:2;margin:0!important}.ux-table .ux-action-cell .ux-row-action:not(:last-child){right:45px}.ux-table .ux-action-cell:before{content:'';position:absolute;right:0;top:0;bottom:0;width:86px;background:var(--card,#fff);border-left:1px solid var(--line,#e3e7dd);opacity:0;pointer-events:none;transition:opacity .15s ease-in}.ux-table tr.is-actions-open .ux-action-cell:before{opacity:1}.ux-table-heading{gap:1px}.ux-table .ux-table-icon{width:12px!important;min-width:12px!important}}

/* Plan creation keeps its original footprint throughout pending and success. */
.ux-plan-feedback-button{position:relative;isolation:isolate}.ux-plan-feedback-label{display:inline-block;opacity:0;transition:opacity .15s ease-out}.ux-plan-feedback-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:4px;pointer-events:none;white-space:nowrap;font-size:11px;color:inherit}.ux-plan-feedback-layer svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ux-plan-feedback-layer path{stroke-dasharray:1;stroke-dashoffset:-1;animation:ux-check-draw .2s ease-out forwards}.ux-plan-feedback-layer .ux-spinner{width:12px;height:12px;flex:none;border-color:currentColor;border-right-color:transparent}.ux-plan-feedback-button[data-plan-feedback=restoring] .ux-plan-feedback-label{opacity:1}@media(prefers-reduced-motion:reduce){.ux-plan-feedback-label{transition:none}.ux-plan-feedback-layer path{animation:none;stroke-dashoffset:0}}

/* Only the painted surface morphs; the original label continues to reserve space. */
button.ux-button-success{position:relative;isolation:isolate;background:transparent!important;box-shadow:none!important;border-color:transparent!important}button.ux-button-success::before{visibility:hidden!important}.ux-success-label{display:inline;opacity:0;pointer-events:none}.ux-success-surface{position:absolute;left:50%;top:50%;translate:-50% -50%;overflow:hidden;box-sizing:border-box;pointer-events:none;z-index:0}.ux-success-tint{position:absolute;inset:0;background:#edf5e8;opacity:0;pointer-events:none}.ux-button-success>.ux-success-disc{position:absolute;left:50%;top:50%;translate:-50% -50%;width:22px;height:22px;min-width:0;background:transparent;color:#4e7b3c;pointer-events:none;z-index:1}.ux-button-success>.ux-success-disc svg{width:22px;height:22px;stroke-linecap:round;stroke-linejoin:round}.ux-button-success>.ux-success-disc path{animation-delay:.26s}

/* Planning actions reveal to the right; starting remains on the front. */
body.study .plan-list-card{padding:0;overflow:hidden}body.study .plan-item{position:relative;display:flex!important;flex-wrap:nowrap;align-items:center;gap:8px!important;padding:12px 10px!important;overflow:hidden;border-bottom:1px solid #dce3d5}body.study .plan-item:nth-child(odd){background:#fcfdf9}body.study .plan-item:nth-child(even){background:#edf2e6}.plan-row-copy{flex:1;min-width:0;overflow:hidden}.plan-row-main{display:grid;gap:3px;translate:0 0;transition:translate .3s ease-in-out;min-width:0}.plan-item.is-plan-tools-open .plan-row-main{translate:112px 0}.plan-row-main .plan-check{min-width:0}.plan-row-main .author-chip{justify-self:start}.plan-row-main .plan-meta{padding-left:25px!important;white-space:normal}.plan-item .plan-actions{position:relative;z-index:2;flex:none;margin:0!important;grid-row:auto!important;grid-column:auto!important;align-self:center}.plan-row-tools{position:absolute;inset:0 auto 0 6px;width:106px;display:flex;align-items:center;justify-content:center;gap:6px;opacity:0;translate:-15px 0;pointer-events:none;transition:opacity .15s ease-in,translate .3s ease-in-out}.plan-item.is-plan-tools-open .plan-row-tools{opacity:1;translate:0 0;pointer-events:auto;transition:opacity .25s ease-out,translate .3s ease-in-out}.plan-row-tools .mini-btn{min-height:32px;padding:5px 10px}.plan-row-tools .danger{background:#f7e3db!important;color:#a44b36!important}.plan-item .plan-more-toggle{padding:3px 5px!important;background:transparent!important;min-width:24px!important;color:#77856d;font-size:16px!important}.plan-more-toggle>span{pointer-events:none}.plan-item .plan-more-toggle[aria-expanded=true]{background:#dfe8d5!important}.account-page .settings-group>.account-card:nth-child(even){background:#eaf0e2}.ux-table tbody tr:nth-child(even){background:#eaf0e3}@media(prefers-reduced-motion:reduce){.plan-row-main,.plan-row-tools{transition:none!important}}

.account-page .settings-account-group[hidden]{display:none!important}

/* Warm capsule settings match the portal's ivory background. */
body .settings-group[hidden],.settings-nav>button[hidden]{display:none!important}.settings-nav{border-radius:999px;background:#eee6da}.settings-nav>button{border-radius:999px;color:#8b7867}.settings-nav>button[aria-selected=true]{background:#fffcf7;color:#80543d;box-shadow:0 2px 7px #8d67471a}.account-page .settings-group{border-color:#e6dccd}.account-page .settings-group>.account-card:nth-child(odd){background:#fffcf7}.account-page .settings-group>.account-card:nth-child(even){background:#f2ece2}.ux-choice{border-radius:999px}.ux-choice:has(input:checked){border-color:#c99c7f;background:#f4e8dc;color:#80533d}.ux-choice input{accent-color:#b77b58}.ux-switch input:checked~.ux-switch-track{background:#bb805e}.ux-switch:has(input:focus-visible){outline-color:#bc8664}button.ux-toggle-control[aria-checked=true]{background:#bb805e!important}.ux-checkbox-native:checked{background:#b58161!important;border-color:#b58161!important}.ux-table tbody tr:nth-child(odd),body.study .plan-item:nth-child(odd){background:#fffcf7}.ux-table tbody tr:nth-child(even),body.study .plan-item:nth-child(even){background:#f2ece2}
/* Timer transport controls retain clear accessible labels without visible text. */
.ux-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.timer-card{position:relative}.timer-btns>button.ux-timer-control{display:inline-grid;place-items:center;width:54px!important;min-width:54px!important;max-width:54px!important;height:54px!important;min-height:54px!important;padding:0!important;border-radius:50%!important;flex:0 0 54px;box-sizing:border-box;font-size:0;line-height:1}.timer-btns>button.ux-timer-control[hidden]{display:none!important}.ux-timer-control>svg{width:25px;height:25px;pointer-events:none}.ux-timer-control .ux-timer-travel-play{position:absolute;inset:0;margin:auto}.timer-btns>#timerPause{background:linear-gradient(135deg,#df805b,#cb6746);border-color:transparent;color:#fff;box-shadow:0 4px 12px #c86d4c30;order:1}.timer-btns>#timerStart{order:1}.timer-btns>#timerAbort{order:3;background:#f3e7dd;color:#ad6249;box-shadow:none;border:1px solid #e8d2c2}.timer-btns>#timerFinish{order:2}.timer-btns>#timerSubtract,.timer-btns>#timerAdd{order:4}.timer-btns>#timerFullscreen{position:absolute;top:12px;right:12px}.timer-btns>button.ux-timer-control.is-loading:after{width:18px;height:18px;left:calc(50% - 11px);right:auto;top:calc(50% - 11px)}.ux-timer-control.is-loading>svg{opacity:.2}@media(max-width:600px){.timer-btns>#timerFinish{order:5}.timer-btns>button.ux-timer-control{width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;min-height:50px!important;flex-basis:50px}}

/* Action columns are extracted into drawers; only whole-row movement reveals them. */
.ux-table tbody tr{position:relative;translate:0 0;transition:translate .3s ease-in-out}.ux-table tbody tr.is-actions-open{translate:var(--ux-row-actions,106px) 0}.ux-table .ux-row-label{position:relative}.ux-row-drawer{position:absolute;left:calc(-1 * var(--ux-row-actions,106px));top:0;bottom:0;width:var(--ux-row-actions,106px);display:flex;align-items:center;justify-content:flex-start;gap:6px;box-sizing:border-box;padding:5px;overflow-x:auto;white-space:nowrap;background:#f0e7dc;pointer-events:none}.ux-table .ux-row-drawer .ux-row-action{opacity:1!important;translate:0 0!important;position:static!important;transform:none!important;flex:none;pointer-events:none}.ux-table tr.is-actions-open .ux-row-drawer,.ux-table tr.is-actions-open .ux-row-drawer .ux-row-action{pointer-events:auto}.ux-row-is-open{overflow-x:hidden!important}.ux-row-drawer .user-actions{display:flex;flex-wrap:nowrap}.ux-table tbody tr:has(.ux-row-drawer),.plan-item[tabindex]{cursor:grab}.ux-table tbody tr:active,.plan-item:active{cursor:grabbing}.ux-table-scroll{clip-path:inset(0)}
body.study .plan-item{display:block!important;padding:0!important}body.study .plan-item:nth-child(odd){background:#fffcf8}body.study .plan-item:nth-child(even){background:#f9f5ee}.plan-row-front{position:relative;z-index:1;display:flex;align-items:center;gap:8px;padding:12px 10px;translate:0 0;transition:translate .3s ease-in-out;background:inherit}.plan-item.is-plan-tools-open .plan-row-front{translate:112px 0}.plan-item.is-plan-tools-open .plan-row-main{translate:0 0}.plan-row-main{transition:none}.plan-row-tools{z-index:0;opacity:1;translate:0 0}.plan-item:focus-visible{outline:2px solid #c58a67;outline-offset:-2px}.ux-table tbody tr:nth-child(even){background:#f9f5ee}@media(prefers-reduced-motion:reduce){.ux-table tbody tr,.plan-row-front{transition:none}}

body.study .subject-section.ux-subject-card{--subject-surface:#fffcf7;background:var(--subject-surface)!important}body.study .ux-subject-card .ux-card-front,body.study .ux-subject-card .ux-card-back{background:var(--subject-surface)!important}body.study .ux-subject-card .subject-scroll{background:transparent}body.study .ux-subject-card .word-ring:after,body.study .ux-subject-card .politics-mini-ring:before{background:var(--subject-surface)}

.timer-btns>#timerAdd.ux-timer-control{font-size:15px;font-weight:600;background:#f4e8dc;color:#995f40;border:1px solid #e7d4c2;box-shadow:none}.timer-btns>#timerAdd.ux-timer-control.is-loading{font-size:0}
/* Timer setup uses the available row width instead of stacking its two modes. */
#timerSetup .field:has(>#timerMode){flex:0 0 auto;width:auto;min-width:154px}#timerMode~.ux-choices{flex-wrap:nowrap;white-space:nowrap;gap:5px}#timerMode~.ux-choices .ux-choice{padding:6px 8px;gap:4px!important;font-size:11px!important}html:not(.tyy-phone) #timerSetup{flex-wrap:nowrap;gap:10px}html:not(.tyy-phone) #timerSetup>.field.grow{flex:1 1 300px;min-width:160px;max-width:520px}html:not(.tyy-phone) #timerSetup #pomoMinutesWrap{flex:0 0 154px;min-width:154px}html.tyy-phone #timerSetup .field:has(>#timerMode){min-width:0;grid-column:1/-1}html.tyy-phone #timerMode~.ux-choices{width:max-content}

.ux-field-error[hidden]{display:none!important}#timerSetup .field:has(>#timerMode){flex:0 0 146px;min-width:146px}.timer-mode-switch{position:relative;display:flex;align-items:center;justify-content:space-around;isolation:isolate;width:146px;height:42px;box-sizing:border-box;padding:3px;border:1px solid #e5d7c7;border-radius:999px;background:#eee5d8;color:#97836f;cursor:pointer;touch-action:pan-y;font:inherit;font-size:12px}.timer-mode-switch>span{position:relative;z-index:1;flex:1;white-space:nowrap;pointer-events:none}.timer-mode-thumb{position:absolute;inset:3px auto 3px 3px;width:calc(50% - 3px);border-radius:999px;background:#fffcf7;box-shadow:0 2px 5px #8e6b4c18;translate:0 0;transition:translate .3s ease-in-out;pointer-events:none}.timer-mode-switch[aria-checked=true] .timer-mode-thumb{translate:100% 0}.timer-mode-switch[aria-checked=false]>span:nth-of-type(1),.timer-mode-switch[aria-checked=true]>span:nth-of-type(2){color:#8d5b3d;font-weight:600}html.tyy-phone #timerSetup .field:has(>#timerMode){min-width:0;grid-column:auto}@media(prefers-reduced-motion:reduce){.timer-mode-thumb{transition:none}}
html.tyy-phone body.study #timerSetup{padding-top:62px!important}html.tyy-phone #timerSetup .field:has(>#timerMode){position:absolute;top:12px;left:50%;translate:-50% 0;width:146px;min-width:146px;margin:0!important}html.tyy-phone #timerSetup .field:has(>#timerMode)>label{display:none}

.ux-switch-thumb,.timer-mode-thumb{transition:none!important}.ux-switch-track{transition:background-color .22s ease-out}.ux-choice{transition:background-color .2s ease-out,border-color .2s ease-out,color .2s ease-out}.settings-nav{position:relative;isolation:isolate}.settings-nav>button{position:relative;z-index:1;transition:color .2s ease-out}.settings-nav>button[aria-selected=true]{background:transparent!important;box-shadow:none!important}.settings-nav-thumb{position:absolute;left:0;top:6px;bottom:6px;z-index:0;background:#fffcf7;border-radius:999px;box-shadow:0 2px 7px #8d67471a;pointer-events:none;transition:translate .26s cubic-bezier(.2,.75,.25,1),width .26s cubic-bezier(.2,.75,.25,1)}@media(prefers-reduced-motion:reduce){.settings-nav-thumb,.ux-choice{transition:none}}

.notification-row,.announcement-card{scale:1!important;transform:none!important}.settings-nav-thumb{top:0;bottom:auto;transition:translate .26s cubic-bezier(.2,.75,.25,1),width .26s cubic-bezier(.2,.75,.25,1),height .26s ease-out}.study-sidebar .tab-btn>.nav-label{width:auto;font-size:inherit;height:auto;color:inherit}.side-account{display:flex;align-items:center;gap:8px}.side-account>svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}.sidebar-collapse{position:absolute;top:25px;right:12px;display:grid;place-items:center;width:30px;height:30px;padding:5px;border:1px solid #e4d9c9;border-radius:50%;background:#faf5ed;color:#9a7559}.sidebar-collapse svg{width:20px;height:20px}.study-sidebar,.study-main{transition:width .18s ease-out,margin-left .18s ease-out}.sidebar-collapsed .sidebar-collapse svg{rotate:none}html.tyy-phone .sidebar-collapse{display:none}html.tyy-phone .study-sidebar .tab-btn>.nav-label{font-size:10px;height:auto;line-height:1;color:inherit}html.tyy-phone .phone-head-actions .nav-label{display:none}html.tyy-phone.nav-labels-hidden .study-sidebar .tab-btn>.nav-label{display:none}html.tyy-phone.nav-labels-hidden .study-sidebar .tab-btn{gap:0}
@media(min-width:600px){html:not(.tyy-phone) body.sidebar-collapsed .study-sidebar{width:72px;padding-inline:10px}html:not(.tyy-phone) body.sidebar-collapsed .study-main{margin-left:72px}html:not(.tyy-phone) .sidebar-collapsed .study-sidebar .nav-label{display:none}html:not(.tyy-phone) .sidebar-collapsed .study-sidebar .tab-btn{padding:11px 0;text-align:center}html:not(.tyy-phone) .sidebar-collapsed .side-brand{display:none}html:not(.tyy-phone) .sidebar-collapsed .sidebar-collapse{position:static;margin:0 auto}html:not(.tyy-phone) .sidebar-collapsed .side-account{justify-content:center}}
@media(min-width:768px){.account-page .account-wrap{max-width:1120px;display:grid;grid-template-columns:170px minmax(0,1fr);column-gap:24px;align-items:start}.account-wrap>.account-nav,.account-wrap>.account-hero,.account-wrap>.account-actions{grid-column:1/-1}.account-wrap>.settings-nav{grid-column:1;grid-row:3;position:sticky;top:20px;display:flex;flex-direction:column;align-self:start;gap:5px;margin:0;padding:6px;border-radius:18px;overflow:visible}.account-wrap>.settings-nav>button{width:100%;text-align:left;padding:12px 14px;flex:none}.account-wrap>.settings-group{grid-column:2;grid-row:3;min-width:0}}@media(prefers-reduced-motion:reduce){.study-sidebar,.study-main,.sidebar-collapse svg,.settings-nav-thumb{transition:none}}

.settings-auto-form{position:relative}.settings-auto-form>.auto-save-trigger,.settings-auto-form .auto-save-trigger{display:none!important}.settings-auto-state{position:absolute;right:8px;top:5px;display:grid;place-items:center;width:26px;height:26px;min-width:26px;min-height:26px;border:1px solid #e4d7c7;border-radius:50%;padding:4px;background:#fcf8f1;color:#a47c60;line-height:1;z-index:2}.account-card>.settings-auto-state{top:18px;right:14px}.settings-auto-state svg{width:17px;height:17px}.settings-auto-state[data-save-state=success]{color:#64824f}.settings-auto-state[data-save-state=error]{color:#ac563e;border-color:#d8a18b}.settings-auto-state .ux-spinner{width:12px;height:12px;flex:none}

html,body{overscroll-behavior-y:none!important}.ux-pull{top:env(safe-area-inset-top,0px);display:flex;flex-direction:column;align-items:center;gap:4px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#c78160;pointer-events:none;max-width:220px;transition:opacity .15s ease-in,transform .26s cubic-bezier(.2,.75,.25,1)}.ux-pull-drop{display:block;overflow:visible;filter:drop-shadow(0 2px 3px #b5846020)}.ux-pull-drop path[stroke]{transition:transform .2s ease-out}.ux-pull-label{font-size:11px;color:#9c7f69;line-height:1.5;text-align:center}.ux-pull.is-refreshing{padding:8px 12px;background:#fffcf7e8;border-radius:20px;box-shadow:0 2px 8px #9b73531a}.ux-pull.is-refreshing .ux-spinner{width:20px;height:20px;border-color:#d4b49b;border-right-color:transparent;animation:ux-spin .8s linear infinite}

html.tyy-phone .tab-panel.active{animation:ux-phone-panel-in .3s ease-in-out both!important}@keyframes ux-phone-panel-in{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){html.tyy-phone .tab-panel.active{animation:none!important}}

body.study button.ux-icon-action{position:relative;display:inline-grid;place-items:center;vertical-align:middle;flex:0 0 36px;min-width:36px!important;width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;padding:0!important;margin-block:0;box-sizing:border-box;border-radius:50%!important;font-size:0;line-height:1}button.ux-icon-action>.ux-action-glyph{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}button.ux-icon-action[data-action-icon=play]>.ux-action-glyph{fill:currentColor;stroke:none}button.ux-icon-action[data-icon-pending=true]:before,button.ux-icon-action[data-feedback-state=pending]:before{content:'';position:absolute;left:calc(50% - 9px);top:calc(50% - 9px);width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:ux-spin .8s linear infinite}button.ux-icon-action[data-icon-pending=true]>.ux-action-glyph{opacity:0}button.ux-icon-action[data-feedback-state=error]:before{font-size:16px}button.ux-icon-action.is-loading{padding:0!important}.plan-actions>.ux-icon-action{background:#efe8dc;color:#957354}@media(pointer:coarse){body.study button.ux-icon-action{flex-basis:40px;min-width:40px!important;width:40px!important;max-width:40px!important;height:40px!important;min-height:40px!important}}

.icon-editor .icon-save{display:none!important}.icon-editor .icon-save.is-retry{display:inline-flex!important}.icon-editor.busy .icon-preview{position:relative}.icon-editor.busy .icon-preview:after{content:'';position:absolute;inset:calc(50% - 10px);width:16px;height:16px;border:2px solid #b77c59;border-right-color:transparent;border-radius:50%;animation:ux-spin .8s linear infinite}

/* The shared controller owns the panel exit; CSS only fades its backdrop. */
dialog[open].is-closing:not(.study-select-dialog),dialog[open].ux-dialog-resuming:not(.study-select-dialog){animation:none!important}

/* Navigation labels and icons use independent sizes on phones. */
html.tyy-phone #tabs .tab-btn>.nav-label{font-size:10px!important;line-height:12px!important;font-weight:500;letter-spacing:0;flex:none}html.tyy-phone #tabs .tab-btn.active>.nav-label{font-weight:600}html.tyy-phone #tabs .tab-btn>[data-site-icon]{font-size:20px!important;width:22px;height:22px;flex:none}html.tyy-phone .study-sidebar{ text-size-adjust:100%;-webkit-text-size-adjust:100%}body.study .plan-row-front{padding-block:10px}

/* List stripes reach the card edge; field choices keep a consistent compact rhythm. */
html.tyy-phone body.study .surface.plan-list-card{padding:0;overflow:hidden}
.ux-choice{box-sizing:border-box;min-height:34px;padding:7px 10px;margin:0!important;line-height:1.35;white-space:nowrap;flex:0 0 auto}
body.study :is(#planForm,[data-plan-preview="planForm"]) .ux-choices{align-items:center;min-height:44px;gap:6px}
body.study :is(#planForm,[data-plan-preview="planForm"]) .ux-choice{font-size:12px!important;gap:5px!important;padding-inline:8px}
body.study :is(#planForm,[data-plan-preview="planForm"]) .paper-year-round{align-items:start;grid-template-columns:minmax(0,1fr) minmax(146px,1fr)}
body.study :is(#planForm,[data-plan-preview="planForm"]) .paper-year-round>.field{align-content:start;grid-template-rows:auto minmax(44px,auto)}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row{display:grid;grid-template-columns:minmax(0,1fr) 72px;align-items:start;gap:10px}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row>.field{width:auto;min-width:0;margin:0}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row>.compose-btns{grid-column:1/-1;display:flex;justify-content:flex-end;margin:0}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden]))>.field:first-child{grid-column:1/-1}
@media(min-width:700px){body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row{grid-template-columns:minmax(180px,240px) 100px 1fr}body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row>.compose-btns{grid-column:auto;align-self:end}body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden])){grid-template-columns:minmax(180px,240px) 120px 120px 1fr}body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden]))>.field:first-child{grid-column:auto}}
body.study .plan-list-card>.plan-item:last-child{border-bottom:0}
body.study :is(#planForm,[data-plan-preview="planForm"]) :is(#planEnglishRound,[data-plan-preview="planEnglishRound"])~.ux-choices .ux-choice{font-size:11px!important;padding-inline:7px;gap:4px!important}

/* Card settings need visible names; a pencil alone cannot identify its target. */
.ux-card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px}
.ux-card-actions>:is(#englishSummary,#mathSummary){grid-column:1/-1}
.ux-card-actions>.dashboard-tools{display:contents!important}
body.study .ux-card-actions button:is(.ux-icon-action,.word-settings,.subject-switch-manage){display:flex;align-items:center;justify-content:flex-start;gap:8px;flex:none;min-width:0!important;width:100%!important;max-width:100%!important;min-height:44px!important;height:auto!important;padding:10px 12px!important;border-radius:12px!important;font-size:12px;line-height:1.5;text-align:left}
body.study .ux-card-actions .ux-action-text{position:static!important;display:block;width:auto!important;height:auto!important;min-width:0;margin:0!important;padding:0!important;overflow:visible!important;clip:auto!important;clip-path:none!important;white-space:normal!important;font-size:12px;line-height:1.5}
.ux-card-actions .ux-action-glyph,.ux-card-actions [data-site-icon]{flex:none}
.ux-card-actions>.word-settings>span:after,.ux-card-actions>.subject-switch-manage:after{content:none}
html.tyy-phone .ux-table .ux-table-icon{display:none!important}

.ux-card-back-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.ux-card-back-head>h3{grid-column:2;grid-row:1;text-align:center;white-space:nowrap}.ux-card-return{grid-column:1;grid-row:1;justify-self:start;display:inline-flex;align-items:center;gap:8px;width:auto;height:36px;min-height:36px;border:0;border-radius:9px;padding:0;flex:none;color:inherit;background:transparent;font:inherit}.ux-card-return .subject-mark{flex:none}.ux-card-subject-name{font-size:16px;font-weight:700;white-space:nowrap}
.ux-card-return svg{display:block;width:20px;height:20px}
@media(max-width:360px){html.tyy-phone .ux-card-return{gap:6px}html.tyy-phone .ux-card-return .subject-mark{width:28px;height:28px}html.tyy-phone .ux-card-subject-name{font-size:14px}html.tyy-phone .ux-card-back-head>h3{font-size:14px}}
html.tyy-phone .ux-card-back{overscroll-behavior-x:auto;touch-action:pan-y}

.ux-card-actions>:is(#englishSummary,#mathSummary){margin:0!important;justify-self:start;text-align:left}

/* Give multi-choice plan types enough width; subject names get their own row. */
body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"]) .field.slim:has(>:is(#planMathKind,[data-plan-preview="planMathKind"]),>:is(#planMajorKind,[data-plan-preview="planMajorKind"])){flex-basis:240px;min-width:0}
body.study :is(#majorPlanExtra,[data-plan-preview="majorPlanExtra"]):has(:is(#bookPlanTopics,[data-plan-preview="bookPlanTopics"])){grid-template-columns:minmax(0,1fr)}
html.tyy-phone body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"]) .field.slim:has(>:is(#planMathKind,[data-plan-preview="planMathKind"]),>:is(#planMajorKind,[data-plan-preview="planMajorKind"])),html.tyy-phone body.study :is(#majorPlanExtra,[data-plan-preview="majorPlanExtra"])>.field{grid-column:1/-1}

/* Keep professional-course subject selection on its own row at every screen size. */
body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"])>.form-row:has(:is(#planMajorKind,[data-plan-preview="planMajorKind"])){display:grid;grid-template-columns:minmax(0,1fr);align-items:start}
body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"])>.form-row:has(:is(#planMajorKind,[data-plan-preview="planMajorKind"]))>.field{width:auto;min-width:0}

/* Stepped plan quantities keep the typed number and the slider on one line. */
body.study :is(#planForm,[data-plan-preview="planForm"]){container:plan-form / inline-size}
body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"])>.form-row:has(:is(#planWordAmount,[data-plan-preview="planWordAmount"])){display:grid;grid-template-columns:minmax(160px,200px) minmax(0,1fr);align-items:start;gap:12px;margin-bottom:24px}
body.study :is(#englishPlanExtra,[data-plan-preview="englishPlanExtra"]):has(:is(#planWordAmount,[data-plan-preview="planWordAmount"])){display:grid;grid-template-columns:76px minmax(90px,1fr);gap:14px;width:auto;min-width:0;margin:0;align-items:end}
html:not(.tyy-phone) body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"])>.form-row:has(:is(#planWordAmount,[data-plan-preview="planWordAmount"])){margin-top:10px}
html:not(.tyy-phone) body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"])>.form-row:has(:is(#planWordAmount,[data-plan-preview="planWordAmount"]))>.field{margin-top:0}
body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-word-number{display:grid;gap:4px;min-width:0;margin:0;font-size:12px;color:var(--muted)}
body.study :is(#planWordAmount,[data-plan-preview="planWordAmount"]),body.study :is(#planMinutes,[data-plan-preview="planMinutes"]){box-sizing:border-box;width:100%;min-width:0;padding-inline:8px;font-variant-numeric:tabular-nums}
body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-range-control{position:relative;min-width:0;align-self:end;height:44px;box-sizing:border-box;margin:0}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[type=range][data-plan-range]{display:block;appearance:none;-webkit-appearance:none;box-sizing:border-box;width:100%;max-width:none;min-width:0;height:44px;min-height:44px;margin:0;padding:0;border:0;border-radius:0;background:transparent!important;box-shadow:none!important;cursor:pointer;touch-action:pan-y}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[data-plan-range]::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(to right,#ae795a var(--plan-range-fill,0%),#e5e5db var(--plan-range-fill,0%))}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[data-plan-range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;border:2px solid var(--card,#fff);border-radius:50%;margin-top:-8px;background:#ae795a;box-shadow:0 1px 5px #46351d30}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[data-plan-range]::-moz-range-track{height:4px;border:0;border-radius:4px;background:#e5e5db}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[data-plan-range]::-moz-range-progress{height:4px;border-radius:4px;background:#ae795a}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[data-plan-range]::-moz-range-thumb{width:16px;height:16px;border:2px solid var(--card,#fff);border-radius:50%;background:#ae795a;box-shadow:0 1px 5px #46351d30}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[data-plan-range]:focus-visible{outline:2px solid #ae795a!important;outline-offset:3px;border-radius:8px}
body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-range-limits{position:absolute;left:0;right:0;bottom:-9px;display:flex;justify-content:space-between;pointer-events:none;font-size:10px;line-height:12px;color:var(--muted);font-variant-numeric:tabular-nums}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row{grid-template-columns:minmax(160px,200px) 76px minmax(90px,1fr) 40px;align-items:start;column-gap:12px;row-gap:18px;margin-bottom:16px}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row>.compose-btns{grid-column:-2;align-self:end}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr)) 112px}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden]))>.field:first-child{grid-column:1/-1}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden]))>.compose-btns{grid-column:1/-1}
body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"])[hidden]):has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-paper-duration .ux-choices{flex-wrap:nowrap;gap:6px}
.plan-time-input{position:relative;min-width:0}
body.study .plan-time-input>input{width:100%;min-width:0;box-sizing:border-box}
.plan-time-default{display:none;position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none;font-variant-numeric:tabular-nums}
.plan-time-input.is-time-default:not(:focus-within)>.plan-time-default{display:block}
.plan-time-input.is-time-default:not(:focus-within)>input{color:transparent}
.plan-time-input.is-time-default:not(:focus-within)>input::-webkit-datetime-edit{color:transparent}
@container plan-form (min-width:600px){
 body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden])){grid-template-columns:minmax(160px,200px) repeat(2,minmax(90px,1fr)) 112px 40px}
 body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"])[hidden]):has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden])){grid-template-columns:minmax(160px,200px) repeat(2,minmax(90px,1fr)) 40px}
 body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden]))>.field:first-child{grid-column:auto}
 body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden]))>.compose-btns{grid-column:-2}
}
html.tyy-phone body.study :is(#planTemplateFields,[data-plan-preview="planTemplateFields"])>.form-row:has(:is(#planWordAmount,[data-plan-preview="planWordAmount"])){grid-template-columns:minmax(0,1fr) 80px;gap:10px}
html.tyy-phone body.study :is(#englishPlanExtra,[data-plan-preview="englishPlanExtra"]):has(:is(#planWordAmount,[data-plan-preview="planWordAmount"])){display:contents}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-words-range{grid-column:1/-1;grid-row:2}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-word-number{grid-column:2;grid-row:1}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row{grid-template-columns:minmax(0,1fr) 72px}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-minutes-range{grid-column:1/-1;grid-row:2}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row>.compose-btns{grid-column:1/-1}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden])){grid-template-columns:repeat(2,minmax(0,1fr))}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planStartWrap,[data-plan-preview="planStartWrap"]):not([hidden]))>.field:first-child{grid-column:1/-1}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]):not([hidden])){grid-template-columns:repeat(12,minmax(0,1fr));column-gap:4px}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]):not([hidden]))>.field:first-child{grid-column:1/span 7;grid-row:1}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]):not([hidden]))>:is(#planStartWrap,[data-plan-preview="planStartWrap"]){grid-column:1/span 6}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"])>.plan-timing-row:has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]):not([hidden]))>:is(#planEndWrap,[data-plan-preview="planEndWrap"]){grid-column:7/span 6}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-paper-duration{grid-column:8/span 5;grid-row:1}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-paper-duration>.ux-choices{justify-content:flex-end}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-paper-duration>label{visibility:hidden}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]):has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]):not([hidden])) :is(#planRequirement,[data-plan-preview="planRequirement"])~.ux-choices{flex-wrap:nowrap;gap:4px}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]):has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]):not([hidden])) :is(#planRequirement,[data-plan-preview="planRequirement"])~.ux-choices .ux-choice{font-size:10px!important;padding-inline:5px;gap:4px!important}
@media(min-width:360px){html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]):has(:is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]):not([hidden])) :is(#planRequirement,[data-plan-preview="planRequirement"])~.ux-choices .ux-choice{font-size:12px!important;padding-inline:6px}}
@media(max-width:359px){html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) :is(#planRequirement,[data-plan-preview="planRequirement"])~.ux-choices{flex-wrap:nowrap}html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) :is(#planRequirement,[data-plan-preview="planRequirement"])~.ux-choices .ux-choice{font-size:11px!important;padding-inline:4px;gap:4px!important}}

/* Keep plan choices readable without reserving space for dropdown chevrons. */
body.study :is(:is(#planForm,[data-plan-preview="planForm"]),#planEditForm) select{appearance:none;-webkit-appearance:none;background-image:none;padding-inline:10px}
body.study :is(:is(#planForm,[data-plan-preview="planForm"]),#planEditForm) .plan-topic-toggle::after{content:none}

/* Separate the exam-length choices from the requirement controls. */
body.study :is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"]){position:relative}
body.study :is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"])::before{content:'';position:absolute;left:-6px;bottom:9px;width:1px;height:26px;background:#d7d5ca;pointer-events:none}
html.tyy-phone body.study :is(#planPaperDurationWrap,[data-plan-preview="planPaperDurationWrap"])::before{left:-2px}
html.tyy-phone body.study :is(#planForm,[data-plan-preview="planForm"]) :is(#planPaperDuration,[data-plan-preview="planPaperDuration"])~.ux-choices .ux-choice{padding-inline:6px;gap:4px!important}

/* Plan choices use the whole pill as their selected-state indicator. */
body.study :is(:is(#planForm,[data-plan-preview="planForm"]),#planEditForm) .ux-choice{position:relative;justify-content:center}
body.study :is(:is(#planForm,[data-plan-preview="planForm"]),#planEditForm) .ux-choice input[type=radio]{position:absolute!important;left:50%;top:50%;width:1px!important;min-width:1px!important;height:1px!important;min-height:1px!important;opacity:0;clip-path:inset(50%);overflow:hidden}
body.study :is(:is(#planForm,[data-plan-preview="planForm"]),#planEditForm) .ux-choice:has(input:focus-visible){outline:2px solid #b77b58;outline-offset:2px}

/* Both exam lengths share the full available choice area equally. */
body.study :is(#planForm,[data-plan-preview="planForm"]) :is(#planPaperDuration,[data-plan-preview="planPaperDuration"])~.ux-choices .ux-choice{flex:1 1 0;min-width:0;justify-content:center}

/* Row action controls must fit the row instead of creating a vertical scroller. */
.ux-row-drawer{padding-block:2px;overflow-y:hidden;align-items:center;gap:4px}
.ux-row-drawer .user-actions{height:100%;min-height:0;align-items:center;gap:4px;margin:0}
.plan-row-tools{box-sizing:border-box;padding-block:2px;overflow:hidden;flex-wrap:nowrap}
.ux-table .ux-row-drawer .ux-row-action,.plan-row-tools .mini-btn{box-sizing:border-box;min-height:0!important;height:min(28px,100%)!important;max-height:100%!important;padding:2px 6px!important;margin-block:0!important;line-height:1.1;font-size:12px}
body.study :is(.ux-row-drawer,.plan-row-tools) button.ux-icon-action{position:relative!important;flex:0 0 auto;aspect-ratio:1;width:auto!important;min-width:0!important;max-width:28px!important;min-height:0!important;height:min(28px,100%)!important;max-height:100%!important;padding:0!important}
:is(.ux-row-drawer,.plan-row-tools) .ux-action-glyph,:is(.ux-row-drawer,.plan-row-tools) [data-site-icon] svg{width:16px!important;height:16px!important;max-width:100%;max-height:100%}
:is(.ux-row-drawer,.plan-row-tools) [data-site-icon]{font-size:16px;line-height:1}

/* Values follow the thumb while adjusting, with room above the touch track. */
body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-range-control{height:64px}
body.study :is(#planForm,[data-plan-preview="planForm"]) input[type=range][data-plan-range]{position:absolute;left:0;bottom:0}
body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-range-value{position:absolute;top:0;left:50%;transform:translateX(-50%);display:block;visibility:hidden;box-sizing:border-box;max-width:100%;padding:4px 7px;border:1px solid #dfc8b5;border-radius:8px;background:#fff8ef;color:#80533d;box-shadow:0 2px 5px #6b482a0d;font-size:12px;line-height:16px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;pointer-events:none;font-variant-numeric:tabular-nums}
body.study :is(#planForm,[data-plan-preview="planForm"]) .plan-range-control.is-adjusting .plan-range-value{visibility:visible}

/* Whole rows reveal the original edit/delete drawer; gestures never commit a change. */
.plan-item[aria-busy=true]{cursor:progress}
.plan-row-front{opacity:1}
.plan-row-tools{opacity:0;visibility:hidden;transition:opacity .15s ease-in,visibility 0s linear .3s}
.plan-item.is-plan-tools-open .plan-row-tools{opacity:1;visibility:visible;transition:opacity .15s ease-out}
.plan-item[aria-busy=true] .plan-row-tools{opacity:0;visibility:hidden;transition:none}
.plan-item.is-plan-removing{box-sizing:border-box;pointer-events:none}
body.study .plan-item.done .plan-text{text-decoration:none}
.plan-title{background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 55%;background-size:0% 1px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.plan-item.done .plan-title{background-size:100% 1px}
.plan-text{transition:color .24s ease-out}
#planList{overflow-anchor:none}
#planList.is-plan-reordering .plan-list-card{overflow:visible}
#planList.is-plan-reordering .plan-item{z-index:1}
#planList.is-plan-reordering .plan-item[aria-busy=true]{z-index:2}
#planList.is-plan-reordering .plan-item[aria-busy=true] .plan-row-front{opacity:1}
.plan-movement-ghost{box-sizing:border-box;background:#f9f6f0!important;overflow:hidden}
@media(prefers-reduced-motion:reduce){.plan-text{transition:none}}

.timer-sync-note{box-sizing:border-box;max-width:100%;margin:12px auto 0;padding:8px 12px;border:1px solid #ded9cc;border-radius:10px;background:#f5f2e9;color:#8a775a;font-size:12px;line-height:1.6;text-align:center}
#studyOwnerOptions>button{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-width:0}
#studyOwnerOptions .owner-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.owner-presence{display:inline-flex;flex:none;align-items:flex-end;justify-content:center;gap:2px;width:8px;height:8px;pointer-events:none}
button[data-presence=online]>.owner-presence{border-radius:50%;background:#75975e;animation:owner-online-pulse 1.8s ease-in-out infinite}
button:is([data-presence=studying],[data-presence=starting])>.owner-presence{position:absolute;top:1px;left:50%;transform:translateX(-50%);width:14px;height:8px}
.owner-presence>i{width:2px;height:7px;border-radius:2px;background:#b37a53;transform-origin:center bottom;animation:owner-study-wave 1s ease-in-out infinite}
.owner-presence>i:nth-child(2){animation-delay:.15s}.owner-presence>i:nth-child(3){animation-delay:.3s}
@keyframes owner-online-pulse{0%,100%{opacity:.55;box-shadow:0 0 0 0 #75975e30}50%{opacity:1;box-shadow:0 0 0 3px #75975e12}}
@keyframes owner-study-wave{0%,100%{transform:scaleY(.4)}50%{transform:scaleY(1)}}
@media(prefers-reduced-motion:reduce){.owner-presence,.owner-presence>i{animation:none!important}}

/* Keep labels still and invisible until the desktop/tablet width has settled. */
@media(min-width:600px){
 html:not(.tyy-phone) .study-sidebar .tab-btn{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;box-sizing:border-box;height:46px;min-height:46px;line-height:20px;white-space:nowrap}
 html:not(.tyy-phone) .study-sidebar .tab-btn>[data-site-icon]{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;line-height:1}
 html:not(.tyy-phone) .study-sidebar .tab-btn>.nav-label{flex:none;line-height:20px}
 html:not(.tyy-phone) body.sidebar-collapsed .study-sidebar .tab-btn{justify-content:center}
 html:not(.tyy-phone) .study-sidebar .sidebar-collapse{width:44px;height:44px;padding:9px;top:18px;right:10px}
 html:not(.tyy-phone) .study-sidebar .sidebar-collapse svg{width:24px;height:24px}
 html:not(.tyy-phone) .study-sidebar :is(.nav-label,.side-brand){white-space:nowrap;opacity:1;visibility:visible;transition:opacity .12s ease-out .18s}
 html:not(.tyy-phone) .study-sidebar .tab-btn{position:relative;overflow:hidden}
 html:not(.tyy-phone) body.sidebar-collapsed .study-sidebar .nav-label{display:inline-block;position:absolute;opacity:0;visibility:hidden;transition:none}
 html:not(.tyy-phone) body.sidebar-collapsed .study-sidebar .side-brand{display:block;width:160px;opacity:0;visibility:hidden;transition:none}
 html:not(.tyy-phone) body.sidebar-collapsed .study-sidebar .sidebar-collapse{position:absolute;top:18px;right:14px;margin:0}
}
@media(prefers-reduced-motion:reduce){html:not(.tyy-phone) .study-sidebar :is(.nav-label,.side-brand){transition:none}}

/* Timer feedback never participates in the card's layout. */
.timer-floating-hint{position:fixed!important;inset:auto 16px max(90px,calc(env(safe-area-inset-bottom) + 24px))!important;z-index:10000;box-sizing:border-box;width:max-content;max-width:min(520px,calc(100vw - 32px));height:auto;margin:0 auto!important;padding:11px 15px;border:1px solid #e4d1bf;border-radius:12px;background:#fffbf4;color:#86543e;box-shadow:0 5px 24px #4b342226;font-size:13px;line-height:1.6;pointer-events:none;white-space:normal;overflow-wrap:anywhere}.timer-floating-hint[hidden]{display:none!important}#timerSetup .field{position:relative}#panel-timer .ux-field-error{position:absolute;z-index:12;margin:5px 0 0;padding:7px 10px;border-radius:9px;background:#fffbf4;box-shadow:0 3px 16px #5b33221c;max-width:min(400px,80vw)}

/* A fixed icon rail: only the vertical sidebar's right edge changes width. */
@media(min-width:1040px){
 html:not(.tyy-phone) body.study .study-sidebar{padding-inline:10px}
 html:not(.tyy-phone) body.study .study-sidebar :is(.tab-btn,.side-account){position:relative;justify-content:flex-start;height:46px;min-height:46px;padding:11px 14px}
 html:not(.tyy-phone) body.study .study-sidebar .tab-btn:hover{transform:none}
 html:not(.tyy-phone) body.study .study-sidebar :is(.tab-btn,.side-account)>:is([data-site-icon],.notice-icon-anchor){position:absolute;left:14px;top:50%;translate:0 -50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;flex:none}
 html:not(.tyy-phone) body.study .study-sidebar :is(.tab-btn,.side-account)>.nav-label{position:absolute;left:44px;top:50%;translate:0 -50%;max-width:calc(100% - 50px);overflow:hidden}
 html:not(.tyy-phone) body.study .study-sidebar .side-brand{padding-left:58px;padding-right:0}
 html:not(.tyy-phone) body.study .study-sidebar .sidebar-collapse{position:absolute;left:15px;right:auto;top:18px;margin:0}
}
