.di-rating{margin-top:16px;max-width:490px}
.di-rating-heading{display:flex;flex-wrap:wrap;align-items:center;gap:3px 12px;margin-bottom:5px;line-height:1.5}
.di-rating-heading strong{font-size:.78rem;color:#eadff2;font-weight:600}
.di-rating-heading>span{font-size:.7rem;color:#b9a8c5}
.di-rating-form{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px}
.di-rating-options{display:flex;gap:3px;align-items:stretch}
.di-rating-choice{position:relative;width:31px;flex:0 0 31px;cursor:pointer}
.di-rating-choice input{position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer;z-index:1}
.di-rating-choice>span{display:flex;align-items:center;justify-content:center;min-height:34px;border:1px solid transparent;border-radius:6px;color:#ad9bbd;transition:background .15s,color .15s,border-color .15s}
.di-rating-choice svg{width:22px;height:22px;overflow:visible}
.di-rating-choice small{display:none}
.di-rating-zero b{font-size:17px;line-height:22px;font-weight:500}
.di-rating-choice:hover>span,.di-rating-choice input:focus-visible+span{border-color:#cda7eb;background:#352042;color:#f3dfff}
.di-rating-choice input:focus-visible+span{outline:2px solid #e1c0fb;outline-offset:2px}
.di-rating-choice.is-filled>span{color:#e2bcff;background:#32203f}
.di-rating-choice.is-filled .di-printer-paper{fill:rgba(218,172,250,.15)}
.di-rating-choice.is-selected>span{border-color:#cda7eb}
.di-rating-submit{display:flex;align-items:center;gap:8px}
.di-rating-submit button,.di-download-rating-link button{font:inherit;font-size:.72rem;font-weight:600;min-height:32px;padding:4px 10px;border:1px solid #77548d;border-radius:6px;background:#32213f;color:#ead6f8;cursor:pointer}
.di-rating-submit button:disabled{background:transparent;color:#9f8dab;border-color:#46354f;cursor:default}
.di-rating-submit>span{display:none}
.di-rating .di-rating-feedback{font-size:.7rem;line-height:1.5;color:#d6b7eb;margin:5px 0 0}
.di-rating-feedback:empty{display:none}
.di-rating-remove{padding:3px 0;border:0;background:none;color:#baa3cb;font:inherit;font-size:.68rem;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.di-rating-remove[hidden]{display:none}
.di-rating-dialog{position:fixed;margin:auto;width:min(470px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow-y:auto;padding:28px;border:1px solid #715082;border-radius:18px;color:#f7f3fa;background:#1b1227;box-shadow:0 24px 100px #0009}
.di-rating-dialog::backdrop{background:rgba(8,4,14,.78);backdrop-filter:blur(5px)}
.di-rating-dialog .eyebrow{font-size:.65rem;margin-bottom:14px}
.di-rating-dialog h2{font-size:clamp(1.5rem,5vw,2rem);line-height:1.12;margin:0 25px 12px 0}
.di-rating-dialog>p{font-size:.82rem;line-height:1.6;color:#c4b3d0;margin-bottom:16px}
.di-rating-dialog .di-rating{margin-top:16px}
.di-rating-dialog .di-rating-heading{gap:3px 10px}
.di-rating-dialog .di-rating-form{gap:4px 8px}
.di-rating-close{position:absolute;right:10px;top:10px;width:32px;height:32px;border:1px solid #50375f;border-radius:50%;color:#e2c8f2;background:#2e1f3c;font-size:23px;line-height:1;cursor:pointer}
.di-rating-later{display:block;margin:16px auto 0;padding:4px 8px;background:none;border:0;color:#cbb4dc;font:inherit;font-size:.75rem;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.di-download-rating-link{padding-bottom:24px}
.di-card-rating{display:flex;align-items:center;gap:8px;color:#dcc1ee;font-size:.78rem;line-height:1.5}
.di-card-rating svg{width:21px;height:21px;flex-shrink:0}
.di-ratings-empty{display:flex;gap:20px;align-items:center;padding:26px;border:1px solid #493252;border-radius:16px;background:#1b1428;color:#ead9f5}
.di-ratings-empty>svg{width:42px;height:42px;flex-shrink:0;color:#cda7eb}
.di-ratings-empty p{font-size:.88rem;color:#bfaecb;margin:5px 0 0}
[data-top-rated-list][hidden],[data-top-rated-empty][hidden]{display:none!important}
@media(max-width:600px){.di-rating-dialog{padding:24px 20px}.di-ratings-empty{align-items:flex-start;padding:22px 18px;gap:14px}}
@media(prefers-reduced-motion:reduce){.di-rating-choice>span{transition:none}}
/* The hero stays compact; the post-download dialog has its own larger design. */
.di-rating-dialog{width:min(570px,calc(100% - 32px));padding:32px 36px 26px;border-color:#705283;border-radius:24px;background:radial-gradient(ellipse at 50% 0,rgba(116,64,151,.3),transparent 58%),#1b1227;text-align:center}
.di-rating-dialog::backdrop{background:rgba(8,4,14,.82);backdrop-filter:blur(7px)}
.di-rating-modal-art{position:relative;display:grid;place-items:center;width:100px;height:87px;margin:0 auto 18px}
.di-rating-modal-halo{position:absolute;inset:0;border:1px solid #a47bc73d;border-radius:50%;background:radial-gradient(circle,#be8be840,transparent 70%);box-shadow:0 0 46px #a16ccb24}
.di-rating-modal-halo:after{content:"";position:absolute;inset:10px -12px;border:1px solid #a47bc71f;border-radius:50%;transform:rotate(-25deg)}
.di-rating-modal-printer{position:relative;display:grid;place-items:center;width:67px;height:67px;border:1px solid #ad80d0;border-radius:19px;background:linear-gradient(145deg,#644177,#30213f);box-shadow:0 9px 24px #08030e60;color:#f0d7ff;transform:rotate(-5deg)}
.di-rating-modal-printer svg{width:43px;height:43px}
.di-rating-modal-check{position:absolute;right:5px;bottom:2px;display:grid;place-items:center;width:25px;height:25px;border:3px solid #291a37;border-radius:50%;background:#d9baf5;color:#34213f;font-size:14px;font-weight:800}
.di-rating-dialog .eyebrow{font-size:.65rem;margin-bottom:12px}
.di-rating-dialog h2{font-size:clamp(1.9rem,5vw,2.5rem);line-height:1.08;margin:0 auto 14px;max-width:430px}
.di-rating-dialog>p{max-width:410px;margin:0 auto 23px;font-size:.88rem;line-height:1.65;color:#c9b9d5}
.di-rating-dialog .di-rating{max-width:none;margin-top:0;padding:20px;border:1px solid #5e436f;border-radius:16px;background:linear-gradient(120deg,#3a264a66,#21172d);text-align:left}
.di-rating-dialog .di-rating-heading{justify-content:space-between;gap:4px 10px;margin-bottom:14px}
.di-rating-dialog .di-rating-heading strong{font-size:.85rem}
.di-rating-dialog .di-rating-heading>span{font-size:.7rem}
.di-rating-dialog .di-rating-form{display:block}
.di-rating-dialog .di-rating-options{gap:7px;width:100%}
.di-rating-dialog .di-rating-choice{flex:1;width:auto;min-width:0}
.di-rating-dialog .di-rating-choice>span{flex-direction:column;gap:5px;min-height:74px;border-color:#60466f;border-radius:10px;background:#251a32}
.di-rating-dialog .di-rating-choice svg{width:31px;height:31px}
.di-rating-dialog .di-rating-choice small{display:block;font-size:.67rem;line-height:1;color:#c9b6d7}
.di-rating-dialog .di-rating-zero b{font-size:23px;line-height:31px}
.di-rating-dialog .di-rating-choice.is-filled>span{background:#51305e;color:#f1d4ff;border-color:#b98dd4}
.di-rating-dialog .di-rating-choice.is-selected>span{border-color:#ecd1ff;box-shadow:inset 0 0 0 1px #dcb8f3}
.di-rating-dialog .di-rating-choice:hover>span{border-color:#d7b3ef;color:#fff}
.di-rating-dialog .di-rating-submit{margin-top:16px;gap:12px}
.di-rating-dialog .di-rating-submit button{flex:1;min-height:43px;padding:9px 12px;border:1px solid #dcb8f3;border-radius:9px;background:linear-gradient(110deg,#ddb9f5,#bb92db);color:#281435;font-size:.8rem;font-weight:650}
.di-rating-dialog .di-rating-submit button:disabled{background:#36253f;border-color:#654773;color:#bfa6ce}
.di-rating-dialog .di-rating-submit>span{display:block;font-size:.72rem;color:#c9b6d7;white-space:nowrap}
.di-rating-dialog .di-rating-feedback{margin-top:12px;font-size:.78rem}
.di-rating-dialog .di-rating-remove{margin-top:12px}
.di-rating-dialog .di-rating-later{margin-top:18px;font-size:.77rem}
.di-rating-dialog .di-rating-close{right:14px;top:14px;width:36px;height:36px}
@media(max-width:480px){.di-rating-dialog{padding:27px 20px 23px}.di-rating-dialog .di-rating{padding:16px 13px}.di-rating-dialog .di-rating-heading{display:block}.di-rating-dialog .di-rating-heading>span{display:block;margin-top:3px}.di-rating-dialog .di-rating-options{gap:5px}.di-rating-dialog .di-rating-choice>span{min-height:66px}.di-rating-dialog .di-rating-choice svg{width:25px;height:25px}.di-rating-dialog .di-rating-zero b{font-size:21px;line-height:25px}.di-rating-dialog .di-rating-submit{gap:9px}.di-rating-dialog .di-rating-submit>span{font-size:.65rem}}
