﻿
:root, .theme-dark {
    --fg: #ffffff;
    --bg: #121212;
    --ink-rgb: 255, 255, 255;
    --paper-rgb: 18, 18, 18;
    --surface-rgb: 24, 24, 24;
    --shadow-k: 1;
    --fg-2: #e5e5e5;
    --fg-3: #d4d4d4;
    --pill-hover: #e2e2e2;
    --pill-active: #cfcfcf;
    --muted: #a3a3a3;
    --muted-2: #8a8a8a;
    --muted-3: #737373;
    --gray-666: #666666;
    --gray-555: #555555;
    --surface-0: #161616;
    --surface: #181818;
    --surface-1: #1b1b1b;
    --surface-2: #1f1f1f;
    --surface-3: #272727;
    --line: #333333;
    --up: #86efac;
    --up-2: #4ade80;
    --down: #fca5a5;
    --down-2: #f87171;
    --background: var(--bg);
    --foreground: var(--fg);
    --muted-foreground: var(--muted);
    --border: rgba(var(--ink-rgb), 0.14);
    color-scheme: dark;
}
:root[data-theme="light"] {
    --fg: #0a0a0a;
    --bg: #ffffff;
    --ink-rgb: 0, 0, 0;
    --paper-rgb: 255, 255, 255;
    --surface-rgb: 245, 245, 245;
    --shadow-k: 0.25;
    --fg-2: #1f1f1f;
    --fg-3: #2e2e2e;
    --pill-hover: #262626;
    --pill-active: #333333;
    --muted: #575757;
    --muted-2: #666666;
    --muted-3: #737373;
    --gray-666: #8a8a8a;
    --gray-555: #a3a3a3;
    --surface-0: #fafafa;
    --surface: #f5f5f5;
    --surface-1: #f2f2f2;
    --surface-2: #f0f0f0;
    --surface-3: #e8e8e8;
    --line: #d9d9d9;
    --up: #15803d;
    --up-2: #16a34a;
    --down: #b91c1c;
    --down-2: #dc2626;
    color-scheme: light;
}

.theme-dark { color: var(--fg); }
:root {
    --max-width: 1200px;
    --serif: "Instrument Serif", serif;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--foreground);
    background: var(--background);
    line-height: 1.6;
}

a {
    color: inherit;
    text-decoration: none;
}

.accent {
    font-family: var(--serif);
    font-style: italic;
    font-weight: 400;
}
.liquid-glass {
    background: rgba(var(--ink-rgb), 0.01);
    background-blend-mode: luminosity;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    border: none;
    box-shadow: inset 0 1px 1px rgba(var(--ink-rgb), 0.1);
    position: relative;
    overflow: hidden;
}

.liquid-glass::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 1.4px;
    background: linear-gradient(
        180deg,
        rgba(var(--ink-rgb), 0.45) 0%,
        rgba(var(--ink-rgb), 0.15) 20%,
        rgba(var(--ink-rgb), 0) 40%,
        rgba(var(--ink-rgb), 0) 60%,
        rgba(var(--ink-rgb), 0.15) 80%,
        rgba(var(--ink-rgb), 0.45) 100%
    );
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
}
.fade-up {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fade-up.is-visible {
    opacity: 1;
    transform: translateY(0);
}
@keyframes hero-in {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
.hero .fade-up { opacity: 1; transform: none; transition: none; animation: hero-in 0.45s ease-out both; }
.hero .fade-up[data-delay="0.1"] { animation-delay: 0.05s; }
.hero .fade-up[data-delay="0.2"] { animation-delay: 0.1s; }
.hero .fade-up[data-delay="0.3"] { animation-delay: 0.15s; }
.hero .fade-up[data-delay="0.4"] { animation-delay: 0.2s; }
@media (prefers-reduced-motion: reduce) {
    .fade-up, .hero .fade-up { opacity: 1; transform: none; transition: none; animation: none; }
}
.site-header {
    position: fixed;
    inset-inline: 0;
    top: 0;
    z-index: 50;
    padding: 1rem 2rem;
    border-bottom: 1px solid transparent;
    transition: background-color 0.35s ease, border-color 0.35s ease, padding 0.35s ease, -webkit-backdrop-filter 0.35s ease, backdrop-filter 0.35s ease;
}
.site-header.is-scrolled {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
    background: rgba(var(--paper-rgb), 0.62);
    -webkit-backdrop-filter: blur(14px) saturate(140%);
    backdrop-filter: blur(14px) saturate(140%);
    border-bottom-color: rgba(var(--ink-rgb), 0.07);
}

.site-header__inner {
    max-width: var(--max-width);
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}

.site-header__brand {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.brand-logo {
    height: 32px;
    width: auto;
    display: block;
}
.brand-name {

    font-family: "Poppins", "Inter", sans-serif;
    font-size: 0.95rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    line-height: 1;
    color: var(--fg);
    white-space: nowrap;
}

.site-nav ul {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

.site-nav li:not(:last-child)::after {
    content: "â€¢";
    color: rgba(var(--ink-rgb), 0.3);
    margin: 0 0.9rem;
}

.site-nav a {
    color: var(--muted-foreground);
    font-size: 0.95rem;
    font-weight: 500;
    transition: color 0.2s ease;
}

.site-nav a:hover {
    color: var(--foreground);
}

.site-header__social {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.site-header__social a {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--muted-foreground);
    transition: color 0.2s ease;
}

.site-header__social a:hover {
    color: var(--foreground);
}

.site-header__social svg {
    width: 16px;
    height: 16px;
}
.btn-pill {
    display: inline-block;
    padding: 0.75rem 1.6rem;
    border-radius: 8px;
    background: var(--foreground);
    color: var(--background) !important;
    font-size: 0.94rem;
    font-weight: 700;
    white-space: nowrap;
    transition: transform 0.2s ease;
}

.btn-pill:hover {
    transform: scale(1.03);
}

.btn-outline {
    display: inline-block;
    padding: 0.75rem 1.6rem;
    border-radius: 8px;
    font-size: 0.94rem;
    font-weight: 600;
    transition: transform 0.2s ease;

    color: var(--foreground);
    font-family: inherit;
    cursor: pointer;
}

.btn-outline:hover {
    transform: scale(1.03);
}
.hero {
    position: relative;
    display: flex;
    min-height: 100dvh;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
    text-align: center;
}

.hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: grayscale(1) contrast(1.08);
    z-index: 0;
}

.hero__fallback-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    background: var(--bg);
    overflow: hidden;
}

.hero__fallback-bg::before,
.hero__fallback-bg::after {
    content: "";
    position: absolute;
    inset: -20%;
}

.hero__fallback-bg::before {
    background:
        radial-gradient(45% 40% at 25% 20%, rgba(var(--ink-rgb), 0.14), transparent 60%),
        radial-gradient(40% 35% at 80% 15%, rgba(var(--ink-rgb), 0.08), transparent 60%),
        radial-gradient(55% 45% at 50% 100%, rgba(var(--ink-rgb), 0.06), transparent 60%);
    animation: driftA 22s ease-in-out infinite alternate;
}

.hero__fallback-bg::after {
    background: repeating-linear-gradient(
        115deg,
        rgba(var(--ink-rgb), 0.025) 0px,
        rgba(var(--ink-rgb), 0.025) 1px,
        transparent 1px,
        transparent 60px
    );
    animation: driftB 30s linear infinite;
}

@keyframes driftA {
    0% { transform: translate(0, 0) scale(1); }
    100% { transform: translate(-4%, 3%) scale(1.08); }
}

@keyframes driftB {
    0% { transform: translate(0, 0); }
    100% { transform: translate(60px, 40px); }
}

.hero__fade {
    position: absolute;
    inset-inline: 0;
    bottom: 0;
    height: 16rem;
    background: linear-gradient(to top, var(--background), transparent);
    z-index: 1;
}

.hero__bottom-cta {
    position: absolute;
    z-index: 3;
    left: 50%;
    bottom: 2.5rem;
    transform: translateX(-50%);
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--foreground);
    padding-bottom: 0.2rem;
    border-bottom: 1px solid rgba(var(--ink-rgb), 0.4);
    transition: border-color 0.2s ease, gap 0.2s ease;
}

.hero__bottom-cta:hover {
    border-color: rgba(var(--ink-rgb), 0.9);
    gap: 0.75rem;
}
.hero__scrim {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(to bottom, rgba(var(--paper-rgb), 0.55) 0%, rgba(var(--paper-rgb), 0.15) 35%, rgba(var(--paper-rgb), 0.35) 65%, rgba(var(--paper-rgb), 0.6) 100%),
        radial-gradient(60% 55% at 50% 42%, rgba(var(--paper-rgb), 0.45), transparent 70%);
}
.hero__media--color { filter: none; }
.hero__scrim--soft {
    background: radial-gradient(58% 42% at 50% 40%, rgba(var(--paper-rgb), 0.32), transparent 75%);
}

.template-homepage .site-nav a,
.template-homepage .site-header__social a,
.template-homepage .avatar-proof span.label { color: rgba(255, 255, 255, 0.88); text-shadow: 0 1px 8px rgba(0, 0, 0, 0.25); }
.template-homepage .site-nav a:hover,
.template-homepage .site-header__social a:hover { color: #fff; }
.template-homepage .site-nav li:not(:last-child)::after { color: rgba(255, 255, 255, 0.6); }

.hero__content {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    display: flex;
    width: 100%;
    max-width: 48rem;
    flex-direction: column;
    align-items: center;
    padding: 9rem 1.5rem 0;
}

.avatar-proof {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    justify-content: center;
}

.avatar-proof__stack {
    display: flex;
}

.avatar-proof__stack span {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 2px solid var(--background);
    margin-left: -8px;
    overflow: hidden;
    display: inline-flex;
}

.avatar-proof__stack span:first-child {
    margin-left: 0;
}

.avatar-proof span.label {
    font-size: 0.9rem;
    color: var(--muted-foreground);
}

.hero h1 {
    margin: 1.5rem 0 0;
    width: 100%;
    font-size: clamp(2.4rem, 7vw, 6rem);
    font-weight: 500;
    letter-spacing: -0.03em;
    line-height: 1.05;
}
.hero p.hero__subtitle {
    margin: 1.4rem auto 0;
    max-width: 40rem;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    font-size: clamp(0.9rem, 1.6vw, 1.1rem);
    font-weight: 600;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    color: rgba(var(--ink-rgb), 0.92);
}
.hero p.hero__subtitle::before,
.hero p.hero__subtitle::after {
    content: "";
    width: clamp(1.5rem, 5vw, 3.5rem);
    height: 1px;
    background: rgba(var(--ink-rgb), 0.55);
}

.subscribe-form {
    margin-top: 2.5rem;
    display: flex;
    width: 100%;
    max-width: 30rem;
    align-items: center;
    gap: 0.5rem;
    border-radius: 8px;
    padding: 0.4rem;
}

.subscribe-form input {
    min-width: 0;
    flex: 1;
    background: transparent;
    border: none;
    outline: none;
    color: var(--foreground);
    padding: 0.7rem 1.1rem;
    font-size: 0.9rem;
}

.subscribe-form input::placeholder {
    color: var(--muted-foreground);
}

.subscribe-form button {
    flex-shrink: 0;
    border: none;
    border-radius: 8px;
    padding: 0.75rem 1.8rem;
    background: var(--foreground);
    color: var(--background);
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.subscribe-form button:hover {
    transform: scale(1.03);
}
.section {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 5rem 2rem;
}

.section-heading {
    text-align: center;
    max-width: 44rem;
    margin: 0 auto 3rem;
}

.section-heading h2 {
    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 400;
    letter-spacing: -0.03em;
    line-height: 1.1;
    margin: 0 0 1.5rem;
}

.section-heading p {
    color: var(--muted-foreground);
    font-size: 1.05rem;
    max-width: 38rem;
    margin: 0 auto;
}
.step-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 3rem;
    list-style: none;
    padding: 0;
    margin: 0 0 3rem;
}

.step-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.step-card__num {
    display: flex;
    aspect-ratio: 1;
    width: 100%;
    max-width: 140px;
    align-items: center;
    justify-content: center;
    border-radius: 1.4rem;
    font-family: var(--serif);
    font-style: italic;
    font-size: 3rem;
    color: rgba(var(--ink-rgb), 0.9);
}

.step-card h3 {
    margin: 1.75rem 0 0;
    font-size: 1rem;
    font-weight: 600;
}

.section-closing {
    text-align: center;
    color: var(--muted-foreground);
    font-size: 0.95rem;
}
.cta {
    border-top: 1px solid var(--border);
    padding: 6rem 2rem;
}

.cta__inner {
    max-width: 40rem;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.cta__mark {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid rgba(var(--ink-rgb), 0.6);
    position: relative;
}

.cta__mark::after {
    content: "";
    position: absolute;
    inset: 8px;
    border-radius: 50%;
    border: 1px solid rgba(var(--ink-rgb), 0.6);
}

.cta h2 {
    margin: 1.75rem 0 0;
    font-size: clamp(1.8rem, 4.5vw, 3.25rem);
    font-weight: 400;
    letter-spacing: -0.02em;
}

.cta p {
    margin: 1.25rem 0 0;
    color: var(--muted-foreground);
    font-size: 1.05rem;
    max-width: 32rem;
}

.cta__actions {
    display: flex;
    gap: 0.85rem;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2.25rem;
}
.page-header {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 8rem 2rem 1.5rem;
}

.page-header h1 {
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    margin-bottom: 0.6rem;
}

.page-header__intro {
    color: var(--muted-foreground);
    font-size: 1.05rem;
}

.article-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 1.25rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.article-card {
    display: block;
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1.5rem;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.article-card:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--ink-rgb), 0.4);
}

.article-card time {
    display: block;
    font-size: 0.85rem;
    color: var(--muted-foreground);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5rem;
}

.article-card h3 {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
}

.article-card p {
    color: var(--muted-foreground);
    font-size: 0.92rem;
}

.season-block {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 2rem 3rem;
}

.season-block h2 {
    font-size: 1.1rem;
    font-weight: 600;
    color: var(--muted-foreground);
    border-bottom: 1px solid var(--border);
    padding-bottom: 0.75rem;
    margin-bottom: 1.25rem;
}
.issue-cover {
    display: block;
    perspective: 1000px;
}

.issue-cover__frame {
    display: block;
    position: relative;
    aspect-ratio: 3 / 4;
    transform-style: preserve-3d;
    transform-origin: left center;
    transition: transform 0.2s ease-out;
}

.issue-cover:hover .issue-cover__frame,
.issue-card:hover .issue-cover__frame {
    transform: rotateY(-18deg);
}

.issue-cover__pages {
    position: absolute;
    inset: 3% -4% 3% 3%;
    border-radius: 0 3px 3px 0;
    background:
        repeating-linear-gradient(
            to right,
            var(--pill-hover) 0,
            var(--pill-hover) 1px,
            var(--pill-active) 1px,
            var(--pill-active) 2px
        );
    box-shadow: inset -2px 0 4px rgba(0, 0, 0, calc(0.25 * var(--shadow-k)));
}

.issue-cover__image {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 12px 30px rgba(0, 0, 0, calc(0.5 * var(--shadow-k)));
    background: var(--bg-soft, var(--surface-1));
}

.issue-cover__image--placeholder {
    background: var(--surface-2);
    border: 1px solid var(--border);
    color: var(--muted-foreground);
    font-size: 0.94rem;
    text-align: center;
    padding: 1rem;
}

.issue-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 2rem 1.5rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

.issue-card {
    display: flex;
    flex-direction: column;
    gap: 0.9rem;
}

.issue-card time {
    font-size: 0.82rem;
    color: var(--muted-foreground);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.issue-card h3 {
    margin: 0.15rem 0 0;
    font-size: 0.95rem;
    font-weight: 600;
}
.issue-featured {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 1rem 2rem 4rem;
    display: grid;
    grid-template-columns: minmax(220px, 320px) 1fr;
    gap: 3rem;
    align-items: end;
}

.issue-featured__cover-link {
    display: block;
}

.issue-cover--large {
    max-width: 320px;
}

.issue-featured__body {
    padding-bottom: 0.5rem;
}

.badge-latest {
    display: inline-block;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--background);
    background: var(--foreground);
    padding: 0.35rem 0.8rem;
    border-radius: 8px;
    margin-bottom: 1rem;
}

.issue-featured__body h2 {
    font-size: clamp(1.6rem, 3.5vw, 2.5rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0 0 0.4rem;
}

.issue-featured__number {
    margin: 0 0 0.5rem;
    font-size: 0.94rem;
    font-weight: 600;
    color: var(--muted-foreground);
}

.issue-featured__body time {
    display: block;
    font-size: 0.875rem;
    color: var(--muted-foreground);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 1rem;
}

.issue-featured__summary {
    padding: 0 !important;
    max-width: 40rem !important;
    margin: 0 0 1.75rem !important;
    color: rgba(var(--ink-rgb), 0.85);
}

@media (max-width: 720px) {
    .issue-featured {
        grid-template-columns: 1fr;
    }
    .issue-cover--large {
        max-width: 220px;
    }
}

.flipbook-cover img {
    max-width: 320px;
    width: 100%;
    height: auto;
    border-radius: 7px;
    border: 1px solid var(--border);
}

.flipbook-embed {
    margin: 2rem 0;
}

.flipbook-embed iframe {
    width: 100%;
    height: 80vh;
    border: 1px solid var(--border);
    border-radius: 7px;
}

.site-main .rich-text {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 2rem 4rem;
    color: rgba(var(--ink-rgb), 0.85);
}

.rich-text h2,
.rich-text h3 {
    margin-top: 1.75rem;
    color: var(--foreground);
}

.rich-text img {
    max-width: 100%;
    height: auto;
    border-radius: 7px;
}

.rich-text a {
    text-decoration: underline;
}
.page-interlude {
    max-width: var(--max-width);
    margin: 3rem auto;
    padding: 0 2rem;
    text-align: center;
}

.page-interlude img {
    width: 100%;
    max-height: 480px;
    object-fit: cover;
    border-radius: 10px;
    box-shadow: 0 20px 50px rgba(0, 0, 0, calc(0.5 * var(--shadow-k)));
}

.page-interlude figcaption {
    margin-top: 0.85rem;
    font-size: 0.94rem;
    color: var(--muted-foreground);
}
.contact-buttons {
    max-width: var(--max-width);
    margin: 3rem auto 4rem;
    padding: 0 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: center;
}

.contact-button {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.9rem 1.6rem;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--muted-foreground);
    transition: color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.contact-button svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    transition: filter 0.25s ease;
}

.contact-button:hover {
    color: var(--foreground);
    transform: translateY(-2px) scale(1.03);
    box-shadow: 0 0 24px rgba(var(--ink-rgb), 0.25);
}
.auth-wrap {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 8rem 2rem 6rem;
    display: flex;
    justify-content: center;
}

.auth-card {
    width: 100%;
    max-width: 26rem;
    border: 1px solid var(--border);
    border-radius: 11px;
    padding: 2.5rem 2rem;
}

.auth-card h1 {
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0 0 0.5rem;
    text-align: center;
}

.auth-card__intro {
    text-align: center;
    color: var(--muted-foreground);
    font-size: 0.9rem;
    margin: 0 0 2rem;
}

.auth-form {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.auth-form label {
    font-size: 0.875rem;
    color: var(--muted-foreground);
    margin-top: 0.75rem;
}

.auth-form input {
    background: var(--bg-soft, var(--surface));
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 0.7rem 0.9rem;
    color: var(--foreground);
    font-size: 0.95rem;
    outline: none;
    transition: border-color 0.2s ease;
}

.auth-form input:focus {
    border-color: rgba(var(--ink-rgb), 0.5);
}

.auth-form .btn-pill {
    margin-top: 1.75rem;
    border: none;
    cursor: pointer;
    text-align: center;
}

.auth-card__switch {
    text-align: center;
    margin-top: 1.75rem;
    font-size: 0.94rem;
    color: var(--muted-foreground);
}

.auth-card__switch a {
    color: var(--foreground);
    text-decoration: underline;
}

.auth-error {
    color: var(--down-2);
    font-size: 0.9rem;
    margin: 0.3rem 0;
}
.site-messages {
    position: fixed;
    top: 1.25rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    width: min(90vw, 26rem);
}

.site-message {
    padding: 0.85rem 1.25rem;
    border-radius: 7px;
    font-size: 0.95rem;
    text-align: center;
    color: var(--foreground);
    background: var(--surface);
    border: 1px solid var(--border);
    box-shadow: 0 12px 30px rgba(0, 0, 0, calc(0.5 * var(--shadow-k)));
}

.site-message--success {
    border-color: rgba(120, 220, 150, 0.5);
}

.site-message--error {
    border-color: rgba(255, 120, 120, 0.5);
}
.site-footer {
    border-top: 1px solid var(--border);
}

.site-footer__inner {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 2rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 1rem;
    color: var(--muted-foreground);
    font-size: 0.94rem;
}

.site-footer__legal {
    display: flex;
    gap: 1.25rem;
}

.site-footer__legal a {
    color: var(--muted-foreground);
    transition: color 0.2s ease;
}

.site-footer__legal a:hover {
    color: var(--foreground);
}
.ofisplus-panel {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 2rem 4rem;
}

.ofisplus-panel__inner {
    border-radius: 11px;
    padding: 2.5rem;
    text-align: center;
}

.ofisplus-panel__inner h2 {
    font-size: clamp(1.6rem, 3.5vw, 2.2rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0 0 0.6rem;
}

.ofisplus-panel__text {
    color: rgba(var(--ink-rgb), 0.85);
    max-width: 34rem;
    margin: 0 auto 1.5rem;
}
.ofisplus-panel__text::after, .glint::after {
    content: "";
    display: block;
    width: min(340px, 70%);
    height: 1px;
    margin: 1.1rem auto 0;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent) no-repeat,
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
    background-size: 35% 100%, 100% 100%;
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.45));
    animation: panel-glint 6s ease-in-out infinite alternate;
}
@keyframes panel-glint { from { background-position: -60% 0, 0 0; } to { background-position: 160% 0, 0 0; } }
@media (prefers-reduced-motion: reduce) { .ofisplus-panel__text::after, .glint::after { animation: none; background-position: 50% 0, 0 0; } }

.ofisplus-hero,
.ofisplus-series {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 8rem 2rem 2rem;
}

.ofisplus-hero h1,
.ofisplus-series h1 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 500;
    letter-spacing: -0.02em;
    margin: 0.5rem 0;
}

.ofisplus-hero__intro,
.ofisplus-series__intro {
    color: rgba(var(--ink-rgb), 0.85);
    max-width: 40rem;
}

.ofisplus-series__back {
    color: var(--muted-foreground);
    font-size: 0.94rem;
}

.ofisplus-grid-section {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 2rem 5rem;
}

.ofisplus-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 1.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.ofisplus-card {
    border-radius: 11px;
}

.ofisplus-card a {
    display: block;
    padding: 1.75rem;
}

.ofisplus-card__source {
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--muted-foreground);
}

.ofisplus-card h2,
.ofisplus-card h3 {
    margin: 0.5rem 0 0;
    font-size: 1.1rem;
    font-weight: 600;
}

.ofisplus-card__intro {
    color: rgba(var(--ink-rgb), 0.7);
    font-size: 0.94rem;
    margin-top: 0.5rem;
}
.ofisplus-card--locked { position: relative; overflow: visible; z-index: 2; }
.ofisplus-card__locked { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.75rem; }
.ofisplus-card--locked h2 { color: rgba(var(--ink-rgb), 0.45); }
.lock-badge { position: relative; flex-shrink: 0; width: 22px; height: 22px; color: rgba(var(--ink-rgb), 0.7); cursor: help; outline: none; }
.lock-badge svg { width: 100%; height: 100%; }
.lock-badge::after {
    content: attr(data-tip);
    position: absolute; right: -0.5rem; bottom: calc(100% + 10px);
    width: 220px; padding: 0.55rem 0.75rem; border-radius: 6px;
    background: var(--fg); color: var(--bg); font-size: 0.85rem; font-weight: 500; line-height: 1.4; text-align: left;
    opacity: 0; visibility: hidden; transition: opacity 0.15s ease; pointer-events: none; z-index: 20;
}
.lock-badge:hover::after, .lock-badge:focus::after { opacity: 1; visibility: visible; }
.access-actions { text-align: center; margin-top: 0.5rem; }
.access-lock { width: 40px; height: 40px; margin: 0 auto 1rem; color: rgba(var(--ink-rgb), 0.8); }

.ofisplus-series__latest {
    margin: 1.5rem 0;
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.ofisplus-series__latest-value {
    font-size: clamp(2rem, 5vw, 3rem);
    font-weight: 600;
}

.ofisplus-series__latest-value small {
    font-size: 1rem;
    font-weight: 500;
    color: var(--muted-foreground);
}

.ofisplus-series__latest-label {
    color: var(--muted-foreground);
    font-size: 0.94rem;
}

.ofisplus-chart-wrap,
.ofisplus-placeholder {
    border-radius: 11px;
    padding: 1.75rem;
    margin-bottom: 4rem;
}

.ofisplus-chart-wrap {
    position: relative;
    padding-top: 3rem;
}

.ofisplus-select {
    background: var(--bg);
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    color: var(--foreground);
    font-family: inherit;
    font-size: 0.95rem;
    min-width: min(260px, 100%);
    max-width: 100%;
}
.ofisplus-daterange label { max-width: 100%; min-width: 0; }
.nfp-table .nfp-level-0 td { font-weight: 600; color: var(--foreground); }
.nfp-table .nfp-level-1 td:first-child { padding-left: 1.25rem; font-weight: 600; }
.nfp-table .nfp-level-2 td:first-child { padding-left: 2.25rem; }
.nfp-table .nfp-level-3 td:first-child { padding-left: 3.25rem; color: var(--muted-foreground); }
.nfp-table .nfp-level-4 td:first-child { padding-left: 4.25rem; color: var(--muted-foreground); }
.chart-download-btn {
    position: absolute;
    top: 0.6rem;
    right: 0.6rem;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1px solid var(--border);
    background: rgba(var(--paper-rgb), 0.6);
    color: var(--muted-foreground);
    cursor: pointer;
    transition: color 0.15s, border-color 0.15s;
}

.chart-download-btn:hover,
.chart-download-btn:focus-visible {
    color: var(--foreground);
    border-color: var(--foreground);
}

.ofisplus-placeholder {
    color: var(--muted-foreground);
    text-align: center;
}

.ofisplus-revenue {
    border-radius: 11px;
    padding: 1.75rem;
    margin-bottom: 4rem;
}

.ofisplus-chart-heading {
    font-size: 1rem;
    font-weight: 600;
    margin: 0 0 0.75rem;
    color: var(--muted-foreground);
}

.ofisplus-revenue__period {
    color: var(--muted-foreground);
    font-size: 0.94rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.ofisplus-revenue__note {
    color: var(--muted-foreground);
    font-size: 0.94rem;
}

.ofisplus-revenue__plants {
    list-style: none;
    margin: 1rem 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.ofisplus-revenue__plants li {
    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--border);
    padding-bottom: 0.4rem;
    font-size: 0.9rem;
}

.ofisplus-revenue__plants li span {
    color: var(--muted-foreground);
}

.ofisplus-table-scroll {
    overflow-x: auto;
}

.ofisplus-generation-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.94rem;
    white-space: nowrap;
}

.ofisplus-generation-table th {
    text-align: left;
    color: var(--muted-foreground);
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0 1rem 0.6rem 0;
    border-bottom: 1px solid var(--border);
}

.ofisplus-generation-table td {
    padding: 0.5rem 1rem 0.5rem 0;
    border-bottom: 1px solid var(--border);
}

.ofisplus-generation-table th:first-child,
.ofisplus-generation-table td:first-child {
    position: sticky;
    left: 0;
    background: var(--background);
}

.ofisplus-daterange {
    display: flex;
    align-items: end;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 1.5rem 0 0.75rem;
}

.ofisplus-daterange label {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    font-size: 0.875rem;
    color: var(--muted-foreground);
}

.ofisplus-daterange input[type="date"],
.ofisplus-daterange input[type="week"] {
    background: transparent;
    border: 1px solid var(--border);
    border-radius: 6px;
    padding: 0.5rem 0.75rem;
    color: var(--foreground);
    font-family: inherit;
}

.ofisplus-split {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1.5rem;
    align-items: start;
}

@media (max-width: 768px) {
    .ofisplus-split {
        grid-template-columns: minmax(0, 1fr);
    }
}

.srcgen-swatch {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    margin-right: 0.5rem;
    vertical-align: middle;
}

.ofisplus-chart-toggles {
    display: flex;
    gap: 1.5rem;
    margin: 1rem 0 0.75rem;
    font-size: 0.9rem;
    color: var(--muted-foreground);
}

.ofisplus-chart-toggles label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    cursor: pointer;
}

.ofisplus-chart-toggles input {
    accent-color: var(--fg);
}

.ofisplus-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin: 1.5rem 0;
    flex-wrap: wrap;
}

.ofisplus-daterange__presets {
    font-size: 0.94rem;
    color: var(--muted-foreground);
    margin-bottom: 1.5rem;
}

.ofisplus-daterange__presets a {
    color: var(--foreground);
    text-decoration: underline;
}
.stock-table .stock-sort { cursor: pointer; user-select: none; white-space: nowrap; }
.stock-table .stock-sort:hover { color: var(--fg); }

.stock-table th, .stock-table td { white-space: nowrap; }
.stock-table td:nth-child(2), .stock-table td:nth-child(4) { max-width: 15rem; overflow: hidden; text-overflow: ellipsis; }
.stock-table td:nth-child(3) { max-width: 10.5rem; overflow: hidden; text-overflow: ellipsis; }
.stock-table th.stock-sort, .stock-table td[data-v] { text-align: right; width: 6.6rem; min-width: 6.6rem; padding-left: 0.9rem; padding-right: 0.9rem; font-variant-numeric: tabular-nums; }
.stock-table td.stock-up { color: var(--up); background: linear-gradient(90deg, transparent 4px, rgba(34, 197, 94, 0.09) 4px, rgba(34, 197, 94, 0.09) calc(100% - 4px), transparent calc(100% - 4px)); }
.stock-table td.stock-down { color: var(--down); background: linear-gradient(90deg, transparent 4px, rgba(239, 68, 68, 0.09) 4px, rgba(239, 68, 68, 0.09) calc(100% - 4px), transparent calc(100% - 4px)); }

