/* Reference-style thumbnail, description and action cards, for concept 1 only. */
.reference-layout .feature-catalog{padding-top:80px;padding-bottom:75px;max-width:1240px}
.catalog-heading{text-align:center;margin:0 auto 36px;max-width:900px}
.reference-layout .catalog-heading h2{display:inline-block;font-size:clamp(24px,2.6vw,34px);line-height:1.35;font-weight:850;letter-spacing:-.045em;color:#fff;background:linear-gradient(110deg,#5667ff,#9945ed);padding:8px 19px;border-radius:6px;text-wrap:balance}
.catalog-heading>p:last-child{font-size:12px;line-height:1.9;color:#f2ecfc;margin-top:18px}
.catalog-heading strong{color:#fff;font-weight:800}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.feature-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #644784;border-radius:12px;background:#20142f;color:#fff;box-shadow:0 8px 28px #0003;transition:transform .2s,box-shadow .2s,border-color .2s}
.feature-card:hover{transform:translateY(-3px);border-color:#ac7bea;box-shadow:0 15px 35px #0e041b66}
.feature-preview{position:relative;aspect-ratio:1.58;background:radial-gradient(ellipse at 50% 25%,#3b2c52,#20192f 80%);padding:16px;overflow:hidden;border-bottom:1px solid #634280}
.feature-preview-canvas{width:100%;height:100%;min-width:0;min-height:0;position:relative;overflow:hidden}
.feature-preview-canvas>.mount{width:100%;height:100%}
.feature-preview-canvas .widget{width:100%;height:100%!important;overflow:hidden}
.feature-preview-canvas video{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
.feature-card[data-feature-card="roulette"] .feature-preview{padding:0;background:#02040a}
.feature-card-body{padding:16px 17px 15px;display:flex;flex-direction:column;flex:1;min-height:180px;background:linear-gradient(135deg,#291b3c,#1b122a);color:#fff}
.feature-title-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}
.feature-title-row h3{font-size:16px;line-height:1.4;letter-spacing:-.035em;font-weight:850;color:#fff}
.feature-description{font-size:12px;line-height:1.75;color:#fff;font-weight:500;letter-spacing:-.018em;margin:9px 0 20px;word-break:keep-all;overflow-wrap:break-word}
.feature-open{display:inline-flex;align-items:center;justify-content:center;gap:8px;align-self:flex-end;margin-top:auto;padding:8px 12px;border:0;border-radius:8px;background:linear-gradient(105deg,#526eff,#7950e8);color:#fff;font-size:11px;line-height:1.4;font-weight:800;transition:background .2s,box-shadow .2s}
.feature-open:hover{background:linear-gradient(105deg,#4160f6,#9147ed);box-shadow:0 4px 12px #5e53d733}
.feature-open>span{font-size:14px;line-height:1}
.preview-commute .commute-piece{height:100%;display:flex;flex-direction:column;min-width:0;min-height:0}
.preview-commute .commute-piece+ .commute-piece{display:none}
.commute-piece>span{font-size:10px;line-height:1.4;color:#e2daf8;text-align:center;font-weight:750;flex:none;margin-bottom:3px}
.commute-piece>.mount{flex:1;min-height:0}
.feature-dialog{width:min(980px,calc(100% - 36px));max-width:980px;max-height:calc(100svh - 36px);margin:auto;padding:0;border:1px solid #6f548f;border-radius:17px;background:#100c1b;color:#f5f0ff;box-shadow:0 40px 100px #0009;overflow:auto}
.feature-dialog::backdrop{background:#05030bce;backdrop-filter:blur(7px)}
.feature-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px 12px}
.feature-dialog-header h3{font-size:24px;line-height:1.3;font-weight:850;letter-spacing:-.04em}
.feature-dialog-close{width:36px;height:36px;flex:none;border:1px solid #745b8d;border-radius:50%;background:#231830;color:#e6d9f9;font-size:25px;line-height:1;display:grid;place-items:center}
.feature-dialog-description{padding:0 25px 18px;color:#fff;font-size:12px;line-height:1.7;max-width:780px}
.feature-dialog-stage{height:min(61svh,660px);min-height:240px;background:radial-gradient(ellipse at 50% 20%,#3b304f,#161321 80%);padding:23px;overflow:hidden;border-block:1px solid #5a446a}
.feature-dialog-stage>.feature-preview-canvas{width:100%;height:100%}
.feature-dialog-stage .preview-commute{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.feature-dialog-stage .preview-commute .commute-piece+ .commute-piece{display:flex}
.feature-dialog-stage .commute-piece>span{font-size:14px;margin-bottom:8px}
.feature-dialog-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 25px}
.feature-dialog-footer>span{font-size:10px;color:#f2ecfc}
.feature-dialog-experience{display:inline-flex;gap:15px;align-items:center;padding:10px 17px;border-radius:8px;background:linear-gradient(110deg,#7050e7,#9141d9);color:#fff;font-size:12px;font-weight:800;white-space:nowrap}
body.feature-modal-open{overflow:hidden}
@media(max-width:1000px){.catalog-grid{gap:16px}.feature-title-row{display:block}.feature-title-row>span{display:block;margin-top:3px;font-size:7px}.feature-card-body{padding:14px;min-height:196px}.feature-description{font-size:11px}.feature-preview{padding:12px}}
@media(max-width:820px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feature-title-row{display:flex}.feature-title-row>span{font-size:7px;margin-top:0}.feature-card-body{min-height:177px}.feature-preview{aspect-ratio:1.58}.reference-layout .feature-catalog{padding:60px 24px}.catalog-heading{margin-bottom:27px}.catalog-heading>p:last-child{font-size:11px}}
@media(max-width:520px){.reference-layout .feature-catalog{padding:52px 20px}.reference-layout .catalog-heading h2{font-size:23px;padding:9px 13px}.catalog-heading .eyebrow{font-size:9px}.catalog-heading>p:last-child{font-size:10px;line-height:1.8;margin-top:15px}.catalog-grid{grid-template-columns:1fr;gap:18px}.feature-preview{aspect-ratio:1.65;padding:16px}.feature-card-body{padding:15px 17px;min-height:165px}.feature-title-row h3{font-size:17px}.feature-title-row>span{font-size:8px}.feature-description{font-size:12px;margin-bottom:17px}.feature-open{font-size:11px;padding:8px 12px}.feature-dialog{width:calc(100% - 24px);max-height:calc(100svh - 24px);border-radius:13px}.feature-dialog-header{padding:18px 18px 12px}.feature-dialog-header h3{font-size:21px}.feature-dialog-description{padding:0 18px 14px;font-size:11px}.feature-dialog-stage{height:53svh;min-height:230px;padding:12px}.feature-dialog-footer{padding:14px 18px;gap:10px}.feature-dialog-footer>span{font-size:8px;max-width:100px}.feature-dialog-experience{padding:9px 12px;font-size:11px;gap:10px}.feature-dialog-stage .preview-commute{grid-template-columns:1fr;grid-template-rows:1fr 1fr;gap:12px}.feature-dialog-stage .commute-piece>span{font-size:10px;margin-bottom:3px}}
@media(prefers-reduced-motion:reduce){.feature-card,.feature-open{transition:none}.feature-card:hover{transform:none}}

/* Fit native renderers to cards and dialogs without relying on bundled class names. */
.feature-preview-canvas [data-native-renderer]{width:100%;height:100%!important;min-height:0;min-width:0}
