.ei-ose-grid{display:grid;grid-template-columns:repeat(var(--ei-ose-cols,4),minmax(0,1fr));gap:16px;margin:16px 0}
.ei-ose-object{border:1px solid var(--ei-ose-card-border-color,rgba(0,0,0,.10));border-radius:18px;background:var(--ei-ose-card-bg-color,#fff);box-shadow:0 10px 28px rgba(0,0,0,.06);overflow:hidden;display:flex;flex-direction:column;min-width:0;position:relative;isolation:isolate;color:var(--ei-ose-text-color,#3d4338);font-size:var(--ei-ose-text-font-size,14px)}
.ei-ose-image-wrap{aspect-ratio:1.15/1;background:var(--ei-ose-image-bg-color,#eef4e9);display:flex;align-items:center;justify-content:center;padding:16px;position:relative;overflow:hidden;isolation:isolate}
.ei-ose-image-wrap::before{content:"";position:absolute;inset:0;background-image:var(--ei-ose-image-bg-image,none);background-size:cover;background-position:center;z-index:0}
.ei-ose-image-wrap::after{content:"";position:absolute;inset:0;background:var(--ei-ose-image-overlay-color,#fff);opacity:var(--ei-ose-image-overlay-opacity,0);z-index:1;pointer-events:none}
.ei-ose-image-wrap>*{position:relative;z-index:2}
.ei-ose-image{max-width:100%;max-height:100%;object-fit:contain}
.ei-ose-placeholder{width:72px;height:72px;border-radius:20px;background:#e8ecd9;color:#5e6b47;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:28px}
.ei-ose-content{padding:14px;background:var(--ei-ose-content-bg-color,#fff);position:relative;overflow:hidden;isolation:isolate;color:var(--ei-ose-text-color,#3d4338);font-size:var(--ei-ose-text-font-size,14px)}
.ei-ose-content::before{content:"";position:absolute;inset:0;background-image:var(--ei-ose-content-bg-image,none);background-size:cover;background-position:center;z-index:0}
.ei-ose-content::after{content:"";position:absolute;inset:0;background:var(--ei-ose-content-overlay-color,#fff);opacity:var(--ei-ose-content-overlay-opacity,0);z-index:1;pointer-events:none}
.ei-ose-content>*{position:relative;z-index:2}
.ei-ose-meta{font-size:var(--ei-ose-stage-font-size,12px);color:var(--ei-ose-stage-color,#617052);margin-bottom:4px}
.ei-ose-content h3{font-size:var(--ei-ose-title-font-size,18px);color:var(--ei-ose-title-color,#1d2327);line-height:1.25;margin:0 0 8px}
.ei-ose-content p{font-size:var(--ei-ose-description-font-size,14px);line-height:1.55;margin:10px 0;color:var(--ei-ose-description-color,#3d4338)}
.ei-ose-tags{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.ei-ose-tags span{font-size:var(--ei-ose-tag-font-size,12px);border:1px solid var(--ei-ose-tag-border-color,rgba(0,0,0,.08));border-radius:999px;padding:2px 8px;background:var(--ei-ose-tag-bg-color,#fafaf7);color:var(--ei-ose-tag-text-color,#5b6455)}
.ei-ose-button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:var(--ei-ose-button-bg-color,#5f7f54);color:var(--ei-ose-button-text-color,#fff)!important;text-decoration:none;padding:9px 15px;font-size:var(--ei-ose-button-font-size,14px);font-weight:600;cursor:pointer;margin-top:8px;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease,opacity .18s ease}
.ei-ose-button:hover,.ei-ose-button:focus-visible{filter:brightness(1.04) saturate(1.06);transform:translateY(-2px);box-shadow:0 10px 22px rgba(15,23,42,.16);outline:none}
.ei-ose-button:active{transform:translateY(0);box-shadow:0 5px 12px rgba(15,23,42,.12)}
.ei-ose-button.is-loading{opacity:.65;cursor:wait;transform:none}
.ei-ose-state-stage_0 .ei-ose-image-wrap{background:var(--ei-ose-image-bg-color,#f6f7f2)}
.ei-ose-state-stage_1 .ei-ose-image-wrap{background:var(--ei-ose-image-bg-color,#f1f1ef)}
.ei-ose-state-stage_4{border-color:var(--ei-ose-card-border-color,rgba(95,127,84,.35))}
.ei-ose-action-note,.ei-ose-notice{font-size:13px;color:#666;margin-top:8px}
.ei-ose-overview{border:1px solid rgba(0,0,0,.10);background:#fff;border-radius:18px;padding:16px;margin:16px 0;box-shadow:0 10px 28px rgba(0,0,0,.06)}
.ei-ose-progress{height:10px;border-radius:999px;background:#edf0e8;overflow:hidden;margin:12px 0}
.ei-ose-progress span{display:block;height:100%;background:#5f7f54;border-radius:inherit}
.ei-ose-overview-stats{display:flex;gap:8px;flex-wrap:wrap}
.ei-ose-overview-stats span{font-size:13px;background:#f6f7f2;border-radius:999px;padding:4px 10px}
.ei-ose-pure-image{display:inline-block;vertical-align:middle;object-fit:contain;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.ei-ose-pure-image-link{display:inline-block;text-decoration:none;line-height:0}
.ei-ose-hover-lift:hover{transform:translateY(-4px)}
.ei-ose-hover-zoom:hover{transform:scale(1.06)}
.ei-ose-hover-float:hover{transform:translateY(-3px) rotate(-1deg)}
.ei-ose-hover-glow:hover{filter:drop-shadow(0 0 10px rgba(95,127,84,.45))}
.ei-ose-debug{display:inline-block;margin-left:6px;font-size:12px;color:#666;background:#f0f0f0;border-radius:4px;padding:2px 4px}
@media(max-width:900px){.ei-ose-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:560px){.ei-ose-grid{grid-template-columns:1fr!important}}
.ei-ose-button[disabled],.ei-ose-button-disabled{opacity:.55;cursor:not-allowed;filter:saturate(.75);transform:none;box-shadow:none}
.ei-ose-button[disabled]:hover,.ei-ose-button-disabled:hover{filter:saturate(.75);transform:none;box-shadow:none}
@media (prefers-reduced-motion:reduce){.ei-ose-button{transition:none}.ei-ose-button:hover,.ei-ose-button:focus-visible{transform:none}}
.ei-ose-action-note.is-ready{color:#047857;font-weight:600}
.ei-ose-countdown{font-weight:700}

/* Style variants */
.ei-ose-style-minimal{box-shadow:0 10px 28px rgba(15,23,42,.06)}
.ei-ose-style-lobby_glass{box-shadow:0 18px 45px rgba(37,99,235,.10);border-width:1px;background:linear-gradient(180deg,rgba(255,255,255,.88),var(--ei-ose-card-bg-color,#fff));backdrop-filter:blur(12px)}
.ei-ose-style-lobby_glass .ei-ose-image-wrap{background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.95),var(--ei-ose-image-bg-color,#eaf2ff) 68%)}
.ei-ose-style-lobby_glass .ei-ose-content{border-top:1px solid rgba(148,163,184,.22)}
.ei-ose-style-rpg_gold{border-width:2px;box-shadow:0 18px 42px rgba(44,29,8,.36),inset 0 0 0 1px rgba(255,232,163,.16);background:linear-gradient(180deg,#3a260f,var(--ei-ose-card-bg-color,#211607))}
.ei-ose-style-rpg_gold::before{content:"";position:absolute;inset:6px;border:1px solid rgba(255,230,163,.18);border-radius:14px;pointer-events:none;z-index:3}
.ei-ose-style-rpg_gold .ei-ose-meta,.ei-ose-style-rpg_gold .ei-ose-content h3{text-shadow:0 1px 8px rgba(0,0,0,.36)}
.ei-ose-style-rpg_gold .ei-ose-button{box-shadow:0 0 0 1px rgba(255,238,182,.22) inset,0 8px 18px rgba(0,0,0,.25)}
.ei-ose-style-chinese_red_gold{border-width:2px;box-shadow:0 18px 42px rgba(43,7,7,.38),inset 0 0 0 1px rgba(255,230,160,.12);background:linear-gradient(135deg,#5a1212,var(--ei-ose-card-bg-color,#2b0707));}
.ei-ose-style-chinese_red_gold::before{content:"";position:absolute;inset:8px;border:1px solid rgba(255,214,126,.20);border-radius:12px;pointer-events:none;z-index:3}
.ei-ose-style-chinese_red_gold .ei-ose-tags span{box-shadow:inset 0 0 0 1px rgba(255,230,160,.08)}
.ei-ose-style-cyberpunk_neon{border-width:1px;box-shadow:0 0 0 1px rgba(34,211,238,.28),0 0 26px rgba(168,85,247,.24),0 18px 42px rgba(0,0,0,.42);background:linear-gradient(135deg,#090d22,#080b1f)}
.ei-ose-style-cyberpunk_neon::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,211,238,.14),transparent 34%,rgba(168,85,247,.14));pointer-events:none;z-index:1}
.ei-ose-style-cyberpunk_neon .ei-ose-image-wrap{background:radial-gradient(circle at 50% 20%,rgba(168,85,247,.25),var(--ei-ose-image-bg-color,#11183a) 70%)}
.ei-ose-style-cyberpunk_neon .ei-ose-button{box-shadow:0 0 14px rgba(168,85,247,.42)}
.ei-ose-style-steampunk_copper{border-width:2px;box-shadow:0 18px 42px rgba(36,23,15,.42),inset 0 0 0 1px rgba(255,200,120,.10);background:repeating-linear-gradient(45deg,rgba(255,255,255,.018) 0,rgba(255,255,255,.018) 2px,transparent 2px,transparent 8px),var(--ei-ose-card-bg-color,#24170f)}
.ei-ose-style-steampunk_copper .ei-ose-image-wrap::before{background-image:radial-gradient(circle at 20% 20%,rgba(183,121,58,.20),transparent 34%),var(--ei-ose-image-bg-image,none)}
.ei-ose-style-steampunk_copper .ei-ose-button{box-shadow:inset 0 1px 0 rgba(255,220,160,.30),0 8px 18px rgba(0,0,0,.28)}
.ei-ose-style-parchment{border-width:1px;box-shadow:0 14px 32px rgba(94,64,30,.18);background:linear-gradient(180deg,#fff4d5,var(--ei-ose-card-bg-color,#f1e2bd))}
.ei-ose-style-parchment .ei-ose-content{background:linear-gradient(180deg,rgba(255,255,255,.40),transparent),var(--ei-ose-content-bg-color,#fff3d5)}
.ei-ose-style-parchment .ei-ose-image-wrap{background:linear-gradient(135deg,rgba(255,255,255,.35),transparent),var(--ei-ose-image-bg-color,#ead7ad)}
.ei-ose-style-dark_rounded{border-radius:24px;box-shadow:0 18px 44px rgba(2,6,23,.38);background:linear-gradient(180deg,#1f2937,var(--ei-ose-card-bg-color,#111827))}
.ei-ose-style-dark_rounded .ei-ose-image-wrap{border-bottom:1px solid rgba(255,255,255,.08)}
.ei-ose-style-dark_rounded .ei-ose-tags span{background:rgba(255,255,255,.06)}
.ei-ose-style-forest_relic{box-shadow:0 16px 36px rgba(48,79,38,.13);background:linear-gradient(180deg,#ffffff,var(--ei-ose-card-bg-color,#fbfdf7))}
.ei-ose-style-forest_relic .ei-ose-image-wrap{background:radial-gradient(circle at 50% 15%,rgba(255,255,255,.9),var(--ei-ose-image-bg-color,#edf5e7) 70%)}
.ei-ose-style-forest_relic .ei-ose-button{box-shadow:0 8px 18px rgba(95,127,84,.18)}

/* Stage image mask effects: only active when the stage image mask checkbox is enabled. */
.ei-ose-pure-image-frame{display:inline-block;position:relative;line-height:0;vertical-align:middle;overflow:hidden;isolation:isolate}
.ei-ose-pure-image-frame .ei-ose-pure-image{display:block;position:relative;z-index:1}
.ei-ose-stage-image-masked .ei-ose-image-stage-mask{position:absolute;inset:0;z-index:3;pointer-events:none;background:rgba(15,23,42,.20)}
.ei-ose-stage-image-mask-grayscale .ei-ose-image,
.ei-ose-stage-image-mask-grayscale .ei-ose-pure-image{filter:grayscale(1) saturate(.15) brightness(.86);transition:filter .18s ease,transform .18s ease}
.ei-ose-stage-image-mask-grayscale .ei-ose-image-stage-mask{background:rgba(148,163,184,.18)}
.ei-ose-stage-image-mask-blur .ei-ose-image,
.ei-ose-stage-image-mask-blur .ei-ose-pure-image{filter:blur(5px) grayscale(.25) brightness(.9);transform:scale(1.045);transition:filter .18s ease,transform .18s ease}
.ei-ose-stage-image-mask-blur .ei-ose-image-stage-mask{background:rgba(255,255,255,.10);backdrop-filter:blur(1.5px)}
.ei-ose-stage-image-mask-mosaic .ei-ose-image,
.ei-ose-stage-image-mask-mosaic .ei-ose-pure-image{filter:grayscale(.65) contrast(1.12) brightness(.86);image-rendering:pixelated;transform:scale(1.025);transition:filter .18s ease,transform .18s ease}
.ei-ose-stage-image-mask-mosaic .ei-ose-image-stage-mask{background:repeating-linear-gradient(0deg,rgba(15,23,42,.18) 0,rgba(15,23,42,.18) 1px,transparent 1px,transparent 8px),repeating-linear-gradient(90deg,rgba(15,23,42,.18) 0,rgba(15,23,42,.18) 1px,transparent 1px,transparent 8px),rgba(148,163,184,.14)}
