:root {
  color-scheme: light;
  --ink: #11150f;
  --muted: #60665d;
  --paper: #f4f5ef;
  --card: #ffffff;
  --line: #d9ddd3;
  --lime: #b9ff55;
  --lime-dark: #527717;
  --orange: #ff6b35;
  --radius: 22px;
  font-family: Inter, "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); }
button, input, select, textarea { font: inherit; }
a { color: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.topbar {
  height: 66px; display: flex; align-items: center; justify-content: space-between;
  padding: 0 max(20px, calc((100vw - 1120px) / 2)); background: var(--ink); color: white;
  position: sticky; top: 0; z-index: 10;
}
.brand { text-decoration: none; font-weight: 900; letter-spacing: -.03em; }
.brand span { display: inline-block; margin-left: 7px; padding: 3px 7px; border-radius: 99px; color: var(--ink); background: var(--lime); font-size: 11px; letter-spacing: .04em; vertical-align: 2px; }
.top-actions { display: flex; align-items: center; gap: 5px; }
.top-link { padding: 8px 11px; border-radius: 99px; color: #bfc5ba; text-decoration: none; font-size: 13px; font-weight: 750; }
.top-link:hover { color: white; background: #2a3027; }
.top-link.is-active { color: white; background: #30372c; box-shadow: inset 0 -2px 0 var(--lime); }
.install-button { border: 1px solid #596052; border-radius: 99px; padding: 8px 13px; color: white; background: transparent; cursor: pointer; }

main { max-width: 1120px; margin: auto; padding: 0 20px 70px; }
.hero { margin: 24px 0 16px; padding: clamp(28px, 6vw, 72px); color: white; background: var(--ink); border-radius: 32px; overflow: hidden; position: relative; }
.hero::after { content: ""; position: absolute; z-index: 0; width: 340px; height: 340px; right: -150px; top: -145px; border: 42px solid var(--lime); border-radius: 50%; opacity: .3; }
.hero > * { position: relative; z-index: 1; }
.eyebrow { margin: 0 0 12px; color: var(--lime-dark); font: 800 12px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .15em; }
.hero .eyebrow { color: var(--lime); }
.hero h1 { max-width: 700px; margin: 0; font-size: clamp(43px, 8vw, 86px); line-height: .98; letter-spacing: -.065em; position: relative; z-index: 1; }
.hero h1 em { color: var(--lime); font-style: normal; }
.hero > p:not(.eyebrow) { max-width: 650px; margin: 25px 0 0; color: #cbd1c5; line-height: 1.8; position: relative; z-index: 1; }
.hero-share-row { display: flex; align-items: center; gap: 10px; margin-top: 18px; position: relative; z-index: 1; }
.hero-share-row button { padding: 9px 13px; border: 1px solid #596052; border-radius: 99px; color: white; background: transparent; font-size: 12px; font-weight: 750; cursor: pointer; }
.hero-share-row button:hover { border-color: var(--lime); color: var(--lime); }
.hero-share-row span { color: #aeb5a8; font-size: 11px; }
.stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; max-width: 630px; margin-top: 38px; background: #3c4238; border: 1px solid #3c4238; position: relative; z-index: 1; }
.stats div { padding: 18px; background: #1c2119; }
.stats strong, .stats span { display: block; }
.stats strong { color: var(--lime); font-size: 30px; line-height: 1; }
.stats span { margin-top: 8px; color: #aeb5a8; font-size: 12px; }

.controls { margin: 16px 0 46px; padding: 18px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); }
.search input { width: 100%; padding: 15px 16px; color: var(--ink); background: #f8f9f5; border: 1px solid var(--line); border-radius: 13px; outline: none; }
.search input:focus { border-color: var(--lime-dark); box-shadow: 0 0 0 3px rgba(185, 255, 85, .25); }
.chips { display: flex; gap: 8px; margin: 14px 0; overflow-x: auto; scrollbar-width: none; }
.chip { flex: 0 0 auto; padding: 8px 13px; border: 1px solid var(--line); border-radius: 99px; color: #454b42; background: white; cursor: pointer; }
.chip[aria-pressed="true"] { border-color: var(--ink); color: white; background: var(--ink); }
.control-row { display: flex; flex-wrap: wrap; gap: 12px 22px; color: var(--muted); font-size: 14px; }
.control-row label { display: flex; align-items: center; gap: 7px; }
.control-row input { accent-color: var(--ink); width: 17px; height: 17px; }

.section-head { display: flex; justify-content: space-between; align-items: end; margin-bottom: 18px; }
.section-head h2, .sources h2 { margin: 0; font-size: clamp(28px, 4vw, 44px); letter-spacing: -.04em; }
.result-count { color: var(--muted); font-size: 14px; }
.event-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.event-card { padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 9px 30px rgba(28, 35, 23, .045); }
.card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.badges { display: flex; flex-wrap: wrap; gap: 6px; }
.badge { padding: 5px 8px; border-radius: 6px; color: #555b51; background: #edf0e9; font-size: 11px; font-weight: 750; }
.badge-category { color: var(--ink); background: var(--lime); }
.badge-verified { color: #0f5d41; background: #dff8e9; }
.badge-recognized { color: #163d71; background: #dfecff; }
.badge-unmatched { color: #6c5a30; background: #f5eedc; }
.favorite-button { flex: 0 0 auto; border: 0; padding: 0; color: #868c82; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; }
.favorite-button.is-active { color: var(--orange); }
.event-card h3 { margin: 19px 0 10px; font-size: 24px; line-height: 1.3; letter-spacing: -.025em; }
.summary { min-height: 52px; margin: 0; color: var(--muted); line-height: 1.65; }
.meta { display: flex; flex-wrap: wrap; gap: 6px; margin: 17px 0; }
.meta-item { padding: 4px 8px; color: #656b62; background: #f3f4f0; border-radius: 5px; font-size: 11px; }
.deadline-callout { display: flex; flex-direction: column; gap: 5px; margin: 20px 0; padding: 15px; background: var(--ink); border-radius: 13px; color: #bdc4b8; font-size: 12px; }
.deadline-callout strong { color: var(--lime); font-size: 18px; }
.deadline-callout.is-past { color: #b7bdb2; background: #565d52; }
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { display: grid; grid-template-columns: 105px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px dashed var(--line); font-size: 13px; }
.timeline time { color: var(--lime-dark); font-weight: 750; }
.timeline li.is-past { opacity: .48; text-decoration: line-through; }
.warning { margin-top: 16px; padding: 12px; color: #854218; background: #fff1e8; border-left: 3px solid var(--orange); border-radius: 5px; font-size: 12px; line-height: 1.65; }
.card-actions { display: flex; gap: 9px; margin-top: 19px; }
.card-actions a, .card-actions button { flex: 1; display: inline-flex; justify-content: center; align-items: center; min-height: 42px; padding: 9px 11px; border-radius: 10px; font-size: 13px; font-weight: 750; cursor: pointer; }
.source-link { color: white; background: var(--ink); text-decoration: none; }
.calendar-button { color: var(--ink); background: var(--lime); border: 0; }
.verified-at { display: block; margin-top: 13px; color: #858b81; font-size: 10px; }
.empty-state { padding: 50px 20px; text-align: center; background: white; border: 1px dashed #c4c9bf; border-radius: var(--radius); }
.empty-state h3 { margin: 0 0 8px; }
.empty-state p { margin: 0; color: var(--muted); }

.paper-hero::after { border-radius: 18%; transform: rotate(17deg); }
.paper-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.paper-calendar { margin: 16px 0; padding: 20px; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.paper-calendar-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; }
.paper-calendar-head h2 { margin: 0; font-size: 25px; letter-spacing: -.035em; }
.paper-calendar-head span { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
.paper-calendar-head > div:last-child { display: flex; gap: 6px; }
.paper-calendar-head button { min-width: 36px; height: 34px; padding: 0 10px; color: var(--ink); background: #f3f4f1; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.paper-calendar-head button:disabled { opacity: .3; cursor: default; }
.paper-date-all[aria-pressed="true"] { color: white; background: var(--ink); }
.paper-weekdays, .paper-date-index { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 7px; }
.paper-weekdays { margin-top: 16px; padding-inline: 3px; color: #90958d; font-size: 9px; text-align: center; }
.paper-date-index { margin-top: 7px; }
.paper-day { display: flex; min-height: 66px; flex-direction: column; align-items: flex-start; justify-content: space-between; padding: 9px 10px; color: var(--ink); background: #f5f5f3; border: 1px solid transparent; border-radius: 11px; cursor: pointer; }
.paper-day b { font-size: 13px; }
.paper-day span { color: var(--muted); font-size: 9px; }
.paper-day[aria-pressed="true"] { color: white; background: var(--ink); border-color: var(--ink); }
.paper-day[aria-pressed="true"] span { color: #c4cbc0; }
.paper-day[data-count="0"] { opacity: .55; }
.paper-day.is-outside-month { color: #a8ada5; background: #fafaf8; }
.paper-list { grid-template-columns: 1fr; gap: 9px; }
.paper-card { display: grid; grid-template-columns: minmax(0, 1fr) 220px; grid-template-areas: "top actions" "title actions" "authors actions" "date actions" "abstract abstract" "status status"; gap: 4px 20px; padding: 17px 19px; border-radius: 15px; box-shadow: none; }
.paper-card .card-top { grid-area: top; }
.paper-card h3 { grid-area: title; margin: 5px 0 3px; font-size: 17px; line-height: 1.35; }
.paper-card .paper-authors { grid-area: authors; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.paper-card .paper-date { grid-area: date; margin: 3px 0; font-size: 10px; }
.paper-card details { grid-area: abstract; margin-top: 8px; }
.paper-card .card-actions { grid-area: actions; align-self: center; margin: 0; }
.paper-card .copy-status { grid-area: status; }
.paper-card .badge { padding: 4px 7px; font-size: 9px; }
.paper-card .favorite-button { font-size: 22px; }
.paper-card { padding: 24px; background: var(--card); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 9px 30px rgba(28, 35, 23, .045); }
.paper-card h3 { margin: 19px 0 10px; font-size: 21px; line-height: 1.38; letter-spacing: -.018em; }
.paper-authors { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.paper-date { margin: 9px 0 17px; color: var(--lime-dark); font-size: 11px; font-weight: 750; }
.paper-card details { border-top: 1px dashed var(--line); border-bottom: 1px dashed var(--line); }
.paper-card summary { padding: 13px 0; font-size: 13px; font-weight: 750; cursor: pointer; }
.paper-abstract { margin: 0 0 16px; color: #50564d; font-size: 13px; line-height: 1.75; }
.copy-status { display: block; min-height: 16px; margin-top: 8px; color: var(--lime-dark); font-size: 11px; }
.load-more { display: block; width: min(320px, 100%); margin: 22px auto 0; padding: 13px 18px; border: 1px solid var(--ink); border-radius: 99px; color: white; background: var(--ink); font-weight: 800; cursor: pointer; }
.load-more:hover { color: var(--ink); background: var(--lime); }
.load-more[hidden] { display: none; }
.paper-policy { margin-bottom: 0; }
.arxiv-credit { grid-column: 1 / -1; margin: 0; color: #5b6257; font: 650 12px/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.paper-library-link { display: inline-flex; margin-top: 12px; color: var(--lime); font-size: 12px; font-weight: 800; text-underline-offset: 4px; position: relative; z-index: 1; }
.paper-pro-link { color: var(--ink); background: white; border: 1px solid var(--ink); text-decoration: none; }
.analysis-hero { display: flex; justify-content: space-between; gap: 24px; margin: 24px 0 16px; padding: clamp(28px, 5vw, 56px); color: white; background: var(--ink); border-radius: 28px; }
.analysis-hero h1 { margin: 0; font-size: clamp(42px, 7vw, 74px); line-height: .98; letter-spacing: -.06em; }
.analysis-hero h1 em { color: var(--lime); font-style: normal; }
.analysis-hero p:not(.eyebrow) { max-width: 650px; margin: 20px 0 0; color: #bfc6ba; line-height: 1.7; }
.analysis-hero > a { height: fit-content; color: var(--lime); font-size: 12px; font-weight: 800; white-space: nowrap; }
.analysis-paper-card { margin-bottom: 16px; padding: 24px; background: white; border: 1px solid var(--line); border-radius: 20px; }
.analysis-paper-card h2 { max-width: 850px; margin: 13px 0 8px; font-size: clamp(23px, 4vw, 36px); line-height: 1.25; letter-spacing: -.035em; }
.analysis-paper-card > p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }
.analysis-paper-actions { display: flex; gap: 14px; margin-top: 16px; }
.analysis-paper-actions a { color: var(--lime-dark); font-size: 12px; font-weight: 800; }
.analysis-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr); gap: 16px; align-items: start; }
.analysis-products, .analysis-checkout, .analysis-result, .reading-library { padding: clamp(20px, 3vw, 30px); background: white; border: 1px solid var(--line); border-radius: 20px; }
.analysis-products .section-head h2, .analysis-result .section-head h2, .reading-library .section-head h2 { font-size: clamp(25px, 4vw, 34px); }
.analysis-products .section-head > span { color: var(--muted); font-size: 11px; }
.analysis-product-list { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.analysis-product { padding: 15px; text-align: left; color: var(--ink); background: #f5f6f2; border: 1px solid transparent; border-radius: 13px; cursor: pointer; }
.analysis-product[aria-pressed="true"] { background: #f1ffdd; border-color: var(--lime-dark); box-shadow: 0 0 0 2px rgba(185, 255, 85, .25); }
.analysis-product > span { display: flex; justify-content: space-between; gap: 10px; }
.analysis-product strong { font-size: 14px; }
.analysis-product b { color: var(--lime-dark); }
.analysis-product small { display: block; margin-top: 7px; color: var(--muted); line-height: 1.5; }
.analysis-sample { margin-top: 18px; padding: 20px; color: white; background: var(--ink); border-radius: 16px; }
.analysis-sample > div { display: flex; flex-wrap: wrap; gap: 7px 13px; align-items: center; }
.analysis-sample > div span { padding: 4px 7px; color: var(--ink); background: var(--lime); border-radius: 5px; font-size: 9px; font-weight: 900; }
.analysis-sample dl { display: grid; gap: 1px; margin: 16px 0; background: #394035; border: 1px solid #394035; }
.analysis-sample dl div { padding: 13px; background: #1b2118; }
.analysis-sample dt { color: var(--lime); font-size: 10px; font-weight: 850; }
.analysis-sample dd { margin: 6px 0 0; color: #c9cfc4; font-size: 11px; line-height: 1.65; }
.analysis-sample > p { margin: 0; color: #929b8e; font-size: 10px; line-height: 1.6; }
.analysis-checkout { position: sticky; top: 82px; color: white; background: var(--ink); border-color: var(--ink); }
.analysis-runtime { display: flex; justify-content: flex-end; margin-bottom: 10px; }
.analysis-runtime span { padding: 5px 8px; color: #aeb6a9; background: #293025; border-radius: 99px; font-size: 9px; font-weight: 800; }
.analysis-runtime span.is-live { color: #0f4e34; background: var(--lime); }
.analysis-checkout .eyebrow { color: var(--lime); }
.analysis-checkout h2 { margin: 0 0 8px; font-size: 27px; }
.analysis-checkout > p:not(.eyebrow) { margin: 0; color: #adb5a8; font-size: 12px; line-height: 1.6; }
.checkout-price { margin: 20px 0; padding: 16px 0; border-top: 1px solid #394035; border-bottom: 1px solid #394035; }
.checkout-price strong, .checkout-price span { display: block; }
.checkout-price strong { color: var(--lime); font-size: 42px; letter-spacing: -.05em; }
.checkout-price span { margin-top: 5px; color: #949d90; font-size: 10px; }
.analysis-checkout ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; color: #d8ddd4; font-size: 12px; }
.analysis-checkout li::before { content: "✓"; margin-right: 8px; color: var(--lime); font-weight: 900; }
.checkout-account { display: grid; grid-template-columns: 1fr auto; gap: 5px 10px; align-items: center; margin-top: 16px; padding: 12px; color: #d8ddd4; background: #20261d; border: 1px solid #394035; border-radius: 12px; }
.checkout-account span { color: #8e978a; font-size: 9px; font-weight: 800; letter-spacing: .08em; }
.checkout-account strong { grid-column: 1; font-size: 12px; }
.checkout-account a { grid-column: 2; grid-row: 1 / 3; color: var(--lime); font-size: 10px; font-weight: 800; text-decoration: none; }
.checkout-account a[hidden] { display: none; }
.analysis-checkout .checkout-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: checkout; }
.analysis-checkout .checkout-steps li { display: grid; gap: 6px; color: #7f897b; font-size: 9px; line-height: 1.3; }
.analysis-checkout .checkout-steps li::before { content: ""; width: 100%; height: 3px; margin: 0; background: #394035; border-radius: 999px; }
.analysis-checkout .checkout-steps li.is-active { color: white; }
.analysis-checkout .checkout-steps li.is-active::before { background: var(--lime); animation: checkout-pulse 1.1s ease-in-out infinite alternate; }
.analysis-checkout .checkout-steps li.is-done { color: #cdd6c8; }
.analysis-checkout .checkout-steps li.is-done::before { background: #7dad42; }
.analysis-checkout .checkout-steps li.is-error { color: #ffc8b5; }
.analysis-checkout .checkout-steps li.is-error::before { background: #ff7850; }
@keyframes checkout-pulse { to { opacity: .5; } }
.analysis-checkout button { width: 100%; margin-top: 22px; padding: 14px; color: var(--ink); background: var(--lime); border: 0; border-radius: 11px; font-weight: 900; cursor: pointer; }
.analysis-checkout button:disabled { opacity: .6; cursor: wait; }
.analysis-checkout > small { display: block; margin-top: 10px; color: #8e978a; font-size: 9px; text-align: center; }
.analysis-result, .reading-library { margin-top: 16px; }
.analysis-result .section-head button { padding: 9px 12px; color: white; background: var(--ink); border: 0; border-radius: 9px; font-size: 11px; font-weight: 800; cursor: pointer; }
.result-notice { padding: 12px; color: #71411f; background: #fff1e7; border-left: 3px solid var(--orange); border-radius: 6px; font-size: 11px; line-height: 1.6; }
.analysis-result-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 14px; }
.analysis-result-grid article { padding: 16px; background: #f5f6f2; border-radius: 12px; }
.analysis-result-grid article:first-child { grid-column: 1 / -1; }
.analysis-result-grid h3 { margin: 0 0 8px; font-size: 14px; }
.analysis-result-grid p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.7; }
.analysis-result > small { display: block; min-height: 16px; margin-top: 10px; color: var(--lime-dark); font-size: 10px; }
.reading-list { display: grid; gap: 8px; }
.reading-list article { display: flex; justify-content: space-between; gap: 15px; align-items: center; padding: 14px 16px; background: #f5f6f2; border-radius: 11px; }
.reading-list article div { min-width: 0; }
.reading-list strong, .reading-list span { display: block; }
.reading-list strong { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 13px; }
.reading-list span { margin-top: 5px; color: var(--muted); font-size: 10px; }
.reading-list a { flex: 0 0 auto; color: var(--lime-dark); font-size: 11px; font-weight: 850; }
.cet-hero::after { border-radius: 8px; transform: rotate(38deg); }
.privacy-pill { width: fit-content; margin-top: 24px; padding: 9px 13px; border: 1px solid #485040; border-radius: 99px; color: var(--lime); font-size: 12px; font-weight: 750; position: relative; z-index: 1; }
.estimator-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; align-items: start; }
.estimator-card, .result-card { padding: clamp(22px, 4vw, 36px); background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.compact-head { margin-bottom: 24px; }
.estimator-card select, .estimator-card input { width: 100%; color: var(--ink); background: #f8f9f5; border: 1px solid var(--line); border-radius: 11px; outline: none; }
.estimator-card select { min-height: 48px; padding: 10px 12px; }
.estimator-card select:focus, .estimator-card input:focus { border-color: var(--lime-dark); box-shadow: 0 0 0 3px rgba(185, 255, 85, .25); }
.field-label, .number-grid label > span:first-child { display: block; margin: 19px 0 8px; color: #4e554b; font-size: 13px; font-weight: 750; }
.number-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 13px; }
.number-input { display: flex; align-items: center; background: #f8f9f5; border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.number-input input { min-width: 0; height: 48px; padding: 8px 12px; border: 0; background: transparent; font-size: 18px; font-weight: 800; }
.number-input b { flex: 0 0 auto; padding-right: 12px; color: #7b8177; font-size: 12px; }
.estimate-button { width: 100%; margin-top: 25px; padding: 14px 16px; border: 0; border-radius: 11px; color: var(--ink); background: var(--lime); font-weight: 900; cursor: pointer; }
.form-note { margin: 11px 0 0; color: #7a8177; font-size: 11px; text-align: center; }
.result-card { position: sticky; top: 82px; background: var(--ink); color: white; }
.result-placeholder { display: flex; min-height: 350px; flex-direction: column; justify-content: center; align-items: center; text-align: center; }
.result-placeholder strong { color: var(--lime); font-size: 32px; }
.result-placeholder span { max-width: 260px; margin-top: 10px; color: #abb3a5; font-size: 13px; line-height: 1.6; }
.result-card h2 { margin: 18px 0 5px; color: var(--lime); font-size: clamp(42px, 7vw, 64px); letter-spacing: -.055em; }
.result-center { margin: 0 0 22px; color: #b7beb2; font-size: 13px; line-height: 1.6; }
.score-breakdown { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #3f463b; border: 1px solid #3f463b; }
.score-breakdown div { padding: 13px; background: #1c2119; }
.score-breakdown span, .score-breakdown strong { display: block; }
.score-breakdown span { color: #929b8e; font-size: 10px; }
.score-breakdown strong { margin-top: 4px; color: white; font-size: 22px; }
.cet-warning { color: #ffd9c6; background: #472c20; border-left-color: var(--orange); }
.share-estimate { width: 100%; margin-top: 14px; padding: 12px; border: 1px solid #596254; border-radius: 10px; color: white; background: transparent; cursor: pointer; }
.demand-link { display: block; margin-top: 15px; color: var(--lime); font-size: 12px; font-weight: 800; line-height: 1.5; text-underline-offset: 4px; }
.cet-policy { margin-top: 50px; }
.policy-hero::after { border-radius: 25%; transform: rotate(-18deg); }
.policy-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.policy-grid article { padding: clamp(22px, 4vw, 34px); background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.policy-grid h2 { margin: 0 0 12px; font-size: 24px; letter-spacing: -.03em; }
.policy-grid article > p:last-child, .privacy-contact > p { margin: 0; color: var(--muted); line-height: 1.8; }
.not-found { min-height: 100vh; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
.not-found h1 { margin: 0; font-size: clamp(48px, 9vw, 90px); line-height: 1; letter-spacing: -.06em; }
.not-found h1 em { color: var(--lime-dark); font-style: normal; }
.not-found > p:not(.eyebrow) { color: var(--muted); }
.not-found .estimate-button { width: auto; color: var(--ink); text-decoration: none; }
.feedback-hero::after { border-radius: 50% 8% 50% 8%; transform: rotate(20deg); opacity: .18; }
.feedback-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; align-items: start; }
.feedback-layout fieldset { display: grid; gap: 9px; margin: 19px 0 0; padding: 0; border: 0; }
.feedback-layout legend { margin-bottom: 8px; color: #4e554b; font-size: 13px; font-weight: 750; }
.feedback-layout fieldset label { display: flex; align-items: center; gap: 9px; padding: 12px 13px; background: #f8f9f5; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }
.feedback-layout input[type="radio"] { width: 17px; height: 17px; accent-color: var(--ink); }
.feedback-layout select, .feedback-layout textarea { width: 100%; color: var(--ink); background: #f8f9f5; border: 1px solid var(--line); border-radius: 11px; outline: none; }
.feedback-layout select { min-height: 48px; padding: 10px 12px; }
.feedback-layout textarea { display: block; padding: 12px; resize: vertical; line-height: 1.6; }
.feedback-layout select:focus, .feedback-layout textarea:focus { border-color: var(--lime-dark); box-shadow: 0 0 0 3px rgba(185, 255, 85, .25); }
.character-count { margin-top: 5px; color: #7a8177; font-size: 11px; text-align: right; }
.feedback-result { position: sticky; top: 82px; }
.feedback-result h2 { font-size: clamp(36px, 6vw, 54px); }
.feedback-text { max-height: 330px; margin: 18px 0 0; padding: 16px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; color: #e8ece4; background: #1c2119; border: 1px solid #3f463b; border-radius: 11px; font: 12px/1.8 ui-monospace, SFMono-Regular, Consolas, monospace; }
.feedback-mail { display: flex; justify-content: center; margin-top: 9px; padding: 12px; color: var(--ink); background: var(--lime); border-radius: 10px; font-size: 13px; font-weight: 850; text-decoration: none; }

.sources { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px 52px; margin-top: 60px; padding: clamp(26px, 5vw, 52px); background: #e7eadf; border-radius: 28px; }
.sources ul { margin: 0; padding-left: 19px; color: #4f554c; line-height: 1.8; }
.sources > a { grid-column: 1 / -1; width: fit-content; font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 5px; }
footer { display: flex; justify-content: space-between; gap: 15px; max-width: 1120px; margin: auto; padding: 26px 20px 40px; color: #71776e; font-size: 12px; }

@media (max-width: 760px) {
  .topbar { height: 58px; }
  main { padding: 0 12px 52px; }
  .hero { margin-top: 12px; padding: 28px 22px; border-radius: 23px; }
  .hero::after { width: 180px; height: 180px; right: -145px; top: -105px; border-width: 24px; opacity: .2; }
  .hero h1 { font-size: 43px; }
  .feedback-hero h1 { font-size: 35px; line-height: 1.04; }
  .hero > p:not(.eyebrow) { font-size: 13px; line-height: 1.7; }
  .stats { margin-top: 27px; }
  .stats div { padding: 14px 9px; }
  .stats strong { font-size: 24px; }
  .controls { margin-bottom: 36px; padding: 13px; border-radius: 17px; }
  .event-list { grid-template-columns: 1fr; }
  .paper-list { grid-template-columns: 1fr; }
  .event-card { padding: 19px; border-radius: 18px; }
  .paper-card { padding: 19px; border-radius: 18px; }
  .event-card h3 { font-size: 21px; }
  .summary { min-height: 0; }
  .sources { grid-template-columns: 1fr; gap: 22px; margin-top: 42px; border-radius: 21px; }
  .estimator-layout { grid-template-columns: 1fr; }
  .feedback-layout { grid-template-columns: 1fr; }
  .policy-grid { grid-template-columns: 1fr; }
  .result-card { position: static; }
  .feedback-result { position: static; }
  .result-placeholder { min-height: 220px; }
  .sources > a { grid-column: auto; }
  footer { flex-direction: column; padding: 22px 16px 35px; }
}

@media (max-width: 440px) {
  .top-link { padding: 7px 8px; font-size: 12px; }
  .brand span { display: none; }
  .number-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: no-preference) {
  .event-card { transition: transform .2s ease, box-shadow .2s ease; }
  .event-card:hover { transform: translateY(-3px); box-shadow: 0 14px 36px rgba(28, 35, 23, .09); }
}

/* Horizontal competition timeline and the separate FZU recognition directory. */
.stats-four { max-width: 800px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.timeline-section { overflow: hidden; }
.timeline-shell { margin-top: 18px; padding: 18px 0 8px; background: var(--ink); border-radius: 24px; color: white; }
.timeline-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 0 20px 12px; color: #aeb5a8; font-size: 12px; }
.timeline-toolbar div { display: flex; gap: 7px; }
.timeline-toolbar button { width: 36px; height: 32px; border: 1px solid #555e50; border-radius: 9px; color: white; background: transparent; cursor: pointer; }
.timeline-toolbar button:hover:not(:disabled) { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.timeline-toolbar button:disabled { opacity: .28; cursor: default; }
.timeline-scroll { overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: #596253 transparent; scrollbar-width: thin; scroll-snap-type: x proximity; }
.timeline-track { position: relative; display: flex; width: max-content; min-width: 100%; padding: 16px 36px 22px; }
.timeline-track::before { content: ""; position: absolute; top: 59px; left: 36px; right: 36px; height: 2px; background: #566050; }
.timeline-point { position: relative; z-index: 1; display: grid; grid-template-rows: 24px 42px auto auto; width: 174px; min-height: 152px; padding: 0 15px; color: #d8ddd4; background: transparent; border: 0; text-align: left; cursor: pointer; scroll-snap-align: center; }
.timeline-point time { color: #99a294; font-size: 11px; font-weight: 800; }
.timeline-dot { width: 15px; height: 15px; align-self: center; border: 4px solid var(--ink); border-radius: 50%; background: #899283; box-shadow: 0 0 0 2px #899283; }
.timeline-point strong { display: -webkit-box; margin-top: 8px; overflow: hidden; color: #f5f7f2; font-size: 13px; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.timeline-point small { display: -webkit-box; margin-top: 5px; overflow: hidden; color: #8f988a; font-size: 10px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.timeline-point:hover .timeline-dot, .timeline-point.is-selected .timeline-dot { background: var(--lime); box-shadow: 0 0 0 2px var(--lime), 0 0 0 8px rgba(185, 255, 85, .15); }
.timeline-point.is-selected strong { color: var(--lime); }
.timeline-point.is-favorite .timeline-dot::after { content: "★"; position: absolute; margin: -23px 0 0 11px; color: #ffd35a; font-size: 10px; }
.timeline-point:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; border-radius: 10px; }
.event-detail { margin-top: 16px; }
.event-detail-card { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(290px, .92fr); gap: 0 30px; padding: clamp(22px, 4vw, 36px); }
.event-detail-card .card-top, .event-detail-card h3, .event-detail-card .summary, .event-detail-card .meta, .event-detail-card .warning, .event-detail-card .card-actions, .event-detail-card .verified-at { grid-column: 1; }
.event-detail-card .deadline-callout, .event-detail-card .timeline { grid-column: 2; }
.event-detail-card .deadline-callout { grid-row: 1 / span 3; align-self: start; margin-top: 0; }
.event-detail-card .timeline { grid-row: 4 / span 5; }
.event-detail-card .summary { min-height: 0; }
.event-detail-card:hover { transform: none; }

.recognition-section { margin-top: 56px; }
.directory-panel { overflow: hidden; background: white; border: 1px solid var(--line); border-radius: 24px; }
.directory-panel > summary { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 26px 28px; cursor: pointer; list-style: none; }
.directory-panel > summary::-webkit-details-marker { display: none; }
.directory-panel > summary span, .directory-panel > summary strong { display: block; }
.directory-panel > summary small { margin-bottom: 7px; color: var(--lime-dark); font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.directory-panel > summary strong { font-size: clamp(22px, 4vw, 32px); letter-spacing: -.035em; }
.directory-panel > summary b { flex: 0 0 auto; color: var(--lime-dark); font-size: 15px; }
.directory-panel[open] > summary { border-bottom: 1px solid var(--line); }
.directory-panel[open] > summary b { font-size: 0; }
.directory-panel[open] > summary b::after { content: "收起 −"; font-size: 13px; }
.directory-content { padding: 24px 28px 30px; }
.directory-intro { max-width: 820px; margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.75; }
.directory-controls { display: grid; grid-template-columns: minmax(240px, 1fr) 180px 180px; gap: 10px; }
.directory-controls .search { margin: 0; }
.directory-controls select { width: 100%; min-height: 45px; padding: 0 12px; color: var(--ink); background: #f7f8f4; border: 1px solid var(--line); border-radius: 11px; }
.directory-head { display: flex; justify-content: space-between; gap: 16px; margin: 20px 0 10px; color: var(--muted); font-size: 12px; }
.directory-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.directory-item { padding: 16px; background: #f7f8f4; border: 1px solid #e3e6dc; border-radius: 14px; }
.directory-item > div { display: flex; flex-wrap: wrap; gap: 5px; }
.directory-item span { padding: 4px 7px; color: #4d5847; background: #e5eadf; border-radius: 99px; font-size: 9px; font-weight: 850; }
.directory-item h3 { margin: 12px 0 8px; font-size: 15px; line-height: 1.45; }
.directory-item p { margin: 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.load-more { display: block; min-width: 180px; margin: 18px auto 0; padding: 11px 18px; color: var(--ink); background: var(--lime); border: 0; border-radius: 10px; font-weight: 850; cursor: pointer; }

@media (max-width: 760px) {
  .stats-four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .timeline-shell { margin-inline: -4px; border-radius: 18px; }
  .timeline-toolbar { padding-inline: 15px; }
  .timeline-track { padding-inline: 22px; }
  .timeline-track::before { left: 22px; right: 22px; }
  .timeline-point { width: 150px; padding-inline: 11px; }
  .event-detail-card { display: block; }
  .event-detail-card .deadline-callout { margin-top: 17px; }
  .directory-panel > summary { padding: 21px 18px; }
  .directory-content { padding: 19px 16px 24px; }
  .directory-controls { grid-template-columns: 1fr 1fr; }
  .directory-controls .search { grid-column: 1 / -1; }
  .directory-list { grid-template-columns: 1fr; }
  .directory-head { align-items: flex-start; flex-direction: column; }
}

/* Pro validation and local student profile. */
.pro-teaser { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 18px; padding: 24px 28px; color: white; background: var(--ink); border-radius: 20px; text-decoration: none; }
.pro-teaser span, .pro-teaser strong { display: block; }
.pro-teaser small { margin-bottom: 7px; color: var(--lime); font: 800 10px/1.2 ui-monospace, Consolas, monospace; letter-spacing: .12em; }
.pro-teaser strong { max-width: 720px; font-size: 20px; line-height: 1.4; }
.pro-teaser b { flex: 0 0 auto; color: var(--lime); font-size: 12px; }
.pro-hero::after { right: -170px; border-radius: 12%; transform: rotate(26deg); }
.profile-hero::after { right: -170px; border-radius: 50% 8%; transform: rotate(-12deg); }
.brief-library-section { margin: 34px 0 16px; }
.brief-library { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.brief-library-card { display: flex; min-height: 190px; flex-direction: column; align-items: flex-start; padding: 19px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 17px; text-align: left; cursor: pointer; }
.brief-library-card:hover, .brief-library-card.is-selected { border-color: var(--ink); box-shadow: 0 8px 24px rgba(28, 35, 23, .08); }
.brief-library-card.is-selected { background: var(--ink); color: white; }
.library-rank { padding: 5px 8px; color: var(--lime-dark); background: #edf6df; border-radius: 99px; font-size: 9px; font-weight: 900; }
.brief-library-card.is-selected .library-rank { color: var(--ink); background: var(--lime); }
.brief-library-card small { margin-top: 14px; color: var(--lime-dark); font-weight: 800; }
.brief-library-card.is-selected small { color: var(--lime); }
.brief-library-card strong { flex: 1; margin: 7px 0 12px; font-size: 17px; line-height: 1.4; }
.brief-library-card b { color: var(--muted); font-size: 11px; }
.brief-library-card.is-selected b { color: #b3bbae; }
.brief-library-card em { margin-top: 12px; color: var(--lime-dark); font-size: 11px; font-style: normal; font-weight: 850; }
.brief-library-card.is-selected em { color: var(--lime); }
.pro-title-card { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 26px; margin: 16px 0; padding: clamp(22px, 4vw, 36px); background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.pro-title-card h2 { margin: 17px 0 11px; font-size: clamp(27px, 4vw, 42px); line-height: 1.15; letter-spacing: -.045em; }
.pro-title-card > div > p { margin: 0; color: var(--muted); line-height: 1.75; }
.pro-title-card aside { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: 20px; color: white; background: var(--ink); border-radius: 16px; }
.pro-title-card aside small { color: #aeb5a8; }
.pro-title-card aside strong { margin: 9px 0 18px; color: var(--lime); font-size: 22px; line-height: 1.3; }
.pro-title-card aside a { color: white; font-size: 12px; font-weight: 800; text-underline-offset: 4px; }
.brief-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 16px; align-items: start; }
.brief-main { display: grid; gap: 16px; }
.brief-block { padding: clamp(22px, 4vw, 34px); background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.brief-block h2, .validation-card h2, .profile-preview h2 { margin: 0 0 19px; font-size: clamp(24px, 4vw, 34px); letter-spacing: -.04em; }
.action-steps { list-style: none; margin: 0; padding: 0; counter-reset: action; }
.action-steps li { display: grid; grid-template-columns: 150px 1fr; gap: 18px; padding: 15px 0; border-bottom: 1px dashed var(--line); counter-increment: action; }
.action-steps li:last-child { border-bottom: 0; }
.action-steps b::before { content: "0" counter(action) " "; color: var(--lime-dark); font-family: ui-monospace, Consolas, monospace; }
.action-steps span { color: var(--muted); font-size: 13px; line-height: 1.65; }
.direction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.direction-grid > div { display: flex; flex-direction: column; padding: 18px; background: #f5f7f1; border-radius: 14px; }
.direction-grid strong { font-size: 16px; line-height: 1.4; }
.direction-grid p { flex: 1; color: var(--muted); font-size: 12px; line-height: 1.7; }
.direction-grid span { color: var(--lime-dark); font-size: 11px; font-weight: 850; }
.sprint-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.sprint-grid div { padding: 17px; background: #f7f8f4; }
.sprint-grid b, .sprint-grid span { display: block; }
.sprint-grid b { margin-bottom: 8px; color: var(--lime-dark); }
.sprint-grid span { color: var(--muted); font-size: 11px; line-height: 1.6; }
.check-list { margin: 0; padding-left: 20px; color: var(--muted); line-height: 1.85; }
.validation-card { position: sticky; top: 82px; padding: 26px; color: white; background: var(--ink); border-radius: var(--radius); }
.validation-card > p:not(.eyebrow, .source-note) { color: #b8bfb3; font-size: 13px; line-height: 1.7; }
.price-options { display: grid; gap: 8px; margin: 20px 0; }
.price-options button { padding: 13px; color: white; background: transparent; border: 1px solid #596253; border-radius: 10px; cursor: pointer; font-weight: 800; }
.price-options button:hover, .price-options button[aria-pressed="true"] { color: var(--ink); background: var(--lime); border-color: var(--lime); }
.interest-result { padding: 14px; color: var(--ink); background: var(--lime); border-radius: 11px; }
.interest-result strong, .interest-result span, .interest-result a { display: block; }
.interest-result span { margin: 5px 0 11px; font-size: 10px; }
.interest-result a { font-size: 12px; font-weight: 850; }
.validation-card hr { margin: 23px 0; border: 0; border-top: 1px solid #444c40; }
.validation-card > small { display: block; color: #919b8d; }
.official-source { display: block; margin-top: 8px; color: var(--lime); font-size: 13px; font-weight: 800; }
.source-note { color: #959e91; font-size: 10px; line-height: 1.65; }
.premium-preview { color: white; background: #1b2018; border-color: #343b30; }
.premium-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.premium-heading h2 { margin-bottom: 20px; }
.premium-heading > span { flex: 0 0 auto; padding: 6px 9px; color: var(--ink); background: var(--lime); border-radius: 99px; font-size: 9px; font-weight: 900; }
.premium-items { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.premium-items > div { position: relative; min-height: 175px; padding: 17px; overflow: hidden; background: #282e25; border: 1px solid #3c4438; border-radius: 13px; }
.premium-items > div::after { content: ""; position: absolute; inset: 56% 0 0; background: linear-gradient(transparent, #282e25 45%); backdrop-filter: blur(3px); }
.premium-items span { display: block; margin-bottom: 12px; color: var(--lime); font: 800 9px/1 ui-monospace, Consolas, monospace; }
.premium-items strong { display: block; font-size: 15px; }
.premium-items p { color: #abb3a6; font-size: 11px; line-height: 1.6; }
.premium-items b { position: absolute; z-index: 1; right: 13px; bottom: 12px; color: #c6cec0; font-size: 9px; }
.premium-policy { margin: 16px 0 0; color: #929b8e; font-size: 10px; line-height: 1.7; }
.premium-unlock { display: flex; margin-top: 14px; min-height: 45px; align-items: center; justify-content: center; color: var(--ink); background: var(--lime); border-radius: 10px; font-size: 12px; font-weight: 900; text-decoration: none; }

.profile-layout { display: grid; grid-template-columns: 1fr .82fr; gap: 16px; align-items: start; }
.account-card { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(22px, 5vw, 64px); margin: 16px 0; padding: clamp(24px, 5vw, 44px); border: 1px solid var(--line); border-radius: 24px; background: white; }
.account-copy h2 { margin: 4px 0 10px; font-size: clamp(26px, 4vw, 38px); letter-spacing: -.045em; }
.account-copy > p:last-child { max-width: 420px; margin: 0; color: var(--muted); line-height: 1.8; }
.account-form { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; }
.account-form .field-label { align-self: end; }
.account-form input { width: 100%; min-height: 46px; padding: 10px 12px; }
.account-form label[for="account-nickname"], .account-form #account-nickname, .account-actions { grid-column: 1 / -1; }
.account-text-button { grid-column: 1 / -1; justify-self: start; padding: 5px 0; color: var(--lime-dark); border: 0; background: transparent; font-size: 12px; font-weight: 750; cursor: pointer; }
.account-recovery { grid-column: 2; display: grid; gap: 10px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: var(--soft); }
.account-recovery[hidden] { display: none; }
.account-recovery p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.account-recovery input { width: 100%; min-height: 46px; padding: 10px 12px; }
.account-recovery .account-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.account-recovery button, .account-recovery a { margin: 0; text-align: center; }
.account-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 6px; }
.account-actions button { margin: 0; }
.account-session { grid-column: 2; display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; padding: 17px; border-radius: 18px; background: var(--soft); }
.account-session[hidden] { display: none; }
.account-session > span { display: grid; width: 44px; height: 44px; place-items: center; color: var(--lime); background: var(--ink); border-radius: 50%; font-weight: 800; }
.account-session strong, .account-session small { display: block; }
.account-session small { margin-top: 3px; color: var(--muted); }
.account-session button { margin: 0; }
.account-security { grid-column: 2; display: grid; gap: 7px; }
.account-security[hidden] { display: none; }
.account-security details { padding: 13px 15px; border: 1px solid var(--line); border-radius: 14px; }
.account-security summary { cursor: pointer; font-weight: 750; }
.account-security form { display: grid; gap: 8px; margin-top: 12px; }
.account-security input[type="password"] { width: 100%; min-height: 44px; padding: 9px 11px; }
.account-security form button { margin: 0; }
.email-verification-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin-top: 12px; }
.email-verification-row strong, .email-verification-row small { display: block; }
.email-verification-row small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.55; }
.email-verification-row button { margin: 0; }
.danger-zone { border-color: #f0c9c4 !important; background: #fff9f8; }
.danger-zone form p, .danger-zone form label { margin: 0; color: #8a4137; font-size: 11px; line-height: 1.7; }
.danger-zone form label { display: flex; gap: 8px; align-items: center; }
.danger-zone form button { min-height: 44px; color: white; border: 0; border-radius: 12px; background: #9f3025; font-weight: 750; }
.account-card > .copy-status { grid-column: 2; margin: 0; }
.profile-layout .estimator-card input { width: 100%; min-height: 48px; padding: 10px 12px; }
.secondary-button { width: 100%; margin-top: 9px; padding: 12px; color: #555d51; background: transparent; border: 1px solid var(--line); border-radius: 11px; cursor: pointer; }
.profile-preview { position: sticky; top: 82px; padding: clamp(25px, 5vw, 42px); color: white; background: var(--ink); border-radius: var(--radius); text-align: center; }
.avatar-mark { display: grid; width: 82px; height: 82px; margin: 18px auto; place-items: center; color: var(--ink); background: var(--lime); border-radius: 24px; font-size: 35px; font-weight: 950; transform: rotate(-4deg); }
.profile-preview h2 { margin-bottom: 7px; }
.profile-preview > p:not(.eyebrow, .copy-status) { margin: 0 0 23px; color: #afb7aa; }
.verification-state { display: flex; gap: 12px; padding: 15px; background: #252b22; border: 1px solid #424a3e; border-radius: 13px; text-align: left; }
.verification-state > span { display: grid; flex: 0 0 auto; width: 25px; height: 25px; place-items: center; color: var(--ink); background: #f3d482; border-radius: 50%; font-weight: 950; }
.verification-state strong, .verification-state small { display: block; }
.verification-state small { margin-top: 5px; color: #9ea79a; line-height: 1.5; }
.profile-benefits { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 16px; }
.profile-benefits span { padding: 6px 8px; color: #cbd2c6; background: #30372c; border-radius: 99px; font-size: 9px; }
.profile-preview .copy-status { color: var(--lime); }
.profile-next { margin-top: 16px; }
.profile-dashboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 16px 0; overflow: hidden; background: var(--line); border: 1px solid var(--line); border-radius: 18px; }
.profile-stat { padding: 20px; background: white; }
.profile-stat strong, .profile-stat span { display: block; }
.profile-stat strong { font-size: 32px; line-height: 1; letter-spacing: -.04em; }
.profile-stat span { margin-top: 8px; color: var(--muted); font-size: 11px; }
.workspace-section { margin: 16px 0; padding: clamp(20px, 3vw, 30px); background: white; border: 1px solid var(--line); border-radius: var(--radius); }
.workspace-section .section-head h2 { font-size: clamp(28px, 4vw, 40px); }
.workspace-clear { padding: 8px 11px; color: var(--muted); background: transparent; border: 1px solid var(--line); border-radius: 9px; font-size: 10px; cursor: pointer; }
.workspace-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.workspace-card { min-width: 0; padding: 19px; background: #f5f6f2; border-radius: 15px; }
.workspace-focus { color: white; background: var(--ink); }
.workspace-card-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.workspace-card-head span { color: var(--lime-dark); font: 800 9px/1.2 ui-monospace, SFMono-Regular, Consolas, monospace; letter-spacing: .12em; }
.workspace-focus .workspace-card-head span { color: var(--lime); }
.workspace-card-head h3 { margin: 6px 0 0; font-size: 18px; letter-spacing: -.025em; }
.workspace-card-head > a { flex: 0 0 auto; color: var(--lime-dark); font-size: 10px; font-weight: 800; }
.workspace-focus .workspace-card-head > a { color: var(--lime); }
.workspace-list { display: grid; gap: 1px; margin-top: 15px; overflow: hidden; background: var(--line); border-radius: 9px; }
.workspace-focus .workspace-list { background: #394035; }
.workspace-list > div { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-width: 0; padding: 11px 12px; background: white; }
.workspace-focus .workspace-list > div { background: #1b2118; }
.workspace-list > div > div { min-width: 0; }
.workspace-list strong, .workspace-list span { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.workspace-list strong { font-size: 11px; }
.workspace-list span { margin-top: 4px; color: var(--muted); font-size: 9px; }
.workspace-focus .workspace-list span { color: #9fa89a; }
.workspace-list a { flex: 0 0 auto; color: var(--lime-dark); font-size: 9px; font-weight: 850; }
.workspace-focus .workspace-list a { color: var(--lime); }
.workspace-empty { margin: 18px 0 0; color: var(--muted); font-size: 11px; }
.workspace-focus .workspace-empty { color: #9fa89a; }
.collection-links { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 15px; }
.collection-links a { padding: 14px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 10px; text-decoration: none; }
.collection-links strong, .collection-links span { display: block; }
.collection-links strong { color: var(--lime-dark); font-size: 25px; }
.collection-links span { margin-top: 5px; color: var(--muted); font-size: 9px; }

@media (max-width: 760px) {
  .pro-teaser { align-items: flex-start; flex-direction: column; padding: 20px; }
  .pro-title-card, .brief-layout, .profile-layout, .account-card { grid-template-columns: 1fr; }
  .account-session, .account-security, .account-recovery, .account-card > .copy-status { grid-column: 1; }
  .brief-library { display: flex; margin-inline: -12px; padding-inline: 12px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .brief-library-card { flex: 0 0 78vw; scroll-snap-align: center; }
  .brief-library-section .section-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .direction-grid { grid-template-columns: 1fr; }
  .premium-items { grid-template-columns: 1fr; }
  .premium-items > div { min-height: 145px; }
  .sprint-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .action-steps li { grid-template-columns: 1fr; gap: 5px; }
  .validation-card, .profile-preview { position: static; }
  .profile-dashboard { grid-template-columns: 1fr 1fr; }
  .account-form { grid-template-columns: 1fr; }
  .account-form label, .account-form input, .account-actions { grid-column: 1; }
  .account-recovery .account-actions, .email-verification-row { grid-template-columns: 1fr; }
  .account-actions { grid-template-columns: 1fr; }
  .workspace-grid { grid-template-columns: 1fr; }
}

@media (max-width: 440px) {
  .topbar { padding-inline: 10px; }
  .brand { font-size: 14px; }
  .top-actions { gap: 1px; }
  .top-actions .top-link { padding: 7px 6px; font-size: 11px; }
}

/* Popularity reference tiers and historical-cycle forecast styling. */
.inline-select { min-height: 32px; padding: 4px 9px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 8px; }
.classification-note { margin: 13px 0 0; padding-top: 12px; color: #737a70; border-top: 1px dashed var(--line); font-size: 11px; line-height: 1.65; }
.classification-note b { color: #795126; }
.legend-dot { display: inline-block; width: 9px; height: 9px; margin: 0 5px 0 10px; border-radius: 50%; vertical-align: -1px; }
.legend-dot:first-child { margin-left: 0; }
.legend-dot.confirmed { background: var(--lime); }
.legend-dot.forecast { background: transparent; border: 2px solid #ff9a57; }
.timeline-point.is-forecast .timeline-dot { background: var(--ink); box-shadow: 0 0 0 2px #ff9a57; }
.timeline-point.is-forecast:hover .timeline-dot, .timeline-point.is-forecast.is-selected .timeline-dot { background: #ff9a57; box-shadow: 0 0 0 2px #ff9a57, 0 0 0 8px rgba(255, 154, 87, .15); }
.timeline-point.is-forecast.is-selected strong { color: #ffb27e; }
.badge-forecast { color: #84451e; background: #fff0e4; }
.popularity-a { color: #6b320f; background: #ffd7bd; }
.popularity-b { color: #3d536f; background: #e4edf8; }
.event-detail-card.is-forecast { border-style: dashed; border-color: #e4a074; }
.event-detail-card.is-forecast .deadline-callout { background: #35251d; }
.event-detail-card.is-forecast .deadline-callout strong { color: #ffb27e; }
.calendar-button:disabled { color: #7a6457; background: #eaded6; cursor: not-allowed; }
.long-range-watch { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 18px; padding: clamp(23px, 4vw, 34px); color: white; background: #292f26; border: 1px solid #444c40; border-radius: var(--radius); }
.long-range-watch .badge { display: inline-block; margin: 0 5px 15px 0; }
.long-range-watch h2 { margin: 0 0 9px; font-size: clamp(23px, 4vw, 34px); letter-spacing: -.04em; }
.long-range-watch div > p:last-child { max-width: 720px; margin: 0; color: #b5bdb0; font-size: 12px; line-height: 1.7; }
.watch-actions { display: grid; flex: 0 0 220px; gap: 8px; }
.watch-actions a { display: flex; min-height: 42px; align-items: center; justify-content: center; padding: 9px 12px; border-radius: 10px; font-size: 12px; font-weight: 800; text-align: center; text-decoration: none; }

.focus-hero::after { right: -140px; border-radius: 50%; box-shadow: 0 0 0 32px rgba(168, 255, 62, .12), 0 0 0 64px rgba(168, 255, 62, .06); }
.focus-countdown { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 570px; margin-top: 28px; border: 1px solid #35412e; }
.focus-countdown div { display: flex; flex-direction: column; gap: 5px; padding: 18px; }
.focus-countdown div + div { border-left: 1px solid #35412e; }
.focus-countdown span { color: var(--lime); font-size: clamp(24px, 4vw, 38px); font-weight: 950; }
.focus-countdown small { color: #aab4a5; }
.focus-jumps { position: sticky; z-index: 7; top: 62px; display: flex; gap: 8px; margin: 14px 0 38px; padding: 10px; overflow-x: auto; background: rgba(247, 247, 241, .92); border: 1px solid var(--line); border-radius: 14px; backdrop-filter: blur(12px); }
.focus-jumps a { flex: 0 0 auto; padding: 9px 13px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 99px; font-size: 11px; font-weight: 850; text-decoration: none; }
.focus-section { margin: 38px 0; scroll-margin-top: 130px; }
.focus-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 14px; }
.focus-panel, .paper-year-card, .featured-paper-card { padding: 24px; background: white; border: 1px solid var(--line); border-radius: 18px; }
.focus-panel h3, .paper-year-card h3 { margin: 0 0 10px; font-size: 21px; }
.focus-panel p, .paper-year-card p, .featured-paper-card p, .section-intro { color: var(--muted); line-height: 1.7; }
.task-checks { display: grid; gap: 9px; }
.task-checks label { display: flex; gap: 10px; align-items: flex-start; padding: 11px 12px; background: var(--soft); border-radius: 9px; font-size: 12px; line-height: 1.5; }
.task-checks input { margin-top: 2px; accent-color: var(--lime-dark); }
.text-button { margin-top: 12px; padding: 0; color: var(--muted); background: none; border: 0; font-size: 10px; text-decoration: underline; cursor: pointer; }
.section-intro { max-width: 760px; margin: -8px 0 16px; }
.paper-year-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.paper-year-card span { color: var(--lime-dark); font-size: 10px; font-weight: 900; }
.paper-year-card h3 { margin-top: 10px; }
.paper-year-card a, .featured-paper-card a { color: var(--ink); font-size: 11px; font-weight: 900; }
.featured-paper-grid { display: grid; gap: 8px; margin-top: 12px; }
.featured-paper-card { display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 18px; align-items: center; padding-block: 16px; }
.featured-paper-card div { display: flex; flex-direction: column; gap: 4px; }
.featured-paper-card span { font-size: 18px; font-weight: 950; }
.featured-paper-card b { color: var(--lime-dark); font-size: 10px; }
.featured-paper-card p { margin: 0; font-size: 12px; }
.deep-read-sample { padding: clamp(24px, 4vw, 40px); color: white; background: var(--ink); border-radius: 24px; }
.deep-read-sample > div:first-child > p:last-child { max-width: 720px; color: #b5bdb0; line-height: 1.7; }
.score-layers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.score-layers article { padding: 20px; background: #1a2117; border: 1px solid #35412e; border-radius: 13px; }
.score-layers b { color: var(--lime); font-size: 10px; }
.score-layers h3 { margin: 9px 0; font-size: 17px; }
.score-layers p { margin: 0; color: #b5bdb0; font-size: 12px; line-height: 1.65; }
.deep-read-actions { display: flex; gap: 18px; align-items: center; margin-top: 18px; }
.deep-read-actions .premium-unlock { width: auto; margin: 0; padding-inline: 18px; }
.deep-read-actions span { color: #aab4a5; font-size: 10px; }
.reminder-section { display: grid; grid-template-columns: .8fr 1.2fr; gap: 24px; padding: clamp(22px, 4vw, 36px); background: #e8ecdf; border-radius: 24px; }
.reminder-section > div > p:last-child { color: var(--muted); line-height: 1.7; }
.reminder-form { display: grid; gap: 9px; }
.reminder-form > label { display: flex; gap: 9px; align-items: center; padding: 12px; background: rgba(255,255,255,.68); border-radius: 10px; font-size: 12px; }
.reminder-form > label:has(select) { justify-content: space-between; }
.reminder-form select { min-width: 150px; padding: 8px; border: 1px solid var(--line); border-radius: 8px; background: white; }
.calendar-button.secondary { color: var(--ink); background: white; border: 1px solid var(--ink); }

/* Home hierarchy: quiet, product-like, and focused on the timeline. */
.radar-hero { min-height: 0; padding: clamp(28px, 5vw, 52px); color: var(--ink); background: #fff; border: 1px solid #e2e4de; border-radius: 28px; box-shadow: 0 18px 55px rgba(20, 24, 18, .045); }
.radar-hero::after { display: none; }
.radar-hero h1 { max-width: none; color: var(--ink); font-size: clamp(42px, 6vw, 66px); line-height: 1; letter-spacing: -.055em; }
.radar-hero > p:not(.eyebrow) { margin-top: 14px; color: #70756d; font-size: 16px; line-height: 1.5; }
.radar-hero .stats-four { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 580px; margin-top: 30px; gap: 12px; background: transparent; border: 0; }
.radar-hero .stats div { padding: 15px 16px; background: #f5f5f3; border-radius: 14px; }
.radar-hero .stats strong { color: var(--ink); font-size: 25px; }
.radar-hero .stats span { margin-top: 5px; color: #787d75; font-size: 11px; }
.radar-hero .hero-share-row { margin-top: 16px; }
.radar-hero .hero-share-row button { padding: 0; color: #656b62; background: transparent; border: 0; border-radius: 0; font-size: 11px; text-decoration: underline; text-underline-offset: 3px; }
.radar-hero .hero-share-row button:hover { color: var(--ink); }
.event-detail-card .badge { color: #555b55; background: #f0f1ee; }
.event-detail-card .badge-category, .event-detail-card .badge-verified, .event-detail-card .badge-recognized, .event-detail-card .popularity-a, .event-detail-card .popularity-b { color: #4f554d; background: #eceee9; }
.event-detail-card .deadline-callout { color: #737872; background: #f4f5f2; border: 1px solid #e3e5df; }
.event-detail-card .deadline-callout strong { color: var(--ink); }
.event-detail-card .calendar-button { color: var(--ink); background: #eceee9; border: 1px solid #dde0d9; }
.focus-card-link { color: white; background: #1677ff; border: 1px solid #1677ff; text-decoration: none; }
.focus-card-link[hidden] { display: none; }

@media (max-width: 760px) {
  .long-range-watch { align-items: stretch; flex-direction: column; }
  .watch-actions { width: 100%; flex-basis: auto; }
  .focus-grid, .reminder-section { grid-template-columns: 1fr; }
  .paper-year-grid { display: flex; margin-inline: -12px; padding-inline: 12px; overflow-x: auto; scroll-snap-type: x mandatory; }
  .paper-year-card { flex: 0 0 78vw; scroll-snap-align: center; }
  .featured-paper-card { grid-template-columns: 1fr; gap: 9px; }
  .score-layers { grid-template-columns: 1fr; }
  .deep-read-actions { align-items: flex-start; flex-direction: column; }
  .focus-countdown { grid-template-columns: 1fr; }
  .focus-countdown div + div { border-top: 1px solid #35412e; border-left: 0; }
  .radar-hero { padding: 28px 22px; border-radius: 22px; }
  .radar-hero h1 { font-size: 42px; }
  .radar-hero .stats-four { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; margin-top: 24px; }
  .radar-hero .stats div { padding: 12px 9px; }
  .radar-hero .stats strong { font-size: 22px; }
  .radar-hero .stats span { font-size: 9px; }
  .event-detail-card .card-actions { flex-direction: column; }
  .paper-calendar { padding: 14px 10px; }
  .paper-calendar-head { align-items: flex-start; flex-direction: column; }
  .paper-calendar-head > div:last-child { width: 100%; }
  .paper-calendar-head .paper-date-all { margin-right: auto; }
  .paper-weekdays, .paper-date-index { gap: 4px; }
  .paper-day { min-height: 56px; padding: 7px 6px; border-radius: 8px; }
  .paper-day b { font-size: 11px; }
  .paper-day span { font-size: 8px; }
  .paper-card { grid-template-columns: 1fr; grid-template-areas: "top" "title" "authors" "date" "abstract" "actions" "status"; gap: 4px; padding: 15px; }
  .paper-card .card-actions { margin-top: 9px; }
  .analysis-hero { flex-direction: column; border-radius: 22px; }
  .analysis-layout { grid-template-columns: 1fr; }
  .analysis-checkout { position: static; }
  .analysis-product-list, .analysis-result-grid { grid-template-columns: 1fr; }
  .analysis-result-grid article:first-child { grid-column: auto; }
  .reading-list article { align-items: flex-start; flex-direction: column; }
}
