.portal{--portal-amber:#e8a82e;--portal-amber-deep:#c4881a;--portal-green:#3d7a52;--portal-green-soft:#e8f3ec;--portal-ink:#1a1f2e;--portal-muted:#5c6478;--portal-border:#dde2eb;--portal-bg:#fafbfc;--portal-card:#fff;background:var(--portal-bg);min-height:100dvh;color:var(--portal-ink);font-family:var(--font-geist-sans),system-ui,sans-serif}.portal a:not(.portal-header-btn):not(.portal-btn):not(.shell-menu__link):not(.shell-menu__button){color:var(--portal-green)}.portal-header{z-index:20;border-bottom:1px solid var(--portal-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.92);padding:.85rem 1.25rem;position:-webkit-sticky;position:sticky;top:0}.portal-header__inner{justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:64rem;margin-left:auto;margin-right:auto;display:flex}.portal-header__brand-row{flex-wrap:wrap;align-items:center;gap:.5rem .65rem;min-width:0;display:flex}.portal-brand{color:inherit;align-items:center;gap:.55rem;text-decoration:none;display:inline-flex}.portal-brand__logo{border-radius:10px;display:block}.portal-brand__name{letter-spacing:-.02em;font-size:1.05rem;font-weight:800}.portal-header-nav{align-items:center;gap:.65rem;display:flex}.portal-header-link{color:var(--portal-muted);font-size:.9rem;font-weight:600;text-decoration:none}.portal-header-link:hover{color:var(--portal-ink)}.portal-header-btn{background:var(--portal-green);color:#fff;border-radius:999px;align-items:center;padding:.45rem .9rem;font-size:.85rem;font-weight:700;text-decoration:none;display:inline-flex}.portal-header-btn:hover{color:#fff;background:#2f6342}.portal-header-btn--ghost{border:1px solid var(--portal-border);color:var(--portal-muted);cursor:pointer;font:inherit;background:#fff}.portal-header-btn--ghost:hover{color:var(--portal-ink);background:#f4f6f8}.portal-header-muted{color:var(--portal-muted);font-size:.9rem}.portal .shell-menu{position:relative}.portal .shell-menu__toggle{border:1px solid var(--portal-border);width:2.25rem;height:2.25rem;color:var(--portal-ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0;display:inline-flex}.portal .shell-menu__bars{flex-direction:column;gap:.22rem;width:1rem;display:flex}.portal .shell-menu__bars span{background:currentColor;border-radius:1px;height:2px;display:block}.portal .shell-menu__panel{z-index:100;border:1px solid var(--portal-border);background:#fff;border-radius:10px;min-width:11rem;padding:.35rem 0;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 8px 24px rgba(26,31,46,.12)}.portal .shell-menu__panel:has(.shell-menu__link--with-hint){min-width:14.5rem}.portal .shell-menu__list{margin:0;padding:0;list-style:none}.portal .shell-menu__link{color:var(--portal-ink);padding:.55rem 1rem;font-size:.9rem;text-decoration:none;display:block}.portal .shell-menu__link--with-hint{flex-direction:column;gap:.2rem;display:flex}.portal .shell-menu__link-label{font-weight:600}.portal .shell-menu__hint{color:var(--portal-muted);font-size:.74rem;font-weight:500;line-height:1.35}.portal .shell-menu__toggle:hover{border-color:var(--portal-green)}.portal .shell-menu__link:hover{background:var(--portal-green-soft);color:var(--portal-green)}.portal .shell-menu__button{text-align:left;cursor:pointer;width:100%;font:inherit;color:var(--portal-ink);background:0 0;border:none}.portal .shell-menu__button:hover{background:var(--portal-green-soft);color:var(--portal-green)}.portal .shell-menu__list--bottom,.portal .shell-menu__item--divider .shell-menu__link{border-top:1px solid var(--portal-border)}.portal .session-mode-badge{letter-spacing:.04em;border-radius:999px;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.portal .session-mode-badge--admin{color:#9a3412;background:#fff7ed;border:1px solid #fdba74}.portal .session-mode-badge--creator{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.portal .session-mode-badge--learner{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.portal-hero{background:#fff;padding:1rem 1.25rem 2rem}.portal-hero__banner{border-radius:18px;width:100%;max-width:64rem;min-height:max(14rem,min(38vw,22rem));margin:0 auto;position:relative;overflow:hidden;box-shadow:0 14px 44px rgba(26,31,46,.16)}.portal-hero__photo{object-fit:cover;object-position:center 40%;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.portal-hero__overlay{pointer-events:none;background:linear-gradient(100deg,rgba(12,18,32,.58) 0%,rgba(12,18,32,.32) 38%,rgba(12,18,32,.06) 58%,transparent 72%);position:absolute;top:0;bottom:0;left:0;right:0}.portal-hero__copy-on-image{z-index:1;text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;width:min(100%,30rem);padding:1.5rem 1.6rem;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.portal-eyebrow{letter-spacing:.16em;color:var(--portal-amber-deep);margin:0 0 .5rem;font-size:.68rem;font-weight:700}.portal-eyebrow--on-image{color:rgba(255,255,255,.88)}.portal-hero__title{letter-spacing:-.03em;margin:0 0 1rem;font-size:max(1.2rem,min(3.8vw,1.9rem));font-weight:800;line-height:1.38}.portal-hero__title--on-image{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.28)}.portal-hero__below{text-align:center;max-width:40rem;margin:1.35rem auto 0;padding:0 .25rem}.portal-hero__lead{color:var(--portal-muted);margin:0 0 .75rem;font-size:.95rem;line-height:1.85}.portal-hero__note{color:var(--portal-muted);margin:0;font-size:.82rem;line-height:1.65}.portal-btn{border:2px solid transparent;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.25rem;font-size:.92rem;font-weight:700;text-decoration:none;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.portal-btn--primary{background:var(--portal-amber);color:#1a1408;border-color:var(--portal-amber)}.portal-btn--primary:hover{background:var(--portal-amber-deep);border-color:var(--portal-amber-deep);color:#fff}.portal-btn--ghost{color:var(--portal-ink);border-color:var(--portal-border);background:0 0}.portal-btn--ghost:hover{border-color:var(--portal-green);color:var(--portal-green)}.portal-btn--large{padding:.75rem 1.4rem;font-size:.92rem}.portal-img{text-align:center;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex;position:relative;overflow:hidden}.portal-img--banner{aspect-ratio:21/9;border-bottom:1px solid var(--portal-border);min-height:12rem}.portal-img--banner.portal-img--hero{background:linear-gradient(135deg,#fff8e8 0%,#e8f3ec 45%,#d8e8f0 100%)}.portal-img--banner .portal-img__icon{font-size:3.5rem}.portal-img--banner .portal-img__label{font-size:1rem}.portal-img--feature{aspect-ratio:4/3;border:1px dashed var(--portal-border);border-radius:14px}.portal-img--feature.portal-img--create{background:linear-gradient(135deg,#eef2ff 0%,#f8f9fc 100%)}.portal-img--feature.portal-img--learn{background:linear-gradient(135deg,#e8f3ec 0%,#fff8e8 100%)}.portal-img--feature.portal-img--invite{background:linear-gradient(135deg,#f3eef8 0%,#eef2ff 100%)}.portal-img--feature .portal-img__icon{font-size:2rem}.portal-img--feature .portal-img__label{font-size:.82rem}.portal-img__icon{opacity:.85;line-height:1}.portal-img__label{color:var(--portal-muted);font-weight:600}.portal-img__badge{border:1px solid var(--portal-border);letter-spacing:.04em;color:var(--portal-muted);background:rgba(255,255,255,.88);border-radius:999px;padding:.25rem .55rem;font-size:.68rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.portal-feature{background:var(--portal-bg);padding:3rem 1.25rem}.portal-feature--reverse{background:#fff}.portal-feature__inner{align-items:center;gap:2rem;max-width:68rem;margin:0 auto;display:grid}.portal-feature__visual{min-width:0}.portal-feature__photo{aspect-ratio:4/3;object-fit:cover;object-position:center;border-radius:14px;width:100%;display:block;box-shadow:0 8px 28px rgba(26,31,46,.1)}.portal-feature__copy{min-width:0}.portal-feature__num{letter-spacing:.12em;color:var(--portal-amber-deep);margin:0 0 .5rem;font-size:.78rem;font-weight:800}.portal-feature__title{letter-spacing:-.02em;margin:0 0 1rem;font-size:max(1.25rem,min(3vw,1.65rem));font-weight:800;line-height:1.35}.portal-feature__body{color:var(--portal-muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.85}.portal-feature__list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.portal-feature__list li{color:var(--portal-ink);padding-left:1.35rem;font-size:.9rem;line-height:1.6;position:relative}.portal-feature__list li:before{content:"✓";color:var(--portal-green);font-weight:800;position:absolute;left:0}.portal-feature__more{margin:1.25rem 0 0}.portal-feature__more-link{color:var(--portal-green);font-size:.92rem;font-weight:700;text-decoration:none}.portal-feature__more-link:hover{text-decoration:underline}.portal-detail{background:var(--portal-bg)}.portal-detail__header{background:var(--portal-bg);text-align:center;padding:1.5rem 1.25rem 2.5rem}.portal-detail__header-inner{max-width:48rem;margin:0 auto}.portal-detail__eyebrow{text-align:center}.portal-detail__back-wrap{text-align:left;margin:0 0 1rem}.portal-detail__back{color:var(--portal-muted);font-size:.88rem;font-weight:600;text-decoration:none}.portal-detail__back:hover{color:var(--portal-green)}.portal-detail__title{letter-spacing:-.02em;margin:0 0 1rem;font-size:max(1.35rem,min(3.5vw,2rem));font-weight:800;line-height:1.35}.portal-detail__lead{color:var(--portal-muted);margin:0 0 1.25rem;font-size:.98rem;line-height:1.85}.portal-detail__intro-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-bottom:.5rem;display:flex}.portal-detail__body{background:var(--portal-bg)}.portal-detail-split{padding:0 1.25rem 3rem}.portal-detail-split__inner{align-items:start;gap:2rem;max-width:68rem;margin:0 auto;display:grid}.portal-detail-split__heading{letter-spacing:-.02em;margin:0 0 1.25rem;font-size:max(1.2rem,min(3vw,1.5rem));font-weight:800}.portal-detail-split__copy,.portal-detail-split__visual{min-width:0}.portal-detail-features{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.portal-detail-features li{color:var(--portal-ink);padding-left:1.5rem;font-size:.95rem;line-height:1.65;position:relative}.portal-detail-features li:before{content:"✓";color:var(--portal-green);font-weight:800;position:absolute;left:0}.portal-detail-split__visual .portal-detail__photo{aspect-ratio:16/10;object-fit:cover;object-position:center;border-radius:14px;width:100%;display:block;box-shadow:0 8px 28px rgba(26,31,46,.1)}.portal-detail-steps-section{background:#fff;padding:2.5rem 1.25rem 3.5rem}.portal-detail-steps-section__inner{max-width:68rem;margin:0 auto}.portal-detail-steps-section__heading{letter-spacing:-.02em;text-align:center;margin:0 0 1.75rem;font-size:max(1.2rem,min(3vw,1.5rem));font-weight:800}.portal-detail-steps-grid{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.portal-detail-step-card{border:1px solid var(--portal-border);border-left:4px solid var(--portal-green);background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem 1.25rem 1.35rem 1.5rem;display:flex;box-shadow:0 4px 18px rgba(26,31,46,.06)}.portal-detail-step-card__head{align-items:center;gap:.65rem;display:flex}.portal-detail-step-card__num{background:var(--portal-green);color:#fff;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;font-size:.9rem;font-weight:800;display:flex}.portal-detail-step-card__title{margin:0;font-size:1rem;font-weight:800;line-height:1.4}.portal-detail-step-card__body{color:var(--portal-muted);margin:0;font-size:.88rem;line-height:1.75}.portal-detail-closing{padding-top:2.5rem}.portal-closing{background:radial-gradient(ellipse 80% 60% at 50% 100%,rgba(61,122,82,.14) 0%,transparent 60%),linear-gradient(180deg,var(--portal-bg)0%,#fff 100%);text-align:center;padding:3.5rem 1.25rem 4rem}.portal-closing__inner{max-width:40rem;margin:0 auto}.portal-closing__title{letter-spacing:-.02em;margin:0 0 1rem;font-size:max(1.5rem,min(4vw,2rem));font-weight:800;line-height:1.35}.portal-closing__body{color:var(--portal-muted);margin:0 0 1.75rem;font-size:.98rem;line-height:1.85}.portal-closing__actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.portal-footer{border-top:1px solid var(--portal-border);text-align:center;background:#fff;padding:1.5rem 1.25rem 2rem}.portal-footer__text,.portal-footer__copy{color:var(--portal-muted);margin:0 0 .5rem;font-size:.85rem}.portal-footer__copy:last-child{margin-bottom:0}@media (min-width:768px){.portal-header,.portal-hero{padding-left:2rem;padding-right:2rem}.portal-hero__banner{min-height:20rem}.portal-hero__copy-on-image{width:min(100%,34rem);padding:2rem 2.25rem}.portal-img--banner{aspect-ratio:21/8;min-height:18rem}.portal-feature{padding:3.5rem 2rem}.portal-feature__inner{grid-template-columns:1fr 1fr;gap:3rem}.portal-feature--reverse .portal-feature__visual{order:2}.portal-feature--reverse .portal-feature__copy{order:1}.portal-closing,.portal-footer,.portal-detail__header,.portal-detail-split{padding-left:2rem;padding-right:2rem}.portal-detail-split__inner{grid-template-columns:1fr 1fr;gap:3rem}.portal-detail-split__visual .portal-detail__photo{aspect-ratio:2}.portal-detail-steps-section{padding-left:2rem;padding-right:2rem}.portal-detail-steps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}}@media (min-width:1024px){.portal-detail-steps-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-detail-steps-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-hero__banner{max-width:68rem;min-height:22rem}.portal-img--banner{min-height:18rem}}
