.tyy-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;flex:none;vertical-align:-.12em;line-height:1;pointer-events:none}.tyy-icon>img,.tyy-icon>svg{width:100%;height:100%;object-fit:contain;display:block}.tyy-icon>img{max-width:100%}#homeAvatar{color:inherit;text-decoration:none;cursor:pointer}#homeAvatar:focus-visible{outline:3px solid #7ca86d;outline-offset:3px}#qrLoginBtn .tyy-icon{font-size:22px}.icon-manager .section-heading{flex-wrap:wrap;gap:12px}.icon-filters{display:flex;gap:12px;flex-wrap:wrap;margin:16px 0}.icon-filters input{flex:1;min-width:160px}.icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;max-height:680px;overflow:auto;padding:3px}.icon-editor{border:1px solid var(--line);border-radius:16px;padding:16px;background:var(--bg)}.icon-editor-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}.icon-preview{display:grid;place-items:center;width:48px;height:48px;flex:none;background:white;border-radius:12px;font-size:30px}.icon-preview img{width:100%;height:100%;object-fit:contain}.icon-editor h3{margin:0;font-size:15px}.icon-editor small{color:var(--muted);font-size:12px}.icon-editor input[type=text]{width:100%;margin:8px 0}.icon-editor-actions{display:flex;gap:8px;flex-wrap:wrap}.icon-editor-actions button,.icon-file-label{font-size:12px;padding:7px 10px;min-height:36px}.icon-file-label{border:1px solid var(--line);border-radius:10px;cursor:pointer;display:inline-flex;align-items:center}.icon-file-label input{display:none}.icon-editor.busy{opacity:.65;pointer-events:none}.icon-manager-status{margin:12px 0;font-size:14px}.icon-preview.is-draft{outline:2px dashed #7ca86d;outline-offset:2px}

.icon-manager input[type=text],.icon-manager input[type=search],.icon-manager select{font:inherit;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 12px;min-width:0;outline:none}.icon-manager input:focus,.icon-manager select:focus{border-color:#7ca86d;box-shadow:0 0 0 3px #7ca86d20}.icon-filters select{min-width:150px}.icon-manager .icon-editor small{display:block;line-height:1.5}

.field:has(.tyy-mood-picker){min-width:180px}

/* One physical size and stroke for interface icons, independent of text size. */
.tyy-icon{width:20px!important;height:20px!important;min-width:20px;flex:0 0 20px;font-size:20px!important;color:inherit!important;vertical-align:-4px}
.tyy-line-icon,.tyy-icon>svg,body.study .ux-action-glyph{box-sizing:border-box;display:inline-block;width:20px!important;height:20px!important;min-width:20px;flex:0 0 20px;overflow:visible;vertical-align:-4px;color:inherit!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round;stroke-linejoin:round}
.tyy-line-icon path,.ux-action-glyph path{fill:none;stroke:inherit;stroke-width:inherit;stroke-linecap:inherit;stroke-linejoin:inherit}
[data-site-icon],.big-emoji,.hero-emoji,.entry-icon,.feed-icon{color:inherit!important}
.tyy-icon>img{width:20px!important;height:20px!important}
/* The selected mood swaps the same foreground/surface colors in both composers. */
.tyy-mood-picker{--mood-ink:var(--ink,#38342d);--mood-surface:var(--card,#fff);display:flex;flex-wrap:wrap;gap:6px;max-width:220px}
.tyy-mood-option{display:grid;place-items:center;box-sizing:border-box;width:34px;height:34px;padding:6px;border:1px solid var(--line,#e8e2d8);border-radius:9px;background:var(--mood-surface);color:var(--mood-ink);font-size:inherit;cursor:pointer}
.tyy-mood-option .tyy-icon{pointer-events:none}
.tyy-mood-option[aria-checked=true]{background:var(--mood-ink);color:var(--mood-surface);border-color:var(--mood-ink);box-shadow:none}
.tyy-mood-option:focus-visible{outline:2px solid var(--mood-ink,#38342d);outline-offset:2px}
[data-site-icon="study.nav.plan"] .tyy-line-icon,[data-site-icon="study.nav.joys"] .tyy-line-icon{stroke-width:1.5!important}
.tyy-line-icon.ux-action-glyph{display:block}.ux-table-icon:has(.tyy-icon){width:24px;min-width:24px;height:24px;min-height:24px;padding:2px!important}
.icon-preview .tyy-line-icon{display:block}.phone-page-nav a:has(>.tyy-line-icon){display:grid;place-items:center}
.tyy-line-icon path,.ux-action-glyph path{vector-effect:non-scaling-stroke}

/* Subject avatars retain their original initials, theme and configured images. */
.tyy-icon.tyy-subject-avatar{width:1em!important;height:1em!important;min-width:0;flex:none;font-size:inherit!important;vertical-align:-.12em}
.tyy-subject-avatar>img{width:100%!important;height:100%!important}
.tyy-line-icon.tyy-icon-spinner{animation:tyy-icon-spin .8s linear infinite}
@keyframes tyy-icon-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tyy-line-icon.tyy-icon-spinner{animation:none}}

/* Unread counts belong to the bell, in expanded/collapsed sidebars and the phone header. */
.notice-icon-anchor{position:relative;display:inline-flex!important;align-items:center;justify-content:center;flex:none;width:24px!important;height:24px!important;color:inherit!important}
.notice-icon-anchor>#noticeBadge{position:absolute;top:-5px;right:-6px;float:none;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;width:auto;min-width:16px;height:16px;padding:0 4px;border-radius:99px;background:#c94e46;color:#fff;font-size:10px;font-weight:600;line-height:1;white-space:nowrap;z-index:2;pointer-events:none}
.notice-icon-anchor>#noticeBadge[hidden]{display:none}