.treemap-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1rem; }
.heatmap-periods { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.heatmap-period { background: transparent; color: var(--muted); border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; padding: 0.35rem 1rem; font: inherit; font-size: 0.94rem; cursor: pointer; }
.heatmap-period.is-active { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.treemap-legend { display: flex; align-items: center; gap: 0.5rem; font-size: 0.82rem; color: var(--muted); }
.treemap-legend__bar { width: 160px; height: 10px; border-radius: 2px; background: linear-gradient(90deg, rgb(220,38,38), rgb(38,38,38) 50%, rgb(22,163,74)); }
.treemap { position: relative; margin: 0 -5px; width: calc(100% + 10px); }
.treemap { overflow: hidden; }
.treemap-layer { position: absolute; inset: 0; will-change: transform; }
.treemap-layer > * { position: absolute; box-sizing: border-box; overflow: hidden; }
.treemap-layer:not(.is-zoomed) [data-sector] { cursor: zoom-in; }
.treemap-layer.is-fading-in { animation: treemap-fade 0.25s ease; }
@keyframes treemap-fade { from { opacity: 0.4; } to { opacity: 1; } }
.treemap a { text-decoration: none; color: var(--fg); }

.treemap-sector { border-radius: 4px; background: var(--surface-2); border: 1px solid var(--line); }
.treemap-industry { background: var(--surface-0); }
.treemap-sector__head { display: flex; align-items: center; gap: 0.6rem; padding: 0 9px; white-space: nowrap; font-size: 13px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; z-index: 1; color: var(--accent, var(--fg)); border-top: 3px solid var(--accent, var(--gray-555)); border-radius: 4px 4px 0 0; }
.treemap a.treemap-sector__head { color: var(--accent, var(--fg)); }
.treemap-sector__head.is-small { gap: 0.35rem; padding: 0 6px; font-size: 11px; letter-spacing: 0; }
.treemap-name { overflow: hidden; text-overflow: ellipsis; }
.treemap-share { font-size: 11px; font-weight: 500; color: var(--muted-2); text-transform: none; letter-spacing: 0; flex-shrink: 0; }
.treemap-ret { margin-left: auto; flex-shrink: 0; color: var(--fg-2); font-size: 13px; font-weight: 700; letter-spacing: 0; line-height: 1.2; }
.treemap-ret.is-up { color: var(--up-2); }
.treemap-ret.is-down { color: var(--down-2); }
.treemap-industry__head { display: flex; align-items: center; gap: 0.4rem; padding: 0 5px; background: var(--bg); font-size: 11px; font-weight: 600; line-height: 17px; color: var(--fg); white-space: nowrap; z-index: 1; }
.treemap-industry__head .treemap-ret { margin-left: 0; padding: 0; font-size: 11px; background: none; }
.treemap-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; line-height: 1.15; }
.treemap-tile span { font-size: 0.72em; opacity: 0.9; }
.treemap-tile:hover, .treemap-sector__head:hover, .treemap-industry__head:hover { outline: 2px solid var(--fg); outline-offset: -2px; z-index: 2; }

.treemap-sector__head--zoom { font-size: 16px; padding: 0 10px; gap: 0.8rem; }
.treemap-head-body { display: flex; align-items: center; gap: 0.7rem; flex: 1; min-width: 0; }
.treemap-back { flex-shrink: 0; background: var(--surface-0); color: var(--fg); border: 1px solid rgba(var(--ink-rgb), 0.35); border-radius: 8px; padding: 4px 12px; font: inherit; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; cursor: pointer; }
.treemap-back:hover { background: var(--fg); color: var(--bg); }
.treemap-subsector { border-radius: 3px; background: var(--surface-3); border-left: 4px solid var(--gray-555); }
.treemap-subsector__head { display: flex; align-items: center; gap: 0.5rem; padding: 0 6px; white-space: nowrap; font-size: 12px; font-weight: 700; z-index: 1; color: var(--accent, var(--fg)); }
.treemap a.treemap-subsector__head { color: var(--accent, var(--fg)); }
.treemap-subsector__head.is-small { font-size: 10px; padding: 0 4px; }
.treemap-subsector__head .treemap-ret { font-size: 12px; }
.treemap-subsector__head:hover { text-decoration: underline; }

.btn-pill--ghost { background: transparent; color: var(--fg); border: 1px solid rgba(var(--ink-rgb), 0.35); text-decoration: none; }
.btn-pill--ghost:hover { background: var(--fg); color: var(--bg); }
.stock-link { color: inherit; text-decoration: none; }
.stock-link:hover { text-decoration: underline; }
.treemap-layer.is-zoomed .treemap-tile { cursor: pointer; }
.company-name { font-size: 0.55em; font-weight: 500; color: var(--muted); margin-left: 0.4rem; }
.company-meta { color: var(--muted); margin: 0.5rem 0 1.5rem; line-height: 1.6; }
.company-returns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.75rem; }
@media (max-width: 600px) { .company-returns { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.company-return { display: flex; flex-direction: column; gap: 0.3rem; padding: 1rem 1.1rem; border-radius: 8px; }
.company-return__label { font-size: 0.875rem; color: var(--muted); }
.company-return__value { font-size: 1.4rem; font-weight: 700; }
.company-return__value.stock-up { color: var(--up); }
.company-return__value.stock-down { color: var(--down); }
.news-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; margin-bottom: 1.5rem; }
.news-actions__time { font-size: 0.82rem; color: var(--muted-2); }
.news-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(var(--ink-rgb), 0.1); }
.news-item { padding: 1rem 0; border-bottom: 1px solid rgba(var(--ink-rgb), 0.1); }
.news-item__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; font-size: 0.82rem; color: var(--muted-2); margin-bottom: 0.3rem; }
.news-item__symbol { color: var(--fg); font-weight: 700; text-decoration: none; }
.news-item__symbol:hover { text-decoration: underline; }
.news-item__tag { border: 1px solid rgba(var(--ink-rgb), 0.35); border-radius: 3px; padding: 0 5px; color: var(--fg-3); font-weight: 600; }
.news-item__headline { color: var(--fg); font-weight: 600; text-decoration: none; line-height: 1.4; }
.news-item__headline:hover { text-decoration: underline; }
.news-item__summary { color: var(--muted); font-size: 0.94rem; margin: 0.35rem 0 0; line-height: 1.5; }
.news-search { min-width: 140px; text-transform: uppercase; }

.news-filter { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1rem; }
.news-chip { font-size: 0.875rem; color: var(--muted); border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; padding: 0.3rem 0.85rem; text-decoration: none; }
.news-chip:hover { color: var(--fg); border-color: rgba(var(--ink-rgb), 0.5); }
.news-chip.is-active { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.news-chip--muted { margin-left: auto; border-style: dashed; }
.news-item__sector { color: var(--muted); }

.commodity-card { margin-top: 2.5rem; }
.commodity-card__region { font-size: 0.875rem; font-weight: 500; color: var(--muted-2); margin-left: 0.4rem; }
.commodity-card__meta { font-size: 0.85rem; color: var(--muted-2); margin: 0.2rem 0 0.6rem; line-height: 1.6; }
.commodity-card__latest { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem; font-size: 0.94rem; color: var(--muted); margin: 0 0 0.8rem; }
.commodity-card__latest strong { font-size: 1.6rem; color: var(--fg); }
.commodity-card__date { color: var(--muted-2); }
.commodity-missing { list-style: none; padding: 0; margin: 0; border-top: 1px solid rgba(var(--ink-rgb), 0.1); }
.commodity-missing li { padding: 0.7rem 0; border-bottom: 1px solid rgba(var(--ink-rgb), 0.1); color: var(--fg-3); }
.commodity-missing small { color: var(--muted-2); }
.news-item__sector::before { content: "#"; color: var(--gray-666); }
.news-item__tag--satin_alma, .news-item__tag--ortaklik, .news-item__tag--yatirim, .news-item__tag--surec, .news-item__tag--ceo, .news-item__tag--bilanco { background: var(--fg); color: var(--bg); border-color: var(--fg); }

.news-item .news-item__headline { margin: 0.2rem 0 0; font-size: 1rem; font-weight: 600; line-height: 1.4; color: var(--fg); }
.news-item .news-item__summary { color: var(--fg-3); font-size: 0.9rem; margin: 0.4rem 0 0; line-height: 1.6; }
.news-item__source { color: var(--muted-3); font-size: 0.8rem; margin: 0.35rem 0 0; }
.news-ai-note { color: var(--muted-3); font-size: 0.8rem; margin-top: 1rem; }

.news-item__source-link { display: inline-block; margin-top: 0.55rem; font-size: 0.85rem; color: var(--fg); text-decoration: none; border: 1px solid rgba(var(--ink-rgb), 0.25); border-radius: 8px; padding: 0.25rem 0.8rem; transition: border-color 0.18s, background 0.18s; }
.news-item__source-link:hover { border-color: rgba(var(--ink-rgb), 0.6); background: rgba(var(--ink-rgb), 0.06); }

.company-earnings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; margin-top: 1rem; }
.company-earnings__date { font-size: 1.2rem; }
.company-earnings__note { font-size: 0.82rem; color: var(--muted-2); }
.earnings-count { font-size: 0.82rem; color: var(--muted-2); font-weight: 400; margin-left: 0.4rem; }
.earnings-name { color: var(--muted); font-size: 0.875rem; margin-left: 0.3rem; }
.earnings-table td.stock-up { color: var(--up); }
.earnings-table td.stock-down { color: var(--down); }
.earnings-table small { opacity: 0.8; }

a.btn-pill.btn-pill--ghost { color: var(--fg) !important; background: transparent; }
a.btn-pill.btn-pill--ghost:hover { color: var(--bg) !important; background: var(--fg); }
.earnings-tentative { color: var(--muted-3); font-size: 0.8rem; margin-left: 0.25rem; }

.news-item__symbol--mention { font-weight: 500; color: var(--muted); }
.site-search__form { display: flex; gap: 0.6rem; margin: 1rem 0 2rem; }
.site-search__form input { flex: 1; min-width: 0; padding: 0.75rem 1.1rem; border-radius: 8px; border: 1px solid rgba(var(--ink-rgb), 0.2); background: var(--surface); color: var(--fg); font: inherit; }
.site-search__form input:focus { outline: none; border-color: rgba(var(--ink-rgb), 0.6); }
.site-search__stocks { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 0.75rem; margin-bottom: 2rem; }
.site-search__stock { display: flex; flex-direction: column; gap: 0.25rem; padding: 1rem 1.1rem; border-radius: 8px; color: var(--fg); text-decoration: none; }
.site-search__stock:hover { background: rgba(var(--ink-rgb), 0.06); }
.site-search__symbol { font-size: 1.4rem; font-weight: 700; }
.site-search__name { font-weight: 600; }
.site-search__meta { font-size: 0.875rem; color: var(--muted); }
.site-search__pages { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(var(--ink-rgb), 0.1); }
.site-search__pages li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem; padding: 0.8rem 0; border-bottom: 1px solid rgba(var(--ink-rgb), 0.1); }
.site-search__pages a { color: var(--fg); font-weight: 600; text-decoration: none; }
.site-search__pages a:hover { text-decoration: underline; }
.site-nav { display: flex; align-items: center; gap: 1.2rem; }
.nav-search { position: relative; display: flex; align-items: center; }
.nav-search__icon { position: absolute; left: 0.75rem; width: 14px; height: 14px; color: var(--muted-foreground); pointer-events: none; }
.nav-search__input { width: 180px; padding: 0.45rem 0.9rem 0.45rem 2rem; border-radius: 8px; border: 1px solid rgba(var(--ink-rgb), 0.18); background: rgba(var(--ink-rgb), 0.04); color: var(--fg); font: inherit; font-size: 0.94rem; }
.nav-search__input:focus { outline: none; border-color: rgba(var(--ink-rgb), 0.5); }
.nav-search__input::-webkit-search-cancel-button { display: none; }
.nav-search__panel { position: absolute; top: calc(100% + 0.5rem); left: 0; width: 340px; max-width: calc(100vw - 2rem); max-height: 70vh; overflow-y: auto; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.15); border-radius: 8px; padding: 0.4rem 0; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); z-index: 60; }
.nav-search__group { padding: 0.5rem 1rem 0.25rem; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--muted-3); }
.site-nav .nav-search__item { display: block; padding: 0.5rem 1rem; color: var(--fg); font-size: 0.94rem; line-height: 1.35; }
.nav-search__item span { display: block; font-size: 0.8rem; color: var(--muted-2); }
.site-nav .nav-search__item:hover, .site-nav .nav-search__item.is-active, .site-nav .nav-search__all:hover, .site-nav .nav-search__all.is-active { background: rgba(var(--ink-rgb), 0.08); color: var(--fg); }
.nav-search__empty { padding: 0.6rem 1rem; font-size: 0.94rem; color: var(--muted-2); }
.site-nav .nav-search__all { display: block; margin-top: 0.3rem; padding: 0.65rem 1rem; border-top: 1px solid rgba(var(--ink-rgb), 0.1); color: var(--fg); font-size: 0.9rem; font-weight: 600; }
@media (max-width: 700px) { .nav-search__input { width: 120px; } }
@media (max-width: 480px) {

    .site-header { padding-left: 1rem; padding-right: 1rem; }
    .site-header__brand { gap: 0.55rem; }
    .brand-logo { height: 28px; }
    .brand-name { letter-spacing: 0.04em; }
    .site-header__social { gap: 0.2rem; }
    .site-header__social a { width: 34px; height: 34px; }
    .site-header__inner { column-gap: 0.6rem; }
}
@media (max-width: 700px) {
    .site-header__inner { flex-wrap: wrap; row-gap: 0.6rem; }
    .site-nav { order: 3; flex-basis: 100%; justify-content: space-between; gap: 0.8rem; }
    .site-nav li:not(:last-child)::after { margin: 0 0.45rem; }
    .nav-search__panel { left: auto; right: 0; }
}
.ofisberg { max-width: 1400px; }
.ob-toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; margin: 1rem 0 1.25rem; }

.ob-reset { margin-left: auto; padding: 0.1rem 0.2rem; border: 0; background: none; color: var(--muted-2); font: inherit; font-size: 0.7rem; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; opacity: 0.7; }
.ob-reset:hover, .ob-reset:focus-visible { opacity: 1; color: var(--fg-2); }

