
.hr-palette-spring { --paper:#fff7fa; --ink:#423045; --blue:#923759; --muted:#66516a; --line:#ebcbd8; --wash:#f8dce8; --accent:#dae9cf; }
.hr-palette-summer { --paper:#eefbf8; --ink:#103d49; --blue:#006675; --muted:#365a63; --line:#b9dfdd; --wash:#bdece6; --accent:#c6e2fb; }
.hr-palette-autumn { --paper:#fff7e9; --ink:#482c29; --blue:#923d25; --muted:#664b40; --line:#e8ccb4; --wash:#f5d4aa; --accent:#edc5c1; }
.hr-palette-winter { --paper:#eff4ff; --ink:#202e51; --blue:#414b9b; --muted:#4d5b7a; --line:#ced9f0; --wash:#d6e1ff; --accent:#e8d7f4; }
body[class*="hr-palette-"]:not(.hr-palette-classic) .site-header { background:var(--paper); }
body[class*="hr-palette-"]:not(.hr-palette-classic) :is(.schedule-band,.connect-panel,.portrait,.news-image) {
    background:linear-gradient(120deg,var(--wash),var(--accent));
}
main :is(section,article) { transition:opacity .65s ease, transform .65s ease; }
.hr-await-reveal:not(:focus-within) { opacity:0; transform:translateY(18px); }

body { --gate:#a3c8ff; --gate-alt:#f4b8df; --gate-bg:#0c1529; }
.hr-palette-spring { --gate:#ffc3dc; --gate-alt:#c4efa9; --gate-bg:#241528; }
.hr-palette-summer { --gate:#87f4df; --gate-alt:#8aceff; --gate-bg:#07242f; }
.hr-palette-autumn { --gate:#ffcf91; --gate-alt:#ff9c91; --gate-bg:#291911; }
.hr-palette-winter { --gate:#bcd6ff; --gate-alt:#dbc3ff; --gate-bg:#11192f; }
.hr-console {
    box-sizing:border-box;
    width:min(580px,calc(100% - 32px));
    max-height:calc(100dvh - 32px);
    overflow:auto;
    padding:clamp(16px,4vw,32px);
    border:1px solid var(--gate);
    border-radius:12px;
    background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff08 5px 6px),var(--gate-bg);
    color:var(--gate);
    box-shadow:0 0 44px color-mix(in srgb,var(--gate) 20%,transparent);
    font-family:monospace;
}
.hr-console::backdrop { background:var(--gate-bg); }
.hr-console-meta { display:flex; justify-content:space-between; gap:12px; font-size:11px; letter-spacing:.15em; }
.hr-gate {
    position:relative;
    display:grid;
    place-items:center;
    width:clamp(76px,22vw,132px);
    aspect-ratio:1;
    margin:14px auto;
    border-radius:50%;
    background:radial-gradient(circle,var(--gate-bg) 25%,transparent 76%);
    color:var(--gate-alt);
    font-size:32px;
}
.hr-gate::before,.hr-gate::after {
    content:"";
    position:absolute;
    inset:0;
    border:1px dashed var(--gate);
    border-radius:50%;
    animation:hr-orbit 5s linear infinite;
}
.hr-gate::after {
    inset:12%;
    border:2px solid var(--gate-alt);
    border-inline-color:transparent;
    animation-direction:reverse;
    animation-duration:2s;
}
@keyframes hr-orbit { to { transform:rotate(1turn); } }
.hr-console-title { margin:0; text-align:center; font-size:clamp(20px,5vw,32px); letter-spacing:.12em; }
.hr-console-caption { text-align:center; color:var(--gate-alt); margin:0 0 12px; }
.hr-transit-meter { height:4px; overflow:hidden; background:#ffffff24; }
.hr-transit-meter::after {
    content:"";
    display:block;
    height:100%;
    background:linear-gradient(90deg,var(--gate),var(--gate-alt));
    transform-origin:left;
    animation:hr-transit var(--transit-time,3s) linear both;
}
@keyframes hr-transit { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.hr-console pre { min-height:6em; white-space:pre-wrap; overflow-wrap:anywhere; color:inherit; background:none; font-size:12px; }
.hr-console button { background:var(--gate); color:var(--gate-bg); border:0; border-radius:5px; padding:6px 14px; cursor:pointer; }
@media(prefers-reduced-motion:reduce) {
    main :is(section,article) { transition:none; }
    .hr-await-reveal:not(:focus-within) { opacity:1; transform:none; }
}
