:root {
    --r3df-x: 50%;
    --r3df-y: 35%;
    --r3df-glow: rgba(225, 230, 242, .78);
    --r3df-ink: #111827;
    --r3df-muted: #64748b;
    --r3df-line: rgba(15, 23, 42, .08);
}
.astalias-r3df, .astalias-r3df * { box-sizing: border-box; }
.astalias-r3df { position: relative; isolation: isolate; color: var(--r3df-ink); }
.astalias-r3df-home {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(320px, 520px);
    gap: clamp(28px, 5vw, 76px);
    align-items: center;
    padding: clamp(52px, 8vw, 112px) clamp(20px, 5vw, 72px);
    margin: 0 auto 42px;
    max-width: 1240px;
    border-radius: 34px;
    background: radial-gradient(circle at var(--r3df-x) var(--r3df-y), var(--r3df-glow), transparent 34%), linear-gradient(180deg, #fff, #fbfcff);
    overflow: hidden;
}
.astalias-r3df-home:before {
    content: '';
    position: absolute;
    inset: 18px;
    border: 1px solid var(--r3df-line);
    border-radius: 28px;
    pointer-events: none;
}
.r3df-kicker {
    display: inline-flex;
    width: max-content;
    padding: 7px 12px;
    border: 1px solid var(--r3df-line);
    border-radius: 999px;
    color: #475569;
    background: rgba(255,255,255,.75);
    backdrop-filter: blur(14px);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .02em;
}
.r3df-home-copy h1 {
    margin: 18px 0 16px;
    max-width: 680px;
    font-size: clamp(44px, 7vw, 84px);
    line-height: .95;
    letter-spacing: -.07em;
    font-weight: 800;
}
.r3df-home-copy p, .r3df-category-copy p {
    max-width: 560px;
    color: var(--r3df-muted);
    font-size: clamp(16px, 2vw, 20px);
    line-height: 1.65;
}
.r3df-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.r3df-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 20px;
    border-radius: 999px;
    border: 1px solid var(--r3df-line);
    text-decoration: none;
    font-weight: 700;
    transition: transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.r3df-btn-primary { background: #111827; color: #fff; box-shadow: 0 14px 36px rgba(15,23,42,.14); }
.r3df-btn-secondary { background: rgba(255,255,255,.75); color: #111827; }
.r3df-btn:hover { transform: translateY(-2px); box-shadow: 0 18px 46px rgba(15,23,42,.12); text-decoration: none; }
.r3df-creator-showcase {
    position: relative;
    min-height: 430px;
    perspective: 1200px;
}
.r3df-profile-card {
    position: absolute;
    width: min(270px, 78vw);
    padding: 20px;
    border: 1px solid var(--r3df-line);
    border-radius: 28px;
    background: rgba(255,255,255,.76);
    backdrop-filter: blur(18px);
    box-shadow: 0 22px 70px rgba(15,23,42,.1);
    transition: transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease, filter .35s ease;
    transform-style: preserve-3d;
}
.r3df-profile-card:nth-child(1) { top: 18px; left: 12px; }
.r3df-profile-card:nth-child(2) { top: 138px; right: 0; }
.r3df-profile-card:nth-child(3) { bottom: 18px; left: 62px; }
.r3df-profile-card:hover { box-shadow: 0 30px 90px rgba(15,23,42,.14); filter: saturate(1.04); }
.r3df-avatar {
    position: relative;
    width: 82px;
    height: 82px;
    border-radius: 26px;
    display: grid;
    place-items: center;
    margin-bottom: 16px;
    background: radial-gradient(circle at 30% 20%, #fff, #eef2ff);
    box-shadow: inset 0 0 0 1px rgba(15,23,42,.06), 0 18px 38px rgba(15,23,42,.08);
    overflow: hidden;
}
.r3df-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.r3df-avatar span { font-size: 22px; font-weight: 900; letter-spacing: -.04em; color: #334155; }
.r3df-avatar i, .r3df-live-dot {
    position: absolute;
    right: 8px;
    bottom: 8px;
    width: 14px;
    height: 14px;
    border-radius: 999px;
    background: #22c55e;
    border: 3px solid #fff;
    box-shadow: 0 0 0 0 rgba(34,197,94,.45);
    animation: r3dfPulse 2.2s infinite;
}
.r3df-profile-card strong { display: block; font-size: 18px; letter-spacing: -.03em; }
.r3df-profile-card small { display: block; margin-top: 6px; color: var(--r3df-muted); line-height: 1.45; }
.r3df-profile-card em { display: inline-flex; margin-top: 14px; padding: 6px 10px; border: 1px solid var(--r3df-line); border-radius: 999px; font-style: normal; font-size: 12px; color: #475569; }
.r3df-specialty-developer { --r3df-card-glow: rgba(210, 225, 255, .72); }
.r3df-specialty-designer { --r3df-card-glow: rgba(245, 220, 255, .68); }
.r3df-specialty-creator { --r3df-card-glow: rgba(220, 245, 236, .72); }
.r3df-profile-card:before, .r3df-enhanced-card:before {
    content: '';
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    background: radial-gradient(circle at var(--r3df-x) var(--r3df-y), var(--r3df-card-glow, rgba(225,230,242,.7)), transparent 45%);
    opacity: .62;
    pointer-events: none;
    z-index: -1;
}
.astalias-r3df-category {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: end;
    max-width: 1240px;
    margin: 0 auto 24px;
    padding: 34px clamp(20px, 5vw, 48px);
    border: 1px solid var(--r3df-line);
    border-radius: 28px;
    background: radial-gradient(circle at var(--r3df-x) var(--r3df-y), rgba(225,230,242,.58), transparent 38%), #fff;
}
.r3df-category-copy h2 { margin: 12px 0 10px; font-size: clamp(28px, 4vw, 48px); line-height: 1.04; letter-spacing: -.05em; }
.r3df-category-pills { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; max-width: 360px; }
.r3df-category-pills span { padding: 9px 12px; border: 1px solid var(--r3df-line); border-radius: 999px; background: rgba(255,255,255,.8); color: #475569; font-weight: 700; font-size: 12px; box-shadow: 0 10px 26px rgba(15,23,42,.06); }
.r3df-enhanced-card {
    position: relative;
    border-radius: 22px;
    transition: transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, filter .28s ease;
    transform-style: preserve-3d;
}
.r3df-enhanced-card:hover { transform: translateY(-4px); box-shadow: 0 22px 58px rgba(15,23,42,.09); filter: saturate(1.035); }
.r3df-enhanced-image {
    position: relative;
    border-radius: 22px !important;
    overflow: hidden;
    box-shadow: 0 16px 42px rgba(15,23,42,.1);
    transition: transform .28s ease, box-shadow .28s ease, filter .28s ease;
}
.r3df-enhanced-image:hover { transform: translateY(-2px) scale(1.012); box-shadow: 0 22px 64px rgba(15,23,42,.13); filter: saturate(1.05); }
.r3df-enhanced-card .r3df-live-dot { right: 10px; bottom: 10px; }
@keyframes r3dfPulse {
    0% { box-shadow: 0 0 0 0 rgba(34,197,94,.42); }
    70% { box-shadow: 0 0 0 9px rgba(34,197,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
@media (prefers-reduced-motion: reduce) {
    .r3df-profile-card, .r3df-enhanced-card, .r3df-enhanced-image, .r3df-btn { transition: none; }
    .r3df-avatar i, .r3df-live-dot { animation: none; }
}
@media (max-width: 768px) {
    .astalias-r3df-home, .astalias-r3df-category { grid-template-columns: 1fr; }
    .r3df-creator-showcase { min-height: auto; display: grid; gap: 14px; }
    .r3df-profile-card { position: relative; top: auto !important; left: auto !important; right: auto !important; bottom: auto !important; width: 100%; }
    .r3df-category-pills { justify-content: flex-start; }
}

/* v1.5.0 - Virtual Meeting / Cinemascopic Conversation Layer */
.r3df-virtual-room {
    grid-column: 1 / -1;
    margin-top: 34px;
    position: relative;
}
.r3df-virtual-frame {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 30px;
    padding: 26px;
    background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,250,252,.78));
    box-shadow: 0 28px 80px rgba(15, 23, 42, .08);
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 22px;
}
.r3df-virtual-frame:before {
    content: "";
    position: absolute;
    inset: -40% -20%;
    background: radial-gradient(circle at var(--r3df-x, 50%) var(--r3df-y, 35%), rgba(99, 102, 241, .15), transparent 34%), radial-gradient(circle at 80% 20%, rgba(14, 165, 233, .12), transparent 26%);
    pointer-events: none;
    transition: opacity .25s ease;
}
.r3df-virtual-orb,
.r3df-virtual-copy,
.r3df-virtual-actions { position: relative; z-index: 1; }
.r3df-virtual-orb {
    width: 62px;
    height: 62px;
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(15,23,42,.95), rgba(71,85,105,.86));
    box-shadow: 0 20px 45px rgba(15,23,42,.22);
    display: grid;
    place-items: center;
}
.r3df-virtual-orb span {
    width: 24px;
    height: 24px;
    border-radius: inherit;
    background: radial-gradient(circle, rgba(255,255,255,.95), rgba(226,232,240,.4));
    box-shadow: 0 0 24px rgba(255,255,255,.7);
}
.r3df-virtual-copy h2 {
    margin: 2px 0 4px;
    font-size: clamp(24px, 3vw, 38px);
    letter-spacing: -.04em;
}
.r3df-virtual-copy p { margin: 0; color: #64748b; max-width: 620px; }
.r3df-virtual-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.r3df-meeting-start,
.r3df-meeting-transcript,
.r3df-transcript-clear,
.r3df-brief-generate {
    border: 1px solid rgba(15,23,42,.1);
    background: #fff;
    color: #0f172a;
    border-radius: 999px;
    padding: 10px 14px;
    box-shadow: 0 10px 25px rgba(15,23,42,.06);
    cursor: pointer;
}
.r3df-meeting-start { background: #0f172a; color: #fff; }
.r3df-meeting-transcript.is-listening { background: #eef2ff; border-color: rgba(99,102,241,.32); color: #3730a3; }
.r3df-meeting-workspace {
    margin-top: 16px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr);
    gap: 16px;
}
.r3df-meeting-screen,
.r3df-transcript-panel,
.r3df-brief-panel {
    border: 1px solid rgba(15,23,42,.08);
    border-radius: 28px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 24px 70px rgba(15,23,42,.07);
    overflow: hidden;
}
.r3df-meeting-screen { min-height: 320px; display: grid; grid-template-rows: 42px 1fr 42px; background: #0f172a; color: #fff; }
.r3df-cinema-bar { background: rgba(2,6,23,.92); }
.r3df-meeting-stage {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 22px;
    padding: 28px;
    background: radial-gradient(circle at 50% 25%, rgba(129,140,248,.32), transparent 34%), linear-gradient(135deg, #111827, #020617);
}
.r3df-stage-avatar {
    width: 88px;
    height: 88px;
    border-radius: 28px;
    display: grid;
    place-items: center;
    position: relative;
    background: linear-gradient(135deg, #fff, #cbd5e1);
    color: #0f172a;
    box-shadow: 0 25px 80px rgba(99,102,241,.28);
}
.r3df-stage-avatar span { font-size: 30px; font-weight: 800; }
.r3df-stage-avatar i {
    position: absolute;
    right: -4px;
    bottom: -4px;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: #22c55e;
    border: 4px solid #0f172a;
}
.r3df-meeting-stage strong { display: block; font-size: 20px; margin-bottom: 8px; }
.r3df-meeting-stage p { color: #cbd5e1; max-width: 420px; margin: 0; }
.r3df-transcript-panel,
.r3df-brief-panel { padding: 18px; }
.r3df-brief-panel { grid-column: 1 / -1; }
.r3df-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.r3df-transcript-log {
    min-height: 160px;
    max-height: 280px;
    overflow: auto;
    padding: 10px;
    border-radius: 18px;
    background: #f8fafc;
}
.r3df-transcript-line { margin: 0 0 10px; display: grid; gap: 3px; }
.r3df-transcript-line strong { font-size: 12px; color: #64748b; }
.r3df-transcript-line span { display: inline-block; background: #fff; border: 1px solid rgba(15,23,42,.06); border-radius: 14px; padding: 9px 11px; }
.r3df-transcript-assistant span { background: #eef2ff; }
.r3df-transcript-manual {
    width: 100%;
    min-height: 84px;
    margin-top: 10px;
    border: 1px solid rgba(15,23,42,.09);
    border-radius: 18px;
    padding: 12px;
    resize: vertical;
}
.r3df-brief-output {
    white-space: pre-wrap;
    min-height: 120px;
    background: #f8fafc;
    border-radius: 18px;
    padding: 14px;
    color: #334155;
}
@media (max-width: 900px) {
    .r3df-virtual-frame { grid-template-columns: 1fr; }
    .r3df-virtual-actions { justify-content: flex-start; }
    .r3df-meeting-workspace { grid-template-columns: 1fr; }
}

/* v1.6.0 Virtual Work Reality */
.r3df-virtual-workspace {
    position: relative;
    display: grid;
    grid-template-columns: minmax(220px, .85fr) minmax(320px, 1.25fr) minmax(260px, .95fr);
    gap: 22px;
    margin: 34px auto 10px;
    padding: 28px;
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 34px;
    background:
        radial-gradient(circle at 18% 10%, rgba(99, 102, 241, .10), transparent 32%),
        radial-gradient(circle at 84% 18%, rgba(14, 165, 233, .10), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,250,252,.84));
    box-shadow: 0 24px 70px rgba(15, 23, 42, .08);
    overflow: hidden;
    isolation: isolate;
}
.r3df-virtual-workspace:before {
    content: '';
    position: absolute;
    inset: 14px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.86);
    pointer-events: none;
}
.r3df-workspace-copy h2 {
    margin: 6px 0 10px;
    font-size: clamp(28px, 4vw, 52px);
    line-height: 1.02;
    letter-spacing: -.055em;
    color: #0f172a;
}
.r3df-workspace-copy p { color: #64748b; max-width: 34ch; }
.r3df-spatial-stage {
    --r3df-stage-x: 0px;
    --r3df-stage-y: 0px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    perspective: 1200px;
    transform: translate3d(var(--r3df-stage-x), var(--r3df-stage-y), 0);
    transition: transform .25s ease;
}
.r3df-spatial-room {
    cursor: pointer;
    min-height: 128px;
    padding: 18px;
    border-radius: 24px;
    border: 1px solid rgba(15, 23, 42, .07);
    background: rgba(255,255,255,.82);
    box-shadow: 0 14px 40px rgba(15,23,42,.065);
    transform: translateZ(0) rotateX(0deg) rotateY(0deg);
    transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background .28s ease;
    outline: none;
}
.r3df-spatial-room:nth-child(3) { grid-column: span 2; }
.r3df-spatial-room span { display: block; font-size: 11px; color: #94a3b8; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 16px; }
.r3df-spatial-room strong { display: block; color: #0f172a; font-size: 17px; letter-spacing: -.02em; }
.r3df-spatial-room small { display: block; color: #64748b; margin-top: 8px; line-height: 1.45; }
.r3df-spatial-room:hover,
.r3df-spatial-room:focus,
.r3df-spatial-room.is-active {
    transform: translateY(-6px) translateZ(22px) rotateX(1.5deg);
    border-color: rgba(99, 102, 241, .22);
    background: rgba(255,255,255,.96);
    box-shadow: 0 28px 74px rgba(15,23,42,.12);
}
.r3df-virtual-screen {
    position: relative;
    min-height: 100%;
    border-radius: 28px;
    overflow: hidden;
    border: 1px solid rgba(15,23,42,.08);
    background: linear-gradient(160deg, rgba(15,23,42,.96), rgba(30,41,59,.88));
    color: #fff;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.12), 0 24px 70px rgba(15,23,42,.15);
}
.r3df-screen-toolbar {
    height: 44px;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 16px;
    border-bottom: 1px solid rgba(255,255,255,.10);
}
.r3df-screen-toolbar span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255,255,255,.32);
}
.r3df-screen-toolbar strong { margin-left: 8px; font-size: 12px; opacity: .76; font-weight: 600; letter-spacing: .02em; }
.r3df-screen-body { position: relative; padding: 28px; min-height: 250px; display: flex; flex-direction: column; justify-content: center; }
.r3df-screen-orbit {
    position: absolute;
    width: 180px;
    height: 180px;
    right: -30px;
    top: 40px;
    border-radius: 50%;
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 0 70px rgba(99,102,241,.34), inset 0 0 60px rgba(14,165,233,.16);
    animation: r3df-orbit 8s ease-in-out infinite;
}
.r3df-screen-body p { position: relative; max-width: 32ch; color: rgba(255,255,255,.76); line-height: 1.55; }
.r3df-screen-actions { position: relative; display: flex; flex-wrap: wrap; gap: 10px; margin: 18px 0; }
.r3df-screen-actions button {
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    color: #fff;
    padding: 10px 14px;
    cursor: pointer;
}
.r3df-screen-actions button:hover { background: rgba(255,255,255,.16); }
.r3df-screen-body small { position: relative; color: rgba(255,255,255,.60); }
.r3df-virtual-screen.is-prepared { box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 28px 90px rgba(79,70,229,.25); }
.r3df-extension-hint {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.72);
    border: 1px dashed rgba(15,23,42,.12);
    color: #475569;
}
.r3df-extension-hint strong { color: #0f172a; }
@keyframes r3df-orbit {
    0%,100% { transform: translate3d(0,0,0) scale(1); opacity: .8; }
    50% { transform: translate3d(-18px,12px,0) scale(1.06); opacity: 1; }
}
@media (max-width: 980px) {
    .r3df-virtual-workspace { grid-template-columns: 1fr; }
    .r3df-spatial-room:nth-child(3) { grid-column: auto; }
}
