.infaer-info-page{max-width:960px;padding-bottom:72px}
.info-hero{position:relative;overflow:hidden;margin:18px 0 24px;padding:clamp(26px,5vw,44px);border:1px solid #315e59;border-radius:22px;background:radial-gradient(circle at 92% 12%,rgba(244,185,66,.24),transparent 35%),linear-gradient(135deg,#123f3a,#176456);color:#edf6f2;box-shadow:0 18px 44px rgba(18,63,58,.17)}
.info-hero::after{content:"INFAER";position:absolute;right:18px;bottom:-12px;color:rgba(255,255,255,.06);font:900 clamp(46px,10vw,104px)/1 "Zen Kaku Gothic New",sans-serif;letter-spacing:.03em}
.info-hero>*{position:relative;z-index:1}
.info-hero .eyebrow{color:#f4c461}
.info-hero h1{max-width:760px;margin:6px 0 12px;color:#fff;font-family:"Shippori Mincho",serif;font-size:clamp(29px,5vw,44px);line-height:1.4}
.info-hero__lead{max-width:720px;margin:0;font-size:clamp(15px,2vw,17px);line-height:1.9}
.info-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:20px}
.info-actions a,.info-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:11px 21px;border-radius:999px;font:inherit;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}
.info-actions__primary{border:1px solid #f4b942;background:#f4b942;color:#123f3a;box-shadow:0 7px 18px rgba(244,185,66,.24)}
.info-actions__secondary{border:1px solid #b9d0ca;background:#fff;color:#123f3a}
.info-hero .info-actions__secondary{border-color:rgba(255,255,255,.52);background:transparent;color:#fff}
.info-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 30px}
.info-summary__item{padding:17px 15px;border:1px solid var(--line);border-radius:15px;background:#fff;text-align:center}
.info-summary__item b{display:block;margin-bottom:5px;color:#123f3a;font-size:16px}
.info-summary__item span{color:var(--muted);font-size:13px;line-height:1.65}
.info-intro{margin:20px 0;padding:20px 22px;border-left:5px solid #f4b942;border-radius:7px 16px 16px 7px;background:#fffaf0;color:var(--ink-soft);line-height:1.9}
.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 30px}
.info-card{padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 7px 20px rgba(18,63,58,.05)}
.info-card h3{margin:0 0 8px;color:#123f3a;font-size:17px}
.info-card p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.82}
.info-card p+p{margin-top:8px}
.info-card a{font-weight:800}
.info-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 30px}
.info-fact{padding:17px 18px;border:1px solid #dce8e2;border-radius:14px;background:#fff}
.info-fact strong{display:block;margin-bottom:5px;color:#123f3a}
.info-fact span{color:var(--ink-soft);font-size:13.5px;line-height:1.78}
.info-steps{display:grid;gap:14px;margin:18px 0 30px;counter-reset:info-step}
.info-step{position:relative;padding:21px 22px 21px 76px;border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:0 7px 20px rgba(18,63,58,.06);counter-increment:info-step}
.info-step::before{content:counter(info-step);position:absolute;top:20px;left:20px;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:#123f3a;color:#f4c461;font-size:20px;font-weight:900}
.info-step h3{margin:0 0 7px;color:#123f3a;font-size:18px}
.info-step p{margin:0;color:var(--ink-soft);line-height:1.85}
.info-table-wrap{margin:18px 0 30px;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:#fff}
.info-table{width:100%;min-width:620px;border-collapse:collapse}
.info-table caption{padding:15px 18px;background:#eef6f2;color:#123f3a;font-weight:800;text-align:left}
.info-table th,.info-table td{padding:13px 16px;border-top:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.75}
.info-table th{width:190px;color:#123f3a;background:#fbfdfc;font-size:14px}
.info-table td{color:var(--ink-soft);font-size:14px}
.info-note{margin:22px 0 30px;padding:clamp(20px,4vw,28px);border-left:5px solid #f4b942;border-radius:7px 16px 16px 7px;background:#fffaf0}
.info-note h2,.info-note h3{margin:0 0 9px;color:#123f3a;font-size:20px}
.info-note p{margin:0;color:var(--ink-soft);line-height:1.85}
.info-note p+p{margin-top:8px}
.info-faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 30px}
.info-faq article{padding:19px;border:1px solid var(--line);border-radius:16px;background:#fff}
.info-faq h3{margin:0 0 8px;color:#123f3a;font-size:16px}
.info-faq p{margin:0;color:var(--ink-soft);font-size:14px;line-height:1.8}
.info-related{margin:32px 0 8px;padding:clamp(22px,4vw,30px);border-radius:20px;background:linear-gradient(135deg,#123f3a,#1d5b53);color:#eef6f2}
.info-related h2{margin:0;padding:0;border:0;color:#fff;font-family:"Shippori Mincho",serif;font-size:clamp(22px,3.4vw,29px)}
.info-related h2::before,.info-related h2::after{content:none;display:none}
.info-related p{max-width:720px;margin:10px 0 0;line-height:1.85}
.info-related .info-actions__secondary{border-color:rgba(255,255,255,.55);background:transparent;color:#fff}
.course-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 30px}
.course-link{display:flex;min-width:0;flex-direction:column;align-items:center;padding:19px;border:1px solid #dce8e2;border-radius:17px;background:#fff;text-align:center}
.course-link h3{margin:0 0 5px;color:#123f3a;font-size:18px}
.course-link>p{min-height:3.6em;margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.7}
.course-link img{width:156px;height:156px;border:8px solid #fff;border-radius:8px;box-shadow:0 3px 14px rgba(18,63,58,.12)}
.course-link .info-actions{width:100%;margin-top:auto;padding-top:14px}
.course-link .info-actions a{width:100%;min-height:43px;padding:8px 11px;font-size:13px}
.teacher-copy{margin:22px 0 30px;padding:22px;border:1px solid #ead59a;border-radius:17px;background:#fffaf0}
.teacher-copy h3{margin:0 0 8px;color:#123f3a;font-size:18px}
.teacher-copy__text{margin:0;padding:16px;border-radius:12px;background:#fff;color:var(--ink-soft);font-size:14px;line-height:1.85}
.copy-status{min-height:1.7em;margin:8px 0 0;color:#52675e;font-size:13px;font-weight:700}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ranking-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 0 18px;padding:18px 20px;border:1px solid #d8e6df;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(31,66,52,.07)}
.ranking-summary__count{margin:0;color:#163d31;font-size:15px}
.ranking-summary__count strong{font-size:28px}
.ranking-summary__meta{margin:3px 0 0;color:#687b73;font-size:12px}
.ranking-refresh{min-height:44px;padding:8px 16px;border:2px solid #176c59;border-radius:999px;background:#fff;color:#125746;font:inherit;font-size:14px;font-weight:900;cursor:pointer}
.ranking-refresh:hover,.ranking-refresh:focus-visible{background:#176c59;color:#fff}
.ranking-refresh:disabled{cursor:wait;opacity:.6}
.ranking-panel{overflow:hidden;border:1px solid #d8e6df;border-radius:20px;background:#fff;box-shadow:0 12px 34px rgba(31,66,52,.09)}
.ranking-panel__head,.ranking-row{display:grid;grid-template-columns:74px minmax(160px,1.4fr) minmax(110px,.8fr) minmax(100px,.7fr) minmax(120px,.8fr) 100px;gap:10px;align-items:center}
.ranking-panel__head{padding:12px 18px;background:#edf5f1;color:#5f746b;font-size:12px;font-weight:900}
.ranking-list{margin:0;padding:0;list-style:none}
.ranking-row{min-height:74px;padding:12px 18px;border-top:1px solid #e6eee9}
.ranking-row:first-child{border-top:0}
.ranking-row:nth-child(-n+3){background:linear-gradient(90deg,#fffaf0,#fff 46%)}
.ranking-position{display:flex;align-items:center;gap:8px;color:#334d43;font-size:15px;font-weight:900}
.ranking-position__mark{display:grid;width:36px;height:36px;place-items:center;border-radius:12px;background:#e8f2ed;color:#175d4e}
.ranking-row:nth-child(1) .ranking-position__mark{background:#f7d66b;color:#604a00}
.ranking-row:nth-child(2) .ranking-position__mark{background:#dce4e7;color:#435158}
.ranking-row:nth-child(3) .ranking-position__mark{background:#e8b88c;color:#69401f}
.ranking-name{min-width:0;color:#173f32;font-size:16px;font-weight:900;overflow-wrap:anywhere}
.ranking-value{color:#213f35;font-size:15px;font-weight:700}
.ranking-value strong{font-size:20px}
.ranking-infer{display:inline-flex;width:46px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:#153f33;color:#fff;font-size:19px;font-weight:900}
.ranking-date{color:#6d7f78;font-size:12px}
.ranking-empty,.ranking-error{padding:48px 20px;text-align:center;color:#5e7169}
.ranking-error{color:#8b302a}
.ranking-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:18px}
.ranking-pagination button{min-height:42px;padding:7px 16px;border:1px solid #9fb8ae;border-radius:999px;background:#fff;color:#184c3e;font:inherit;font-size:14px;font-weight:900;cursor:pointer}
.ranking-pagination button:disabled{cursor:default;opacity:.4}
.ranking-pagination span{color:#52675e;font-size:13px;font-weight:700}
.ranking-empty p{margin:0}
.ranking-empty__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px}
.ranking-empty__actions a{display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:8px 15px;border:1px solid #176c59;border-radius:999px;background:#fff;color:#125746;font-weight:900;text-decoration:none}
.ranking-empty__actions a:first-child{background:#176c59;color:#fff}
.release-list{display:grid;gap:16px;margin:18px 0 30px}
.release-entry{padding:clamp(20px,4vw,27px);border:1px solid #dce8e2;border-radius:18px;background:#fff;box-shadow:0 8px 24px rgba(18,63,58,.06)}
.release-entry__meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:12px}
.release-entry__version{display:inline-flex;padding:5px 11px;border-radius:999px;background:#176c59;color:#fff;font-size:13px;font-weight:900}
.release-entry__date{color:var(--muted);font-size:13px;font-weight:700}
.release-entry h2{margin:0 0 10px;color:#123f3a;font-size:21px}
.release-entry ul{margin:0;padding-left:1.25rem;color:var(--ink-soft);font-size:14px;line-height:1.9}
.release-entry li+li{margin-top:4px}
.release-status{margin:14px 0 0;padding:13px 15px;border-left:4px solid #f4b942;border-radius:8px;background:#fffaf0;color:#5f5540;font-size:13.5px;font-weight:700;line-height:1.78}
@media(max-width:780px){
  .info-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .course-links{grid-template-columns:1fr}
  .course-link>p{min-height:0}
  .ranking-panel__head{display:none}
  .ranking-row{grid-template-columns:58px minmax(0,1fr) auto;gap:7px 10px;padding:14px}
  .ranking-position{grid-row:1/3;align-self:center}
  .ranking-position__mark{width:34px;height:42px}
  .ranking-name{grid-column:2;font-size:15px}
  .ranking-points{grid-column:3;grid-row:1;text-align:right}
  .ranking-rank{grid-column:2;grid-row:2}
  .ranking-learned{grid-column:3;grid-row:2;text-align:right}
  .ranking-date{grid-column:2/4;grid-row:3;text-align:right}
  .ranking-infer{width:38px;height:29px;font-size:16px}
}
@media(max-width:640px){
  .info-summary,.info-grid,.info-facts,.info-faq{grid-template-columns:1fr}
  .info-step{padding:72px 18px 20px}
  .info-step::before{top:18px;left:18px}
  .info-actions a,.info-actions button{width:100%}
  .ranking-summary{grid-template-columns:1fr}
  .ranking-refresh{width:100%}
}