.ob-chart__tf .news-chip { background: transparent; cursor: pointer; font: inherit; font-size: 0.875rem; display: inline-flex; align-items: center; gap: 0.3rem; min-width: 4.2rem; justify-content: space-between; font-variant-numeric: tabular-nums; }
.ob-chart__menu.ob-chart__tfmenu { left: 0; right: auto; min-width: 13rem; gap: 0; padding: 0.3rem 0; }
.ob-chart__tfmenu button { display: flex; align-items: baseline; gap: 0.7rem; width: 100%; padding: 0.35rem 0.85rem; border: 0; background: none; color: var(--fg-2); font: inherit; font-size: 0.85rem; text-align: left; cursor: pointer; }
.ob-chart__tfmenu button strong { min-width: 2.6rem; color: var(--fg); font-weight: 600; font-variant-numeric: tabular-nums; }
.ob-chart__tfmenu button span { color: var(--muted-2); font-size: 0.8rem; }
.ob-chart__tfmenu button:hover { background: rgba(var(--ink-rgb), 0.08); }
.ob-chart__tfmenu button.is-active { box-shadow: inset 2px 0 0 var(--fg); background: rgba(var(--ink-rgb), 0.05); }
.ob-add { position: relative; }
.ob-add__menu { position: absolute; top: calc(100% + 6px); left: 0; z-index: 30; list-style: none; margin: 0; padding: 0.35rem 0; min-width: 240px; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.15); border-radius: 8px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); }
.ob-add__menu button { display: block; width: 100%; text-align: left; padding: 0.55rem 1rem; background: none; border: 0; color: var(--fg); font: inherit; font-size: 0.95rem; cursor: pointer; }
.ob-add__menu button:hover, .ob-add__menu button:focus-visible { background: rgba(var(--ink-rgb), 0.08); outline: none; }
.grid-stack { min-height: 200px; }
.grid-stack-item-content { overflow: visible !important; }
.ob-w { height: 100%; display: flex; flex-direction: column; border-radius: 8px; overflow: hidden; background: rgba(var(--ink-rgb), 0.025); border: 1px solid rgba(var(--ink-rgb), 0.14); }
.ob-w__head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.5rem 0.75rem; border-bottom: 1px solid rgba(var(--ink-rgb), 0.1); cursor: move; user-select: none; }
.ob-w__title { font-size: 0.9rem; font-weight: 600; color: var(--fg-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-w__actions { display: flex; gap: 0.25rem; flex-shrink: 0; }
.ob-icon { width: 26px; height: 26px; border-radius: 4px; border: 0; background: transparent; color: var(--muted); font-size: 0.95rem; line-height: 1; cursor: pointer; }
.ob-icon:hover, .ob-icon:focus-visible { background: rgba(var(--ink-rgb), 0.1); color: var(--fg); outline: none; }
.ob-w__body { flex: 1; overflow: auto; padding: 0.6rem 0.75rem; font-size: 0.9rem; }
.ob-w__settings { padding: 0.75rem; border-bottom: 1px solid rgba(var(--ink-rgb), 0.1); background: rgba(var(--ink-rgb), 0.03); display: grid; gap: 0.6rem; }
.ob-w__settings[hidden] { display: none; }
.ob-field { display: grid; gap: 0.25rem; font-size: 0.85rem; color: var(--muted); border: 0; margin: 0; padding: 0; }
.ob-field input[type=text], .ob-field input[type=number], .ob-field select { padding: 0.4rem 0.6rem; border-radius: 6px; border: 1px solid rgba(var(--ink-rgb), 0.2); background: var(--surface); color: var(--fg); font: inherit; font-size: 0.94rem; }
.ob-check { display: inline-flex; align-items: center; gap: 0.35rem; margin: 0.15rem 0.9rem 0.15rem 0; color: var(--fg-2); }
.ob-field__actions { display: flex; gap: 0.5rem; }
.ob-field__actions .btn-pill, .ob-field__actions .btn-outline { padding: 0.45rem 1rem; font-size: 0.875rem; }
.ob-list { list-style: none; margin: 0; padding: 0; }
.ob-news { padding: 0.45rem 0; border-bottom: 1px solid rgba(var(--ink-rgb), 0.08); }
.ob-news summary { cursor: pointer; color: var(--fg); font-weight: 600; line-height: 1.35; }
.ob-news details p { color: var(--muted); margin: 0.35rem 0 0; line-height: 1.5; }
.ob-news details a { color: var(--fg); }
.ob-meta { display: flex; flex-wrap: wrap; gap: 0.4rem; align-items: center; font-size: 0.8rem; color: var(--muted-2); margin-bottom: 0.15rem; }
.ob-symbol { color: var(--fg); font-weight: 700; text-decoration: none; }
.ob-symbol:hover { text-decoration: underline; }
.ob-tag { border: 1px solid rgba(var(--ink-rgb), 0.3); border-radius: 3px; padding: 0 4px; color: var(--fg-3); }
.ob-note { font-size: 0.8rem; color: var(--muted-2); margin: 0 0 0.4rem; }
.ob-note a { color: var(--fg-3); }
.ob-empty { color: var(--muted-2); margin: 0.5rem 0; }
.ob-table { width: 100%; border-collapse: collapse; }
.ob-table caption { text-align: left; font-size: 0.8rem; color: var(--muted-2); text-transform: uppercase; letter-spacing: 0.05em; padding-bottom: 0.25rem; }
.ob-table th { text-align: left; font-size: 0.8rem; color: var(--muted-2); font-weight: 500; padding: 0.2rem 0.3rem; }
.ob-table td { padding: 0.25rem 0.3rem; border-top: 1px solid rgba(var(--ink-rgb), 0.06); }
.ob-table .ob-num { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.ob-table .stock-up { color: var(--up); }
.ob-table .stock-down { color: var(--down); }
.ob-name { color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-movers > * { min-width: 0; }
.ob-movers .ob-table { table-layout: fixed; }
.ob-movers .ob-table td:first-child { width: 3.8rem; }
.ob-movers .ob-table .ob-num { width: 4.8rem; }
.ob-today td { background: rgba(var(--ink-rgb), 0.05); }
.ob-movers--two { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0.75rem; }
.ob-commodities { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.6rem; }
.ob-commodity { padding: 0.5rem 0.6rem; border: 1px solid rgba(var(--ink-rgb), 0.08); border-radius: 6px; }
.ob-commodity__head { display: flex; justify-content: space-between; gap: 0.4rem; font-size: 0.875rem; }
.ob-commodity__value { font-size: 1.15rem; font-weight: 700; color: var(--fg); margin: 0.15rem 0; }
.ob-commodity__value small { font-size: 0.8rem; color: var(--muted-2); font-weight: 500; }
.ob-spark { display: block; width: 100%; height: 28px; color: var(--fg); margin-top: 0.3rem; }
.ob-locked { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; height: 100%; color: var(--muted); gap: 0.5rem; }
.ob-locked__icon { width: 28px; height: 28px; color: rgba(var(--ink-rgb), 0.7); }
.grid-stack-placeholder > .placeholder-content { border: 1px dashed rgba(var(--ink-rgb), 0.3) !important; background: rgba(var(--ink-rgb), 0.03) !important; border-radius: 8px; }
.grid-stack > .grid-stack-item > .ui-resizable-se { filter: invert(1); opacity: 0.6; }
html { scrollbar-color: rgba(var(--ink-rgb), 0.22) transparent; }
* { scrollbar-width: thin; scrollbar-color: rgba(var(--ink-rgb), 0.22) transparent; }
*:hover { scrollbar-color: rgba(var(--ink-rgb), 0.38) transparent; }

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(var(--ink-rgb), 0.22); border-radius: 8px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(var(--ink-rgb), 0.38); background-clip: padding-box; }
::-webkit-scrollbar-corner { background: transparent; }

.ob-live { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 0.4rem 1rem; align-items: start; }
.ob-live__table { table-layout: fixed; }
.ob-live__name { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; color: var(--fg-2); }
.ob-live__price { width: 7.2rem; color: var(--fg); font-weight: 600; }
.ob-live__price small { color: var(--muted-2); font-weight: 400; font-size: 0.78rem; }
.ob-live__chg { width: 4.6rem; color: var(--muted); }

.ob-wl__add, .ob-pf__form { display: flex; flex-wrap: wrap; gap: 0.35rem; margin-bottom: 0.5rem; }
.ob-wl__add input, .ob-pf__form input, .ob-pf__form select { min-width: 0; padding: 0.35rem 0.55rem; border-radius: 6px; border: 1px solid rgba(var(--ink-rgb), 0.2); background: var(--surface); color: var(--fg); font: inherit; font-size: 0.875rem; color-scheme: dark; }
.ob-wl__add input { flex: 1; }
.ob-wl__add .ob-icon { border: 1px solid rgba(var(--ink-rgb), 0.2); width: 30px; height: auto; }
.ob-pf__form input[name=symbol] { flex: 1 1 6.5rem; }
.ob-pf__form input[name=quantity], .ob-pf__form input[name=price] { flex: 1 1 4.5rem; }
.ob-pf__form .btn-pill { padding: 0.35rem 1rem; font-size: 0.875rem; }
.ob-pf__msg:empty { display: none; }
.ob-wl td:first-child, .ob-wl th:first-child { width: auto; }
.ob-wl .ob-live__price { width: 5.6rem; }
.ob-wl .ob-live__chg { width: 4.4rem; }
.ob-wl .ob-name { display: block; font-size: 0.8rem; line-height: 1.2; }
.ob-wl__del { width: 26px; text-align: right; }
.ob-wl__del .ob-icon { width: 22px; height: 22px; opacity: 0; }
tr:hover > .ob-wl__del .ob-icon, .ob-wl__del .ob-icon:focus-visible { opacity: 1; }
.ob-pf__trades .ob-wl__del .ob-icon { opacity: 1; }
tr[data-open] { cursor: pointer; }
tr[data-open]:hover td, tr[data-open]:focus-visible td { background: rgba(var(--ink-rgb), 0.05); }
tr[data-open]:focus-visible { outline: none; }
.ob-link { background: none; border: 0; padding: 0; color: var(--fg-3); text-decoration: underline; font: inherit; cursor: pointer; }
.ob-pf__scroll { overflow-x: auto; }
.ob-pf { min-width: 520px; }
.ob-pf__total { margin: 0.5rem 0; color: var(--fg-3); font-size: 0.875rem; line-height: 1.5; }
.ob-pf__total .stock-up { color: var(--up); }
.ob-pf__total .stock-down { color: var(--down); }
.ob-pf__trades { margin: 0.4rem 0; }
.ob-pf__trades summary { cursor: pointer; color: var(--muted); font-size: 0.85rem; }
.ob-sup { color: var(--muted-2); margin-left: 1px; }

.ob-chart { margin: 1.25rem 0 1.5rem; padding: 0.9rem 1rem 0.6rem; border: 1px solid rgba(var(--ink-rgb), 0.14); border-radius: 8px; background: rgba(var(--ink-rgb), 0.025); }
.ob-chart__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin-bottom: 0.6rem; }
.ob-chart__form { display: flex; gap: 0.4rem; }
.ob-chart__form input { width: 11rem; padding: 0.45rem 0.8rem; border-radius: 8px; border: 1px solid rgba(var(--ink-rgb), 0.2); background: var(--surface); color: var(--fg); font: inherit; font-size: 0.9rem; text-transform: uppercase; }
.ob-chart__form input:focus { outline: none; border-color: rgba(var(--ink-rgb), 0.5); }
.ob-chart__form .btn-pill { padding: 0.45rem 1.1rem; }
.ob-chart__info { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.6rem; min-width: 0; }
.ob-chart__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.35rem; margin-left: auto; }

.ob-chart__log { position: absolute; right: 106px; bottom: 34px; z-index: 5; height: 30px; padding: 0 0.7rem; border-radius: 8px; border: 1px solid rgba(var(--ink-rgb), 0.25); background: rgba(var(--surface-rgb), 0.85); color: var(--fg-3); font: inherit; font-size: 0.82rem; cursor: pointer; }
.ob-chart__log:hover, .ob-chart__log:focus-visible { border-color: rgba(var(--ink-rgb), 0.6); color: var(--fg); outline: none; }
.ob-chart__log.is-active { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.ob-chart--box .ob-chart__log { right: 98px; bottom: 30px; }
.ob-chart__info strong { color: var(--fg); font-size: 0.95rem; }
#ob-chart-last { color: var(--fg); font-size: 1.15rem; font-weight: 700; }
#ob-chart-chg { color: var(--muted); font-size: 0.94rem; }
.ob-chart__ranges { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ob-chart__ranges .news-chip, .ob-chart__actions .news-chip { background: transparent; cursor: pointer; font: inherit; font-size: 0.875rem; }
.ob-chart__ranges .news-chip.is-active, .ob-chart__actions .news-chip.is-active { background: var(--fg); color: var(--bg); }
.ob-chart__canvas { width: 100%; height: 560px; }
.ob-chart__wrap { position: relative; outline: none; }
.ob-chart__icon { display: inline-flex; align-items: center; justify-content: center; padding-left: 0.5rem; padding-right: 0.5rem; }
.ob-chart__icon svg { width: 14px; height: 14px; }
.ob-chart__tools { display: inline-flex; gap: 0.25rem; padding-left: 0.35rem; margin-left: 0.1rem; border-left: 1px solid rgba(var(--ink-rgb), 0.12); }
.ob-chart__menuwrap { position: relative; display: inline-flex; }
.ob-chart__menu { position: absolute; top: calc(100% + 0.35rem); right: 0; z-index: 20; min-width: 190px; display: grid; gap: 0.35rem; padding: 0.6rem 0.75rem; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.18); border-radius: 7px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); font-size: 0.9rem; }
.ob-chart__menu[hidden] { display: none; }
.ob-chart__menu .ob-check { white-space: nowrap; cursor: pointer; }
.ob-chart__legend { position: absolute; top: 24px; left: 10px; max-width: calc(100% - 90px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; z-index: 4; font-size: 0.8rem; color: var(--muted); pointer-events: none; }
.ob-chart__wrap.is-drawing { cursor: crosshair; }

.ob-chart__layer { position: absolute; top: 0; left: 0; z-index: 3; pointer-events: none; }
.ob-drawbar { position: absolute; top: 6px; left: 50%; transform: translateX(-50%); z-index: 6; display: flex; align-items: center; gap: 2px; padding: 3px 5px; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 6px; box-shadow: 0 6px 18px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); }
.ob-drawbar[hidden] { display: none; }
.ob-drawbar button { display: inline-flex; align-items: center; justify-content: center; min-width: 28px; height: 26px; padding: 0 4px; border: 0; border-radius: 4px; background: transparent; color: var(--fg-3); cursor: pointer; }
.ob-drawbar button[hidden] { display: none; }
.ob-drawbar button:hover, .ob-drawbar button:focus-visible { background: rgba(var(--ink-rgb), 0.1); outline: none; }
.ob-drawbar button.is-active { background: rgba(var(--ink-rgb), 0.18); color: var(--fg); }
.ob-drawbar button span { display: block; width: 16px; background: currentColor; border-radius: 1px; }
.ob-drawbar i { width: 1px; height: 18px; margin: 0 3px; background: rgba(var(--ink-rgb), 0.15); }

.ob-w__body--chart { padding: 0; overflow: hidden; display: flex; }
.ob-chart--box { flex: 1; min-width: 0; display: flex; flex-direction: column; margin: 0; padding: 0.5rem 0.6rem 0.1rem; border: 0; border-radius: 0; background: none; }
.ob-chart--box .ob-chart__bar { gap: 0.4rem 0.75rem; margin-bottom: 0.35rem; }
.ob-chart--box .ob-chart__info { min-width: 0; }
.ob-chart--box .ob-chart__info strong { font-size: 0.85rem; }
.ob-chart--box .ob-chart__ranges .news-chip, .ob-chart--box .ob-chart__tf .news-chip, .ob-chart--box .ob-chart__actions .news-chip { font-size: 0.72rem; padding: 0.2rem 0.55rem; }
.ob-chart--box .ob-chart__actions .ob-chart__icon { padding-left: 0.4rem; padding-right: 0.4rem; }
.ob-chart--box .ob-chart__wrap { flex: 1; min-height: 120px; }
.ob-chart--box .ob-chart__canvas { height: 100%; }
.ob-chart--box .ob-chart__reset { right: 62px; bottom: 30px; }

.ob-chart.is-full { position: fixed; inset: 0; z-index: 1000; margin: 0; padding: 1rem 1.25rem 0.5rem; border: 0; border-radius: 0; background: var(--bg); display: flex; flex-direction: column; }
.ob-chart.is-full .ob-chart__wrap { flex: 1; min-height: 0; }
.ob-chart.is-full .ob-chart__canvas { height: 100%; }
body.ob-fullscreen { overflow: hidden; }
.ob-chart__wrap:focus-visible { box-shadow: 0 0 0 1px rgba(var(--ink-rgb), 0.25); border-radius: 4px; }
.ob-chart__reset { position: absolute; right: 70px; bottom: 34px; z-index: 5; display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border-radius: 50%; border: 1px solid rgba(var(--ink-rgb), 0.25); background: rgba(var(--surface-rgb), 0.85); color: var(--fg-2); cursor: pointer; }
.ob-chart__reset:hover, .ob-chart__reset:focus-visible { border-color: rgba(var(--ink-rgb), 0.6); color: var(--fg); outline: none; }
.ob-chart__quick { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 10; width: 300px; max-width: calc(100% - 2rem); background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.25); border-radius: 8px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.7 * var(--shadow-k))); overflow: hidden; }
.ob-chart__quick input { width: 100%; box-sizing: border-box; padding: 0.7rem 0.9rem; border: 0; border-bottom: 1px solid rgba(var(--ink-rgb), 0.12); background: transparent; color: var(--fg); font: inherit; font-size: 1rem; font-weight: 600; text-transform: uppercase; }
.ob-chart__quick input:focus { outline: none; }
.ob-chart__quick ul { list-style: none; margin: 0; padding: 0.25rem 0; max-height: 260px; overflow-y: auto; }
.ob-chart__quick ul:empty { display: none; }
.ob-chart__quick li { display: flex; gap: 0.6rem; align-items: baseline; padding: 0.45rem 0.9rem; cursor: pointer; font-size: 0.94rem; }
.ob-chart__quick li strong { color: var(--fg); min-width: 4.5rem; }
.ob-chart__quick li span { color: var(--muted-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-chart__quick li.is-active, .ob-chart__quick li:hover { background: rgba(var(--ink-rgb), 0.08); }
@media (max-width: 700px) { .ob-chart__canvas { height: 320px; } }

.ob-suggest { position: fixed; z-index: 1000; list-style: none; margin: 0; padding: 0.25rem 0; max-height: 300px; overflow-y: auto; box-sizing: border-box; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.25); border-radius: 7px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.7 * var(--shadow-k))); }
.ob-suggest li { display: flex; gap: 0.6rem; align-items: baseline; padding: 0.45rem 0.9rem; cursor: pointer; font-size: 0.94rem; }
.ob-suggest li strong { color: var(--fg); min-width: 4.5rem; }
.ob-suggest li span { color: var(--muted-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-suggest li.is-active, .ob-suggest li:hover { background: rgba(var(--ink-rgb), 0.08); }
.eyebrow { display: inline-block; font-size: 0.82rem; font-weight: 600; letter-spacing: 0.24em; text-transform: uppercase; color: rgba(var(--ink-rgb), 0.75); }
.hero-in { animation: hero-in 0.6s ease-out both; animation-delay: var(--d, 0s); }
@keyframes glow-drift {
    0%, 100% { transform: translate3d(-4%, -2%, 0) scale(1); }
    50% { transform: translate3d(4%, 3%, 0) scale(1.08); }
}

:root {
    --g1: 116, 132, 245; --g2: 196, 170, 250; --g3: 226, 233, 255;
    --g4: 140, 150, 240; --g5: 110, 70, 200; --g6: 70, 60, 190; --gk: 1;
}
.glow-orange  { --g1: 245, 135, 60;  --g2: 252, 185, 120; --g3: 255, 226, 195; --g4: 238, 130, 70;  --g5: 205, 80, 35;  --g6: 175, 60, 30;  --gk: 0.8; }
.glow-gold    { --g1: 235, 185, 60;  --g2: 248, 215, 130; --g3: 255, 240, 200; --g4: 225, 175, 70;  --g5: 180, 125, 25; --g6: 155, 100, 25; --gk: 0.85; }
.glow-lime    { --g1: 165, 215, 60;  --g2: 205, 240, 130; --g3: 235, 252, 205; --g4: 150, 205, 70;  --g5: 95, 155, 30;  --g6: 70, 130, 40;  --gk: 0.8; }
.glow-green   { --g1: 60, 200, 115;  --g2: 140, 235, 170; --g3: 210, 250, 222; --g4: 70, 190, 125;  --g5: 25, 140, 80;  --g6: 20, 115, 75;  --gk: 0.7; }
.glow-teal    { --g1: 50, 195, 180;  --g2: 130, 230, 215; --g3: 205, 250, 242; --g4: 60, 180, 170;  --g5: 20, 130, 130; --g6: 15, 100, 115; --gk: 0.75; }
.glow-cyan    { --g1: 50, 185, 240;  --g2: 130, 215, 252; --g3: 205, 240, 255; --g4: 60, 170, 235;  --g5: 20, 120, 195; --g6: 15, 95, 175;  --gk: 0.75; }
.glow-blue    { --g1: 70, 125, 250;  --g2: 135, 175, 255; --g3: 210, 225, 255; --g4: 80, 125, 242;  --g5: 35, 70, 215;  --g6: 25, 55, 185;  --gk: 1; }
.glow-magenta { --g1: 225, 85, 215;  --g2: 245, 160, 240; --g3: 255, 220, 252; --g4: 215, 95, 205;  --g5: 165, 35, 165; --g6: 135, 30, 150; --gk: 0.9; }
.glow-rose    { --g1: 245, 95, 140;  --g2: 252, 160, 190; --g3: 255, 220, 230; --g4: 235, 105, 145; --g5: 195, 40, 95;  --g6: 165, 30, 80;  --gk: 0.85; }
.glow-red     { --g1: 240, 80, 70;   --g2: 252, 150, 135; --g3: 255, 215, 205; --g4: 230, 90, 80;   --g5: 185, 35, 35;  --g6: 155, 25, 35;  --gk: 0.85; }
.page-glow { position: relative; overflow: hidden; isolation: isolate; padding: 9rem 2rem 5rem; }
.page-glow--short { padding-bottom: 3.5rem; }
.page-glow__light {
    position: absolute; inset: -15% -10% 0; z-index: -2;
    background:
        radial-gradient(40% 50% at 26% 30%, rgba(var(--g1), calc(0.8 * var(--gk))), transparent 70%),
        radial-gradient(38% 48% at 74% 24%, rgba(var(--g2), calc(0.7 * var(--gk))), transparent 70%),
        radial-gradient(30% 36% at 50% 14%, rgba(var(--g3), calc(0.55 * var(--gk))), transparent 70%),
        radial-gradient(45% 42% at 50% 46%, rgba(var(--g4), calc(0.45 * var(--gk))), transparent 72%),
        radial-gradient(30% 45% at 92% 50%, rgba(var(--g5), calc(0.5 * var(--gk))), transparent 70%),
        radial-gradient(28% 40% at 6% 55%, rgba(var(--g6), calc(0.45 * var(--gk))), transparent 70%);
    filter: blur(24px);
    animation: glow-drift 18s ease-in-out infinite;
}
.page-glow::after { content: ""; position: absolute; inset: auto 0 0; height: 30%; z-index: -1; background: linear-gradient(to bottom, transparent, var(--bg)); }
.page-glow__inner { max-width: var(--max-width); margin: 0 auto; text-align: center; }
.page-glow__inner--split { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 3rem; align-items: center; text-align: left; }
.page-glow__title { font-size: clamp(2.6rem, 7vw, 5.6rem); font-weight: 500; letter-spacing: -0.035em; line-height: 1.02; margin: 0.9rem 0 0; }
.page-glow__lead { max-width: 40rem; margin: 1.4rem auto 0; font-size: 1.15rem; line-height: 1.65; color: rgba(var(--ink-rgb), 0.86); }
.page-glow__lead.rich-text { padding: 0; }
.page-glow__lead p { margin: 0; }
.page-glow__inner--split .page-glow__lead { margin-left: 0; }
.page-glow__actions { margin-top: 2.2rem; display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; }
.template-glow .site-nav a, .template-glow .site-header__social a { color: rgba(255, 255, 255, 0.88); }
.template-glow .site-nav a:hover, .template-glow .site-header__social a:hover { color: #fff; }
.marquee { overflow: hidden; border-block: 1px solid var(--border); padding: 1.1rem 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee__track { display: flex; width: max-content; animation: marquee 45s linear infinite; }
.marquee__track span { display: inline-flex; align-items: center; white-space: nowrap; font-size: clamp(1.15rem, 2.4vw, 1.7rem); font-weight: 500; letter-spacing: -0.01em; color: rgba(var(--ink-rgb), 0.82); }
.marquee__track span::after { content: ""; width: 1.6rem; height: 1px; background: rgba(var(--ink-rgb), 0.3); margin: 0 1.6rem; }
.marquee:hover .marquee__track { animation-play-state: paused; }
@keyframes marquee { to { transform: translateX(-50%); } }
.stat-strip { max-width: var(--max-width); margin: 3.5rem auto 0; padding: 0 2rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1rem; }
.stat { padding: 1.4rem 1.3rem; border: 1px solid var(--border); border-radius: 13px; background: rgba(var(--ink-rgb), 0.025); }
.stat strong { display: block; font-size: clamp(1.9rem, 4vw, 2.7rem); font-weight: 600; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.stat span { display: block; margin-top: 0.3rem; color: var(--muted); font-size: 0.92rem; }
.stat-row { display: flex; gap: 0.75rem; margin-top: 2.2rem; flex-wrap: wrap; }
.stat-row .stat { padding: 0.9rem 1.1rem; min-width: 7.5rem; }
.stat-row .stat strong { font-size: 1.6rem; }
.split-section { max-width: var(--max-width); margin: 6rem auto; padding: 0 2rem; display: grid; grid-template-columns: 1fr 1.4fr; gap: 3rem; align-items: start; }
.split-section__head h2 { font-size: clamp(2rem, 4.5vw, 3.4rem); font-weight: 500; letter-spacing: -0.025em; line-height: 1.05; margin: 0.7rem 0 0; }
.split-section__body.rich-text { padding: 0; max-width: none; font-size: 1.18rem; line-height: 1.75; color: rgba(var(--ink-rgb), 0.86); }
.split-section__body p:first-child { margin-top: 0; }
.glow-card { position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: 15px; background: rgba(var(--ink-rgb), 0.025); transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.18s ease; }
.glow-card::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.15s ease; background: radial-gradient(420px circle at var(--mx, 50%) var(--my, 0%), rgba(var(--g4), 0.2), transparent 45%); }
.glow-card:hover, .glow-card:focus-visible { transform: translateY(-6px); border-color: rgba(var(--ink-rgb), 0.3); }
.glow-card:hover::before, .glow-card:focus-within::before { opacity: 1; }
.tilt { display: block; transform: perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transition: transform 0.12s ease-out; will-change: transform; }
.mv-grid { max-width: var(--max-width); margin: 0 auto 6rem; padding: 0 2rem; display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.25rem; }
.mv-card { padding: 2.3rem; }
.mv-card h3 { font-size: 1.55rem; font-weight: 500; margin: 0 0 0.6rem; }
.mv-card p { margin: 0; color: rgba(var(--ink-rgb), 0.82); font-size: 1.12rem; line-height: 1.65; }
.products { max-width: var(--max-width); margin: 0 auto 6rem; padding: 0 2rem; }
.products .section-heading h2 { margin: 0.7rem 0 0; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 1.25rem; }
.product-card { display: flex; flex-direction: column; gap: 0.55rem; padding: 1.8rem; color: inherit; }
.product-card__cover, .product-card__mark { width: 92px; height: 124px; border-radius: 4px; overflow: hidden; margin-bottom: 1rem; box-shadow: 0 18px 40px rgba(0, 0, 0, calc(0.55 * var(--shadow-k))); }
.product-card__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }
.product-card__mark { display: flex; align-items: center; justify-content: center; font-size: 1.6rem; font-weight: 700; letter-spacing: -0.02em; border: 1px solid var(--border); background: linear-gradient(160deg, rgba(var(--g1), 0.45), rgba(var(--g5), 0.15) 60%, rgba(var(--ink-rgb), 0.02)); }
.product-card__tag, .contact-card__label { font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.product-card h3 { font-size: 1.6rem; font-weight: 500; margin: 0; }
.product-card p { flex: 1; margin: 0; color: rgba(var(--ink-rgb), 0.8); line-height: 1.6; }
.product-card__more { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 0.5rem; font-weight: 600; font-size: 0.95rem; transition: gap 0.25s ease; }
.glow-card:hover .product-card__more { gap: 0.8rem; }
.figures { max-width: var(--max-width); margin: 3.5rem auto 0; padding: 0 2rem; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; }
.figures__item { padding: 1.6rem 1.6rem 1.4rem; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.figures__item + .figures__item { border-left: 1px solid var(--border); }
.figures__item strong { display: block; font-size: clamp(2.2rem, 4.5vw, 3.2rem); font-weight: 500; letter-spacing: -0.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.figures__item span { display: block; margin-top: 0.6rem; color: var(--muted); font-size: 0.9rem; }
.mv-rows { max-width: var(--max-width); margin: 0 auto 6rem; padding: 0 2rem; }
.mv-row { display: grid; grid-template-columns: 1fr 1.4fr; gap: 3rem; padding: 2.4rem 0; border-top: 1px solid var(--border); }
.mv-row:last-child { border-bottom: 1px solid var(--border); }
.mv-row h3 { margin: 0; font-size: 0.85rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.mv-row p { margin: 0; font-size: clamp(1.25rem, 2.2vw, 1.6rem); line-height: 1.5; letter-spacing: -0.01em; color: rgba(var(--ink-rgb), 0.92); }
.product-rows { list-style: none; margin: 2.5rem 0 0; padding: 0; counter-reset: prod; border-top: 1px solid var(--border); }
.product-rows li { counter-increment: prod; border-bottom: 1px solid var(--border); }
.product-row { position: relative; display: grid; grid-template-columns: 3.5rem minmax(180px, 1fr) 1.6fr 7.5rem; gap: 2rem; align-items: center; padding: 2rem 1rem; color: inherit; overflow: hidden; transition: padding 0.18s ease; }
.product-row::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.18s ease; background: radial-gradient(520px circle at var(--mx, 30%) var(--my, 50%), rgba(var(--g4), 0.16), transparent 55%); }
.product-row:hover::before, .product-row:focus-visible::before { opacity: 1; }
.product-row:hover, .product-row:focus-visible { padding-left: 1.6rem; }
.product-row__num::before { content: counter(prod, decimal-leading-zero); font-size: 0.95rem; font-variant-numeric: tabular-nums; color: rgba(var(--g2), 0.95); }
.product-row__tag { display: block; font-size: 0.8rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--muted); }
.product-row h3 { margin: 0.3rem 0 0; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 500; letter-spacing: -0.02em; }
.product-row p { margin: 0; color: rgba(var(--ink-rgb), 0.78); line-height: 1.6; }
.product-row__more { justify-self: end; white-space: nowrap; font-weight: 600; font-size: 0.95rem; display: inline-flex; gap: 0.4rem; transition: gap 0.18s ease; }
.product-row:hover .product-row__more { gap: 0.8rem; }
@media (max-width: 900px) {
    .figures { grid-auto-flow: row; grid-template-columns: 1fr 1fr; }
    .figures__item { padding: 1.3rem 1rem 1.2rem; border-bottom: 0; }
    .figures__item + .figures__item { border-left: 0; }
    .figures__item:nth-child(even) { border-left: 1px solid var(--border); }
    .figures__item:nth-last-child(-n+2) { border-bottom: 1px solid var(--border); }
    .mv-row { grid-template-columns: 1fr; gap: 0.9rem; padding: 1.8rem 0; }
    .product-row { grid-template-columns: 2.5rem 1fr; gap: 0.6rem 1rem; padding: 1.6rem 0.5rem; }
    .product-row p, .product-row__more { grid-column: 2; justify-self: start; }
    .product-row:hover, .product-row:focus-visible { padding-left: 0.5rem; }
}
.contact-rows { max-width: var(--max-width); margin: 1rem auto 6rem; padding: 0 2rem; border-top: 1px solid var(--border); }
.contact-row { position: relative; display: grid; grid-template-columns: minmax(160px, 0.6fr) 1.6fr 17rem; gap: 2rem; align-items: center; padding: 2rem 1rem; border-bottom: 1px solid var(--border); color: inherit; overflow: hidden; transition: padding 0.18s ease; }
.contact-row::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.18s ease; background: radial-gradient(520px circle at var(--mx, 30%) var(--my, 50%), rgba(var(--g4), 0.16), transparent 55%); }
.contact-row:hover::before, .contact-row:focus-within::before { opacity: 1; }
.contact-row > * { position: relative; z-index: 1; }
a.contact-row:hover, a.contact-row:focus-visible { padding-left: 1.6rem; }
a.contact-row:hover .product-row__more { gap: 0.8rem; }
.contact-row__label { display: inline-flex; align-items: center; gap: 0.7rem; font-size: 1.05rem; font-weight: 600; letter-spacing: 0.01em; color: rgba(var(--ink-rgb), 0.9); }
.contact-row__icon { width: 22px; height: 22px; flex: none; color: rgb(var(--g2)); }
:root[data-theme="light"] .contact-row__icon { color: rgb(var(--g5)); }
.contact-row__value { font-size: clamp(1.4rem, 3vw, 2.2rem); font-weight: 500; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.contact-row--main { padding-top: 2.6rem; padding-bottom: 2.6rem; }
.contact-row__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: flex-end; }
.contact-row__actions .btn-outline { cursor: pointer; font: inherit; font-weight: 600; font-size: 0.94rem; border: 0; }
.step-grid--lined { grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.step-grid--lined .step-card { padding: 2.6rem 1.5rem 2.4rem; }
.step-grid--lined .step-card + .step-card { border-left: 1px solid var(--border); }
.step-grid--lined .step-card__num { aspect-ratio: auto; width: auto; max-width: none; border-radius: 0; font-size: clamp(3.5rem, 7vw, 5rem); line-height: 1; color: rgba(var(--g2), 0.95); }
.step-grid--lined .step-card h3 { margin-top: 1.2rem; font-size: 1.1rem; }
.ofisplus-panel__inner--lined { border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); border-radius: 0; padding: 3.5rem 1rem; }
.company-returns, .company-earnings { gap: 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.company-return, .company-return.glow-card { padding: 1.3rem 1.4rem 1.2rem; border-radius: 0; }
.company-return + .company-return { border-left: 1px solid var(--border); }
.company-return__value { font-size: clamp(1.5rem, 2.6vw, 2rem); font-weight: 600; letter-spacing: -0.02em; }
.company-earnings { margin-top: 1.6rem; }
.company-earnings .company-return__value { font-size: 1.4rem; }
.ofisplus-chart-wrap.liquid-glass, .ofisplus-placeholder.liquid-glass { background: none; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; border-radius: 0; border-top: 1px solid var(--border); padding-left: 0; padding-right: 0; overflow: visible; }
.ofisplus-chart-wrap.liquid-glass::before, .ofisplus-placeholder.liquid-glass::before { content: none; }
.ofisplus-placeholder.liquid-glass { padding-top: 1.75rem; }
@media (max-width: 900px) {
    .contact-row { grid-template-columns: 1fr; gap: 0.6rem; padding: 1.6rem 0.5rem; }
    a.contact-row:hover, a.contact-row:focus-visible { padding-left: 0.5rem; }
    .contact-row__actions { justify-content: flex-start; margin-top: 0.6rem; }
    .step-grid--lined { grid-template-columns: 1fr; }
    .step-grid--lined .step-card + .step-card { border-left: 0; border-top: 1px solid var(--border); }
    .company-returns { grid-template-columns: 1fr 1fr; }
    .company-return + .company-return { border-left: 0; }
    .company-returns .company-return:nth-child(even) { border-left: 1px solid var(--border); }
    .company-returns .company-return:nth-child(n+3) { border-top: 1px solid var(--border); }
    .company-earnings .company-return + .company-return { border-left: 1px solid var(--border); }
}
.contact-grid { max-width: var(--max-width); margin: 0 auto 6rem; padding: 0 2rem; display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 1.25rem; }
.contact-card { display: flex; flex-direction: column; gap: 0.45rem; padding: 2.1rem; color: inherit; }
.contact-card__label { margin-top: 0; }
.contact-card__value { font-size: clamp(1.3rem, 2.6vw, 1.9rem); font-weight: 500; letter-spacing: -0.01em; overflow-wrap: anywhere; }
.contact-card__actions { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.3rem; }
.contact-card__actions .btn-outline { cursor: pointer; font: inherit; font-weight: 600; font-size: 0.94rem; border: 0; }
.latest-issue { display: flex; flex-direction: column; align-items: center; gap: 1.4rem; }
.latest-issue__cover { position: relative; width: min(300px, 72vw); border-radius: 7px; overflow: hidden; box-shadow: 0 40px 90px rgba(0, 0, 0, calc(0.65 * var(--shadow-k))), 0 0 0 1px rgba(var(--ink-rgb), 0.12); }
.latest-issue__cover img { display: block; width: 100%; height: auto; }
.latest-issue__shine { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 35%, rgba(255, 255, 255, 0.22) 47%, transparent 60%); transform: translateX(-110%); animation: cover-shine 7s ease-in-out 1.2s infinite; }
@keyframes cover-shine { 0%, 72% { transform: translateX(-110%); } 100% { transform: translateX(110%); } }
.latest-issue__meta { display: flex; flex-direction: column; align-items: center; gap: 0.7rem; text-align: center; }
.latest-issue__meta strong { font-size: 1.1rem; font-weight: 600; }
.archive { max-width: var(--max-width); margin: 4.5rem auto 6rem; padding: 0 2rem; }
.archive__bar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2rem; }
.archive__bar h2 { margin: 0; font-size: clamp(1.8rem, 3.5vw, 2.6rem); font-weight: 500; letter-spacing: -0.02em; }
.archive__tools { display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.archive__search { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border: 1px solid var(--border); border-radius: 8px; background: rgba(var(--ink-rgb), 0.03); }
.archive__search:focus-within { border-color: rgba(var(--ink-rgb), 0.4); }
.archive__search svg { width: 16px; height: 16px; color: var(--muted); }
.archive__search input { width: 12rem; background: none; border: 0; outline: none; color: var(--fg); font: inherit; font-size: 0.95rem; }
.archive__tools .news-chip { background: transparent; cursor: pointer; font: inherit; font-size: 0.9rem; }
.archive__count { color: var(--muted); font-size: 0.9rem; }
.archive__empty { color: var(--muted); text-align: center; margin: 2rem 0; }
.issue-tile[hidden] { display: none; }
.issue-grid--archive .issue-cover { position: relative; }
.issue-tile__num { position: absolute; top: 0.55rem; left: 0.55rem; z-index: 3; padding: 0.15rem 0.55rem; border-radius: 8px; font-size: 0.8rem; font-weight: 700; background: rgba(var(--paper-rgb), 0.72); border: 1px solid rgba(var(--ink-rgb), 0.2); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.issue-grid--archive .issue-card { display: block; transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1); }
.issue-grid--archive .issue-card:hover, .issue-grid--archive .issue-card:focus-visible { transform: translateY(-8px); }
.cta .subscribe-form { margin: 2rem auto 0; }
.theme-hofis-light { --g1: 125, 185, 255; --g2: 175, 214, 255; --g3: 230, 242, 255; --g4: 105, 170, 245; --g5: 150, 200, 250; --g6: 190, 220, 255; --gk: 1; }
:root[data-theme="light"] .theme-hofis-light {
    --fg: #0a0a0a; --bg: #ffffff; --ink-rgb: 0, 0, 0; --paper-rgb: 255, 255, 255; --surface-rgb: 245, 245, 245;
    --shadow-k: 0.25; --fg-2: #1f1f1f; --fg-3: #2e2e2e; --pill-hover: #e6e9ef; --pill-active: #f3f5f8;
    --muted: #575757; --muted-2: #666666; --muted-3: #737373; --gray-666: #8a8a8a; --gray-555: #a3a3a3;
    --surface-0: #fafafa; --surface: #f5f5f5; --surface-1: #f2f2f2; --surface-2: #f0f0f0; --surface-3: #e8e8e8; --line: #d9d9d9;
    --background: #ffffff; --foreground: #0a0a0a; --muted-foreground: #575757; --border: rgba(0, 0, 0, 0.12);
    color-scheme: light;
}
:root[data-theme="light"] .theme-hofis-light .brand-logo { filter: invert(1); }
:root[data-theme="light"] .theme-hofis-light .site-nav a, :root[data-theme="light"] .theme-hofis-light .site-header__social a { color: #3d3d3d; }
:root[data-theme="light"] .theme-hofis-light .site-nav a:hover, :root[data-theme="light"] .theme-hofis-light .site-header__social a:hover { color: #000; }
:root[data-theme="light"] .theme-hofis-light .page-glow__light { filter: blur(30px); }
:root[data-theme="light"] .theme-hofis-light .latest-issue__cover { box-shadow: 0 34px 70px -20px rgba(20, 40, 80, 0.45), 0 0 0 1px rgba(0, 0, 0, 0.06); }
:root[data-theme="light"] .theme-hofis-light .stat { background: rgba(255, 255, 255, 0.6); }
:root[data-theme="light"] .theme-hofis-light .issue-cover__image { background: #eef1f5; box-shadow: 0 18px 32px -14px rgba(20, 40, 80, 0.4), 0 4px 10px -4px rgba(0, 0, 0, 0.12); }
:root[data-theme="light"] .theme-hofis-light .issue-tile__num { background: rgba(255, 255, 255, 0.88); color: #0a0a0a; border-color: rgba(0, 0, 0, 0.1); }
:root[data-theme="light"] .theme-hofis-light .archive__search { background: #fff; }
:root[data-theme="light"] .theme-hofis-light .news-chip { color: var(--fg); }

@media (max-width: 900px) {
    .page-glow { padding-top: 8rem; }
    .page-glow__inner--split { grid-template-columns: 1fr; text-align: center; }
    .page-glow__inner--split .page-glow__lead { margin-left: auto; }
    .stat-row { justify-content: center; }
    .split-section { grid-template-columns: 1fr; gap: 1.5rem; margin: 4rem auto; }
    .contact-grid { grid-template-columns: 1fr; }
    .archive__bar { flex-direction: column; align-items: stretch; }
    .archive__search input { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
    .page-glow__light, .marquee__track, .latest-issue__shine, .hero-in { animation: none; }
    .glow-card, .tilt, .issue-grid--archive .issue-card { transition: none; transform: none; }
}
.section-cards { max-width: var(--max-width); margin: 3.5rem auto 6rem; padding: 0 2rem; }
.section-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.section-grid > li { display: flex; }
.section-card { display: flex; flex-direction: column; gap: 0.6rem; width: 100%; padding: 1.9rem; color: inherit; }
.section-card__icon, .page-glow__icon { width: 52px; height: 52px; border-radius: 11px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--border); background: linear-gradient(160deg, rgba(var(--g1), 0.28), rgba(var(--g5), 0.08) 60%, rgba(var(--ink-rgb), 0.02)); margin-bottom: 0.6rem; transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1); }
.section-card__icon svg, .page-glow__icon svg { width: 24px; height: 24px; }
.glow-card:hover .section-card__icon { transform: translateY(-2px) rotate(-6deg) scale(1.06); }
.section-card h2 { margin: 0; font-size: 1.55rem; font-weight: 500; letter-spacing: -0.015em; }
.section-card p { flex: 1; margin: 0; color: rgba(var(--ink-rgb), 0.78); line-height: 1.6; }
.section-card__head { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; }
.section-list { list-style: none; margin: 0 auto; padding: 0; max-width: 1080px; position: relative; }
.section-list > li { border-top: 1px solid rgba(var(--ink-rgb), 0.09); position: relative; z-index: 1; }
.section-list > li:last-of-type { border-bottom: 1px solid rgba(var(--ink-rgb), 0.09); }
.section-row { display: grid; grid-template-columns: 3rem minmax(0, 1fr) auto; align-items: center; gap: 0.3rem 1.5rem; margin: 0.4rem -1.5rem; padding: 1.5rem; color: inherit; }
.section-row.glow-card { border-color: transparent; background: transparent; border-radius: 13px; transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), border-color 0.18s ease, background-color 0.18s ease; }
.section-row.glow-card:hover, .section-row.glow-card:focus-visible { transform: translateY(-4px); border-color: rgba(var(--ink-rgb), 0.2); background: rgba(var(--ink-rgb), 0.03); }
.section-row__body { display: grid; grid-template-columns: minmax(0, 20rem) minmax(0, 1fr); gap: 0.3rem 2rem; align-items: baseline; min-width: 0; }
.section-row__num { font-size: 0.9rem; font-variant-numeric: tabular-nums; letter-spacing: 0.08em; color: var(--muted-2); transition: color 0.18s ease; }
.section-row__title { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.75rem); font-weight: 500; letter-spacing: -0.015em; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.section-row__desc { margin: 0; color: rgba(var(--ink-rgb), 0.72); line-height: 1.6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.section-beam { position: absolute; left: 0; top: 0; z-index: 0; list-style: none; pointer-events: none; border-radius: 13px; opacity: 0; overflow: hidden;
    border: 1px solid rgba(var(--g4), 0.22); background: linear-gradient(90deg, rgba(var(--g4), 0.08), rgba(var(--g4), 0.02) 70%);
    box-shadow: 0 0 40px -8px rgba(var(--g4), 0.4), inset 0 0 28px rgba(var(--g4), 0.06);
    transition: transform 0.45s cubic-bezier(0.65, 0, 0.25, 1), width 0.45s cubic-bezier(0.65, 0, 0.25, 1), height 0.45s cubic-bezier(0.65, 0, 0.25, 1), opacity 0.4s ease, border-color 0.15s ease, box-shadow 0.15s ease; }
.section-beam.is-on { opacity: 1; }
.section-beam { border-color: rgba(var(--g4), 0.14); background: linear-gradient(90deg, rgba(var(--g4), 0.045), rgba(var(--g4), 0.015) 70%); box-shadow: 0 0 34px -10px rgba(var(--g4), 0.28), inset 0 0 24px rgba(var(--g4), 0.04); }
.section-beam::before { content: ""; position: absolute; inset: -40% 10%; opacity: 0; background: radial-gradient(closest-side, rgba(var(--g4), 0.16), transparent); filter: blur(12px); }
.section-beam.sweep::before { animation: beam-glow 2.05s ease-in-out 0.45s 1 both; }
.section-beam.is-focus { transition-duration: 0.22s; border-color: rgba(var(--g4), 0.3); box-shadow: 0 0 44px -8px rgba(var(--g4), 0.35), inset 0 0 26px rgba(var(--g4), 0.06); }
.section-beam.is-focus::before { animation: none; opacity: 1; inset: -40% auto; width: 34%; left: var(--fx, 50%); transform: translateX(-50%); transition: left 0.06s linear, opacity 0.15s ease; }
@keyframes beam-glow { 0% { opacity: 0; } 45% { opacity: 1; } 100% { opacity: 0; } }
.section-row__go { font-size: 1.35rem; line-height: 1; color: var(--muted); transition: transform 0.18s cubic-bezier(0.2, 0.8, 0.2, 1), color 0.18s ease; }
.section-row.glow-card:hover .section-row__num, .section-row.glow-card:focus-visible .section-row__num { color: rgb(var(--g2)); }
.section-row.glow-card:hover .section-row__go, .section-row.glow-card:focus-visible .section-row__go { transform: translateX(6px); color: rgb(var(--g2)); }
.section-row--locked { position: relative; z-index: 2; cursor: default; border: 1px solid transparent; }
.section-row--locked .section-row__title, .section-row--locked .section-row__desc, .section-row--locked .section-row__num { opacity: 0.5; }
.section-soon:not(.glow-card) { border: 0; }
@media (max-width: 900px) {
    .section-row__body { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .section-row { grid-template-columns: 2.2rem minmax(0, 1fr) auto; gap: 0.3rem 0.9rem; margin: 0.3rem -1rem; padding: 1.15rem 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .section-beam { display: none; }
    .section-row.glow-card, .section-row__go { transition: none; }
    .section-row.glow-card:hover, .section-row.glow-card:hover .section-row__go { transform: none; }
}
.section-card--locked { overflow: visible; z-index: 2; cursor: default; }
.section-card--locked:hover { transform: none; border-color: var(--border); }
.section-card--locked::before { display: none; }
.section-card--locked h2, .section-card--locked p, .section-card--locked .section-card__icon { opacity: 0.5; }
.section-soon { max-width: 34rem; margin: 0 auto; padding: 2.2rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.section-soon h2 { margin: 0.4rem 0 0; font-size: 1.6rem; font-weight: 500; }
.section-soon p { margin: 0; color: var(--muted); }
.stat-row--center { justify-content: center; }
.page-glow__title--md { font-size: clamp(2.2rem, 5.5vw, 4.2rem); }
.page-glow__icon { margin: 1.2rem auto 0; width: 60px; height: 60px; border-radius: 13px; }
.page-glow__icon svg { width: 28px; height: 28px; }
.crumb { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.9rem; border-radius: 8px; border: 1px solid var(--border); background: rgba(var(--paper-rgb), 0.25); font-size: 0.9rem; color: rgba(var(--ink-rgb), 0.85); transition: border-color 0.2s ease, background 0.2s ease; }
.crumb:hover { border-color: rgba(var(--ink-rgb), 0.4); background: rgba(var(--paper-rgb), 0.4); }
@media (prefers-reduced-motion: reduce) { .section-card__icon { transition: none; } }
.page-glow--compact { padding: 7.5rem 2rem 2.2rem; }
.page-glow--compact .page-glow__icon { margin: 1rem auto 0.2rem; width: 54px; height: 54px; }
.page-glow--compact .page-glow__lead { font-size: 1.05rem; margin-top: 1rem; }
.eyebrow--block { display: block; margin-top: 0.9rem; }
.page-tools { max-width: var(--max-width); margin: 0 auto; padding: 0 2rem; display: flex; flex-direction: column; align-items: center; gap: 0.9rem; text-align: center; }
.page-tools__row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.6rem; }
.page-tools__row form { margin: 0; }
.page-tools .btn-outline, .page-tools .btn-pill { padding: 0.65rem 1.4rem; }
.news-filter--center { justify-content: center; margin-bottom: 0; }
.ofisplus-series--after-glow { padding-top: 2.5rem; }
.report-grid { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; }
.report-card {
    display: grid;
    grid-template-columns: 9.5rem minmax(0, 1fr) auto;
    grid-template-areas: "meta title link" "meta summary link";
    align-items: center;
    gap: 0.35rem 1.75rem;
    padding: 1.2rem 1.6rem;
}
.report-card .report-card__meta { grid-area: meta; align-self: start; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0.45rem; }
.report-card .report-card__title { grid-area: title; margin: 0; align-self: end; }
.report-card .report-card__summary { grid-area: summary; align-self: start; }
.report-card .report-card__link { grid-area: link; white-space: nowrap; }
.report-card:hover, .report-card:focus-within { transform: translateY(-2px); }
.report-card__meta { display: flex; justify-content: space-between; align-items: center; gap: 0.6rem; font-size: 0.85rem; color: var(--muted); }
.report-card__source { padding: 0.2rem 0.7rem; border-radius: 8px; font-weight: 600; color: var(--fg); border: 1px solid rgba(var(--ink-rgb), 0.25); background: linear-gradient(160deg, rgba(var(--g1), 0.25), rgba(var(--ink-rgb), 0.02)); }
.report-card__title { margin: 0.2rem 0 0; font-size: 1.15rem; font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; }
.report-card__summary { margin: 0; color: rgba(var(--ink-rgb), 0.8); line-height: 1.6; }
.report-card__link { color: var(--fg); }
@media (max-width: 860px) {
    .report-card {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "meta" "title" "summary" "link";
        padding: 1.2rem 1.25rem;
    }
    .report-card .report-card__meta { flex-direction: row; align-items: center; }
}
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.fw-summary { margin: 0 0 2rem; color: var(--fg-3); font-size: 1.02rem; line-height: 1.7; }
.fw-summary strong { color: var(--fg); }
.fw-table td small, .fw-table th small { color: var(--muted-2); font-weight: 400; text-transform: none; letter-spacing: 0; }
.fw-move { margin-left: 0.4rem; color: var(--muted-2); }
.fw-current td { color: var(--fg); font-weight: 600; background: rgba(var(--ink-rgb), 0.04); }
#fw-periods .news-chip { background: transparent; cursor: pointer; font: inherit; font-size: 0.875rem; }
#fw-periods .news-chip.is-active { background: var(--fg); color: var(--bg); }
.company-return.glow-card { border-radius: 11px; }
.ob-w { border-radius: 11px; transition: border-color 0.25s ease; }
.ob-w:hover { border-color: rgba(var(--ink-rgb), 0.28); }
.ob-w__head { background: linear-gradient(90deg, rgba(var(--g1), 0.12), transparent 60%); }
.ob-chart { border-radius: 13px; }

@media (max-width: 700px) {
    .page-glow--compact { padding-top: 8rem; }
}
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pmap { width: 100%; height: auto; display: block; }
.pmap path { transition: opacity .15s; }
.pmap path:hover { opacity: .8; }
.pmap-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 1.5rem; align-items: start; }
.pmap-figure { min-width: 0; }
.pmap-table td small { display: block; color: var(--muted); font-size: 0.8rem; font-weight: 400; }
.pmap-table tr.pmap-tr td { font-weight: 700; }
.pmap-legend { display: grid; grid-template-columns: minmax(0, 320px); gap: 0.3rem; margin-top: 0.75rem; font-size: 0.82rem; color: var(--muted); }
.pmap-legend__bar { height: 10px; border-radius: 2px; }
.pmap-legend__ticks { display: flex; justify-content: space-between; font-variant-numeric: tabular-nums; }
.pmap-legend__empty { display: inline-block; width: 10px; height: 10px; vertical-align: -1px; background: #2A2A2A; border: 1px solid var(--line); }
.pmap-tools { flex-wrap: wrap; gap: 0.6rem; }
.pmap-date { margin: 0; }
.pmap-date input { padding: 0.5rem 0.75rem; border-radius: 8px; border: 1px solid var(--line); background: transparent; color: var(--fg); font: inherit; color-scheme: dark; }
@media (max-width: 900px) { .pmap-wrap { grid-template-columns: 1fr; } }
.ob-statusbar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.4rem; margin: 0.4rem 0 0; font-size: 0.85rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.ob-pulse { display: inline-flex; align-items: center; gap: 0.55rem; color: var(--fg); font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.8rem; }
.ob-pulse__dot { width: 8px; height: 8px; border-radius: 50%; background: rgb(var(--g2)); animation: ob-pulse 2s ease-out infinite; }
@keyframes ob-pulse { 0% { box-shadow: 0 0 0 0 rgba(var(--g4), 0.6); } 70% { box-shadow: 0 0 0 9px rgba(var(--g4), 0); } 100% { box-shadow: 0 0 0 0 rgba(var(--g4), 0); } }
.ob-statusbar__item.is-open { color: var(--fg); }

.ob-focus-btn { margin-left: auto; padding: 0.3rem 0.85rem; border: 1px solid rgba(var(--ink-rgb), 0.25); border-radius: 8px; background: none; color: var(--fg-2); font: inherit; font-size: 0.82rem; cursor: pointer; transition: background 0.18s, color 0.18s; }
.ob-focus-btn:hover { background: rgba(var(--ink-rgb), 0.08); color: var(--fg); }
.ob-focus-btn[aria-pressed="true"] { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.ob-page .page-glow--compact { transition: padding 0.45s ease; }
.ob-page .page-glow--compact .page-glow__inner { max-height: 32rem; transition: max-height 0.45s ease, opacity 0.3s ease; }
.ob-page .ofisberg.ofisplus-series--after-glow { transition: padding-top 0.45s ease; }
body.ob-focus .page-glow--compact { padding-top: calc(var(--ob-hdr, 80px) + 0.4rem); padding-bottom: 0; }
body.ob-focus .page-glow--compact .page-glow__inner { max-height: 0; opacity: 0; overflow: hidden; visibility: hidden; transition: max-height 0.45s ease, opacity 0.25s ease, visibility 0s 0.45s; }
body.ob-focus .ofisberg.ofisplus-series--after-glow { padding-top: 0; }
body.ob-focus .ob-statusbar { margin-top: 0; }
body.ob-focus--instant .page-glow--compact, body.ob-focus--instant .page-glow--compact .page-glow__inner, body.ob-focus--instant .ofisberg { transition: none !important; }
@media (prefers-reduced-motion: reduce) { .ob-page .page-glow--compact, .ob-page .page-glow--compact .page-glow__inner { transition: none; } }
.ob-w { position: relative; }
.ob-w::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity 0.15s ease; z-index: 0;
    background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 0%), rgba(var(--g4), 0.1), transparent 50%); }
.ob-w:hover::before { opacity: 1; }
.ob-w:hover { border-color: rgba(var(--g4), 0.45); box-shadow: 0 0 28px -10px rgba(var(--g4), 0.5); }
.ob-w > * { position: relative; z-index: 1; }
.ob-chart { transition: border-color 0.2s ease, box-shadow 0.2s ease; }
.ob-chart:hover { border-color: rgba(var(--g4), 0.35); box-shadow: 0 0 36px -14px rgba(var(--g4), 0.45); }
.ob-tick { animation: ob-tick 1.4s ease-out; }
.ob-tick--up { animation: ob-tick-up 1.4s ease-out; }
.ob-tick--down { animation: ob-tick-down 1.4s ease-out; }
@keyframes ob-tick { from { background: rgba(var(--ink-rgb), 0.14); } to { background: transparent; } }
@keyframes ob-tick-up { from { background: rgba(34, 197, 94, 0.22); } to { background: transparent; } }
@keyframes ob-tick-down { from { background: rgba(239, 68, 68, 0.22); } to { background: transparent; } }
.ob-icon--text { width: auto; padding: 0 0.55rem; font-size: 0.8rem; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .ob-pulse__dot, .ob-tick, .ob-tick--up, .ob-tick--down { animation: none; } }
.busy-bar { position: fixed; top: 0; left: 0; right: 0; height: 2px; z-index: 300; overflow: hidden; opacity: 0; transition: opacity 0.2s ease; pointer-events: none; }
.busy-bar.is-on { opacity: 1; }
.busy-bar::before { content: ""; position: absolute; top: 0; bottom: 0; width: 40%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.9), transparent); animation: busy-run 1.2s ease-in-out infinite; }
@keyframes busy-run { from { left: -40%; } to { left: 100%; } }
.busy-toast { position: fixed; left: 50%; bottom: 1.5rem; z-index: 300; display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 1.1rem; border-radius: 8px;
    background: rgba(18, 18, 18, 0.92); border: 1px solid rgba(255, 255, 255, 0.14); color: #f2f2f2; font-size: 0.9rem; box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
    transform: translate(-50%, 12px); opacity: 0; transition: opacity 0.2s ease, transform 0.2s ease; pointer-events: none; }
.busy-toast.is-on { opacity: 1; transform: translate(-50%, 0); }
.busy-toast__time { color: rgba(255, 255, 255, 0.55); font-variant-numeric: tabular-nums; }
.busy-toast__dots { display: inline-flex; gap: 4px; }
.busy-toast__dots i { width: 5px; height: 5px; border-radius: 50%; background: #fff; animation: busy-dot 1s ease-in-out infinite; }
.busy-toast__dots i:nth-child(2) { animation-delay: 0.15s; }
.busy-toast__dots i:nth-child(3) { animation-delay: 0.3s; }
@keyframes busy-dot { 0%, 100% { opacity: 0.25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .busy-bar::before, .busy-toast__dots i { animation: none; } }
.section-beam { display: none; }
.section-row, .section-row.glow-card { margin: 0; padding: 1.6rem 1rem; border: 0; border-radius: 0; background: transparent; transition: padding 0.18s ease; }
.section-row.glow-card:hover, .section-row.glow-card:focus-visible { transform: none; border-color: transparent; background: transparent; padding-left: 1.6rem; }
.section-row.glow-card::before { background: radial-gradient(520px circle at var(--mx, 30%) var(--my, 50%), rgba(var(--g4), 0.22), transparent 55%); }
.section-row--locked { border: 0; }
@media (max-width: 900px) {
    .section-row, .section-row.glow-card { margin: 0; padding: 1.15rem 0.5rem; }
    .section-row.glow-card:hover, .section-row.glow-card:focus-visible { padding-left: 0.5rem; }
}
.theme-toggle { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; border: 0; cursor: pointer; font: inherit; color: var(--muted-foreground); background: rgba(var(--ink-rgb), 0.01); transition: color 0.2s ease; }
.theme-toggle:hover, .theme-toggle:focus-visible { color: var(--foreground); }
.theme-toggle svg { width: 17px; height: 17px; }
.theme-toggle__moon { display: none; }
:root[data-theme="light"] .theme-toggle__sun { display: none; }
:root[data-theme="light"] .theme-toggle__moon { display: block; }
.template-homepage .theme-toggle, .template-glow .theme-toggle { color: rgba(255, 255, 255, 0.88); }
@media (max-width: 480px) { .theme-toggle { width: 34px; height: 34px; } }
:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="light"] .brand-logo { filter: invert(1); }
:root[data-theme="light"] .template-glow .site-nav a, :root[data-theme="light"] .template-glow .site-header__social a,
:root[data-theme="light"] .template-glow .theme-toggle { color: #3d3d3d; }
:root[data-theme="light"] .template-glow .site-nav a:hover, :root[data-theme="light"] .template-glow .site-header__social a:hover,
:root[data-theme="light"] .template-glow .theme-toggle:hover { color: #000; }

.hero__light { display: none; }
:root[data-theme="light"] .hero__media, :root[data-theme="light"] .hero__scrim { display: none; }
:root[data-theme="light"] .hero__light {
    display: block; position: absolute; inset: -15% -10% 0; z-index: 0; pointer-events: none;
    background:
        radial-gradient(42% 46% at 24% 26%, rgba(116, 132, 245, 0.55), transparent 70%),
        radial-gradient(40% 44% at 76% 22%, rgba(196, 170, 250, 0.6), transparent 70%),
        radial-gradient(34% 36% at 50% 12%, rgba(226, 233, 255, 0.9), transparent 70%),
        radial-gradient(48% 42% at 50% 50%, rgba(160, 168, 245, 0.35), transparent 72%),
        radial-gradient(32% 42% at 92% 52%, rgba(150, 110, 230, 0.35), transparent 70%),
        radial-gradient(30% 40% at 6% 56%, rgba(110, 120, 230, 0.35), transparent 70%);
    filter: blur(28px); animation: glow-drift 18s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) { .hero__light { animation: none !important; } }
:root[data-theme="light"] .hero__fade { background: linear-gradient(to top, #ffffff, transparent); }
:root[data-theme="light"] .template-homepage .site-nav a, :root[data-theme="light"] .template-homepage .site-header__social a,
:root[data-theme="light"] .template-homepage .theme-toggle { color: #3d3d3d; text-shadow: none; }
:root[data-theme="light"] .template-homepage .site-nav a:hover, :root[data-theme="light"] .template-homepage .site-header__social a:hover { color: #000; }
:root[data-theme="light"] .template-homepage .site-nav li:not(:last-child)::after { color: rgba(0, 0, 0, 0.3); }
:root[data-theme="light"] .template-homepage .avatar-proof span.label { color: #3d3d3d; text-shadow: none; }
:root[data-theme="light"] .page-glow__light { opacity: 0.6; }

:root[data-theme="light"] .section-row.glow-card:hover .section-row__num, :root[data-theme="light"] .section-row.glow-card:focus-visible .section-row__num,
:root[data-theme="light"] .section-row.glow-card:hover .section-row__go, :root[data-theme="light"] .section-row.glow-card:focus-visible .section-row__go { color: rgb(var(--g5)); }
:root[data-theme="light"] .product-row__num::before, :root[data-theme="light"] .step-grid--lined .step-card__num { color: rgb(var(--g5)); }
:root[data-theme="light"] .ofisplus-panel__text::after, :root[data-theme="light"] .glint::after {
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.55), transparent) no-repeat, linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.1), transparent);
    background-size: 35% 100%, 100% 100%; filter: none;
}
:root[data-theme="light"] .busy-bar::before { background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.7), transparent); }
:root[data-theme="light"] .theme-hofis-light .theme-toggle { color: #3d3d3d; }
:root[data-theme="light"] .hero .subscribe-form { --ink-rgb: 255, 255, 255; }

:root:not([data-theme="light"]) .template-homepage .hero { background: #000; }
:root:not([data-theme="light"]) .template-homepage .hero__fade { background: linear-gradient(to top, #000, transparent); }
:root:not([data-theme="light"]) .template-homepage .hero + .section { position: relative; }
:root:not([data-theme="light"]) .template-homepage .hero + .section::before {
    content: ""; position: absolute; z-index: -1; top: 0; left: 50%; width: 100vw; height: 900px; transform: translateX(-50%); pointer-events: none;
    background: linear-gradient(to bottom, #000 0%, #020202 12%, #050505 25%, #090909 40%, #0d0d0d 58%, #101010 76%, #121212 100%);
}
.template-homepage { overflow-x: clip; }
.eflow { margin: 3rem 0 1rem; border-top: 1px solid var(--line); padding-top: 1.4rem; }
.eflow__head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.eflow__title { margin: 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -0.01em; }
.eflow__period { font-size: 0.85rem; color: var(--muted); letter-spacing: 0.04em; }
.eflow__grid { display: grid; grid-template-columns: minmax(200px, 250px) minmax(0, 1fr); gap: 2.5rem; margin-top: 1.6rem; align-items: start; }
.eflow__side { display: flex; flex-direction: column; }
.eflow__label { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.eflow__label--gap { margin-top: 1.8rem; padding-top: 1.2rem; border-top: 1px solid var(--line); }
.eflow__rev { font-size: clamp(2rem, 3.4vw, 2.6rem); font-weight: 700; letter-spacing: -0.03em; line-height: 1.1; margin-top: 0.35rem; }
.eflow__yoy { margin-top: 0.3rem; font-size: 0.9rem; font-weight: 600; color: var(--muted-2); }
.eflow__yoy.stock-up, .eflow__abs .stock-up { color: var(--up); }
.eflow__yoy.stock-down, .eflow__abs .stock-down { color: var(--down); }
.eflow__ladder { list-style: none; margin: 0.9rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 1rem; }
.eflow__ladder li { display: grid; grid-template-columns: 1fr auto; row-gap: 0.35rem; }
.eflow__step { font-size: 0.95rem; color: var(--fg-2); }
.eflow__per { font-size: 1.15rem; font-weight: 700; text-align: right; }
.eflow__bar { grid-column: 1 / -1; height: 4px; border-radius: 2px; background: rgba(var(--ink-rgb), 0.1); position: relative; overflow: hidden; }
.eflow__bar::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: var(--up); border-radius: 2px; }
.eflow__abs { grid-column: 1 / -1; font-size: 0.82rem; color: var(--muted-2); font-weight: 600; }
.eflow__chg { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; margin-top: 0.4rem; font-size: 0.85rem; color: var(--muted-2); font-weight: 600; }
.eflow__chg abbr { text-decoration: none; cursor: help; }
.eflow__chg b { font-weight: 700; color: var(--muted); }
.eflow__chg b.stock-up { color: var(--up); }
.eflow__chg b.stock-down { color: var(--down); }
.eflow__chg--sm { grid-column: 1 / -1; margin-top: 0; font-size: 0.8rem; }
.eflow__finbar { margin-top: 1.6rem; padding-top: 1.1rem; border-top: 1px solid var(--line); }
.eflow__fin { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 0.8rem; }
.eflow__fin > div { display: flex; flex-direction: column; gap: 0.2rem; padding: 0 1rem; }
.eflow__fin > div:first-child { padding-left: 0; }
.eflow__fin > div + div { border-left: 1px solid var(--line); }
.eflow__fl { font-size: 0.85rem; font-weight: 600; color: var(--fg-2); }
.eflow__fv { font-size: 1.3rem; font-weight: 700; letter-spacing: -0.02em; }
.eflow__fn { font-size: 0.8rem; color: var(--muted-2); }
.eflow__chg--col { flex-direction: column; gap: 0.1rem; margin-top: 0.3rem; font-size: 0.8rem; }
@media (max-width: 900px) {
    .eflow__fin { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 1.2rem; }
    .eflow__fin > div:nth-child(3n+1) { padding-left: 0; border-left: 0; }
}
@media (max-width: 560px) {
    .eflow__fin { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .eflow__fin > div { padding-left: 1rem; border-left: 1px solid var(--line); }
    .eflow__fin > div:nth-child(odd) { padding-left: 0; border-left: 0; }
}
.eflow__chart { overflow-x: auto; }
.eflow__chart svg { display: block; width: 100%; min-width: 680px; height: auto; font-family: inherit; }
.eflow__foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: 0.85rem; color: var(--muted-2); }
.eflow__brand { display: inline-flex; align-items: center; gap: 0.55rem; font-family: "Poppins", Inter, sans-serif; font-weight: 500; font-size: 0.9rem; letter-spacing: 0.06em; color: var(--fg); }
.eflow__brand img { width: 22px; height: 22px; object-fit: contain; }
:root[data-theme="light"] .eflow__brand img { filter: invert(1); }
.eflow__note { color: var(--muted-2); font-size: 0.85rem; margin-top: 0.75rem; }
.eflow__note--warn { color: var(--down); }
@media (max-width: 900px) {
    .eflow__grid { grid-template-columns: 1fr; gap: 1.8rem; }
    .eflow__ladder { flex-direction: row; flex-wrap: wrap; gap: 1rem 1.6rem; }
    .eflow__ladder li { flex: 1 1 140px; }
}
.company-id { display: flex; flex-direction: column; align-items: center; gap: 0.9rem; margin-top: 1.4rem; }
.company-id__logo { width: 64px; height: 64px; border-radius: 11px; background: #fff; display: grid; place-items: center; padding: 9px; box-shadow: 0 0 0 1px rgba(var(--ink-rgb), 0.12); }
.company-id__logo img { width: 100%; height: 100%; object-fit: contain; }
.company-id__title { margin-top: 0.6rem; }
.company-id__name { display: block; margin-top: 0.4rem; font-size: 0.42em; font-weight: 500; letter-spacing: -0.01em; color: rgba(var(--ink-rgb), 0.82); }
.company-id__desc { max-width: 44rem; margin: 1.1rem auto 0; font-size: 1.05rem; line-height: 1.6; color: rgba(var(--ink-rgb), 0.86); }
.company-facts { display: flex; flex-wrap: wrap; justify-content: center; margin: 1.6rem auto 0; padding: 0; max-width: 60rem; }
.company-facts > div { padding: 0.2rem 1.2rem; text-align: center; }
.company-facts > div + div { border-left: 1px solid rgba(var(--ink-rgb), 0.18); }
.company-facts dt { font-size: 0.8rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(var(--ink-rgb), 0.6); }
.company-facts dd { margin: 0.25rem 0 0; font-size: 0.95rem; font-weight: 600; color: var(--fg); }
.company-facts dd small { display: block; font-size: 0.8rem; font-weight: 400; color: rgba(var(--ink-rgb), 0.6); margin-top: 0.1rem; }
@media (max-width: 700px) {
    .company-facts { display: grid; grid-template-columns: 1fr 1fr; row-gap: 1rem; }
    .company-facts > div + div { border-left: 0; }
}
.ef-n { fill: var(--fg); font-weight: 700; }
.ef-v { fill: var(--muted); font-size: 13px; }
.ef-b { font-weight: 700; }
.ef-up { fill: var(--up); }
.ef-down { fill: var(--down); }
.ef-flat { fill: var(--muted-2); }
.ef-node--rev { fill: var(--muted-2); }
.ef-node--profit { fill: var(--up); }
.ef-node--cost { fill: var(--down); }
.ef-link--rev { fill: rgba(var(--ink-rgb), 0.13); }
.ef-link--profit { fill: var(--up); fill-opacity: 0.24; }
.ef-link--cost { fill: var(--down); fill-opacity: 0.22; }
.ef-box { fill: var(--bg); fill-opacity: 0.84; }
.oa-test { padding-top: 7rem; }
.oa-test__lead { color: var(--muted); max-width: 52rem; margin: 0.6rem 0 1.4rem; }
.oa-test__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem 1rem; margin-bottom: 0.8rem; }
.oa-test__bar form { display: flex; gap: 0.4rem; }
.oa-test__bar input { background: transparent; color: var(--fg); border: 1px solid var(--line); border-radius: 8px; padding: 0.45rem 0.9rem; width: 11rem; font: inherit; }
.oa-test__ranges { display: flex; flex-wrap: wrap; gap: 0.3rem; }
.oa-test__chart { position: relative; height: 540px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); user-select: none; }
@media (max-width: 700px) { .oa-test__chart { height: 380px; } .oa-test { padding-top: 8.5rem; } }
.ob-colors { min-width: 14rem; }
.ob-colors__row { display: flex; align-items: center; gap: 0.6rem; padding: 0.3rem 0; font-size: 0.875rem; color: var(--fg); cursor: pointer; }
.ob-colors__row input[type="color"] { width: 2rem; height: 1.5rem; padding: 0; border: 1px solid var(--line); border-radius: 3px; background: transparent; cursor: pointer; }
.ob-colors .news-chip { margin-top: 0.5rem; }
@media (max-width: 700px) { .ob-chart__menu { left: 0; right: auto; } }
.ob-mainrow { display: grid; grid-template-columns: 18rem minmax(0, 1fr); gap: 0.9rem; margin: 1.25rem 0 1.5rem; align-items: stretch; }
.ob-mainrow > .ob-chart { margin: 0; }
.ob-sidewl { position: relative; min-height: 12rem; border: 1px solid rgba(var(--ink-rgb), 0.14); border-radius: 13px; background: rgba(var(--ink-rgb), 0.025); }

.ob-sidewl__in { position: absolute; inset: 0; display: flex; flex-direction: column; }
.ob-sidewl__head { display: flex; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.7rem 0.8rem 0.45rem 0.9rem; }
.ob-sidewl__body { flex: 1; min-height: 0; overflow: auto; padding: 0 0.7rem 0.6rem; }
.ob-sidewl__plus { width: 28px; height: 28px; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 6px; font-size: 1.05rem; flex: none; }
.ob-sidewl__plus.is-active { background: rgba(var(--ink-rgb), 0.1); }
.ob-sidewl__add { margin: 0 0.7rem 0.45rem; }
.ob-sidewl__add[hidden] { display: none; }
.ob-sidewl__add input { font-size: 0.85rem; }

.ob-sidewl .ob-wl { font-size: 0.76rem; }
.ob-sidewl .ob-wl td { padding: 0.18rem 0.25rem; }
.ob-sidewl .ob-wl .ob-wl__del { width: 20px; }
.ob-sidewl .ob-wl .ob-wl__del .ob-icon { width: 18px; height: 18px; }
.ob-sidewl .ob-wl .ob-name { font-size: 0.68rem; line-height: 1.15; }
.ob-sidewl .ob-wl .ob-live__price { width: 4.4rem; }
.ob-sidewl .ob-wl .ob-live__chg { width: 3.6rem; }

.ob-wl thead th { position: sticky; top: 0; z-index: 1; padding: 0.25rem 0.25rem 0.3rem; background: var(--bg); border-bottom: 1px solid rgba(var(--ink-rgb), 0.1); font-size: 0.68rem; font-weight: 500; color: var(--muted-2); text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; }
.ob-wl thead th.ob-num { text-align: right; }

.ob-wl__id { display: flex; align-items: center; gap: 0.45rem; min-width: 0; }
.ob-wl__txt { min-width: 0; }
.ob-wl__logo { flex: none; width: 20px; height: 20px; border-radius: 50%; background: #fff; object-fit: contain; padding: 2px; box-sizing: border-box; }
.ob-wl__logo--text { display: inline-flex; align-items: center; justify-content: center; padding: 0; background: rgba(var(--ink-rgb), 0.12); color: var(--fg-2); font-size: 0.5rem; font-weight: 600; letter-spacing: -0.02em; }
.ob-sidewl .ob-note, .ob-sidewl .ob-empty { font-size: 0.8rem; }

.ob-wlmenu { position: relative; min-width: 0; flex: 1; }
.ob-wlmenu__btn { display: inline-flex; align-items: center; gap: 0.3rem; max-width: 100%; padding: 0.2rem 0.4rem 0.2rem 0.1rem; border: 0; border-radius: 4px; background: none; color: var(--fg); font: inherit; font-weight: 600; font-size: 0.9rem; cursor: pointer; }
.ob-wlmenu__btn span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-wlmenu__btn svg { flex: none; color: var(--muted-2); }
.ob-wlmenu__btn:hover { background: rgba(var(--ink-rgb), 0.07); }
.ob-wlmenu__rename { width: 100%; box-sizing: border-box; padding: 0.25rem 0.45rem; border: 1px solid rgba(var(--ink-rgb), 0.3); border-radius: 4px; background: var(--surface); color: var(--fg); font: inherit; font-weight: 600; font-size: 0.9rem; }
.ob-wlmenu__pop { position: absolute; top: calc(100% + 6px); left: 0; z-index: 30; width: 15.5rem; max-height: 24rem; overflow-y: auto; padding: 0.35rem 0; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.25); border-radius: 7px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.7 * var(--shadow-k))); }
.ob-wlmenu__sec { padding: 0.45rem 0.85rem 0.2rem; font-size: 0.8rem; color: var(--muted-2); text-transform: uppercase; letter-spacing: 0.05em; }
.ob-wlmenu__item { display: flex; justify-content: space-between; align-items: baseline; gap: 0.6rem; width: 100%; padding: 0.4rem 0.85rem; border: 0; background: none; color: var(--fg-2); font: inherit; font-size: 0.875rem; text-align: left; cursor: pointer; }
.ob-wlmenu__item span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ob-wlmenu__item small { color: var(--muted-2); font-size: 0.8rem; font-variant-numeric: tabular-nums; }
.ob-wlmenu__item:hover { background: rgba(var(--ink-rgb), 0.08); }
.ob-wlmenu__item.is-active { color: var(--fg); font-weight: 600; box-shadow: inset 2px 0 0 var(--fg); }
.ob-wlmenu__actions { display: flex; flex-wrap: wrap; gap: 0.3rem; padding: 0.35rem 0.85rem 0.45rem; border-bottom: 1px solid rgba(var(--ink-rgb), 0.1); }
.ob-wlmenu__actions button { padding: 0.2rem 0.55rem; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; background: none; color: var(--fg-2); font: inherit; font-size: 0.8rem; cursor: pointer; }
.ob-wlmenu__actions button:hover { background: rgba(var(--ink-rgb), 0.08); color: var(--fg); }
.ob-sidewl tr[data-open] { cursor: pointer; }
.ob-sidewl tr[data-open]:hover td, .ob-sidewl tr.is-current td { background: rgba(var(--ink-rgb), 0.06); }
.ob-sidewl tr.is-current td:first-child { box-shadow: inset 2px 0 0 var(--fg); }
@media (max-width: 900px) {
  .ob-mainrow { grid-template-columns: minmax(0, 1fr); }
  .ob-sidewl { order: 2; }
  .ob-sidewl__in { position: static; }
  .ob-sidewl__body { max-height: 22rem; }
}
.fomc-pick { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.fomc-pick label { display: flex; flex-direction: column; gap: 0.25rem; font-size: 0.82rem; color: var(--muted-2); }
.fomc-strip { margin-bottom: 1.2rem; }
.fomc-strip__note { font-size: 0.82rem; color: var(--muted-2); min-height: 1.1em; }
.fomc-dissent { color: var(--fg-3); font-size: 0.9rem; line-height: 1.6; margin: 0 0 2rem; }
.fomc-dissent strong { color: var(--fg); }
.ofisplus-chart-heading small { font-size: 0.82rem; font-weight: 400; color: var(--muted-2); margin-left: 0.5rem; letter-spacing: 0; }
.fomc-changes { list-style: none; margin: 0 0 2.5rem; padding: 0; border-top: 1px solid var(--border); }
.fomc-change { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: 0.9rem 0; border-bottom: 1px solid var(--border); }
.fomc-change p { margin: 0; line-height: 1.7; color: var(--fg-2); }
.fomc-change__kind { font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--muted-2); padding-top: 0.2rem; }
.fomc-same { color: var(--muted-2); margin-bottom: 2.5rem; }
.fomc-text { max-width: 52rem; margin-bottom: 1.2rem; }
.fomc-text p { line-height: 1.8; color: var(--fg-2); margin: 0 0 1rem; }
.fomc-text ins, .fomc-changes ins, .ofisplus-chart-heading ins { text-decoration: none; color: var(--fg); background: color-mix(in srgb, var(--up) 24%, transparent); border-radius: 3px; padding: 0 2px; }
.fomc-text del, .fomc-changes del, .ofisplus-chart-heading del { color: var(--muted-2); text-decoration: line-through; text-decoration-color: var(--down); background: color-mix(in srgb, var(--down) 16%, transparent); border-radius: 3px; padding: 0 2px; }
.fomc-history th.num, .fomc-history td.num { text-align: right; font-variant-numeric: tabular-nums; }
.fomc-history td.stock-up { color: var(--up); }
.fomc-history td.stock-down { color: var(--down); }
.fomc-history td:last-child, .fomc-history th:last-child { padding-right: 0; }
.fomc-history .stock-link { color: var(--fg-2); text-decoration: none; }
.fomc-history .stock-link:hover { color: var(--fg); }
.fomc-history__here { color: var(--muted-2); font-size: 0.85rem; }
@media (max-width: 600px) { .fomc-change { grid-template-columns: 1fr; gap: 0.3rem; } }
:root[data-theme="light"] .hero__light {
    background:
        radial-gradient(42% 46% at calc(24% + var(--h1x, 0) * 9%) calc(26% + var(--h1y, 0) * 9%), rgba(116, 132, 245, 0.55), transparent 70%),
        radial-gradient(40% 44% at calc(76% + var(--h2x, 0) * 7%) calc(22% + var(--h2y, 0) * 7%), rgba(196, 170, 250, 0.6), transparent 70%),
        radial-gradient(34% 36% at calc(50% + var(--h3x, 0) * 6%) calc(12% + var(--h3y, 0) * 5%), rgba(226, 233, 255, 0.9), transparent 70%),
        radial-gradient(48% 42% at calc(50% + var(--h1x, 0) * 11%) calc(50% + var(--h1y, 0) * 9%), rgba(160, 168, 245, 0.35), transparent 72%),
        radial-gradient(32% 42% at calc(92% + var(--h2x, 0) * 6%) calc(52% + var(--h2y, 0) * 7%), rgba(150, 110, 230, 0.35), transparent 70%),
        radial-gradient(30% 40% at calc(6% + var(--h3x, 0) * 6%) calc(56% + var(--h3y, 0) * 7%), rgba(110, 120, 230, 0.35), transparent 70%);
}

:root:not([data-theme="light"]) .nav-search__input::placeholder { color: var(--muted-foreground); opacity: 0.85; }
:root:not([data-theme="light"]) .template-homepage .nav-search__input::placeholder,
:root:not([data-theme="light"]) .template-glow .nav-search__input::placeholder { color: rgba(255, 255, 255, 0.88); opacity: 0.8; }
:root:not([data-theme="light"]) .template-homepage .nav-search__icon,
:root:not([data-theme="light"]) .template-glow .nav-search__icon { color: rgba(255, 255, 255, 0.7); }
.nav-drop { position: static; }

.nav-drop > a { position: relative; }
.nav-drop > a::after { content: ""; position: absolute; left: -1.5rem; right: -1.5rem; top: 100%; height: 2.2rem; }
.nav-drop__panel { position: absolute; z-index: 70; top: calc(100% - 0.5rem); left: 50%; width: min(52rem, calc(100vw - 2rem)); translate: -50% 0; padding-top: 1.1rem; visibility: hidden; opacity: 0; transform: translateY(-10px); transition: opacity 0.3s ease-out, transform 0.3s ease-out, visibility 0s linear 0.3s; }
.nav-drop:hover .nav-drop__panel, .nav-drop.is-open .nav-drop__panel, .nav-drop:focus-within .nav-drop__panel {  visibility: visible; opacity: 1; transform: none; transition-delay: 0s; }
.nav-drop__inner { display: grid; grid-template-columns: 15rem 1fr; gap: 2rem; padding: 1.8rem; border-radius: 17px; text-align: left; color: #fff; background: rgba(14, 14, 20, 0.72); -webkit-backdrop-filter: blur(60px) saturate(1.4); backdrop-filter: blur(60px) saturate(1.4); border: 1px solid rgba(255, 255, 255, 0.1); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35); }
.nav-drop__intro { display: flex; flex-direction: column; gap: 0.55rem; padding-right: 1.5rem; border-right: 1px solid rgba(255, 255, 255, 0.1); }
.nav-drop__eyebrow { font-size: 0.8rem; letter-spacing: 0.12em; text-transform: uppercase; color: rgba(255, 255, 255, 0.55); }
.nav-drop__intro strong { font-size: 1.6rem; font-weight: 500; letter-spacing: -0.02em; }
.nav-drop__intro p { margin: 0; font-size: 0.9rem; line-height: 1.5; color: rgba(255, 255, 255, 0.7); }
.site-nav .nav-drop__intro .nav-drop__all { margin-top: auto; font-size: 0.9rem; font-weight: 600; color: #fff; text-shadow: none; }
.site-nav .nav-drop__list { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; gap: 0.15rem; margin: 0; padding: 0; list-style: none; }
.site-nav .nav-drop__list li::after { content: none; }
.site-nav .nav-drop__list a { display: block; padding: 0.6rem 0.85rem; border-radius: 8px; text-shadow: none; color: #fff; background: transparent; transition: background 0.2s ease; }
.site-nav .nav-drop__list a:hover, .site-nav .nav-drop__list a:focus-visible { background: rgba(255, 255, 255, 0.07); }
.nav-drop__list strong { display: block; font-size: 1rem; font-weight: 500; }
.nav-drop__list span { display: block; margin-top: 0.15rem; font-size: 0.85rem; font-weight: 400; line-height: 1.4; color: rgba(255, 255, 255, 0.62); }

:root[data-theme="light"] .nav-drop__inner { color: #111; background: rgba(255, 255, 255, 0.82); border-color: rgba(0, 0, 0, 0.08); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.12); }
:root[data-theme="light"] .nav-drop__intro { border-right-color: rgba(0, 0, 0, 0.08); }
:root[data-theme="light"] .nav-drop__eyebrow, :root[data-theme="light"] .nav-drop__list span { color: #666; }
:root[data-theme="light"] .nav-drop__intro p { color: #444; }
:root[data-theme="light"] .site-nav .nav-drop__intro .nav-drop__all, :root[data-theme="light"] .site-nav .nav-drop__list a { color: #111; }
@media (max-width: 900px) { .nav-drop__panel { display: none; } }

.story { display: flex; justify-content: center; margin: 0 auto 3rem; perspective: 1400px; }
.phone { position: relative; display: block; width: 21rem; aspect-ratio: 9 / 19; padding: 0.75rem; border-radius: 2.24rem; background: #0d0d10; border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 50px 110px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))), 0 0 120px rgba(var(--g5), 0.18), inset 0 0 0 2px #1c1c22; color: #fff; animation: ph-float 7s ease-in-out infinite; transform-style: preserve-3d; }
@keyframes ph-float { 0%, 100% { transform: translateY(0) rotateX(2deg) rotateY(-4deg); } 50% { transform: translateY(-12px) rotateX(-1deg) rotateY(4deg); } }
.phone__screen { position: relative; display: block; width: 100%; height: 100%; border-radius: 1.78rem; overflow: hidden; background: #07070c; }
.phone__island { position: absolute; z-index: 6; top: 0.65rem; left: 50%; width: 6.2rem; height: 1.6rem; margin-left: -3.1rem; border-radius: 8px; background: #000; }
.ph-scene { position: absolute; inset: 0; display: flex; flex-direction: column; opacity: 0; visibility: hidden; transform: translateX(14%) scale(0.98); transition: opacity 0.4s ease, transform 0.5s cubic-bezier(0.2, 0.8, 0.2, 1), visibility 0s linear 0.5s; }
.phone[data-scene="init"] .ph-loss, .phone[data-scene="loss"] .ph-loss, .phone[data-scene="notif"] .ph-loss, .phone[data-scene="tap"] .ph-loss, .phone[data-scene="port"] .ph-loss,
.phone[data-scene="read"] .ph-read, .phone[data-scene="end"] .ph-read { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.phone[data-scene="init"] .ph-scene { transition: none; }

.ph-loss { align-items: flex-start; padding: 4rem 1.4rem 1.4rem; text-align: left; background: radial-gradient(90% 50% at 80% 0%, rgba(var(--g5), 0.25), transparent 70%), #07070c; }
.ph-port__label { font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6); }
.ph-port__val { margin-top: 0.4rem; font-size: 2.3rem; font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.ph-port__chg { margin-top: 0.2rem; font-size: 1.05rem; font-weight: 600; color: #f87171; font-variant-numeric: tabular-nums; transition: color 0.3s ease; }
.ph-port__chg.is-up { color: #4ade80; }
.ph-port__chart { margin-top: auto; width: 100%; height: 52%; overflow: visible; clip-path: inset(0 100% 0 0); }
.ph-loss__line, .ph-port__line { fill: none; stroke-width: 2.5; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.ph-loss__line { stroke: #f87171; }
.ph-loss__area { fill: rgba(248, 113, 113, 0.14); }
.ph-port__line { stroke: #4ade80; }
.ph-port__area { fill: rgba(74, 222, 128, 0.16); }
.phone[data-scene="init"] .ph-port__chart { transition: none; }
.phone[data-scene="loss"] .ph-port__chart { transition: clip-path 2.2s ease-out; clip-path: inset(0 50% 0 0); }
.phone[data-scene="notif"] .ph-port__chart, .phone[data-scene="tap"] .ph-port__chart, .phone[data-scene="read"] .ph-port__chart, .phone[data-scene="end"] .ph-port__chart { clip-path: inset(0 50% 0 0); }
.phone[data-scene="port"] .ph-port__chart { transition: clip-path 2.6s cubic-bezier(0.55, 0, 0.75, 0.6); clip-path: inset(0 0 0 0); }
.ph-port__note { margin-top: 0.6rem; font-size: 0.8rem; color: rgba(255, 255, 255, 0.45); }

.ph-notif { position: absolute; z-index: 4; left: 0.7rem; right: 0.7rem; top: 2.9rem; display: flex; align-items: center; gap: 0.7rem; padding: 0.85rem 0.9rem; border-radius: 0.91rem; text-align: left; background: rgba(46, 46, 60, 0.72); -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6); border: 1px solid rgba(255, 255, 255, 0.14); box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5); opacity: 0; transform: translateY(-5rem) scale(0.94); transition: transform 0.65s cubic-bezier(0.2, 1.35, 0.4, 1), opacity 0.25s ease; }
.ph-notif img { width: 2.3rem; height: 2.3rem; flex: none; object-fit: contain; padding: 0.38rem; border-radius: 0.45rem; background: #000; }
.ph-notif__txt { display: flex; flex-direction: column; min-width: 0; }
.ph-notif__txt strong { font-size: 0.9rem; }
.ph-notif__txt span { font-size: 0.9rem; color: rgba(255, 255, 255, 0.9); line-height: 1.3; }
.ph-notif small { align-self: flex-start; margin-left: auto; font-size: 0.8rem; color: rgba(255, 255, 255, 0.6); }
.phone[data-scene="notif"] .ph-notif { opacity: 1; transform: none; }
.phone[data-scene="tap"] .ph-notif { opacity: 1; transform: scale(0.95); transition-duration: 0.15s; }
.phone[data-scene="notif"] .ph-loss > :not(.ph-notif):not(.ph-tap), .phone[data-scene="tap"] .ph-loss > :not(.ph-notif):not(.ph-tap) { filter: blur(1.5px) brightness(0.7); transition: filter 0.4s ease; }
.ph-tap { position: absolute; z-index: 5; top: 4.6rem; left: 50%; width: 3.2rem; height: 3.2rem; margin: -1.6rem 0 0 -1.6rem; border-radius: 50%; background: rgba(255, 255, 255, 0.6); opacity: 0; transform: scale(0.2); }
.phone[data-scene="tap"] .ph-tap { animation: ph-tap 0.55s ease-out forwards; }
@keyframes ph-tap { 0% { opacity: 0.9; transform: scale(0.2); } 100% { opacity: 0; transform: scale(2.4); } }

.ph-read { align-items: center; justify-content: center; background: radial-gradient(70% 50% at 50% 50%, #1c1c22, #0a0a0e); }
.ph-book { position: relative; width: 82%; aspect-ratio: 1 / 1.414; perspective: 1100px; transform-style: preserve-3d; }
.ph-book__end { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 2px 3px 3px 2px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.55); }
.ph-sheet { position: absolute; inset: 0; transform-origin: left center; transform-style: preserve-3d; transform: rotateY(0deg); transition: transform 0.42s cubic-bezier(0.45, 0.05, 0.35, 1), opacity 0.2s linear 0.4s; }
.ph-sheet.is-turned { transform: rotateY(-178deg); opacity: 0; }
.ph-sheet__face { position: absolute; inset: 0; overflow: hidden; border-radius: 2px 3px 3px 2px; backface-visibility: hidden; -webkit-backface-visibility: hidden;
  background: linear-gradient(90deg, #dcdad3, #f6f5f1 8%, #f6f5f1 92%, #e6e4de); box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06); }
.ph-sheet__face--back { transform: rotateY(180deg); background: linear-gradient(270deg, #cfccc4, #ecebe6 10%, #ecebe6); }
.ph-sheet.is-turned .ph-sheet__face::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0, 0, 0, 0.25), transparent 60%); }
.ph-sheet--cover .ph-sheet__face:first-child { padding: 0; background: #000; }
.ph-sheet--cover img { display: block; width: 100%; height: 100%; object-fit: cover; }

.ph-bulb { position: absolute; z-index: 4; left: 50%; top: 6%; width: 4.6rem; height: 4.6rem; margin-left: -2.3rem; overflow: visible; opacity: 0; transform: translateY(6px); transition: opacity 0.3s ease, transform 0.4s cubic-bezier(0.2, 1.2, 0.4, 1); }
.ph-bulb__halo { opacity: 0; transition: opacity 0.5s ease; }
.ph-bulb__rays path, .ph-bulb__glass, .ph-bulb__fil, .ph-bulb__base { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ph-bulb__glass { stroke: rgba(255, 255, 255, 0.75); stroke-width: 1.8; transition: stroke 0.3s ease, fill 0.3s ease; }
.ph-bulb__fil { stroke: rgba(255, 255, 255, 0.45); stroke-width: 1.5; }
.ph-bulb__base { stroke: rgba(255, 255, 255, 0.6); stroke-width: 1.8; }
.ph-bulb__rays { opacity: 0; transform-origin: 40px 32px; transform: scale(0.7); transition: opacity 0.3s ease 0.25s, transform 0.45s cubic-bezier(0.2, 1.3, 0.4, 1) 0.25s; }
.ph-bulb__rays path { stroke: #ffd76a; stroke-width: 2; }
.phone[data-scene="end"] .ph-bulb { opacity: 1; transform: none; }
.phone[data-scene="end"] .ph-bulb.is-lit .ph-bulb__fil { stroke: #ffe08a; animation: ph-fil 0.4s steps(1) forwards; filter: drop-shadow(0 0 3px #ffcc4d); }
@keyframes ph-fil { 0% { opacity: 1; } 25% { opacity: 0.25; } 50%, 100% { opacity: 1; } }
.phone[data-scene="end"] .ph-bulb.is-lit .ph-bulb__glass { stroke: #ffd76a; fill: rgba(255, 215, 106, 0.14); transition-delay: 0.2s; }
.phone[data-scene="end"] .ph-bulb.is-lit .ph-bulb__halo { opacity: 1; transition-delay: 0.2s; }
.phone[data-scene="end"] .ph-bulb.is-lit .ph-bulb__rays { opacity: 1; transform: none; }
@media (max-width: 760px) { .ph-bulb { width: 4rem; height: 4rem; margin-left: -2rem; } .phone { width: 17.5rem; border-radius: 1.96rem; } .phone__screen { border-radius: 1.54rem; } .ph-port__val { font-size: 1.9rem; } }
@media (prefers-reduced-motion: reduce) { .phone { animation: none; } .ph-scene, .ph-notif, .ph-sheet, .ph-port__chart, .ph-bulb * { transition: none !important; animation: none !important; } }

.site-header { padding: 0.95rem 2.5rem; }
.site-header.is-scrolled { padding-top: 0.7rem; padding-bottom: 0.7rem; background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; border-bottom-color: transparent; }
.site-header::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: 0; background: rgba(var(--paper-rgb), 0.62); -webkit-backdrop-filter: blur(14px) saturate(140%); backdrop-filter: blur(14px) saturate(140%); border-bottom: 1px solid rgba(var(--ink-rgb), 0.07); transition: opacity 0.35s ease; }
.site-header.is-scrolled::before { opacity: 1; }
.site-header__inner { max-width: none; gap: 2rem; }
.site-header__left { display: flex; align-items: center; gap: 2.2rem; min-width: 0; }
.site-header__right { display: flex; align-items: center; gap: 0.5rem; flex-shrink: 0; }
.brand-logo { height: 28px; }
.site-header .site-nav > ul { gap: 0.2rem; flex-wrap: nowrap; }
.site-header .site-nav li:not(:last-child)::after { content: none; }
.site-header .site-nav > ul > li > a { display: inline-flex; align-items: center; height: 2.4rem; padding: 0 1.15rem; border-radius: 8px; font-size: 1rem; font-weight: 500; white-space: nowrap; color: rgba(var(--ink-rgb), 0.92); text-shadow: none; transition: background 0.2s ease, color 0.2s ease; }
.site-header .site-nav > ul > li > a:hover, .site-header .site-nav > ul > li > a.is-current, .site-header .nav-drop.is-open > a, .site-header .nav-drop:focus-within > a { background: rgba(var(--ink-rgb), 0.12); color: var(--fg); }
.site-header .nav-search__input { width: 12rem; height: 2.65rem; padding: 0 1rem 0 2.4rem; font-size: 0.95rem; border-color: rgba(var(--ink-rgb), 0.16); background: rgba(var(--ink-rgb), 0.06); }
.site-header .nav-search__icon { left: 0.95rem; width: 15px; height: 15px; }
.site-header .theme-toggle { width: 2.65rem; height: 2.65rem; background: transparent; }
.site-header .theme-toggle:hover, .site-header .theme-toggle:focus-visible { background: rgba(var(--ink-rgb), 0.1); }
.hdr-btn { display: inline-flex; align-items: center; height: 2.65rem; padding: 0 1.5rem; border-radius: 8px; font-size: 1rem; font-weight: 500; white-space: nowrap; transition: background 0.2s ease, transform 0.2s ease; }
.site-header .hdr-btn--ghost { color: var(--fg); }
.site-header .hdr-btn--ghost:hover, .site-header .hdr-btn--ghost:focus-visible { background: rgba(var(--ink-rgb), 0.12); }
.site-header .hdr-btn--solid { background: var(--fg); color: var(--bg); }
.site-header .hdr-btn--solid:hover, .site-header .hdr-btn--solid:focus-visible { transform: scale(1.03); }

.nav-drop__inner { background: rgba(12, 12, 18, 0.5); -webkit-backdrop-filter: blur(48px) saturate(1.6); backdrop-filter: blur(48px) saturate(1.6); }
:root[data-theme="light"] .nav-drop__inner { background: rgba(255, 255, 255, 0.6); }
@media (max-width: 1150px) {
  .site-header { padding-left: 1.5rem; padding-right: 1.5rem; }
  .site-header__left { gap: 1.2rem; }
  .site-header .site-nav > ul > li > a { padding: 0 0.8rem; }
  .site-header .nav-search__input { width: 9rem; }
  .hdr-btn { padding: 0 1.1rem; }
}
@media (max-width: 900px) { .brand-name { display: none; } }
@media (max-width: 700px) {
  .site-header { padding: 0.7rem 1rem; }
  .site-header__inner { flex-wrap: wrap; row-gap: 0.5rem; column-gap: 0.4rem; }
  .site-header__left, .site-header__right { display: contents; }
  .site-header__brand { order: 1; margin-right: auto; }
  .brand-name { display: inline; }
  .site-header .theme-toggle { order: 2; width: 2.4rem; height: 2.4rem; }
  .hdr-btn { order: 3; height: 2.4rem; padding: 0 1rem; font-size: 0.94rem; }
  .site-header .hdr-btn--ghost { display: none; }
  .site-header .site-nav:not(.site-nav--search) { order: 4; flex: 1 1 calc(100% - 8.5rem); min-width: 0; }
  .site-header .site-nav > ul { flex-wrap: wrap; }
  .site-header .site-nav > ul > li > a { height: 2.1rem; padding: 0 0.6rem; font-size: 0.94rem; }
  .site-nav--search { order: 5; flex: 0 0 auto; }
  .site-header .nav-search__input { width: 7.5rem; height: 2.3rem; }
}
:root {
  --hdr-fs: clamp(1rem, calc(4px + 0.8333vw), 1.25rem);
  --hdr-pill-h: clamp(38px, calc(20px + 1.25vw), 44px);
  --hdr-pill-px: clamp(18px, calc(8px + 0.8333vw), 24px);
  --hdr-btn-h: clamp(42px, 2.9167vw, 56px);
  --hdr-btn-px: clamp(22px, 1.6667vw, 32px);
}
.site-header { padding: 1rem clamp(1.5rem, 3vw, 2.5rem); }
.site-header__inner { max-width: 1432px; margin: 0 auto; }
.site-header__left { gap: clamp(1.5rem, 2vw, 2.2rem); }
.brand-logo { height: clamp(28px, 1.67vw, 32px); }
.brand-name { font-size: var(--hdr-fs); }
.site-header .site-nav > ul > li > a, .hdr-btn, .site-header .nav-search__input { font-family: "Figtree", "Inter", sans-serif; }
.site-header .site-nav > ul > li > a { height: var(--hdr-pill-h); padding: 0 var(--hdr-pill-px); font-size: var(--hdr-fs); font-weight: 500; letter-spacing: 0; }
.site-header .site-nav > ul { gap: 4px; }
.hdr-btn { height: var(--hdr-btn-h); padding: 0 var(--hdr-btn-px); font-size: var(--hdr-fs); font-weight: 500; }
.site-header__right { gap: clamp(0.5rem, 0.9vw, 1rem); }
.site-header .theme-toggle { width: var(--hdr-btn-h); height: var(--hdr-btn-h); }
.site-header .theme-toggle svg { width: 19px; height: 19px; }
.site-header .nav-search__input { height: var(--hdr-btn-h); width: clamp(10rem, 13vw, 15rem); font-size: calc(var(--hdr-fs) - 2px); }
@media (max-width: 1150px) {
  .site-header .site-nav > ul > li > a { padding: 0 0.8rem; }
  .site-header .nav-search__input { width: 9rem; }
}
@media (max-width: 700px) {
  .site-header .site-nav > ul > li > a { height: 2.1rem; padding: 0 0.6rem; font-size: 0.94rem; }
  .hdr-btn, .site-header .theme-toggle { height: 2.4rem; }
  .site-header .theme-toggle { width: 2.4rem; }
  .hdr-btn { padding: 0 1rem; font-size: 0.94rem; }
  .site-header .nav-search__input { width: 7.5rem; height: 2.3rem; }
}
.hero--sky .hero__light { display: none !important; }
.hero__sky { position: absolute; inset: 0; z-index: 0; overflow: hidden; background: radial-gradient(55% 45% at 80% 2%, rgba(255, 255, 255, 0.32), transparent 70%), linear-gradient(to bottom, #3a80d6 0%, #5f9be2 45%, #97c4f0 100%); }
.hero__clouds { position: absolute; top: 0; bottom: 0; left: 0; width: 200%; background-repeat: repeat-x; background-size: 50% 100%; will-change: transform; animation: hero-clouds linear infinite; }
.hero__clouds--far { background-image: url("../images/arka-plan/bulut-uzak.b9650003ed2b.webp"); opacity: 0.75; animation-duration: 220s; }
.hero__clouds--near { background-image: url("../images/arka-plan/bulut-yakin.5e7c7c001449.webp"); animation-duration: 120s; top: 6%; }
@keyframes hero-clouds { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .hero__clouds { animation: none; } }

.hero--sky .hero__content { color: #fff; }
.hero--sky h1, .hero--sky .hero__subtitle, .hero--sky .avatar-proof span.label { color: #fff !important; text-shadow: 0 2px 24px rgba(20, 60, 120, 0.25); }
.hero--sky p.hero__subtitle::before, .hero--sky p.hero__subtitle::after { background: rgba(255, 255, 255, 0.7); }
.hero--sky .hero__scrim--soft { background: radial-gradient(58% 42% at 50% 40%, rgba(20, 50, 100, 0.16), transparent 75%); display: block !important; }
.hero--sky .subscribe-form input { color: #fff; }
.hero--sky .subscribe-form input::placeholder { color: rgba(255, 255, 255, 0.8); }
.hero--sky .subscribe-form button { background: #fff; color: #000; }

.template-homepage .site-header:not(.is-scrolled) .site-nav > ul > li > a,
.template-homepage .site-header:not(.is-scrolled) .hdr-btn--ghost,
.template-homepage .site-header:not(.is-scrolled) .theme-toggle,
.template-homepage .site-header:not(.is-scrolled) .brand-name { color: #fff !important; }
.template-homepage .site-header:not(.is-scrolled) .hdr-btn--solid { background: #fff; color: #000; }
:root[data-theme="light"] .template-homepage .site-header:not(.is-scrolled) .brand-logo { filter: none; }
.template-homepage .site-header:not(.is-scrolled) .nav-search__input { color: #fff; border-color: rgba(255, 255, 255, 0.45); background: rgba(255, 255, 255, 0.14); }
.template-homepage .site-header:not(.is-scrolled) .nav-search__input::placeholder, .template-homepage .site-header:not(.is-scrolled) .nav-search__icon { color: rgba(255, 255, 255, 0.85); }
.nav-drop__panel { opacity: 1 !important; transform: none !important; transition: visibility 0s linear 0.3s; }
.nav-drop:hover .nav-drop__panel, .nav-drop.is-open .nav-drop__panel, .nav-drop:focus-within .nav-drop__panel { transition: visibility 0s; }
.nav-drop__inner { opacity: 1; clip-path: inset(0 0 100% 0 round 24px); transform: translateY(-6px); transition: clip-path 0.32s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1); }
.nav-drop:hover .nav-drop__inner, .nav-drop.is-open .nav-drop__inner, .nav-drop:focus-within .nav-drop__inner { clip-path: inset(0 0 0 0 round 24px); transform: none; }
.hero__sky-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__clouds { display: none; }
:root[data-theme="light"] .nav-drop__inner { color: #fff; background: rgba(12, 12, 18, 0.5); border-color: rgba(255, 255, 255, 0.1); box-shadow: 0 30px 80px rgba(0, 0, 0, 0.35); }
:root[data-theme="light"] .nav-drop__intro { border-right-color: rgba(255, 255, 255, 0.1); }
:root[data-theme="light"] .nav-drop__eyebrow { color: rgba(255, 255, 255, 0.55); }
:root[data-theme="light"] .nav-drop__list span { color: rgba(255, 255, 255, 0.62); }
:root[data-theme="light"] .nav-drop__intro p { color: rgba(255, 255, 255, 0.7); }
:root[data-theme="light"] .site-nav .nav-drop__intro .nav-drop__all, :root[data-theme="light"] .site-nav .nav-drop__list a { color: #fff !important; }
:root[data-theme="light"] .site-nav .nav-drop__list a:hover, :root[data-theme="light"] .site-nav .nav-drop__list a:focus-visible { background: rgba(255, 255, 255, 0.07); }
.hero--sky .hero__fade { display: none; }
:root:not([data-theme="light"]) .template-homepage .hero--sky + .section::before { display: none; }
.archive { box-sizing: border-box; }
.page-glow__inner--split { max-width: calc(var(--max-width) - 2 * var(--gutter)); }

.hero--sky .hero__bottom-cta, .hero--sky .hero__bottom-cta span { color: #fff !important; }
:root[data-theme="light"] .template-homepage .site-header:not(.is-scrolled) .brand-name { color: #fff !important; }

.nav-drop > a::after { display: none; }
.nav-drop.is-open > a::after { display: block; }
.nav-drop:not(.is-open):not(:has(a:focus-visible)) .nav-drop__panel { visibility: hidden; transition: visibility 0s linear 0.3s; }
.nav-drop:not(.is-open):not(:has(a:focus-visible)) .nav-drop__inner { clip-path: inset(0 0 100% 0 round 24px); transform: translateY(-6px); }
.site-header .nav-drop:not(.is-open):focus-within > a:not(:hover):not(.is-current) { background: transparent; }

.ofisplus-panel { max-width: none; padding: 0; margin-top: 2rem; }
.ofisplus-panel__inner.ofisplus-panel__inner--lined {
    border: 0; border-radius: 0;
    min-height: clamp(26rem, 50vw, 54rem);
    padding: clamp(2.5rem, 3.6vw, 4.5rem) 1.5rem 2rem;
    background: #071a3a url("../images/arka-plan/ofisplus-dag-montblanc-mavi.33acd6fc4c1f.webp") center 18% / cover no-repeat;
    color: #fff;
}
@media (max-width: 900px) {
    .ofisplus-panel__inner.ofisplus-panel__inner--lined { min-height: 40rem; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding: 2rem 1.25rem 2.5rem; background-image: url("../images/arka-plan/ofisplus-dag-montblanc-mavi-1800.8cc50ddd8285.webp"); background-position: 64% center; }
}
.ofisplus-panel__inner--lined h2 { color: #fff; text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35); }
.ofisplus-panel__inner--lined .ofisplus-panel__text { color: rgba(255, 255, 255, 0.86); }
:root[data-theme="light"] .ofisplus-panel__inner--lined .ofisplus-panel__text::after {
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.85), transparent) no-repeat,
                linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.14), transparent);
    background-size: 35% 100%, 100% 100%;
    filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.45));
}
.ofisplus-panel__inner--lined .btn-pill { background: #fff !important; color: #000 !important; }

.hero__sky::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: url("../images/arka-plan/gren.89200cf47c56.webp") repeat; background-size: 256px 256px; opacity: 0.78; }

.nav-drop.nav-drop--off .nav-drop__panel, .nav-drop:has(> a.is-current) .nav-drop__panel, .nav-drop.nav-drop--off > a::after { display: none !important; }
table.ob-wl tbody tr[data-open] { cursor: grab; }
body.ob-sorting, body.ob-sorting * { cursor: grabbing !important; user-select: none; }
table.ob-wl tr.is-dragging { background: rgba(var(--ink-rgb), 0.08); outline: 1px solid rgba(var(--ink-rgb), 0.25); outline-offset: -1px; }
table.ob-wl tr.is-dragging td { opacity: 0.85; }

.company-multiples { margin-top: 2.5rem; }
.company-multiples__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); margin: 1rem 0 0; border-top: 1px solid var(--border); }
.company-multiple { padding: 1rem 1.1rem 0.9rem 0; border-bottom: 1px solid var(--border); }
.company-multiple dt { font-size: 0.85rem; color: var(--muted); }
.company-multiple dd { margin: 0.25rem 0 0; font-size: 1.35rem; font-weight: 600; letter-spacing: -0.01em; }

.econ-week { font-weight: 600; }
.econ { margin-top: 1rem; }
.econ__row { display: grid; grid-template-columns: 5rem 9rem minmax(0, 1fr) 7rem 7rem 7rem; gap: 1rem; align-items: baseline; padding: 0.75rem 0.25rem; border-bottom: 1px solid var(--border); }
.econ__row--head { position: sticky; top: var(--hdr-h, 4.5rem); z-index: 2; background: var(--bg); font-size: 0.82rem; color: var(--muted); text-transform: uppercase; letter-spacing: 0.06em; padding-block: 0.6rem; }
.econ__day { margin: 2rem 0 0; padding: 0 0.25rem 0.55rem; font-size: 1.15rem; font-weight: 600; border-bottom: 1px solid rgba(var(--ink-rgb), 0.35); }
.econ__day span { color: var(--muted); font-weight: 400; margin-left: 0.4rem; }
.econ__time { color: var(--muted); font-variant-numeric: tabular-nums; }
.econ__country { color: var(--fg-2, var(--fg)); }
.econ__title { overflow-wrap: anywhere; }
.econ__row--3 .econ__title { font-weight: 600; }
.econ__num { text-align: right; font-variant-numeric: tabular-nums; }
.econ__num small { display: none; }
.econ__impact { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--muted); }
.econ__row--3 .econ__impact { color: var(--fg); }
.econ__bars { display: inline-flex; gap: 2px; }
.econ__bars b { width: 4px; height: 12px; border-radius: 1px; background: rgba(var(--ink-rgb), 0.18); }
.econ__bars[data-level="1"] b:nth-child(-n+1), .econ__bars[data-level="2"] b:nth-child(-n+2), .econ__bars[data-level="3"] b { background: var(--fg); }
@media (max-width: 760px) {
  .econ__row { grid-template-columns: 3.5rem minmax(0, 1fr) auto; gap: 0.25rem 0.75rem; }
  .econ__row--head { display: none; }
  .econ__time { grid-row: 1 / span 2; }
  .econ__country { grid-column: 2; font-size: 0.85rem; color: var(--muted); }
  .econ__title { grid-column: 2; grid-row: 2; }
  .econ__impact { grid-column: 3; grid-row: 1; justify-self: end; }
  .econ__num { grid-column: 2 / span 2; text-align: left; font-size: 0.85rem; }
  .econ__num small { display: inline; color: var(--muted); margin-right: 0.35rem; }
}.company-multiples__note { margin: 0.4rem 0 0; color: var(--muted); font-size: 0.9rem; }
.company-multiple dd.company-multiple__peer { margin: 0.2rem 0 0; font-size: 0.85rem; font-weight: 400; color: var(--muted); letter-spacing: 0; }.econ__est { margin-left: 0.35rem; font-size: 0.8rem; color: var(--muted); font-weight: 400; }.econ__row--holiday .econ__title { color: var(--muted); font-style: italic; }

.ob-split { display: inline-flex; align-items: center; gap: 0.2rem; margin-left: auto; }
.ob-split__label { font-size: 0.82rem; color: var(--muted-2); margin-right: 0.25rem; }
.ob-split button { min-width: 1.75rem; height: 1.75rem; padding: 0 0.35rem; border: 1px solid rgba(var(--ink-rgb), 0.18); border-radius: 5px; background: transparent; color: var(--fg-2); font: inherit; font-size: 0.82rem; cursor: pointer; }
.ob-split button:hover { border-color: rgba(var(--ink-rgb), 0.45); color: var(--fg); }
.ob-split button[aria-pressed="true"] { background: var(--fg); border-color: var(--fg); color: var(--bg); }
.ob-statusbar .ob-split + .ob-focus-btn { margin-left: 0.5rem; }
.ob-charts { display: grid; gap: 0.75rem; min-width: 0; }
.ob-charts > .ob-chart { margin: 0; min-width: 0; container-type: inline-size; }
.ob-charts[data-n="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ob-charts[data-n="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ob-charts[data-n="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ob-charts[data-n="5"], .ob-charts[data-n="6"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ob-charts[data-n="7"], .ob-charts[data-n="8"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ob-charts[data-n="5"] > :last-child { grid-column: span 1; }
.ob-charts:not([data-n="1"]) .ob-chart { padding: 0.6rem 0.7rem 0.4rem; }
.ob-charts:not([data-n="1"]) .ob-chart__canvas { height: 470px; }
.ob-charts[data-n="4"] .ob-chart__canvas, .ob-charts[data-n="5"] .ob-chart__canvas, .ob-charts[data-n="6"] .ob-chart__canvas,
.ob-charts[data-n="7"] .ob-chart__canvas, .ob-charts[data-n="8"] .ob-chart__canvas { height: 300px; }
.ob-charts .ob-chart.is-active-pane { border-color: rgba(var(--ink-rgb), 0.55); }

@container (max-width: 560px) {
  .ob-chart__bar { gap: 0.4rem 0.5rem; }
  .ob-chart__form input { width: 6.5rem; padding: 0.35rem 0.6rem; font-size: 0.85rem; }
  .ob-chart__name, [data-name] { display: none; }
  .ob-chart__menuwrap:has([data-colorbtn]) { display: none; }
  .ob-chart .news-chip { padding: 0.3rem 0.55rem; font-size: 0.8rem; }
}

.ob-mainrow.is-full { position: fixed; inset: 0; z-index: 1000; margin: 0; padding: 0.6rem; gap: 0.6rem; background: var(--bg); height: 100vh; height: 100dvh; box-sizing: border-box; }
.ob-mainrow.is-full .ob-charts { height: 100%; grid-auto-rows: minmax(0, 1fr); }
.ob-mainrow.is-full .ob-charts > .ob-chart { display: flex; flex-direction: column; min-height: 0; }
.ob-mainrow.is-full .ob-chart__wrap { flex: 1; min-height: 0; }
.ob-mainrow.is-full .ob-chart__canvas { height: 100% !important; }
.ob-mainrow.is-full .ob-chart > .ob-note:empty { display: none; }
@media (max-width: 900px) {
  .ob-charts[data-n] { grid-template-columns: minmax(0, 1fr); }
  .ob-charts:not([data-n="1"]) .ob-chart__canvas { height: 320px; }
  .ob-split__label { display: none; }
  .ob-mainrow.is-full { grid-template-columns: minmax(0, 1fr); overflow: auto; }
  .ob-mainrow.is-full .ob-sidewl { display: none; }
  .ob-mainrow.is-full .ob-charts { height: auto; grid-auto-rows: auto; }
  .ob-mainrow.is-full .ob-chart__canvas { height: calc(100dvh - 9rem) !important; }
}
:root { --max-width: 1680px; --gutter: clamp(1rem, 5vw, 6rem); }
.section, .ofisplus-hero, .ofisplus-series, .ofisplus-grid-section, .stat-strip, .split-section, .mv-grid, .products,
.figures, .mv-rows, .contact-rows, .contact-grid, .archive, .section-cards, .page-tools {
  padding-left: var(--gutter); padding-right: var(--gutter);
}
.ofisberg { max-width: none; }
.section-list { max-width: none; }
.site-header__inner { max-width: var(--max-width); }
.site-header { padding-left: var(--gutter); padding-right: var(--gutter); }
.ob-mainrow { gap: 0.6rem; margin: 0.75rem 0 1rem; }
.ob-mainrow > .ob-chart, .ob-charts > .ob-chart { padding: 0.6rem 0.7rem 0.4rem; }
@media (max-width: 1100px) { .ob-mainrow { grid-template-columns: 15rem minmax(0, 1fr); } }

@container (max-width: 380px) {
  .ob-chart__tools { border-left: 0; padding-left: 0; margin-left: 0; gap: 0.1rem; }
  .ob-chart .news-chip.ob-chart__icon { padding: 0.25rem 0.3rem; }
  .ob-chart__form input { width: 5.2rem; }
}
.ob-toasts { position: fixed; right: 1rem; bottom: 1rem; z-index: 1200; display: grid; gap: 0.5rem; width: min(22rem, calc(100vw - 2rem)); }
.ob-toast { position: relative; display: grid; gap: 0.2rem; padding: 0.8rem 2.2rem 0.8rem 0.95rem; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.3); border-radius: 8px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); animation: ob-toast-in 0.25s ease-out; }
.ob-toast strong { font-size: 0.95rem; color: var(--fg); }
.ob-toast span { font-size: 0.875rem; color: var(--fg-2); }
.ob-toast button { position: absolute; top: 0.35rem; right: 0.45rem; border: 0; background: none; color: var(--muted-2); font-size: 1.1rem; cursor: pointer; }
@keyframes ob-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.ob-split .ob-split__btn { display: inline-flex; min-width: 0; align-items: center; gap: 0.45rem; height: 2rem; padding: 0 0.7rem 0 0.5rem; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 6px; background: transparent; color: var(--fg-2); font: inherit; font-size: 0.85rem; cursor: pointer; }
.ob-split .ob-split__btn:hover, .ob-split .ob-split__btn[aria-expanded="true"] { border-color: rgba(var(--ink-rgb), 0.5); color: var(--fg); }
.ob-split svg rect { fill: rgba(var(--ink-rgb), 0.12); stroke: currentColor; stroke-width: 1; }
.ob-split__btn [data-splitpic] svg { width: 27px; height: 18px; display: block; }
.ob-split { position: relative; }
.ob-split__menu { position: absolute; top: calc(100% + 0.4rem); right: 0; z-index: 60; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.35rem; width: 22rem; max-width: calc(100vw - 2rem); padding: 0.6rem; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; box-shadow: 0 14px 36px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); }
.ob-split__menu[hidden] { display: none; }
.ob-split .ob-split__menu button { height: auto; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; padding: 0.5rem 0.3rem; border: 1px solid transparent; border-radius: 6px; background: transparent; color: var(--fg-2); font: inherit; font-size: 0.8rem; cursor: pointer; }
.ob-split .ob-split__menu button:hover { background: rgba(var(--ink-rgb), 0.06); color: var(--fg); }
.ob-split .ob-split__menu button[aria-checked="true"] { border-color: rgba(var(--ink-rgb), 0.55); color: var(--fg); }
.ob-split__menu button[aria-checked="true"] rect { fill: rgba(var(--ink-rgb), 0.35); }

.ob-mainrow { --wl-w: 18rem; --ob-h: 940px; grid-template-columns: var(--wl-w) 6px minmax(0, 1fr); grid-template-rows: var(--ob-h) 8px; gap: 0; margin: 0.6rem 0 0.6rem; }
.ob-mainrow > .ob-sidewl { grid-column: 1; grid-row: 1; }
.ob-gutter--x { grid-column: 2; grid-row: 1; cursor: col-resize; position: relative; }
.ob-mainrow > .ob-charts { grid-column: 3; grid-row: 1; }
.ob-gutter--y { grid-column: 1 / -1; grid-row: 2; cursor: row-resize; position: relative; }
.ob-gutter::after { content: ""; position: absolute; border-radius: 2px; background: rgba(var(--ink-rgb), 0); transition: background 0.15s ease; }
.ob-gutter--x::after { top: 0; bottom: 0; left: 2px; width: 2px; }
.ob-gutter--y::after { left: 0; right: 0; top: 3px; height: 2px; }
.ob-gutter:hover::after, body.ob-resizing .ob-gutter::after { background: rgba(var(--ink-rgb), 0.4); }
body.ob-resizing { user-select: none; }
body.ob-resizing--x { cursor: col-resize; }
body.ob-resizing--y { cursor: row-resize; }
.ob-charts { height: 100%; gap: 3px; grid-auto-rows: minmax(0, 1fr); }
.ob-charts > .ob-chart, .ob-charts:not([data-n="1"]) .ob-chart { display: flex; flex-direction: column; min-height: 0; margin: 0; padding: 0.4rem 0.5rem 0.25rem; border-radius: 7px; }
.ob-charts .ob-chart__bar { margin-bottom: 0.3rem; }
.ob-charts .ob-chart__wrap { flex: 1; min-height: 0; }
.ob-charts .ob-chart__canvas, .ob-charts:not([data-n="1"]) .ob-chart__canvas { height: 100% !important; }
.ob-charts .ob-chart > .ob-note:empty { display: none; }
.ob-charts .ob-chart > .ob-note { margin: 0.2rem 0 0; }
.ob-sidewl { border-radius: 7px; }

.ob-mainrow.is-full { grid-template-rows: minmax(0, 1fr) 0; padding: 0.4rem; height: 100vh; height: 100dvh; }
.ob-mainrow.is-full .ob-gutter--y { display: none; }
@media (max-width: 900px) {
  .ob-mainrow, .ob-mainrow.is-full { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; }
  .ob-mainrow > .ob-sidewl, .ob-mainrow > .ob-charts { grid-column: 1; grid-row: auto; }
  .ob-gutter { display: none; }
  .ob-charts { height: auto; grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: none !important; }
  .ob-charts > .ob-chart { grid-column: auto !important; }
  .ob-charts .ob-chart__canvas, .ob-charts:not([data-n="1"]) .ob-chart__canvas { height: 340px !important; }
  .ob-split__menu { right: auto; left: 0; }
}

@media (max-width: 1100px) { .ob-mainrow { --wl-w: 15rem; } }
.ob-sidetabs { display: flex; gap: 2px; padding: 0.45rem 0.5rem 0; }
.ob-sidetabs button { flex: 1; height: 1.9rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--muted-2); font: inherit; font-size: 0.85rem; font-weight: 500; cursor: pointer; }
.ob-sidetabs button[aria-selected="true"] { color: var(--fg); border-bottom-color: var(--fg); }
.ob-sidetabs__n { display: inline-block; min-width: 1.1rem; margin-left: 0.2rem; font-size: 0.8rem; color: var(--fg-2); }
.ob-sidewl.is-alarms .ob-sidewl__head, .ob-sidewl.is-alarms .ob-sidewl__add, .ob-sidewl.is-alarms .ob-sidewl__body { display: none !important; }
.ob-alarms { flex: 1; min-height: 0; display: flex; flex-direction: column; }
.ob-alarms[hidden] { display: none; }
.ob-alarms__body { flex: 1; min-height: 0; overflow: auto; padding: 0.3rem 0.6rem 0.4rem; }
.ob-alarms__title { display: flex; align-items: center; justify-content: space-between; margin: 0.7rem 0 0.3rem; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted-2); }
.ob-alarms__clear { border: 0; background: none; color: var(--muted-2); font: inherit; font-size: 0.8rem; text-transform: none; letter-spacing: 0; text-decoration: underline; cursor: pointer; }
.ob-alarms__table { width: 100%; font-size: 0.85rem; }
.ob-alarms__table td { padding: 0.35rem 0.25rem; vertical-align: top; }
.ob-alarms__table tr[data-open] { cursor: pointer; }
.ob-alarms__table tr[data-open]:hover { background: rgba(var(--ink-rgb), 0.05); }
.ob-alarms__table small { display: block; font-size: 0.8rem; color: var(--muted-2); }
.ob-alarms__table td:last-child { width: 1.6rem; text-align: right; }
.ob-alarms__foot { padding: 0.5rem 0.6rem 0.6rem; border-top: 1px solid rgba(var(--ink-rgb), 0.1); display: grid; gap: 0.3rem; }
.ob-alarms__foot .news-chip.is-active { border-color: rgba(var(--ink-rgb), 0.55); }
.ob-w__body { min-height: 0; overscroll-behavior: contain; }
.ob-sidewl__body, .ob-alarms__body, .ob-suggest, .ob-chart__menu, .ob-split__menu { overscroll-behavior: contain; }

.ob-sidewl__body, .ob-w__body:has(.ob-wl) { overscroll-behavior: auto; }

.ob-sideflip { display: none; flex: none !important; width: 1.9rem; align-items: center; justify-content: center; color: var(--muted-2) !important; border-bottom: 0 !important; }
.ob-sideflip:hover { color: var(--fg) !important; }
.ob-mainrow.is-full .ob-sideflip { display: inline-flex; }
@media (min-width: 901px) {
  .ob-mainrow.is-full.wl-right { grid-template-columns: minmax(0, 1fr) 6px var(--wl-w); }
  .ob-mainrow.is-full.wl-right > .ob-sidewl { grid-column: 3; }
  .ob-mainrow.is-full.wl-right > .ob-charts { grid-column: 1; }
}

@media (min-width: 901px) {
  .ob-mainrow.is-full { grid-template-columns: var(--wl-w) 2px minmax(0, 1fr); }
  .ob-mainrow.is-full.wl-right { grid-template-columns: minmax(0, 1fr) 2px var(--wl-w); }
  .ob-mainrow.is-full .ob-gutter--x::after { left: 0; width: 2px; }
}
.ob-gutter--x::before { content: ""; position: absolute; top: 0; bottom: 0; left: -4px; right: -4px; z-index: 5; }
.ob-mainrow.is-full { gap: 0; }

.ob-ctx { position: absolute; z-index: 30; min-width: 11rem; padding: 0.3rem; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.22); border-radius: 7px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); }
.ob-ctx[hidden], .ob-ctx button[hidden] { display: none; }
.ob-ctx [data-ctx-del] { color: #e5484d; }
.ob-ctx button { display: flex; align-items: center; gap: 0.55rem; width: 100%; padding: 0.5rem 0.65rem; border: 0; border-radius: 5px; background: none; color: var(--fg); font: inherit; font-size: 0.875rem; text-align: left; white-space: nowrap; cursor: pointer; }
.ob-ctx button:hover, .ob-ctx button:focus-visible { background: rgba(var(--ink-rgb), 0.08); outline: none; }
.ob-ctx svg { width: 15px; height: 15px; flex: none; }
.ob-mainrow > .ob-frame { grid-column: 3; grid-row: 1; display: flex; flex-direction: column; min-width: 0; min-height: 0;
  border: 1px solid rgba(var(--ink-rgb), 0.14); border-radius: 7px; background: rgba(var(--ink-rgb), 0.025); overflow: hidden; }
.ob-mainrow.is-full.wl-right > .ob-frame { grid-column: 1; }
.ob-frame__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.6rem; padding: 0.4rem 0.55rem; border-bottom: 1px solid rgba(var(--ink-rgb), 0.12); }
.ob-frame__bar .ob-split { margin: 0; }
.ob-frame__tools { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin-left: auto; }
.ob-frame__tools .ob-chart__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0; }
.ob-frame .ob-split__menu { left: 0; right: auto; }

.ob-frame > .ob-charts { flex: 1; min-height: 0; height: auto; gap: 1px; background: rgba(var(--ink-rgb), 0.14); }
.ob-frame .ob-charts > .ob-chart, .ob-frame .ob-charts:not([data-n="1"]) .ob-chart { border: 0; border-radius: 0; margin: 0; padding: 0.35rem 0.45rem 0.2rem; background: var(--bg); box-shadow: none; }
.ob-frame .ob-charts > .ob-chart:hover { box-shadow: none; border-color: transparent; }
.ob-frame .ob-charts .ob-chart.is-active-pane { box-shadow: inset 0 0 0 1px rgba(var(--ink-rgb), 0.45); }
.ob-frame .ob-charts .ob-chart__actions { display: none; }
.ob-mainrow.is-full > .ob-frame { border-radius: 0; }
@media (max-width: 900px) {
  .ob-mainrow > .ob-frame { grid-column: 1; grid-row: auto; }
  .ob-frame > .ob-charts { height: auto; }
}
.ob-mainrow.is-full .ob-frame > .ob-charts { height: auto; }
.ob-shotmenu { min-width: 13rem; }
.ob-shotmenu button { display: block; width: 100%; padding: 0.45rem 0.6rem; border: 0; border-radius: 5px; background: none; color: var(--fg); font: inherit; font-size: 0.875rem; text-align: left; cursor: pointer; }
.ob-shotmenu button:hover { background: rgba(var(--ink-rgb), 0.08); }
.ob-shotmenu__msg { margin: 0.3rem 0 0; padding: 0.4rem 0.6rem 0.2rem; border-top: 1px solid rgba(var(--ink-rgb), 0.12); font-size: 0.82rem; color: var(--fg-2); word-break: break-all; }
.snapshot-page { padding-top: 7rem; }
.snapshot-page__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 0.8rem; }
.snapshot-page__title { margin: 0; font-size: clamp(1.1rem, 2.4vw, 1.5rem); font-weight: 600; }
.snapshot-page__meta { color: var(--muted-2); font-size: 0.875rem; }
.snapshot-page__img { display: block; border: 1px solid rgba(var(--ink-rgb), 0.14); border-radius: 7px; overflow: hidden; }
.snapshot-page__img img { display: block; width: 100%; height: auto; }
.snapshot-page__foot { margin-top: 0.8rem; font-size: 0.9rem; }
.ob-frame .ob-charts .ob-chart__bar { display: none; }
.ob-frame__tools { flex: 1; min-width: 0; margin-left: 0; }
.ob-frame__tools > .ob-chart__bar { display: flex; flex: 1; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.5rem; margin: 0; min-width: 0; }
.ob-frame__tools > .ob-chart__bar .ob-chart__info { display: none; }
.ob-frame__tools > .ob-chart__bar .ob-chart__form input { width: 9rem; }
.ob-frame__tools > .ob-chart__bar .ob-chart__actions { display: flex; margin-left: auto; }

.ob-drawbar [hidden] { display: none !important; }
.ob-drawbar__color { display: inline-flex; align-items: center; width: 26px; height: 26px; justify-content: center; cursor: pointer; }
.ob-drawbar__color input { width: 20px; height: 20px; padding: 0; border: 1px solid rgba(var(--ink-rgb), 0.3); border-radius: 3px; background: none; cursor: pointer; }
.ob-drawbar__color input::-webkit-color-swatch-wrapper { padding: 0; }
.ob-drawbar__color input::-webkit-color-swatch { border: 0; border-radius: 3px; }
.ob-drawbar select, .ob-drawbar input[type="text"] { height: 26px; padding: 0 6px; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 4px; background: var(--bg); color: var(--fg); font: inherit; font-size: 0.82rem; }
.ob-drawbar input[data-lv] { width: 15rem; }
.ob-drawbar button[data-edit] { font-size: 0.82rem; color: var(--fg); }
.ob-frame__tools > .ob-chart__bar .ob-chart__form input { width: 7.5rem; }
.ob-frame__tools .ob-chart__actions, .ob-frame__tools .ob-chart__tools { gap: 2px; }
.ob-frame__tools .ob-chart__actions > .ob-chart__menuwrap:not(:has([data-shot])) { margin-right: 4px; }
.ob-frame .ob-drawbar { top: 30px; }

.ob-dset { position: absolute; z-index: 8; display: flex; flex-direction: column; gap: 0.45rem; min-width: 15rem; max-width: 20rem; padding: 8px; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.22); border-radius: 6px; box-shadow: 0 10px 28px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); font-size: 0.85rem; color: var(--fg); }
.ob-dset[hidden] { display: none; }
.ob-dset__title { margin: 0 0 0.1rem; font-weight: 600; font-size: 0.85rem; }
.ob-dset__row { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; }
.ob-dset__row > span { color: var(--fg-3); white-space: nowrap; }
.ob-dset__row--wide { flex-direction: column; align-items: stretch; gap: 0.25rem; }
.ob-dset__row output { min-width: 2.6rem; text-align: right; font-variant-numeric: tabular-nums; color: var(--fg-3); }
.ob-dset__row input[type="range"] { flex: 1; min-width: 6rem; accent-color: var(--fg); }
.ob-dset__inline { display: flex; gap: 0.8rem; }
.ob-dset select, .ob-dset input[type="text"] { height: 28px; padding: 0 6px; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 4px; background: var(--bg); color: var(--fg); font: inherit; }
.ob-dset input[type="color"] { width: 28px; height: 24px; padding: 0; border: 1px solid rgba(var(--ink-rgb), 0.3); border-radius: 3px; background: none; cursor: pointer; }
.ob-dset textarea { width: 100%; min-height: 2.4em; padding: 0; border: 0; outline: none; resize: both; background: transparent; color: var(--fg); font-family: Inter, sans-serif; line-height: 1.25; }
.ob-dset__hint { margin: -0.2rem 0 0; font-size: 0.8rem; color: var(--fg-3); }
.ob-dset__foot { display: flex; justify-content: flex-end; gap: 0.4rem; margin-top: 0.15rem; }
.ob-drawbar button[data-settings] { font-size: 0.82rem; color: var(--fg); }
.ob-dset__foot .news-chip:not(.is-active) { color: var(--fg); background: rgba(var(--ink-rgb), 0.08); }
.ob-frame__body { display: flex; flex: 1; min-height: 0; }
.ob-frame__body > .ob-charts { flex: 1; min-width: 0; min-height: 0; height: auto; gap: 1px; background: rgba(var(--ink-rgb), 0.14); }
.ob-mainrow.is-full .ob-frame__body > .ob-charts { height: auto; }
.ob-toolcol { flex: 0 0 auto; display: flex; flex-direction: column; gap: 3px; padding: 6px 2px 6px 4px; border-right: 1px solid rgba(var(--ink-rgb), 0.12); background: var(--bg); }
.ob-toolgrp { position: relative; display: flex; align-items: center; }
.ob-toolbtn { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 5px; background: transparent; color: var(--fg-3); cursor: pointer; }
.ob-toolbtn svg { width: 20px; height: 20px; }
.ob-toolbtn:hover, .ob-toolbtn:focus-visible { background: rgba(var(--ink-rgb), 0.1); color: var(--fg); outline: none; }
.ob-toolbtn.is-active { background: rgba(var(--ink-rgb), 0.2); color: var(--fg); }
.ob-toolgrp__more { display: inline-flex; align-items: center; justify-content: center; width: 12px; height: 34px; padding: 0; border: 0; border-radius: 3px; background: transparent; color: var(--fg-3); opacity: 0.55; cursor: pointer; }
.ob-toolgrp__more:hover, .ob-toolgrp__more[aria-expanded="true"] { opacity: 1; background: rgba(var(--ink-rgb), 0.08); }
.ob-toolgrp:not(:has(.ob-toolgrp__more)) .ob-toolbtn { margin-right: 12px; }
.ob-toolfly { position: absolute; left: 100%; top: 0; margin-left: 6px; z-index: 25; min-width: 14rem; padding: 4px; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 7px; box-shadow: 0 12px 32px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); }
.ob-toolfly[hidden] { display: none; }
.ob-toolfly button { display: flex; align-items: center; gap: 0.65rem; width: 100%; padding: 0.45rem 0.55rem; border: 0; border-radius: 5px; background: none; color: var(--fg); font: inherit; font-size: 0.875rem; text-align: left; white-space: nowrap; cursor: pointer; }
.ob-toolfly button svg { width: 20px; height: 20px; flex: 0 0 auto; }
.ob-toolfly button:hover, .ob-toolfly button.is-active { background: rgba(var(--ink-rgb), 0.1); }
.ob-frame__tools [data-tool], .ob-frame__tools [data-colorbtn] { display: none !important; }
.ob-frame__tools > .ob-chart__bar .ob-chart__ind { order: 0; }
.ob-frame__bar .ob-split { order: 2; }
.ob-chart__ind .ob-chart__menu { left: 0; right: auto; }
.ob-colors--float { top: auto; right: auto; }
.ob-chart__ind .news-chip { background: transparent; cursor: pointer; font: inherit; font-size: 0.875rem; }
.ob-chart__ind .news-chip.is-active { background: var(--fg); color: var(--bg); }
.ob-chart--box .ob-chart__ind .news-chip { font-size: 0.72rem; padding: 0.2rem 0.55rem; }

.ob-dset { max-width: 23rem; max-height: calc(100% - 8px); overflow-y: auto; }
.ob-dset__inline { flex-wrap: wrap; gap: 0.4rem 0.8rem; }
.ob-dset__sub { margin: 0.1rem 0 -0.15rem; color: var(--fg-3); }
.ob-dset__levels { display: flex; flex-direction: column; gap: 3px; }
.ob-dset__lvl { display: flex; align-items: center; gap: 0.45rem; }
.ob-dset__lvl input[type="checkbox"] { width: 15px; height: 15px; accent-color: var(--fg); cursor: pointer; }
.ob-dset__lvl input[type="text"] { width: 6.5rem; height: 26px; font-variant-numeric: tabular-nums; }
.ob-dset__lvl:has(input[type="checkbox"]:not(:checked)) input[type="text"] { opacity: 0.45; }
.ob-dset__add { align-self: flex-start; padding: 0.2rem 0.4rem; border: 0; border-radius: 4px; background: none; color: var(--fg-3); font: inherit; font-size: 0.82rem; cursor: pointer; }
.ob-dset__add:hover { color: var(--fg); background: rgba(var(--ink-rgb), 0.08); }
.ob-dset .ob-check { justify-content: flex-start; gap: 0.45rem; }
.ob-dset .ob-check input { accent-color: var(--fg); }
.ob-dset__foot { align-items: center; }
.ob-dset__tplwrap { position: relative; margin-right: auto; }
.ob-dset__tplmenu { position: absolute; bottom: calc(100% + 6px); left: 0; z-index: 2; min-width: 14rem; padding: 4px; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.22); border-radius: 6px; box-shadow: 0 10px 28px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); }
.ob-dset__tplmenu[hidden] { display: none; }
.ob-dset__tpl { display: flex; align-items: center; }
.ob-dset__tpl button { border: 0; background: none; color: var(--fg); font: inherit; font-size: 0.85rem; cursor: pointer; border-radius: 4px; }
.ob-dset__tpl button:first-child { flex: 1; text-align: left; padding: 0.4rem 0.5rem; }
.ob-dset__tpl button:last-child { width: 26px; height: 26px; color: var(--fg-3); }
.ob-dset__tpl button:hover { background: rgba(var(--ink-rgb), 0.1); color: var(--fg); }
.ob-dset__tplsave { display: flex; gap: 4px; margin-top: 4px; padding-top: 5px; border-top: 1px solid rgba(var(--ink-rgb), 0.12); }
.ob-dset__tplsave input { flex: 1; min-width: 0; }
.ob-dset__tplsave button { padding: 0 0.6rem; border: 0; border-radius: 4px; background: var(--fg); color: var(--bg); font: inherit; font-size: 0.82rem; cursor: pointer; }
.ob-dset__tplmenu { position: static; min-width: 0; box-shadow: none; }
.oa-confirm { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 1rem; background: rgba(0, 0, 0, 0.45); backdrop-filter: blur(3px); animation: oa-confirm-in 0.14s ease-out; }
.oa-confirm__box { width: min(24rem, 100%); padding: 1.15rem 1.2rem 1rem; background: var(--surface); color: var(--fg); border: 1px solid rgba(var(--ink-rgb), 0.18); border-radius: 8px; box-shadow: 0 18px 48px rgba(0, 0, 0, calc(0.6 * var(--shadow-k))); }
.oa-confirm__msg { margin: 0 0 1rem; font-size: 0.95rem; line-height: 1.45; }
.oa-confirm__foot { display: flex; justify-content: flex-end; gap: 0.5rem; }
.oa-confirm__btn { padding: 0.45rem 0.95rem; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; background: transparent; color: var(--fg); font: inherit; font-size: 0.875rem; cursor: pointer; }
.oa-confirm__btn:hover, .oa-confirm__btn:focus-visible { background: rgba(var(--ink-rgb), 0.08); outline: none; }
.oa-confirm__btn--ok { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.oa-confirm__btn--ok:hover, .oa-confirm__btn--ok:focus-visible { background: var(--fg); opacity: 0.88; }
.oa-confirm__btn--ok.is-danger { background: #e5484d; border-color: #e5484d; color: #fff; }
@keyframes oa-confirm-in { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .oa-confirm { animation: none; } }
.ob-tabbar { position: relative; z-index: 25; display: flex; align-items: center; gap: 0.6rem 0.9rem;
  margin: 0.75rem 0 0; padding: 0.55rem 0; background: var(--bg); }
.ob-tabs { display: flex; flex: 0 1 auto; align-items: center; gap: 0.45rem; min-width: 0; max-width: 100%; overflow-x: auto; scrollbar-width: none; padding: 2px; }
.ob-tabs::-webkit-scrollbar { display: none; }
.ob-tab { position: relative; display: inline-flex; align-items: center; flex: 0 0 auto; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px;
  background: transparent; transition: background 0.18s, border-color 0.18s; }
.ob-tabs > button.ob-tab, .ob-tab__btn { height: 2.1rem; padding: 0 0.95rem; border: 0; border-radius: 8px; background: transparent; color: var(--muted);
  font: inherit; font-size: 0.875rem; white-space: nowrap; cursor: pointer; transition: color 0.18s; }
.ob-tab--item .ob-tab__btn { padding-right: 0.3rem; }
.ob-tabs > button.ob-tab { border: 1px solid rgba(var(--ink-rgb), 0.2); }
.ob-tabs > button.ob-tab:hover { border-color: rgba(var(--ink-rgb), 0.38); }
.ob-tab__x { width: 1.45rem; height: 1.45rem; margin-right: 0.35rem; border: 0; border-radius: 8px; background: transparent; color: var(--muted);
  font-size: 0.95rem; line-height: 1; cursor: pointer; opacity: 0.6; }
.ob-tab__x:hover, .ob-tab__x:focus-visible { opacity: 1; color: var(--fg); background: rgba(var(--ink-rgb), 0.1); }
.ob-tab:hover { border-color: rgba(var(--ink-rgb), 0.38); }
.ob-tab:hover .ob-tab__btn, .ob-tabs > button.ob-tab:hover { color: var(--fg); }
.ob-tab.is-active, .ob-tabs > button.ob-tab.is-active { background: rgba(var(--ink-rgb), 0.12); border-color: rgba(var(--ink-rgb), 0.38); }
.ob-tab.is-active .ob-tab__btn, .ob-tabs > button.ob-tab.is-active { color: var(--fg); }
.ob-tabs > button.ob-tab:focus-visible, .ob-tab__btn:focus-visible { outline: 2px solid rgba(var(--ink-rgb), 0.6); outline-offset: 2px; }
.ob-tabbar .ob-add { flex: 0 0 auto; }
.ob-add__menu button { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.ob-add__menu small { font-size: 0.8rem; color: var(--muted); }
.ob-panel { margin-top: 0.4rem; }
.ob-panels { margin-top: 0.75rem; }
.ob-tabpanel[hidden], .ob-panel[hidden] { display: none !important; }
.ob-tabpanel .ob-w { height: auto; overflow: visible; }
.ob-tabpanel .ob-w__head { cursor: default; user-select: auto; padding: 0.7rem 1rem; }
.ob-tabpanel .ob-w__title { margin: 0; font-size: 1rem; font-weight: 500; }
.ob-tabpanel .ob-w__actions { display: flex; gap: 0.4rem; }
.ob-wbtn { background: transparent; cursor: pointer; font: inherit; font-size: 0.82rem; }
.ob-wbtn:hover, .ob-wbtn[aria-expanded="true"] { color: var(--fg); border-color: rgba(var(--ink-rgb), 0.4); }
.ob-tabpanel .ob-w__body { overflow: visible; padding: 0.9rem 1rem 1rem; }
.ob-tabpanel[data-type="chart"] .ob-w__body { height: min(70vh, 640px); }
.ob-foot { display: flex; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.ob-foot .ob-note { color: var(--muted); font-size: 0.82rem; }

@media (max-width: 900px) {
  .ob-tabbar { flex-wrap: wrap; }
  .ob-tabs { flex: 1 1 100%; }
}
.ob-tablock { display: inline-flex; align-items: center; gap: 0.45rem; flex: none; margin-left: auto; height: 2.1rem; padding: 0 0.9rem;
  border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; background: transparent; color: var(--muted); font: inherit; font-size: 0.85rem; cursor: pointer;
  transition: color 0.18s, border-color 0.18s, background 0.18s; }
.ob-tablock:hover { color: var(--fg); border-color: rgba(var(--ink-rgb), 0.38); }
.ob-tablock[aria-pressed="false"] { color: var(--fg); background: rgba(var(--ink-rgb), 0.12); border-color: rgba(var(--ink-rgb), 0.38); }
.ob-tablock .ob-tablock__off, .ob-tablock[aria-pressed="false"] .ob-tablock__on { display: none; }
.ob-tablock[aria-pressed="false"] .ob-tablock__off { display: block; }
.ob-tabbar.is-locked .ob-tab__x, .ob-tabbar.is-locked .ob-add { display: none; }
.ob-tabbar.is-locked .ob-tab--item .ob-tab__btn { padding-right: 0.95rem; }
@media (max-width: 900px) { .ob-tablock { margin-left: 0; } }

.ob-table caption, .nav-search__group, .ob-pulse, .ob-wl thead th, .ob-wlmenu__sec, .fomc-change__kind, .econ__row--head,
.ob-alarms__title, .company-facts dt, .eflow__label, .ofisplus-card__source, .ofisplus-revenue__period, .ofisplus-generation-table th,
.issue-card time, .article-card time, .issue-featured__body time {
  text-transform: none; letter-spacing: 0;
}
.ob-tag, .news-item__tag { border: 0; padding: 0; background: none; border-radius: 0; color: var(--muted); font-size: 0.82rem; }
.ob-meta .ob-tag + span::before, .ob-tag + .ob-meta__time::before { content: "Â·"; margin-right: 0.4rem; color: var(--muted-2, var(--muted)); }
table, .ob-live__price, .ob-live__chg, .company-return, .company-facts dd, .stat, .figures, .econ__row, .ob-pf, .eflow { font-variant-numeric: tabular-nums; }

:root { --hdr-btn-h: clamp(34px, 2.4vw, 40px); --hdr-btn-px: clamp(16px, 1.2vw, 22px); }
.site-header .site-nav > ul > li > a, .hdr-btn, .site-header .nav-search__input, .nav-search__results { border-radius: 12px; }
.hdr-btn { font-size: calc(var(--hdr-fs) - 1px); }
.site-header .nav-search__input { font-size: calc(var(--hdr-fs) - 3px); }
.subscribe-form { border-radius: 14px; } .subscribe-form button { border-radius: 10px; }
@media (max-width: 700px) { .hdr-btn, .site-header .theme-toggle { height: 2.2rem; } .site-header .nav-search__input { height: 2.2rem; } }
.page-glow { padding-left: var(--gutter); padding-right: var(--gutter); }

.earn-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; margin: 0 0 1rem; }
.earn-nav__range { font-size: 0.9rem; color: var(--fg); font-variant-numeric: tabular-nums; padding: 0 0.25rem; }
.earn-nav__all { margin-left: auto; font-size: 0.85rem; color: var(--muted); }
.earn-week { display: grid; grid-template-columns: repeat(5, minmax(12.5rem, 1fr)); gap: 0; border: 1px solid rgba(var(--ink-rgb), 0.12);
  border-radius: 11px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x proximity; }
.earn-day { min-width: 0; scroll-snap-align: start; border-left: 1px solid rgba(var(--ink-rgb), 0.12); }
.earn-day:first-child { border-left: 0; }
.earn-day.is-today { background: rgba(var(--ink-rgb), 0.04); }
.earn-day__head { position: sticky; top: 0; display: grid; grid-template-columns: 1fr auto; gap: 0.1rem 0.5rem; padding: 0.75rem 0.85rem;
  border-bottom: 1px solid rgba(var(--ink-rgb), 0.12); background: var(--bg); }
.earn-day.is-today .earn-day__head { background: rgba(var(--ink-rgb), 0.06); }
.earn-day__name { font-weight: 600; font-size: 0.95rem; color: var(--fg); }
.earn-day__date { font-size: 0.85rem; color: var(--muted); font-variant-numeric: tabular-nums; text-align: right; }
.earn-day__count { grid-column: 1 / -1; font-size: 0.8rem; color: var(--muted); }
.earn-day__list { list-style: none; margin: 0; padding: 0; }
.earn-item { padding: 0.55rem 0.85rem; border-bottom: 1px solid rgba(var(--ink-rgb), 0.07); }
.earn-item:last-child { border-bottom: 0; }
.earn-item__top { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; }
.earn-item__sym { font-weight: 700; font-size: 0.92rem; color: var(--fg); text-decoration: none; }
.earn-item__sym:hover { text-decoration: underline; }
.earn-item__cap { font-size: 0.82rem; color: var(--fg-2, var(--fg)); font-variant-numeric: tabular-nums; white-space: nowrap; }
.earn-item__name { margin-top: 0.1rem; font-size: 0.8rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.earn-item__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.1rem 0.5rem; margin-top: 0.15rem; font-size: 0.8rem; color: var(--muted); font-variant-numeric: tabular-nums; }
.earn-day__empty, .earn-day__more { margin: 0; padding: 0.75rem 0.85rem; font-size: 0.82rem; color: var(--muted); }
.earn-day.is-past .earn-item__sym { color: var(--fg-2, var(--fg)); }
@media (max-width: 700px) { .earn-week { grid-template-columns: repeat(5, 78vw); } }

.share-prev h1 { margin-bottom: 0.5rem; }
.share-prev__lead { color: var(--muted); max-width: 52rem; }
.share-prev__form { display: flex; flex-wrap: wrap; gap: 0.75rem 1rem; align-items: flex-end; margin: 1.25rem 0 2rem; }
.share-prev__form label { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.85rem; color: var(--muted); }
.share-prev__form select, .share-prev__form input { min-width: 18rem; padding: 0.55rem 0.7rem; border-radius: 8px; border: 1px solid rgba(var(--ink-rgb), 0.2); background: var(--bg); color: var(--fg); font: inherit; }
.share-prev__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)); gap: 2rem; align-items: start; }
.share-prev h2 { font-size: 0.95rem; font-weight: 600; margin: 0 0 0.6rem; color: var(--muted); }
.share-prev__warn { padding: 1rem; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; }
.sp-card { max-width: 32rem; border: 1px solid #dadde1; border-radius: 8px; overflow: hidden; background: #fff; color: #1d2129; font-family: Helvetica, Arial, sans-serif; }
.sp-card__img { display: block; width: 100%; aspect-ratio: 1.91 / 1; object-fit: cover; background: #f0f2f5; }
.sp-card__body { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.7rem 0.85rem; background: #f0f2f5; }
.sp-card__domain { font-size: 0.75rem; color: #606770; }
.sp-card__title { font-size: 1rem; line-height: 1.3; }
.sp-card__desc { font-size: 0.85rem; color: #606770; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sp-card--x { border-radius: 16px; border-color: #cfd9de; }
.sp-card--x .sp-card__body { background: #fff; }
.sp-serp { display: flex; flex-direction: column; gap: 0.2rem; max-width: 37rem; padding: 1rem; border-radius: 8px; background: #fff; font-family: Arial, sans-serif; }
.sp-serp__url { font-size: 0.8rem; color: #202124; word-break: break-all; }
.sp-serp__title { font-size: 1.2rem; color: #1a0dab; }
.sp-serp__desc { font-size: 0.875rem; color: #4d5156; }
.sp-tags { display: grid; grid-template-columns: auto 1fr; gap: 0.4rem 1rem; margin: 0; font-size: 0.85rem; }
.sp-tags dt { color: var(--muted); } .sp-tags dd { margin: 0; word-break: break-all; } .sp-tags small { color: var(--muted); }
.sp-ld { margin-top: 2rem; } .sp-ld pre { max-height: 24rem; overflow: auto; padding: 1rem; border-radius: 8px; background: rgba(var(--ink-rgb), 0.05); font-size: 0.8rem; }

:root { --glass-bg: rgba(12, 12, 18, 0.5); --glass-pop: rgba(16, 16, 22, 0.6); --glass-line: rgba(255, 255, 255, 0.1);
  --glass-shadow: 0 30px 80px rgba(0, 0, 0, 0.35); --glass-blur: blur(48px) saturate(1.6); --glass-hover: rgba(255, 255, 255, 0.07); }
:root[data-theme="light"] { --glass-bg: rgba(255, 255, 255, 0.6); --glass-pop: rgba(255, 255, 255, 0.72); --glass-line: rgba(0, 0, 0, 0.08);
  --glass-shadow: 0 30px 80px rgba(0, 0, 0, 0.12); --glass-hover: rgba(0, 0, 0, 0.05); }
.section-cards { margin-top: 1rem; }
.section-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.15rem 0.5rem; padding: 0.6rem; border-radius: 17px;
  background: radial-gradient(120% 140% at 0% 0%, rgba(var(--g4), 0.06), transparent 55%), var(--glass-bg);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); border: 1px solid var(--glass-line); box-shadow: var(--glass-shadow); }
.section-list > li, .section-list > li:last-of-type { border: 0; }
.section-list > li.ofisplus-empty { grid-column: 1 / -1; padding: 1rem 1.1rem; }
.section-row, .section-row.glow-card { grid-template-columns: 2.4rem minmax(0, 1fr) auto; gap: 0 0.9rem; margin: 0; padding: 1rem 1.1rem; border: 0;
  border-radius: 8px; background: transparent; transform: none; transition: background 0.2s ease; }
.section-row.glow-card:hover, .section-row.glow-card:focus-visible { padding-left: 1.1rem; background: var(--glass-hover); transform: none; }
.section-row.glow-card::before { display: none; }
.section-row__body { display: block; }
.section-row__title { font-size: 1.1rem; font-weight: 500; letter-spacing: -0.01em; }
.section-row__desc { margin-top: 0.2rem; font-size: 0.875rem; line-height: 1.45; color: rgba(var(--ink-rgb), 0.62); }
.section-row__num { font-size: 0.85rem; }
.section-row__go { font-size: 1.1rem; }
@media (max-width: 900px) { .section-list { grid-template-columns: 1fr; } }
.contact-rows { box-sizing: border-box; width: calc(100% - 2 * var(--gutter)); max-width: calc(var(--max-width) - 2 * var(--gutter)); margin: 1rem auto 6rem;
  padding: 0.6rem; border: 1px solid var(--glass-line); border-radius: 17px;
  background: radial-gradient(120% 140% at 0% 0%, rgba(var(--g4), 0.07), transparent 55%), var(--glass-bg);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow); }
.contact-row, .contact-row--main { padding: 1.5rem 1.2rem; border: 0; border-radius: 8px; transition: background 0.2s ease; }
.contact-row::before { display: none; }
a.contact-row:hover, a.contact-row:focus-visible, .contact-row--main:hover { background: var(--glass-hover); }
.contact-row__value { font-size: clamp(1.25rem, 2.4vw, 1.8rem); }
@media (max-width: 700px) { .contact-rows { width: calc(100% - 2rem); } }
.ob-tabbar { padding: 0.45rem 0.55rem; border: 1px solid var(--glass-line); border-radius: 13px;
  background: radial-gradient(120% 220% at 0% 0%, rgba(var(--g4), 0.07), transparent 55%), var(--glass-bg); box-shadow: 0 18px 50px rgba(0, 0, 0, calc(0.5 * var(--shadow-k))); }
.ob-tabpanel .ob-w, .ob-sidewl, .ob-frame { border: 1px solid var(--glass-line); border-radius: 13px;
  background: radial-gradient(120% 140% at 0% 0%, rgba(var(--g4), 0.05), transparent 55%), var(--glass-bg); box-shadow: 0 18px 50px rgba(0, 0, 0, calc(0.5 * var(--shadow-k))); }
.ob-tabpanel .ob-w__head { background: transparent; border-bottom-color: var(--glass-line); }
.ob-tabpanel .ob-w:hover { border-color: rgba(var(--ink-rgb), 0.2); box-shadow: 0 18px 50px rgba(0, 0, 0, calc(0.5 * var(--shadow-k))); }
.ob-tabpanel .ob-w::before { display: none; }
.ob-frame { overflow: hidden; }
.ob-add__menu, .ob-chart__menu, .ob-suggest, .ob-split__menu, .ob-ctx, .ob-dset, .ob-drawbar, .ob-chart__quick, .ob-wlmenu__pop, .oa-confirm__box {
  background: var(--glass-pop); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur);
  border: 1px solid var(--glass-line); border-radius: 13px; box-shadow: var(--glass-shadow); }
.ob-drawbar { border-radius: 10px; }
.ob-add__menu, .ob-chart__menu.ob-chart__tfmenu, .ob-suggest, .ob-wlmenu__pop { padding: 0.35rem; }
.ob-add__menu button, .ob-chart__tfmenu button, .ob-suggest li, .ob-chart__quick li, .ob-wlmenu__pop button { border-radius: 8px; }
.ob-add__menu button:hover, .ob-add__menu button:focus-visible, .ob-chart__tfmenu button:hover, .ob-suggest li.is-active, .ob-suggest li:hover,
.ob-chart__quick li.is-active, .ob-chart__quick li:hover, .ob-ctx button:hover, .ob-ctx button:focus-visible { background: var(--glass-hover); }
.section-cards, .glass-stage { position: relative; isolation: isolate; }
.section-cards::before, .glass-stage::before { content: ""; position: absolute; z-index: -1; left: 6%; right: 6%; top: 0; height: 85%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(var(--g4), 0.32), transparent) 0 30% / 42% 90% no-repeat,
              radial-gradient(closest-side, rgba(var(--g1), 0.26), transparent) 100% 70% / 42% 90% no-repeat;
  filter: blur(30px); }
:root[data-theme="light"] .section-cards::before, :root[data-theme="light"] .glass-stage::before { opacity: 0.6; }
:root { --glass-bg: rgba(30, 30, 40, 0.52); --glass-pop: rgba(26, 26, 34, 0.66); --glass-line: rgba(255, 255, 255, 0.13);
  --glass-top: rgba(255, 255, 255, 0.26); --glass-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0) 38%);
  --glass-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.09), inset 0 -1px 0 rgba(0, 0, 0, 0.35), 0 2px 6px rgba(0, 0, 0, 0.3), 0 40px 90px -24px rgba(0, 0, 0, 0.75);
  --glass-hover: rgba(255, 255, 255, 0.08); }
:root[data-theme="light"] { --glass-bg: rgba(255, 255, 255, 0.66); --glass-pop: rgba(255, 255, 255, 0.78); --glass-line: rgba(15, 20, 40, 0.09);
  --glass-top: rgba(255, 255, 255, 1); --glass-sheen: linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0) 40%);
  --glass-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 2px 6px rgba(20, 30, 60, 0.06), 0 40px 80px -28px rgba(20, 30, 60, 0.3);
  --glass-hover: rgba(15, 20, 40, 0.05); }
.section-list, .contact-rows, .ob-tabbar, .ob-tabpanel .ob-w, .ob-sidewl, .ob-frame { border-top-color: var(--glass-top); }
.section-list { background: var(--glass-sheen), radial-gradient(120% 140% at 0% 0%, rgba(var(--g4), 0.09), transparent 55%), var(--glass-bg); }
.contact-rows { background: var(--glass-sheen), radial-gradient(120% 140% at 0% 0%, rgba(var(--g4), 0.1), transparent 55%), var(--glass-bg); }
.ob-tabbar { background: var(--glass-sheen), radial-gradient(120% 220% at 0% 0%, rgba(var(--g4), 0.1), transparent 55%), var(--glass-bg); box-shadow: var(--glass-shadow); }
.ob-tabpanel .ob-w, .ob-sidewl, .ob-frame { background: var(--glass-sheen), radial-gradient(120% 140% at 0% 0%, rgba(var(--g4), 0.07), transparent 55%), var(--glass-bg); box-shadow: var(--glass-shadow); }
.ob-tabpanel .ob-w:hover { box-shadow: var(--glass-shadow); }
.ob-add__menu, .ob-chart__menu, .ob-suggest, .ob-split__menu, .ob-ctx, .ob-dset, .ob-drawbar, .ob-chart__quick, .ob-wlmenu__pop, .oa-confirm__box {
  background: var(--glass-sheen), var(--glass-pop); border-top-color: var(--glass-top); }
.section-cards::before, .glass-stage::before { background: radial-gradient(closest-side, rgba(var(--g4), 0.5), transparent) 0 30% / 45% 95% no-repeat,
  radial-gradient(closest-side, rgba(var(--g1), 0.42), transparent) 100% 70% / 45% 95% no-repeat; filter: blur(34px); }
.ob-add__menu { max-height: min(70vh, 34rem); overflow-y: auto; min-width: 270px; }
.ob-add__sec { padding: 0.65rem 0.65rem 0.25rem; font-size: 0.8rem; color: var(--muted); }
.ob-add__sec:first-child { padding-top: 0.3rem; }
.ob-tabpanel[data-type="page"] .ob-w__body { padding: 0; }
.ob-embed__frame { display: block; width: 100%; height: 75vh; border: 0; border-radius: 0 0 12px 12px; background: var(--bg); }
.ob-embed__frame[data-fixed] { height: min(92vh, 1040px); }
.ob-embed__foot { margin: 0; padding: 0.55rem 1rem 0.7rem; font-size: 0.82rem; text-align: right; }
.ob-embed__foot a { color: var(--muted); }
.ob-embed__foot a:hover { color: var(--fg); }
body.is-embed .site-header, body.is-embed .site-footer, body.is-embed .wagtail-userbar, body.is-embed wagtail-userbar { display: none !important; }
body.is-embed .page-glow { padding-top: 2.2rem; padding-bottom: 1.6rem; }
body.is-embed .page-glow--compact { padding-top: 1.6rem; }
body.is-embed main, body.is-embed { padding-top: 0 !important; margin-top: 0 !important; }
body.is-embed .cta { display: none; }

body.is-embed .page-header { padding: 0.9rem var(--gutter) 0.2rem; margin: 0; }
body.is-embed .page-header h1 { font-size: 1.3rem; margin: 0; }
body.is-embed .page-header__intro { margin: 0.15rem 0 0; font-size: 0.85rem; }
body.is-embed article > .rich-text { display: none; }
:root {
  --t-display: clamp(2.6rem, 6vw, 5.4rem); --t-h2: clamp(2rem, 3.8vw, 3.4rem); --t-h3: clamp(1.35rem, 2vw, 1.75rem);
  --t-figure: clamp(2.2rem, 3.6vw, 3.1rem); --t-quote: clamp(1.25rem, 1.9vw, 1.6rem);
  --t-lead: 1.15rem; --t-body: 1rem; --t-small: 0.9rem; --t-label: 0.8rem;
}
.page-about .page-glow__title { font-size: var(--t-display); font-weight: 500; letter-spacing: -0.035em; }
.page-about .page-glow__title .accent, .page-about h2 .accent { font-weight: 400; }
.page-about .page-glow__lead, .page-about .split-section__body.rich-text, .page-about .cta p { font-size: var(--t-lead); line-height: 1.7; }
.page-about .eyebrow, .page-about .mv-row h3, .page-about .product-row__tag {
  font-size: var(--t-label); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted); }
.page-about .split-section__head h2, .page-about .products h2, .page-about .cta h2 {
  font-size: var(--t-h2); font-weight: 500; letter-spacing: -0.025em; line-height: 1.08; }
.page-about .figures strong { font-size: var(--t-figure); font-weight: 500; letter-spacing: -0.03em; }
.page-about .figures span { font-size: var(--t-small); }
.page-about .mv-row p { font-size: var(--t-quote); line-height: 1.5; letter-spacing: -0.01em; }
.page-about .product-row h3 { font-size: var(--t-h3); font-weight: 500; letter-spacing: -0.015em; }
.page-about .product-row p { font-size: var(--t-body); line-height: 1.6; }
.page-about .product-row__more, .page-about .btn-pill, .page-about .btn-outline { font-size: var(--t-small); font-weight: 600; }

.subscribe-form button, .subscribe-form input { font-family: inherit; }
:root { --t-text: 1.15rem; --t-text-lh: 1.7; --row-pad: 2.5rem; --block-gap: 6rem; }
.page-about .page-glow__lead, .page-about .cta p { font-size: var(--t-text); line-height: var(--t-text-lh); }
.about-block { box-sizing: border-box; max-width: var(--max-width); margin: var(--block-gap) auto 0; padding: 0 var(--gutter); }
.about-block + .about-block { margin-top: var(--block-gap); }
.about-block:last-of-type { margin-bottom: var(--block-gap); }
.about-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 3rem; align-items: baseline;
  padding: var(--row-pad) 0; border-top: 1px solid var(--border); color: inherit; }
.about-row--intro { align-items: start; padding-top: 0; border-top: 0; }
.about-row__head .eyebrow { display: block; }
.about-row__head h2 { margin: 0.75rem 0 0; font-size: var(--t-h2); font-weight: 500; letter-spacing: -0.025em; line-height: 1.08; }
.about-row__head h2 .accent { font-weight: 400; }
.about-row__label, .page-about .eyebrow { margin: 0; font-size: var(--t-label); font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase;
  line-height: 1.4; color: var(--muted); }
.about-row__text, .about-row__text.rich-text { margin: 0; padding: 0; max-width: 46rem; font-size: var(--t-text); line-height: var(--t-text-lh);
  color: rgba(var(--ink-rgb), 0.86); }
.about-row__text.rich-text p { margin: 0 0 1em; font-size: inherit; line-height: inherit; }
.about-row__text.rich-text p:last-child { margin-bottom: 0; }
.about-row--intro .about-row__text { padding-top: 0.15rem; }
.about-block > .about-row:last-child { border-bottom: 1px solid var(--border); }

.about-products { list-style: none; margin: 0; padding: 0; counter-reset: prod; border-bottom: 1px solid var(--border); }
.about-products li { counter-increment: prod; }
.about-product { position: relative; align-items: center; transition: background 0.2s ease; }
.about-product:hover, .about-product:focus-visible { background: linear-gradient(90deg, rgba(var(--ink-rgb), 0.035), transparent 70%); }
.about-product__name .about-row__label::before { content: counter(prod, decimal-leading-zero) "  ·  "; white-space: pre; }
.about-product__name h3 { margin: 0.5rem 0 0; font-size: var(--t-h3); font-weight: 500; letter-spacing: -0.015em; line-height: 1.2; }
.about-product__body { display: flex; align-items: baseline; justify-content: space-between; gap: 2rem; }
.about-product__more { flex: none; white-space: nowrap; font-size: var(--t-small); font-weight: 600; display: inline-flex; gap: 0.4rem; transition: gap 0.18s ease; }
.about-product:hover .about-product__more { gap: 0.8rem; }
.figures { margin-top: 3.5rem; }
@media (max-width: 900px) {
  .about-row { grid-template-columns: 1fr; row-gap: 0.75rem; padding: 2rem 0; }
  .about-row--intro { padding-top: 0; }
  .about-row--intro .about-row__text { padding-top: 0.75rem; }
  .about-product__body { flex-direction: column; gap: 0.75rem; }
  :root { --block-gap: 4rem; }
}
.about-product { align-items: baseline; }
.about-row--intro .about-row__head:only-child { grid-column: 1 / -1; }
.ob-chart__wrap canvas { transition: filter .25s ease; }
.ob-chart__wrap.is-loading canvas { filter: blur(3px); transition-duration: .08s; }
.ob-chart__loading { position: absolute; left: 50%; top: 45%; transform: translate(-50%, -50%); z-index: 6; pointer-events: none; }
.ob-chart__loading[hidden] { display: none; }
.ob-chart__spin { display: block; width: 30px; height: 30px; border-radius: 50%; border: 2.5px solid rgba(var(--ink-rgb), .18); border-top-color: var(--fg); animation: ob-spin .8s linear infinite; }
@keyframes ob-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ob-chart__spin { animation-duration: 2.4s; } }
:root[data-theme="light"] body:not(.theme-hofis-light) {
  background-color: var(--bg);
  background-image: radial-gradient(60% 50% at 8% 4%, rgba(var(--g4), 0.16), transparent 70%),
    radial-gradient(55% 45% at 96% 30%, rgba(var(--g2), 0.16), transparent 70%),
    radial-gradient(70% 50% at 40% 100%, rgba(var(--g1), 0.10), transparent 70%),
    linear-gradient(rgba(var(--g4), 0.05), rgba(var(--g4), 0.05)),
    linear-gradient(rgba(var(--g3), 0.22), rgba(var(--g3), 0.22));
  background-attachment: fixed;
}
:root[data-theme="light"] { --glass-bg: rgba(255, 255, 255, 0.52); --glass-pop: rgba(255, 255, 255, 0.7); --glass-line: rgba(15, 20, 40, 0.1); }
:root[data-theme="light"] .section-cards::before, :root[data-theme="light"] .glass-stage::before { opacity: 1; }

:root[data-theme="light"] body:not(.theme-hofis-light) .page-glow::after { display: none; }
:root[data-theme="light"] body:not(.theme-hofis-light) .page-glow__light {
  -webkit-mask-image: linear-gradient(to bottom, #000 45%, transparent 92%); mask-image: linear-gradient(to bottom, #000 45%, transparent 92%); }
.ob-frame__bar > .ob-frame__tools,
.ob-frame__tools > .ob-chart__bar,
.ob-frame__tools > .ob-chart__bar .ob-chart__actions,
.ob-frame__tools .ob-chart__actions .ob-chart__tools { display: contents; }
.ob-frame__tools [data-magnet], .ob-frame__tools [data-clear], .ob-frame__tools .ob-chart__menuwrap:has([data-colorbtn]) { display: none !important; }
.ob-frame__tools .ob-chart__form { order: 1; }
.ob-frame__tools .ob-chart__tf { order: 2; }
.ob-frame__tools .ob-chart__ind { order: 3; }
.ob-frame__bar .ob-favtoggle { order: 10; margin-left: auto; }
.ob-frame__tools [data-undo] { order: 11; }
.ob-frame__bar .ob-split { order: 12; }
.ob-frame__tools [data-full] { order: 13; }
.ob-frame__tools .ob-chart__menuwrap:has([data-shot]) { order: 14; }
.ob-frame__tools .ob-chart__menuwrap:has([data-shot]) .ob-chart__menu { right: 0; left: auto; }
.ob-frame .ob-split__menu { left: auto; right: 0; }
.ob-favtoggle { background: transparent; cursor: pointer; font: inherit; color: var(--fg-3); }
.ob-favtoggle.is-active { color: var(--fg); }
.ob-favtoggle.is-active svg path { fill: currentColor; }

.ob-frame__body { position: relative; }
.ob-toolcol__sep { display: block; height: 1px; margin: 4px 14px 4px 4px; background: rgba(var(--ink-rgb), 0.14); }
.ob-toolcol > .ob-toolbtn { margin-right: 12px; }
.ob-toolfly__row { display: flex; align-items: center; gap: 2px; }
.ob-toolfly__row [data-pick] { flex: 1; }
.ob-toolfly .ob-star { flex: 0 0 auto; width: 30px; height: 30px; padding: 0; justify-content: center; color: var(--fg-3); opacity: 0.55; }
.ob-toolfly .ob-star:hover { opacity: 1; }
.ob-toolfly .ob-star svg { width: 17px; height: 17px; }
.ob-toolfly .ob-star.is-on { opacity: 1; color: var(--fg); }
.ob-toolfly .ob-star.is-on svg path { fill: currentColor; }

.ob-favbar { position: absolute; z-index: 12; display: flex; align-items: center; gap: 2px; padding: 3px 4px 3px 3px; background: var(--surface); border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; box-shadow: 0 8px 24px rgba(0, 0, 0, calc(0.45 * var(--shadow-k))); }
.ob-favbar[hidden] { display: none; }
.ob-favbar__grip { flex: 0 0 auto; width: 10px; height: 26px; margin-right: 2px; cursor: grab; background-image: radial-gradient(circle, rgba(var(--ink-rgb), 0.5) 1px, transparent 1.4px); background-size: 4px 4px; background-position: center; touch-action: none; }
.ob-favbar.is-moving .ob-favbar__grip { cursor: grabbing; }
.ob-favbar__items { display: flex; gap: 2px; }
.ob-favbar .ob-toolbtn { width: 30px; height: 30px; }

.ob-chart__legend { display: flex; flex-wrap: wrap; gap: 2px 4px; white-space: normal; overflow: visible; max-height: 4.6rem; }
.ob-legitem { pointer-events: auto; display: inline-flex; align-items: center; border-radius: 4px; background: rgba(var(--paper-rgb), 0.6); }
.ob-legitem button { display: inline-flex; align-items: center; gap: 5px; padding: 1px 5px; border: 0; background: none; color: var(--fg-2); font: inherit; font-size: 0.8rem; cursor: pointer; }
.ob-legitem button:hover { color: var(--fg); }
.ob-legitem i { display: inline-block; width: 10px; height: 3px; border-radius: 1px; }
.ob-legitem [data-inddel] { opacity: 0; padding: 1px 6px 1px 2px; }
.ob-legitem:hover [data-inddel], .ob-legitem:focus-within [data-inddel] { opacity: 0.85; }
.ob-legitem.is-hidden [data-indopen] { opacity: 0.45; text-decoration: line-through; }
.ob-chart__menu.ob-indmenu { width: 22rem; max-width: calc(100vw - 2rem); padding: 6px; gap: 0; }
.ob-indmenu input[type="search"] { width: 100%; height: 32px; padding: 0 8px; border: 1px solid rgba(var(--ink-rgb), 0.22); border-radius: 6px; background: var(--bg); color: var(--fg); font: inherit; font-size: 0.875rem; }
.ob-indmenu__list { display: flex; flex-direction: column; max-height: 20rem; margin-top: 6px; overflow-y: auto; overscroll-behavior: contain; }
.ob-indmenu__list button { display: flex; align-items: baseline; gap: 0.6rem; width: 100%; padding: 0.4rem 0.5rem; border: 0; border-radius: 5px; background: none; color: var(--fg); font: inherit; font-size: 0.875rem; text-align: left; cursor: pointer; }
.ob-indmenu__list button strong { flex: 0 0 4.8rem; font-weight: 600; }
.ob-indmenu__list button span { color: var(--fg-3); font-size: 0.82rem; }
.ob-indmenu__list button:hover, .ob-indmenu__list button.is-first { background: rgba(var(--ink-rgb), 0.08); }
.ob-indset input[type="number"] { width: 5.5rem; height: 28px; padding: 0 6px; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 4px; background: var(--bg); color: var(--fg); font: inherit; font-variant-numeric: tabular-nums; }
.ob-indset { z-index: 9; }
.ob-frame__bar { --ob-btn-h: 34px; }
.ob-frame__bar .ob-chart__form input,
.ob-frame__bar [data-tfbtn], .ob-frame__bar [data-indbtn],
.ob-frame__bar .ob-chart__icon, .ob-frame__bar .ob-split .ob-split__btn {
  box-sizing: border-box; height: var(--ob-btn-h); min-height: var(--ob-btn-h); display: inline-flex; align-items: center;
  justify-content: center; border-radius: 8px; font-size: 14px; line-height: 1; vertical-align: middle;
}
.ob-frame__bar .ob-chart__form input { padding-top: 0; padding-bottom: 0; }
.ob-frame__bar .ob-chart__icon { min-width: var(--ob-btn-h); padding: 0 8px; }
.ob-frame__bar .ob-chart__icon svg { width: 17px; height: 17px; }
.ob-frame__bar .ob-split .ob-split__btn { padding: 0 12px 0 9px; }
.ob-frame__bar .ob-favtoggle, .ob-frame__bar .ob-favtoggle.is-active { background: transparent; }
.ob-frame__bar .ob-favtoggle.is-active { color: var(--fg); border-color: rgba(var(--ink-rgb), 0.35); }
.ob-sidetabs { box-sizing: border-box; height: calc(34px + 0.8rem + 1px); padding-top: 0; padding-bottom: 0; align-items: center; border-bottom: 1px solid rgba(var(--ink-rgb), 0.12); }
.ob-sidewl__head { box-sizing: border-box; height: calc(0.7rem + 28px); padding-top: 0; padding-bottom: 0; align-items: center; }
.ob-frame__bar .ob-chart__form input, .ob-frame__bar [data-tfbtn], .ob-frame__bar [data-indbtn],
.ob-frame__bar .ob-split .ob-split__btn, .ob-sidetabs button { font-size: 14px; line-height: 1; }
.ob-sidetabs button { box-sizing: border-box; height: 34px; display: inline-flex; align-items: center; justify-content: center;
  padding-top: 0; padding-bottom: 0; border-top: 2px solid transparent; }
.ob-sidewl__head .ob-wlmenu__btn, .ob-sidewl__head .ob-wlmenu__rename { font-size: 13px; line-height: 1; }

.ob-sidewl__head { padding-top: 0; padding-bottom: 2.6px; }
.glow-gray { --g1: 150, 150, 150; --g2: 190, 190, 190; --g3: 228, 228, 228; --g4: 135, 135, 135; --g5: 95, 95, 95; --g6: 70, 70, 70; --gk: 0.5; }
.carousel { margin-top: 2rem; }
.carousel__track { display: flex; gap: 1.25rem; margin: 0; padding: 0 0 0.25rem; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory;
  scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; outline: none; }
.carousel__track::-webkit-scrollbar { display: none; }
.carousel__track:focus-visible { box-shadow: 0 0 0 2px rgba(var(--ink-rgb), 0.35); border-radius: 11px; }
.carousel__slide { flex: 0 0 min(82%, 52rem); scroll-snap-align: start; }
.prod-card { box-sizing: border-box; display: flex; align-items: stretch; gap: 2rem; height: 100%; min-height: 21rem; padding: clamp(1.5rem, 3vw, 2.75rem);
  border: 1px solid var(--glass-line, rgba(var(--ink-rgb), 0.14)); border-radius: 11px; background: var(--glass-bg, rgba(var(--ink-rgb), 0.04));
  color: var(--fg); text-decoration: none; transition: border-color 0.18s ease, background 0.18s ease; }
.prod-card:hover, .prod-card:focus-visible { border-color: rgba(var(--ink-rgb), 0.32); background: var(--glass-hover, rgba(var(--ink-rgb), 0.07)); outline: none; }
.prod-card__text { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.prod-card__label { color: var(--muted); font-size: var(--t-small, 0.9rem); }
.prod-card__title { margin: 0.6rem 0 0; font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 500; letter-spacing: -0.02em; line-height: 1.05; }
.prod-card__desc { margin-top: 1.25rem; max-width: 34rem; color: var(--fg-2, var(--fg)); font-size: var(--t-text); line-height: var(--t-text-lh); }
.prod-card__more { margin-top: auto; padding-top: 1.75rem; display: inline-flex; gap: 0.4rem; font-size: var(--t-small, 0.9rem); font-weight: 600; transition: gap 0.18s ease; }
.prod-card:hover .prod-card__more { gap: 0.8rem; }
.prod-card__visual { flex: 0 0 auto; display: flex; align-items: center; }
.prod-card__visual img { display: block; width: auto; height: 100%; max-height: 17rem; aspect-ratio: auto; border-radius: 6px; box-shadow: 0 14px 34px rgba(0, 0, 0, calc(0.45 * var(--shadow-k))); }
.carousel__nav { display: flex; align-items: center; gap: 1rem; margin-top: 1.25rem; }
.carousel__count { min-width: 3.5rem; color: var(--muted); font-size: var(--t-small, 0.9rem); font-variant-numeric: tabular-nums; }
.carousel__dots { display: flex; gap: 0.45rem; flex: 1; }
.carousel__dot { width: 24px; height: 3px; padding: 0; border: 0; border-radius: 2px; background: rgba(var(--ink-rgb), 0.2); cursor: pointer; transition: background 0.18s ease, width 0.18s ease; }
.carousel__dot[aria-current="true"] { width: 40px; background: var(--fg); }
.carousel__arrows { display: flex; gap: 0.5rem; }
.carousel__btn { width: 42px; height: 42px; border: 1px solid rgba(var(--ink-rgb), 0.22); border-radius: 8px; background: transparent; color: var(--fg); font: inherit; font-size: 1.1rem; cursor: pointer; transition: border-color 0.18s ease, opacity 0.18s ease; }
.carousel__btn:hover:not(:disabled) { border-color: rgba(var(--ink-rgb), 0.55); }
.carousel__btn:disabled { opacity: 0.3; cursor: default; }
@media (max-width: 700px) {
  .carousel__slide { flex-basis: 88%; }
  .prod-card { flex-direction: column-reverse; min-height: 0; gap: 1.25rem; }
  .prod-card__visual img { height: 11rem; }
}
@media (prefers-reduced-motion: reduce) { .carousel__track { scroll-behavior: auto; } }
.figures__item { text-align: center; }
.page-about .about-row__text, .page-about .about-row__text.rich-text p { text-align: justify; hyphens: auto; -webkit-hyphens: auto; }
.prod-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin: 2rem 0 0; padding: 0; list-style: none; }
.prod-grid > li { display: flex; }
.prod-grid .prod-card { flex: 1; flex-direction: column; gap: 0; min-height: 0; padding: clamp(1.5rem, 2.4vw, 2.25rem); }
.prod-grid .prod-card__title { font-size: clamp(1.75rem, 2.6vw, 2.5rem); }
.prod-grid .prod-card__desc { max-width: none; }
@media (max-width: 900px) { .prod-grid { grid-template-columns: 1fr; } }
.contact-row, .contact-row--main { grid-template-columns: minmax(160px, 0.6fr) 1.6fr 21rem; padding-top: 1.5rem; padding-bottom: 1.5rem; }
.contact-row { min-height: 6rem; }
.contact-row__actions { flex-wrap: nowrap; }
.contact-row__actions > * { white-space: nowrap; }
@media (max-width: 1100px) { .contact-row, .contact-row--main { grid-template-columns: minmax(130px, 0.5fr) 1.4fr auto; } }
@media (max-width: 700px) { .contact-row, .contact-row--main { grid-template-columns: 1fr; } .contact-row__actions { flex-wrap: wrap; } }
.glow-expert { --g1: 118, 140, 182; --g2: 186, 192, 204; --g3: 224, 229, 238; --g4: 92, 122, 188; --g5: 88, 94, 106; --g6: 40, 60, 118; --gk: 0.62; }
.ofisplus-generation-table th:first-child, .ofisplus-generation-table td:first-child { background: transparent; }
@media (max-width: 900px) {
  .ofisplus-generation-table th:first-child, .ofisplus-generation-table td:first-child {
    background: var(--glass-pop); -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); }
}
.oa-sel__native { 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; border: 0 !important; opacity: 0 !important; pointer-events: none !important; }
.oa-sel__btn { display: inline-flex; align-items: center; justify-content: space-between; gap: 0.6rem; max-width: 100%; box-sizing: border-box;
  padding: 0.55rem 0.8rem; border: 1px solid rgba(var(--ink-rgb), 0.2); border-radius: 8px; background: transparent; color: var(--fg);
  font: inherit; text-align: left; cursor: pointer; -webkit-appearance: none; appearance: none; }
.oa-sel__btn.is-copied { background-image: none !important; }
.ob-page .oa-sel__btn:not(.is-copied) { padding: 0.35rem 0.6rem; font-size: 0.94rem; border-radius: 6px; }
.oa-sel__btn:hover { border-color: rgba(var(--ink-rgb), 0.38); }
.oa-sel__btn:focus-visible { outline: 2px solid rgba(var(--ink-rgb), 0.45); outline-offset: 2px; }
.oa-sel__btn:disabled { opacity: 0.5; cursor: default; }
.oa-sel__btn[aria-expanded="true"] .oa-sel__arr { transform: rotate(180deg); }
.oa-sel__txt { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.oa-sel__arr { flex: none; width: 12px; height: 12px; opacity: 0.7; transition: transform 0.18s ease; }
.oa-sel__list { position: fixed; z-index: 10000; box-sizing: border-box; max-width: min(32rem, calc(100vw - 16px)); overflow-y: auto; padding: 0.35rem;
  border: 1px solid var(--glass-line); border-radius: 12px; background: var(--glass-sheen, none), var(--glass-pop);
  -webkit-backdrop-filter: var(--glass-blur); backdrop-filter: var(--glass-blur); box-shadow: var(--glass-shadow);
  color: var(--fg); font-size: 0.94rem; animation: oa-sel-in 0.16s ease-out; overscroll-behavior: contain; }
@keyframes oa-sel-in { from { opacity: 0; transform: translateY(-4px); } }
.oa-sel__opt { padding: 0.5rem 0.75rem; border-radius: 7px; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.oa-sel__opt.is-act { background: var(--glass-hover); }
.oa-sel__opt.is-sel { font-weight: 600; }
.oa-sel__opt.is-sel::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 0.55rem; border-radius: 50%; background: currentColor; vertical-align: middle; opacity: 0.7; }
.oa-sel__opt.is-dis { opacity: 0.4; cursor: default; }
.oa-sel__group { padding: 0.6rem 0.75rem 0.25rem; color: var(--muted); font-size: 0.8rem; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .oa-sel__list { animation: none; } }
.auth-hint { margin: -0.35rem 0 0.4rem; font-size: 0.82rem; color: var(--muted-foreground); line-height: 1.5; }
.auth-error a { color: inherit; text-decoration: underline; display: inline-block; margin-top: 0.3rem; }
.ob-tabs { gap: 0.15rem; }
.ob-tab, .ob-tabs > button.ob-tab, .ob-tab:hover, .ob-tabs > button.ob-tab:hover { border: 0; border-color: transparent; background: transparent; transition: none; }
.ob-tab__btn, .ob-tabs > button.ob-tab { transition: none; }
@media (hover: hover) and (pointer: fine) {
  .ob-tab:hover .ob-tab__btn, .ob-tabs > button.ob-tab:hover { color: var(--fg); }
}
.ob-tab.is-active, .ob-tabs > button.ob-tab.is-active,
.ob-tab.is-active:hover, .ob-tabs > button.ob-tab.is-active:hover { background: var(--fg); }
.ob-tab.is-active .ob-tab__btn, .ob-tabs > button.ob-tab.is-active,
.ob-tab.is-active:hover .ob-tab__btn, .ob-tabs > button.ob-tab.is-active:hover { color: var(--bg); }
.ob-tab.is-active .ob-tab__x { color: var(--bg); }
.ob-tab.is-active .ob-tab__x:hover { background: rgba(var(--paper-rgb), 0.15); }
.econ-item__time { font-weight: 700; font-size: 0.92rem; color: var(--fg); font-variant-numeric: tabular-nums; }
.econ-item__title { margin-top: 0.15rem; font-size: 0.85rem; color: var(--fg); line-height: 1.35; }
.econ-item__hi { font-size: 0.75rem; color: var(--muted); border-left: 1px solid rgba(var(--ink-rgb), 0.2); padding-left: 0.35rem; margin-left: 0.2rem; }
.earn-day.is-past .econ-item__time, .earn-day.is-past .econ-item__title { color: var(--fg-2, var(--fg)); }
.opl { position: relative; display: table; margin-left: auto; margin-right: auto; font-family: Poppins, Inter, sans-serif; font-weight: 500; letter-spacing: -0.02em; }
.opl [data-opl-o], .opl [data-opl-l] { display: inline-block; will-change: transform; }
.opl__base { display: inline-block; width: 0; height: 0; vertical-align: baseline; }
.opl__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; opacity: 0; }
.opl--ready .opl__svg { opacity: 1; }
.opl__fallback { display: inline-block; }
.opl--ready .opl__fallback { visibility: hidden; }
.bug-btn {
    position: fixed; left: 1rem; bottom: 1rem; z-index: 60;
    font: 500 0.82rem/1 Inter, system-ui, sans-serif; letter-spacing: 0.01em;
    color: var(--fg-2); background: var(--glass-pop, rgba(var(--paper-rgb), 0.72));
    border: 1px solid var(--line); border-radius: 999px; padding: 0.55rem 0.9rem;
    -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
    cursor: pointer; transition: color 0.15s, border-color 0.15s, transform 0.15s;
}
.bug-btn:hover { color: var(--fg); border-color: rgba(var(--ink-rgb), 0.35); }
.bug-btn:active { transform: scale(0.97); }
.is-embed .bug-btn, body.ob-fullscreen .bug-btn { display: none; }
@media print { .bug-btn { display: none; } }
.bug-dlg {
    width: min(30rem, calc(100vw - 2rem)); padding: 0; border: 1px solid var(--line); border-radius: 13px;
    background: var(--surface-1, var(--bg)); color: var(--fg); box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}
.bug-dlg::backdrop { background: rgba(0, 0, 0, 0.55); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.bug-form { display: grid; gap: 0.9rem; padding: 1.4rem 1.4rem 1.2rem; }
.bug-form__head { display: flex; align-items: center; justify-content: space-between; }
.bug-form__head h2 { margin: 0; font-size: 1.15rem; font-weight: 600; }
.bug-form__x { background: none; border: 0; color: var(--muted-foreground); font-size: 1.5rem; line-height: 1; cursor: pointer; padding: 0 0.2rem; }
.bug-form__x:hover { color: var(--fg); }
.bug-form__lead { margin: 0; color: var(--muted-foreground); font-size: 0.9rem; line-height: 1.5; }
.bug-form__field { display: grid; gap: 0.4rem; font-size: 0.85rem; color: var(--fg-2); }
.bug-form__field textarea, .bug-form__field input {
    width: 100%; box-sizing: border-box; font: 0.95rem/1.5 Inter, system-ui, sans-serif; color: var(--fg);
    background: rgba(var(--ink-rgb), 0.04); border: 1px solid var(--line); border-radius: 8px; padding: 0.6rem 0.75rem; resize: vertical;
}
.bug-form__field textarea:focus, .bug-form__field input:focus { outline: none; border-color: rgba(var(--ink-rgb), 0.45); }
.bug-form__msg { margin: 0; min-height: 1.2em; font-size: 0.85rem; color: var(--muted-foreground); }
.bug-form__msg.is-ok { color: var(--up); }
.bug-form__msg.is-err { color: var(--down); }
.bug-form__actions { display: flex; justify-content: flex-end; gap: 0.6rem; }
@media (max-width: 700px) { .bug-btn { left: 0.75rem; bottom: 0.75rem; padding: 0.5rem 0.8rem; } }