.public-lottery-page { background:radial-gradient(ellipse at 50% 0%,#355341,#1c322b 45%,#172a24); }
.public-guild-header { padding:38px 24px 30px;text-align:center;color:#edf0d9; }.public-guild-header img { border-radius:50%;border:1px solid #d5e6aa70;box-shadow:0 0 45px #d5e6aa12; }.public-guild-header p { font-size:13px;letter-spacing:3px;font-weight:700;margin:16px 0 8px; }.public-guild-header>span { font-size:13px;color:#c4d1bd; }
.public-lottery-shell { width:calc(100% - 64px);max-width:1280px;margin:0 auto; }.public-status { text-align:center;color:#c4d1bd;font-size:12px;line-height:1.8;padding:0 16px 12px; }
.public-lottery-intro { text-align:center;padding:36px 36px 32px;background:var(--card); }.public-lottery-intro h1 { font-size:clamp(32px,4vw,52px);font-weight:600;letter-spacing:-1.6px;margin:14px 0; }.public-lottery-intro>p:not(.lottery-eyebrow) { max-width:76ch;margin:12px auto;font-size:13px;line-height:1.85;color:var(--muted); }.public-lottery-intro .public-tagline { font-family:Georgia,serif;font-style:italic;font-size:18px!important;color:#526d45!important; }.public-lottery-intro .lottery-mode { margin-top:14px;line-height:1.6; }
.public-wheel-grid { display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); }.public-wheel-grid .lottery-scene { padding:36px 20px; }.public-wheel-grid .lottery-scene-caption { letter-spacing:2px;font-size:9px; }.public-wheel-grid #public-wheel { width:min(100%,530px); }.public-wheel-grid .lottery-scene-note { max-width:39ch; }
.public-invitation { padding:36px;background:var(--card); }.public-participation { border:0;padding:0;margin:0;min-width:0; }.public-participation legend { font-size:11px;color:var(--muted);margin-bottom:22px; }.public-participation label { font-size:12px;display:block;margin-bottom:8px; }.public-lottery-page input:disabled { width:100%;min-width:0;background:#e9ece3;border:1px solid #d2d9c9;color:#78816f;border-radius:10px;cursor:not-allowed;padding:14px;font-size:12px; }.public-lottery-page button:disabled { opacity:.5;cursor:not-allowed;pointer-events:none; }.public-login-card { padding:24px;margin-top:28px;border:1px solid #cbd6b6;border-radius:18px;background:linear-gradient(135deg,#edf1df,var(--card)); }.public-login-card h2 { font-size:26px;letter-spacing:-.7px;margin:12px 0; }.public-login-card>p:not(.lottery-eyebrow) { font-size:13px;line-height:1.9;color:var(--muted); }.public-login-button { display:block;background:#d5e6aa;border:1px solid #c7dba7;padding:15px 16px;text-align:center;border-radius:10px;color:#24372e!important;text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.4px;transition:transform .2s,box-shadow .2s; }.public-login-button:hover { transform:translateY(-2px);box-shadow:0 8px 24px #1c322b15; }.public-login-card>small { display:block;text-align:center;font-size:10px;color:var(--muted);margin-top:12px; }
.public-detail-section { background:var(--card);border:1px solid #dce2d3;border-radius:24px;padding:32px;margin-top:24px;text-align:center; }.public-detail-section h2 { font-size:29px;letter-spacing:-.8px;font-weight:600;margin:12px 0 26px; }.public-rarities { display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:14px; }.public-rarities article { padding:22px 12px;border:1px solid #dce2d3;border-radius:14px;background:#f1f4e9; }.public-rarities .wheel-reward-symbol { margin:auto; }.public-rarities h3 { font-size:14px;margin:14px 0 8px; }.public-rarities p { font-size:11px;line-height:1.8;color:var(--muted);margin:0; }.public-rewards { display:grid;grid-template-columns:1fr 1fr;gap:0 28px;text-align:left;list-style:none;padding:0;margin:0; }.public-return { display:block;width:fit-content;margin:30px auto;color:#d5e6aa!important;font-size:12px;text-decoration:none; }.public-return:hover { text-decoration:underline; }.public-lottery-footer { padding:10px 24px 32px;text-align:center;color:#b0c0ab;font-size:11px; }
.public-no-motion * { animation:none!important;transition:none!important; }
.public-rewards { gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr)); }
.public-reward-card { display:flex;gap:18px;align-items:flex-start;padding:24px;background:#fbfcf7;border:1px solid #cbd6b6;border-top:3px solid var(--reward-accent,#83965f);border-radius:18px;box-shadow:0 8px 24px #172a2406;transition:transform .2s,box-shadow .2s;min-width:0; }
.public-reward-card:hover { transform:translateY(-3px);box-shadow:0 12px 30px #172a2410; }
.public-reward-card>div { min-width:0;overflow-wrap:anywhere; }.public-reward-card h3 { font-size:17px;color:#24372e;margin:0 0 10px;line-height:1.4; }
.public-reward-rarity { display:inline-block;padding:5px 10px;border:1px solid #dce2d3;border-radius:20px;background:#edf1df;font-size:10px;color:#405443; }
.public-reward-card p { font-size:12px;line-height:1.8;color:#64725e;margin:10px 0 0; }.public-reward-card small { display:block;margin-top:12px;font-size:11px;color:#64725e; }
.public-reward-card .wheel-reward-symbol { flex:0 0 56px;width:56px;height:56px;border-radius:15px;overflow:hidden; }.public-reward-card img { width:100%;height:100%;object-fit:contain; }
.public-rewards-empty { grid-column:1/-1;text-align:center;padding:28px 18px;border:1px dashed #cbd6b6;border-radius:18px;background:#f1f4e9; }.public-rewards-empty p { font-size:13px;color:#64725e;line-height:1.8; }
.public-participation .lottery-launch { display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;margin-top:18px;background:#293e2e;color:#f4f7e8;border:1px solid #293e2e;border-radius:9px;font-size:13px;font-weight:600; }
@media(max-width:800px) { .public-lottery-shell { width:calc(100% - 32px); }.public-wheel-grid { grid-template-columns:1fr; }.public-lottery-intro { padding:28px 22px; }.public-invitation { padding:26px 22px; }.public-detail-section { padding:26px 20px; }.public-login-card { padding:22px 18px; }.public-rewards { grid-template-columns:1fr; }.public-rarities { grid-template-columns:repeat(2,minmax(0,1fr)); }.public-guild-header { padding:28px 20px; }.public-guild-header p { font-size:11px;letter-spacing:2px; } }
@media(prefers-reduced-motion:reduce) { .public-lottery-page * { animation:none!important;transition:none!important; } }
