:root{--portal-bg: #15181d;--portal-surface: #1e232b;--portal-border: #2d333d;--portal-text: #e6e8ec;--portal-text-muted: #9aa3b2;--portal-accent: #5b9eff;--portal-shadow: 0 4px 16px rgba(0, 0, 0, .25)}@media(prefers-color-scheme:light){:root{--portal-bg: #f6f7f9;--portal-surface: #ffffff;--portal-border: #d8dce2;--portal-text: #1a1d22;--portal-text-muted: #5a6270;--portal-accent: #2563eb;--portal-shadow: 0 2px 8px rgba(0, 0, 0, .08)}}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--portal-bg);color:var(--portal-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5}.portal{max-width:960px;margin:0 auto;padding:32px 20px 64px}.portal-hero{text-align:center;padding:24px 0 32px}.portal-hero__title{margin:0 0 16px;font-size:clamp(28px,5vw,40px);font-weight:700;letter-spacing:-.02em}.portal-hero__lead{margin:0;color:var(--portal-text-muted);font-size:15px}.portal-tools{margin-top:16px}.portal-tools__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.portal-tool{margin:0}.portal-tool__link{display:flex;align-items:center;gap:16px;padding:20px;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:12px;color:var(--portal-text);text-decoration:none;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;height:100%;box-sizing:border-box}.portal-tool__link:hover,.portal-tool__link:focus-visible{transform:translateY(-2px);border-color:var(--portal-accent);box-shadow:var(--portal-shadow);outline:none}.portal-tool__icon{font-size:36px;line-height:1;flex-shrink:0;width:48px;text-align:center}.portal-tool__body{flex:1;min-width:0}.portal-tool__title{margin:0 0 4px;font-size:17px;font-weight:600}.portal-tool__desc{margin:0;font-size:13px;color:var(--portal-text-muted);line-height:1.4}.portal-tool__arrow{font-size:20px;color:var(--portal-text-muted);transition:transform .15s ease,color .15s ease;flex-shrink:0}.portal-tool__link:hover .portal-tool__arrow,.portal-tool__link:focus-visible .portal-tool__arrow{transform:translate(4px);color:var(--portal-accent)}.portal-tool__link--soon{cursor:default;opacity:.55;border-style:dashed}.portal-tool__badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:999px;background:var(--portal-border);color:var(--portal-text-muted);font-size:11px;font-weight:600;vertical-align:middle;white-space:nowrap}.portal-tool__soon-note{margin:6px 0 0;font-size:12px;color:var(--portal-text-muted);line-height:1.4}.portal-readmore{margin-top:32px}.portal-readmore__link{display:flex;align-items:center;gap:16px;padding:16px 20px;background:var(--portal-surface);border:1px solid var(--portal-border);border-left:3px solid var(--portal-accent);border-radius:0 10px 10px 0;color:var(--portal-text);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}.portal-readmore__link:hover,.portal-readmore__link:focus-visible{border-color:var(--portal-accent);box-shadow:var(--portal-shadow);outline:none}.portal-readmore__icon{font-size:24px;line-height:1;flex-shrink:0}.portal-readmore__body{display:flex;flex-direction:column;gap:3px;min-width:0}.portal-readmore__title{font-size:15px;font-weight:600}.portal-readmore__desc{font-size:12px;color:var(--portal-text-muted);line-height:1.5}.portal-readmore__arrow{margin-left:auto;font-size:18px;color:var(--portal-text-muted);flex-shrink:0;transition:transform .2s ease}.portal-readmore__link:hover .portal-readmore__arrow,.portal-readmore__link:focus-visible .portal-readmore__arrow{transform:translate(4px)}.portal-guides{margin-top:8px}.portal-hero--compact{padding:8px 0 20px}.portal-guides__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.portal-guide{margin:0}.portal-guide__link{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:10px;color:var(--portal-text);text-decoration:none;transition:border-color .2s ease,box-shadow .2s ease}.portal-guide__link:hover,.portal-guide__link:focus-visible{border-color:var(--portal-accent);box-shadow:var(--portal-shadow);outline:none}.portal-guide__title{font-size:14px;font-weight:600}.portal-guide__desc{font-size:12px;color:var(--portal-text-muted);line-height:1.5}.portal-guide__tool{margin-top:auto;padding-top:6px;font-size:11px;color:var(--portal-accent)}.portal-changelog{margin-top:40px;background:var(--portal-surface);border:1px solid var(--portal-border);border-radius:12px;overflow:hidden}.portal-changelog__summary{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;cursor:pointer;font-size:14px;font-weight:600;color:var(--portal-text);list-style:none;-webkit-user-select:none;user-select:none}.portal-changelog__summary::-webkit-details-marker{display:none}.portal-changelog__summary:hover,.portal-changelog__summary:focus-visible{background:#7f7f7f0f;outline:none}.portal-changelog__chevron{font-size:14px;color:var(--portal-text-muted);transition:transform .2s ease}.portal-changelog[open] .portal-changelog__chevron{transform:rotate(180deg)}.portal-changelog__list{list-style:none;margin:0;padding:4px 20px 16px;border-top:1px solid var(--portal-border);max-height:320px;overflow-y:auto}.portal-changelog__item{padding:8px 0;font-size:13px;line-height:1.5;color:var(--portal-text);border-bottom:1px dashed var(--portal-border)}.portal-changelog__item:last-child{border-bottom:none}.portal-changelog__date{color:var(--portal-text-muted);margin-right:4px;font-variant-numeric:tabular-nums}.portal-changelog__empty{padding:12px 0;font-size:13px;color:var(--portal-text-muted)}.portal-footer{margin-top:32px;padding:24px 0;border-top:1px solid var(--portal-border);text-align:center}.portal-footer__links{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:11px;color:var(--portal-text-muted)}.portal-footer__link,.portal-footer__link-text{color:var(--portal-text-muted);text-decoration:none;opacity:.7}.portal-footer__link:hover{opacity:1;text-decoration:underline}.portal-footer__link-sep{opacity:.4}.portal-footer__note{margin:0;font-size:12px;color:var(--portal-text-muted);line-height:1.6}
