:root{--gold: #ffce34;--gold-soft: #ffcc66;--ink: #212121;--ink-strong: #000000;--muted: #757575;--faint: #9e9e9e;--surface: #ffffff;--bg: #fafafa;--surface-variant: #f5f5f5;--border: #e0e0e0;--logo-chip: #111111;--portal-hover: #fffdf5;--bg-glow-1: rgba(255, 206, 52, .35);--bg-glow-2: rgba(255, 204, 102, .18);--bg-top: #fffef8;--radius: 12px;--radius-sm: 8px;--font: "Montserrat", system-ui, sans-serif;--shadow: 0 4px 24px rgba(0, 0, 0, .06);--portal-hover-shadow: 0 8px 28px rgba(255, 206, 52, .22)}[data-theme=dark]{--ink: #e0e0e0;--ink-strong: #f5f5f5;--muted: #9e9e9e;--faint: #757575;--surface: #1a1a1a;--bg: #121212;--surface-variant: #242424;--border: #333333;--logo-chip: #111111;--portal-hover: #242018;--bg-glow-1: rgba(255, 206, 52, .12);--bg-glow-2: rgba(255, 204, 102, .08);--bg-top: #121212;--shadow: 0 4px 24px rgba(0, 0, 0, .35);--portal-hover-shadow: 0 8px 28px rgba(255, 206, 52, .15)}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;color:var(--ink);font-family:var(--font);background-color:var(--bg);background-image:radial-gradient(ellipse 90% 55% at 50% -10%,var(--bg-glow-1),transparent 55%),radial-gradient(ellipse 50% 40% at 100% 100%,var(--bg-glow-2),transparent 50%),linear-gradient(180deg,var(--bg-top) 0%,var(--bg) 45%,var(--surface-variant) 100%)}#app{min-height:100vh}.chrome{position:fixed;top:1rem;z-index:10;display:flex;gap:.1rem;padding:.2rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow)}.theme{inset-inline-start:1rem}.lang{inset-inline-end:1rem}.chrome__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:6px;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:.4rem .55rem;cursor:pointer;transition:color .15s ease,background .15s ease}.chrome__btn:hover,.chrome__btn:focus-visible{color:var(--ink-strong);outline:none}.chrome__btn.is-active{color:var(--ink-strong);background:var(--gold)}.theme__btn{min-width:2.25rem;font-size:.85rem;letter-spacing:0}.shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4.5rem 1.5rem 2.5rem;animation:fade-up .5s ease both}.brand-block{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2.25rem;animation:fade-up .6s ease both}.logo-chip{display:inline-flex;align-items:center;justify-content:center;background:var(--logo-chip);border-radius:var(--radius-sm);padding:.65rem 1.1rem;margin-bottom:1.35rem;animation:logo-in .7s ease both}.logo-chip img{display:block;height:clamp(28px,5vw,40px);width:auto}.brand{font-size:clamp(1.85rem,4.5vw,2.6rem);font-weight:700;letter-spacing:-.02em;color:var(--ink-strong);line-height:1.15}.brand__accent{color:transparent;background:linear-gradient(120deg,#c9a008 0%,var(--gold) 45%,var(--gold-soft) 100%);background-clip:text;-webkit-background-clip:text}.subtitle{margin-top:.75rem;color:var(--muted);font-size:.95rem;font-weight:500;animation:fade-up .7s ease both}.portals{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;width:100%;max-width:720px;animation:fade-up .8s ease both}a.portal{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;padding:1.5rem 1.35rem;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--ink-strong);background:var(--surface);box-shadow:var(--shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}a.portal:hover,a.portal:focus-visible{transform:translateY(-3px);border-color:var(--gold);background:var(--portal-hover);box-shadow:var(--portal-hover-shadow);outline:none}.portal__label{font-size:1rem;font-weight:600}.portal__desc{font-size:.8rem;font-weight:400;color:var(--muted);line-height:1.4}.portal__go{margin-top:.55rem;font-size:.75rem;font-weight:600;color:var(--ink-strong);background:var(--gold);border-radius:var(--radius-sm);padding:.35rem .7rem}.footer{margin-top:2.75rem;color:var(--faint);font-size:.75rem;font-weight:500;animation:fade-up .9s ease both}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes logo-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.shell,.brand-block,.subtitle,.portals,.footer,.logo-chip,a.portal,.chrome__btn{animation:none;transition:none}}
