/* ── UniNotes menu item: hidden by default, shown by JS for hyzen only ───── */ .menu__item--uninotes { display: none; } .hyzen-user .menu__item--uninotes { display: list-item; } /* ── TOC: gap between TOC and first content line ────────────────────────── */ .toc { margin-bottom: 1.73rem; } /* ── TOC: hide phantom empty bullet when post starts with ### (h3) ──────── */ /* Hugo wraps orphaned h3s in a li>ul, leaving an empty li with no direct anchor. This hides it without affecting any meaningful TOC entry. */ #TableOfContents > ul > li:first-child:not(:has(> a)) { list-style: none; margin: 0; padding: 0; } /* ── UniNotes ───────────────────────────────────────────────────────────── */ .uninotes-breadcrumbs { font-size: 0.85rem; margin-bottom: 1.4rem; color: var(--foreground-color3, #888); } .uninotes-breadcrumbs a { color: var(--accent-color); text-decoration: none; } .uninotes-breadcrumbs a:hover { text-decoration: underline; } .uninotes-list { list-style: none; padding: 0; margin: 1.5rem 0 0 0; } .uninotes-list__item { margin-bottom: 0.6rem; border-left: 3px solid var(--accent-color); padding-left: 0.75rem; } .uninotes-list__link { color: var(--foreground-color); text-decoration: none; font-size: 1rem; } .uninotes-list__link:hover { color: var(--accent-color); text-decoration: underline; } .uninotes-list--subjects .uninotes-list__item { border-left-color: var(--accent-color); } .uninotes-list--units .uninotes-list__item { border-left-color: var(--foreground-color3, #888); } .uninotes-meta { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 0.75rem; } .uninotes-meta__pill { display: inline-block; font-size: 0.72rem; padding: 0.15rem 0.55rem; border-radius: 999px; border: 1px solid var(--accent-color); color: var(--accent-color); font-weight: 500; letter-spacing: 0.02em; } /* ── Menu links ─────────────────────────────────────────────────────────── */ /* Menu links */ .menu__link { color: var(--menu-color, var(--accent-color)); } [data-theme='light'] .menu__link { color: var(--menu-color); } [data-theme='dark'] .menu__link { color: var(--accent-color); } .term-list { display: block; margin-top: 1rem; } .term-list__item { margin-bottom: 0.5rem; } .term-list__link { color: inherit; text-decoration: none; } .term-list__link:hover { text-decoration: underline; } .posts-list { margin-top: 2rem; } /* Brand actions */ .brand__actions { display: flex; align-items: center; gap: 0.4rem; margin-left: auto; flex-wrap: nowrap; } .brand__auth { display: flex; align-items: center; gap: 0.3rem; position: relative; } /* Auth links base */ .auth-link { display: inline-flex; align-items: center; padding: 0.2rem 0.4rem; border-radius: 3px; font-size: 0.7rem; font-weight: 340; text-decoration: none !important; line-height: 1.4; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; } /* Dropdown toggle — visible on ALL screens */ .brand__auth-check { display: none; } .brand__auth-toggle, .brand__auth-user-btn { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 0.355rem 0.5rem; border-radius: 3px; border: 1px solid #f26522; background-color: #f26522; color: #fff; cursor: pointer; font-size: 0.7rem; font-weight: 340; font-family: inherit; line-height: 1.4; user-select: none; outline: none; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; } .brand__auth-toggle:hover, .brand__auth-user-btn:hover { background-color: transparent; border-color: #f26522; color: #f26522; } @media (prefers-color-scheme: dark) { .brand__auth-toggle, .brand__auth-user-btn { background-color: transparent; border-color: currentColor; color: var(--foreground-color); } .brand__auth-toggle:hover, .brand__auth:focus-within .brand__auth-toggle, .brand__auth-user-btn:hover, .brand__auth-user.is-open .brand__auth-user-btn { background-color: var(--foreground-color) !important; border-color: var(--foreground-color) !important; color: var(--background-color) !important; } } /* Dropdown panel — hidden by default, shown on focus-within */ .brand__auth-links { display: none; position: absolute; top: calc(100% + 0.4rem); right: 0; flex-direction: column; gap: 0; background-color: var(--background-color); border: 1px solid var(--background-color1); border-radius: 6px; overflow: hidden; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); z-index: 100; min-width: 110px; } .brand__auth:focus-within .brand__auth-links { display: flex; } .brand__auth-links .auth-link { border: none; border-radius: 0; padding: 0.55rem 1rem; font-size: 0.78rem; width: 100%; justify-content: center; background-color: transparent; color: var(--foreground-color) !important; } .brand__auth-links .auth-link:not(:last-child) { border-bottom: 1px solid var(--background-color1); } .brand__auth-links .auth-link:hover { background-color: var(--background-color1); color: var(--foreground-color) !important; } /* Mobile */ @media (max-width: 600px) { /* Profile button: sit above the subscribe button, right-aligned to it */ .brand__actions { position: relative; } .brand__auth { position: absolute; bottom: 100%; right: 0; margin-bottom: -0.2rem; } .brand__auth-toggle, .brand__auth-user-btn { width: 1.75rem; height: 1.75rem; padding: 0; } .brand__auth--loggedin .brand__auth-user-btn { width: auto; padding: 0 0.4rem; height: 1.75rem !important; } } /* ── Subscribe dropdown ── */ .rss-subscribe { position: relative; display: inline-flex; align-items: center; } .rss-subscribe__btn { display: inline-flex; align-items: center; gap: 0.2rem; padding: 0.2rem 0.4rem; border-radius: 3px; border: 1px solid #ff3d3d; background-color: transparent; color: #ff3d3d !important; font-size: 0.7rem; font-weight: 340; font-family: inherit; line-height: 1.4; cursor: pointer; transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; } .rss-subscribe__btn svg { width: 10px; height: 10px; flex-shrink: 0; } .rss-subscribe__btn:hover, .rss-subscribe__btn:focus { border-color: #89808092; color: #000000bc !important; } [data-theme='dark'] .rss-subscribe__btn { background-color: var(--foreground-color); border-color: currentColor; color: var(--background-color) !important; } [data-theme='dark'] .rss-subscribe__btn:hover, [data-theme='dark'] .rss-subscribe__btn:focus { background-color: transparent; border-color: var(--foreground-color); color: var(--foreground-color) !important; } @media (prefers-color-scheme: dark) { .rss-subscribe__btn { background-color: var(--foreground-color); border-color: currentColor; color: var(--background-color) !important; } .rss-subscribe__btn:hover, .rss-subscribe__btn:focus { background-color: transparent; border-color: var(--foreground-color); color: var(--foreground-color) !important; } } [data-theme='light'] .rss-subscribe__btn { background-color: transparent; border-color: #ff3d3d; color: #ff3d3d !important; } [data-theme='light'] .rss-subscribe__btn:hover, [data-theme='light'] .rss-subscribe__btn:focus { border-color: #89808092; color: #000000bc !important; } .rss-subscribe__dropdown { display: none; position: absolute; top: calc(100% + 0.4rem); right: 0; flex-direction: column; background-color: var(--background-color); border: 1px solid var(--background-color1); border-radius: 6px; overflow: hidden; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); z-index: 100; min-width: 120px; } .rss-subscribe.is-open .rss-subscribe__dropdown { display: flex; } /* Light mode: red border/text matching button */ [data-theme='light'] .rss-subscribe__dropdown { border-color: #ff3d3d; } .rss-subscribe__item { border: none; border-radius: 0; padding: 0.55rem 1rem; font-size: 0.78rem; font-family: inherit; background-color: transparent; color: var(--foreground-color); cursor: pointer; text-align: center; white-space: nowrap; } [data-theme='light'] .rss-subscribe__item { color: #ff3d3d; } .rss-subscribe__item:not(:last-child) { border-bottom: 1px solid var(--background-color1); } [data-theme='light'] .rss-subscribe__item:not(:last-child) { border-bottom-color: #ff3d3d; } .rss-subscribe__item:hover { background-color: var(--background-color1); } [data-theme='light'] .rss-subscribe__item:hover { background-color: #fff0f0; } /* Mobile subscribe btn: same size as profile button */ @media (max-width: 600px) { .rss-subscribe__btn { display: inline-flex; align-items: center; justify-content: center; width: 1.75rem; height: 1.75rem; padding: 0; box-sizing: border-box; } .rss-subscribe__btn span { display: none; } .rss-subscribe__btn svg { width: 14px; height: 14px; } .rss-subscribe__dropdown { right: 0; } } /* ── Theme switcher ── */ /* Force light theme */ [data-theme='light'] { --background-color: #fff; --background-color1: #777; --foreground-color: #000000e1; --foreground-color3: #665c54; --accent-color: #1133e9c5; --menu-color: #000000b4; } /* Force dark theme */ [data-theme='dark'] { --background-color: #171414; --background-color1: #fff; --foreground-color: #e3e1db; --foreground-color3: #ccc3b3; --accent-color: #fff; } .theme-toggle { display: inline-flex; align-items: center; justify-content: center; padding: 0.2rem; border: none; background: none; color: var(--foreground-color); cursor: pointer; line-height: 1; transition: opacity 0.2s ease; margin-right: -0.17rem; } .theme-toggle:hover { opacity: 0.6; } .theme-toggle__text--light, .theme-toggle__text--dark { display: none !important; } /* Default (system light): moon icon + "Dark" label */ .theme-toggle__sun { display: none; } .theme-toggle__moon { display: block; } /* Desktop icon size */ .theme-toggle svg { width: 16.5px; height: 16.5px; } .theme-toggle__text--light { display: none; } .theme-toggle__text--dark { display: inline; } /* System dark (no data-theme): sun icon + "Light" label */ @media (prefers-color-scheme: dark) { .theme-toggle__sun { display: block; } .theme-toggle__moon { display: none; } .theme-toggle__text--light { display: inline; } .theme-toggle__text--dark { display: none; } } /* Manual dark: sun icon + "Light" label */ [data-theme='dark'] .theme-toggle__sun { display: block; } [data-theme='dark'] .theme-toggle__moon { display: none; } [data-theme='dark'] .theme-toggle__text--light { display: inline; } [data-theme='dark'] .theme-toggle__text--dark { display: none; } /* Manual light: moon icon + "Dark" label */ [data-theme='light'] .theme-toggle__sun { display: none; } [data-theme='light'] .theme-toggle__moon { display: block; } [data-theme='light'] .theme-toggle__text--light { display: none; } [data-theme='light'] .theme-toggle__text--dark { display: inline; } /* Match size to other buttons on mobile */ @media (max-width: 600px) { .theme-toggle { width: 2.3rem; height: 2.3rem; box-sizing: border-box; padding: 0; margin-right: -0.5rem; } .theme-toggle svg { width: 16.5px; height: 16.5px; } .theme-toggle__text--light, .theme-toggle__text--dark { display: none !important; } } /* ── UniNotes Contents Panel ─────────────────────────────────────────────── */ .uninotes-contents-heading { margin-bottom: -15.5px; } .uninotes-contents { margin: 1.25rem 0 2rem 0; border-left: 3px solid var(--accent-color); padding-left: 1rem; display: flex; flex-direction: column; gap: 1.5rem; } .uninotes-contents__semester { display: flex; flex-direction: column; } .uninotes-contents__sem-link { text-transform: uppercase; color: var(--foreground-color); text-decoration: none; font-size: 2rem; font-weight: 620; } .uninotes-contents__sem-link:hover { color: var(--accent-color); text-decoration: underline; } .uninotes-contents__subject { display: flex; flex-direction: column; gap: 0.1rem; padding-top: 0.3rem; padding-left: 1.21rem; } .uninotes-contents__subject-link { font-size: 0.95rem; font-weight: 600; color: var(--foreground-color); text-decoration: none; letter-spacing: 0.04rem; } .uninotes-contents__subject-link:hover { color: var(--accent-color); text-decoration: underline; } .uninotes-contents__units { list-style: none; padding: 0.6px; margin: 0.15rem 0 0.3rem 1rem; display: flex; flex-direction: column; gap: 0.1rem; } .uninotes-contents__unit { display: flex; align-items: center; gap: 0.7rem; flex-wrap: wrap; } .uninotes-contents__unit-link { font-size: 0.94rem; color: var(--foreground-color); text-decoration: none; } .uninotes-contents__unit-link:hover { color: var(--accent-color); text-decoration: underline; } .uninotes-contents__unit-cats { display: flex; gap: 0.04rem; } .uninotes-contents__cat { font-size: 0.65rem; font-weight: 600; letter-spacing: 0.04em; padding: 0.1rem 0.45rem; border-radius: 999px; border: 1px solid currentColor; text-decoration: none; text-transform: uppercase; } .uninotes-contents__cat--self { color: var(--accent-color); } .uninotes-contents__cat--self:hover { background: var(--accent-color); color: var(--background-color, #fff); } .uninotes-contents__cat--live { color: var(--accent-color); } .uninotes-contents__cat--live:hover { background: var(--accent-color); color: var(--background-color, #fff); } .uninotes-contents__cat--na { color: var(--foreground-color3, #888); opacity: 0.45; cursor: not-allowed; } /* ── Unit Choice Page (Self / Live) ─────────────────────────────────────── */ .unit-choice__subtitle { color: var(--foreground-color3, #888); margin-bottom: 1.5rem; font-size: 0.95rem; } .unit-choice__options { display: flex; gap: 1.2rem; flex-wrap: wrap; margin-top: 1rem; margin-bottom: 2rem; } @media (max-width: 600px) { .unit-choice__options { flex-direction: column; align-items: center; } .unit-choice__card { width: 100%; max-width: 260px; flex: none; } } .unit-choice__card { flex: 1; min-width: 180px; max-width: 260px; border: 2px solid var(--accent-color); border-radius: 12px; padding: 1.75rem 1.5rem; text-decoration: none; color: var(--foreground-color); display: flex; flex-direction: column; align-items: center; gap: 0.6rem; transition: background 0.18s ease, color 0.18s ease, transform 0.15s ease; text-align: center; cursor: pointer; } .unit-choice__card:hover { background: var(--accent-color); color: var(--background-color, #fff); transform: translateY(-2px); text-decoration: none; } /* .unit-choice__card--live intentionally matches .unit-choice__card — no overrides */ .unit-choice__icon { display: flex; align-items: center; justify-content: center; margin-bottom: 0.3rem; } .unit-choice__label { font-size: 1.25rem; font-weight: 700; letter-spacing: 0.01em; } .unit-choice__desc { font-size: 0.8rem; opacity: 0.72; line-height: 1.45; } /* notecategory pill colour */ .uninotes-meta__pill--self { border-color: var(--accent-color); color: var(--accent-color); } .uninotes-meta__pill--live { border-color: var(--accent-color); color: var(--accent-color); } .unit-choice__card--unavailable { border-color: var(--foreground-color3, #888); color: var(--foreground-color3, #888); cursor: not-allowed; opacity: 0.45; } .unit-choice__card--unavailable:hover { background: transparent; color: var(--foreground-color3, #888); transform: none; } /* ── Logged-in user button in header ───────────────────────────────────────── */ /* Hide the old checkbox toggle + login/signup links when logged in */ .brand__auth--loggedin .brand__auth-check, .brand__auth--loggedin .brand__auth-toggle, .brand__auth--loggedin .brand__auth-links { display: none !important; } .brand__auth-user { position: relative; display: inline-flex; align-items: center; } /* Extra properties needed only because the user-btn contains text */ .brand__auth-user-btn { white-space: nowrap; max-width: 140px; overflow: hidden; text-overflow: ellipsis; } .brand__auth-user-dropdown { display: none; position: absolute; top: calc(100% + 0.4rem); right: 0; background: var(--background-color); border: 1px solid var(--background-color1); border-radius: 6px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); min-width: 110px; z-index: 100; overflow: hidden; } .brand__auth-user.is-open .brand__auth-user-dropdown { display: block; } .brand__auth-user-logout { display: block; width: 100%; padding: 0.55rem 1rem; background: none; border: none; cursor: pointer; text-align: center; font-size: 0.78rem; font-family: inherit; color: var(--foreground-color); transition: background 0.12s; } .brand__auth-user-logout:hover { background: var(--background-color1); color: var(--foreground-color); } /* Reset native button styles + force subscribe-button dimensions on logged-in user button */ .brand__auth-user-btn { -webkit-appearance: none !important; appearance: none !important; margin: 0 !important; min-height: 0 !important; height: auto !important; vertical-align: middle; padding: 0.2rem 0.65rem !important; border-radius: 3px !important; font-size: 0.7rem !important; line-height: 1.4 !important; display: inline-flex !important; align-items: center !important; gap: 0.25rem !important; } .brand__auth-user-btn svg { flex: 0 0 auto; } /* ── Comments section ─────────────────────────────────────────────────────── */ .comments { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid var(--background-color1, #ddd); } .comments__title { font-size: 1.15rem; font-weight: 700; margin-bottom: 1.2rem; } .comments__login-msg { font-size: 0.9rem; margin-bottom: 1.2rem; color: var(--foreground-color3, #888); } .comments__empty { font-size: 0.88rem; color: var(--foreground-color3, #888); } .comments__error { font-size: 0.88rem; color: var(--error-color, #c0392b); } /* ── Comment form ── */ .comment-form { margin-bottom: 1.5rem; } .comment-form__input { width: 100%; box-sizing: border-box; padding: 0.6rem 0.8rem; border: 1px solid var(--background-color1, #ccc); border-radius: 4px; background: var(--background-color); color: var(--foreground-color); font: inherit; font-size: 0.9rem; resize: none; min-height: 100px; outline: none; transition: border-color 0.2s; } .comment-form__input:focus { border-color: var(--accent-color); } .comment-form__footer { display: flex; justify-content: space-between; align-items: center; margin-top: 0.4rem; } .comment-form__counter { font-size: 0.75rem; color: var(--foreground-color3, #999); } .comment-form__submit { padding: 0.35rem 0.9rem; background: var(--accent-color); color: #fff; border: none; border-radius: 4px; font: inherit; font-size: 0.85rem; cursor: pointer; transition: opacity 0.15s, background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease; } .comment-form__submit:hover { opacity: 0.85; } .comment-form__submit:disabled { opacity: 0.5; cursor: not-allowed; } [data-theme='dark'] .comment-form__submit { background-color: transparent; border: 1px solid var(--foreground-color); color: var(--foreground-color); } [data-theme='dark'] .comment-form__submit:hover:not(:disabled) { background-color: var(--foreground-color); border-color: var(--foreground-color); color: var(--background-color); } @media (prefers-color-scheme: dark) { .comment-form__submit { background-color: transparent; border: 1px solid var(--foreground-color); color: var(--foreground-color); } .comment-form__submit:hover:not(:disabled) { background-color: var(--foreground-color); border-color: var(--foreground-color); color: var(--background-color); } } .comment-form__error { font-size: 0.8rem; color: var(--error-color, #c0392b); margin-top: 0.3rem; min-height: 1rem; } /* ── Individual comments ── */ .comment { margin-bottom: 1.2rem; padding: 0.75rem 0.9rem; border: 1px solid var(--background-color1, #e0e0e0); border-radius: 6px; background: var(--background-color); } .comment--reply { margin-top: 0.7rem; margin-left: 1.5rem; border-left: 3px solid var(--accent-color); border-radius: 0 6px 6px 0; } .comment__meta { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.4rem; flex-wrap: wrap; } .comment__author { font-weight: 600; font-size: 0.88rem; } .comment__time { font-size: 0.78rem; color: var(--foreground-color3, #999); } .comment__actions { margin-left: auto; display: flex; gap: 0.5rem; } .comment__action { background: none; border: none; padding: 0; font: inherit; font-size: 0.78rem; cursor: pointer; color: var(--foreground-color3, #888); text-decoration: underline; } .comment__action:hover { color: var(--accent-color); } .comment__action--delete:hover { color: var(--error-color, #c0392b); } .comment__body { font-size: 0.9rem; line-height: 1.55; margin: 0; white-space: pre-wrap; word-break: break-word; } .comment__deleted { font-size: 0.85rem; color: var(--foreground-color3, #aaa); font-style: italic; } .comment__reply-form { margin-top: 0.7rem; } .comment__replies { margin-top: 0.5rem; } /* ── Auth pages (login / signup) ───────────────────────────────────────── */ .auth-page { max-width: 420px; margin: 0 auto; padding: 1rem 0 3rem; } .auth-page__title { margin-bottom: 1.5rem; } .auth-card { border: 1px solid var(--background-color1, #ccc); border-radius: 10px; padding: 2rem 1.75rem; background: var(--background-color); } /* Message banner — always reserves space so the form never shifts */ .auth-message { border-radius: 6px; padding: 0.65rem 0.9rem; font-size: 0.88rem; margin-bottom: 0.5rem; line-height: 1.4; min-height: 1.5rem; box-sizing: border-box; border: 1px solid transparent; opacity: 0; pointer-events: none; transition: opacity 0.15s ease; } .auth-message.is-visible { opacity: 1; pointer-events: auto; } .auth-message--error { background: rgba(255, 61, 61, 0.1); border: 1px solid rgba(255, 61, 61, 0.4); color: #ff3d3d; } [data-theme='dark'] .auth-message--error { color: #ff3d3d; background: rgba(255, 61, 61, 0.15); border-color: rgba(255, 61, 61, 0.5); } .auth-message--success { background: rgba(39, 174, 96, 0.12); border: 1px solid rgba(39, 174, 96, 0.4); color: #1e8449; } [data-theme='dark'] .auth-message--success { color: #58d68d; background: rgba(39, 174, 96, 0.18); border-color: rgba(39, 174, 96, 0.5); } /* Form fields */ .auth-form { display: flex; flex-direction: column; gap: 1.1rem; } .auth-form__group { display: flex; flex-direction: column; gap: 0.3rem; } .auth-form__label { font-size: 0.85rem; font-weight: 600; color: var(--foreground-color); } .auth-form__input-wrap { position: relative; display: flex; flex-direction: column; gap: 1.1rem; } .auth-form__input-wrap .auth-form__input { padding-right: 2.5rem; } .auth-form__input { width: 100%; box-sizing: border-box; padding: 0.5rem 0.75rem; border: 1px solid var(--background-color1, #ccc); border-radius: 5px; font-size: 0.9rem; background: var(--background-color); color: var(--foreground-color); transition: border-color 0.18s ease, box-shadow 0.18s ease; outline: none; font-family: inherit; } .auth-form__input:focus { border-color: var(--accent-color); box-shadow: 0 0 0 2px rgba(var(--accent-color-rgb, 17, 51, 233), 0.15); } .auth-form__input::placeholder { color: var(--foreground-color3, #888); opacity: 0.7; } .auth-form__eye { position: absolute; right: 0.6rem; background: none; border: none; cursor: pointer; color: var(--foreground-color3, #888); display: inline-flex; align-items: center; padding: 0.2rem; line-height: 1; transition: color 0.15s ease; } .auth-form__eye:hover { color: var(--foreground-color); } .auth-form__hint { font-size: 0.75rem; color: var(--foreground-color3, #888); } /* Submit button */ .auth-form__submit { margin-top: 0.5rem; width: 100%; padding: 0.6rem 1rem; border: none; border-radius: 5px; background: var(--accent-color); color: var(--background-color, #fff); font-size: 0.92rem; font-weight: 600; font-family: inherit; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; transition: opacity 0.18s ease; } .auth-form__submit:hover:not(:disabled) { opacity: 0.85; } .auth-form__submit:disabled { cursor: not-allowed; opacity: 0.6; } .auth-form__submit-loader { display: inline-flex; align-items: center; } /* Spinner animation */ @keyframes auth-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } .spin { animation: auth-spin 0.8s linear infinite; } /* Footer link */ .auth-card__footer { margin-top: 1.4rem; text-align: center; font-size: 0.85rem; color: var(--foreground-color3, #888); } .auth-card__link { color: var(--accent-color); text-decoration: none; font-weight: 600; } .auth-card__link:hover { text-decoration: underline; } /* Light theme override for submit button text */ [data-theme='light'] .auth-form__submit { color: #fff; } /* ── OTP panel ───────────────────────────────────────────────────────────── */ .otp-panel__hint { font-size: 0.87rem; line-height: 1.5; color: var(--foreground-color); margin: 0; } .otp-panel__input { letter-spacing: 0.25em; font-size: 1.15rem; text-align: center; } .otp-panel__resend { font-size: 0.82rem; color: var(--foreground-color3, #888); text-align: center; margin: 0; } .otp-panel__resend-btn { background: none; border: none; padding: 0; font: inherit; font-size: 0.82rem; color: var(--accent-color); cursor: pointer; font-weight: 600; text-decoration: underline; } .otp-panel__resend-btn:hover { opacity: 0.8; }