.album-app .action.penalty{position:relative;gap:11px;min-height:76px;margin-top:18px;padding:13px 6px;border:0;border-radius:8px;background:#fff0ef;text-align:left}
.album-app .action.penalty .action-icon{width:38px;height:38px;background:transparent;flex-shrink:0}.album-app .action.penalty .action-icon svg{width:36px;height:36px}
.album-app .penalty .action-copy{flex:1;min-width:0}.album-app .penalty .action-name{font-weight:600}.album-app .penalty .action-sub:empty{display:none}
.album-app .penalty .penalty-points{flex-shrink:0;min-width:52px;min-height:48px;display:grid;place-items:center;font-size:22px;padding:6px 7px;border-radius:5px;background:#db4953;color:white;box-shadow:0 2px 0 #aa2934}
.album-app .action.penalty:hover{background:#ffe6e5}.album-app .action.penalty:disabled{opacity:.5}.album-app .penalty:disabled .penalty-points{box-shadow:none}
.penalty-feedback{position:absolute;pointer-events:none;left:50%;top:220px;z-index:6;color:#c73545}.penalty-feedback b{position:absolute;font-size:34px;animation:penalty-drop 1s ease-out both}.penalty-feedback i{position:absolute;left:var(--x);top:15px;font-size:26px;font-style:normal;animation:penalty-speck 700ms ease-in var(--wait) both}
.penalty-active .portrait{animation:penalty-tint 650ms ease-out}.penalty-active .penalty-points{animation:penalty-press 400ms ease-out}
@keyframes penalty-drop{0%{opacity:0;transform:translate(-50%,-16px) scale(.8)}20%{opacity:1;transform:translate(-50%,0) scale(1.1)}100%{opacity:0;transform:translate(-50%,50px) scale(.85)}}
@keyframes penalty-speck{0%{opacity:0;transform:translateY(0) scale(1)}20%{opacity:.8}100%{opacity:0;transform:translateY(55px) scale(.3)}}
@keyframes penalty-tint{0%,100%{box-shadow:inset 0 0 0 0 #db495300}25%{box-shadow:inset 0 0 0 4px #db49534d}}
@keyframes penalty-press{30%{transform:translateY(2px);box-shadow:none}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.penalty-feedback i{display:none}.penalty-feedback b{animation:none}.penalty-active .portrait,.penalty-active .penalty-points{animation:none}}

.album-app .action.custom-penalty{background:#fff0ef;border-radius:8px}.album-app .action.custom-penalty .penalty-points{background:#db4953;color:#fff;box-shadow:0 2px 0 #aa2934}.album-app .custom-penalty:disabled .penalty-points{box-shadow:none}

.album-app .award-points,.album-app .penalty .penalty-points{width:56px;min-width:56px;flex:0 0 56px;box-sizing:border-box}

.sort-help{font-size:14px;color:#667895}.drag-handle{display:grid;place-items:center;cursor:grab;touch-action:none;user-select:none;flex:0 0 36px;padding:6px;min-width:36px;min-height:44px;border:0;background:transparent;color:#667895}.drag-handle svg{width:16px;height:20px;fill:currentColor}.drag-handle:active{cursor:grabbing}.catalog-dragging{outline:2px solid #295cdd;box-shadow:0 5px 18px #20345c22;opacity:.8}.sortable-catalog .list-row{position:relative}.sortable-catalog .drag-handle{order:-1}.sortable-catalog .list-row>.details{min-width:0}.sortable-catalog .list-row>.details h3{overflow-wrap:anywhere}@media(max-width:450px){.sortable-catalog .list-row{gap:7px;flex-wrap:wrap}.sortable-catalog .list-row>.details{flex-basis:calc(100% - 95px)}.sortable-catalog .list-row>button:not(.drag-handle){margin-left:auto}}

.editor-danger-zone{margin-top:22px;padding-top:18px;border-top:1px solid #dce3f0}.editor-danger-zone .danger{color:#b42f41;border-color:#e9b7bf;background:#fff5f5}
.redemption-confetti{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:9999}.redemption-confetti i{position:absolute;left:var(--left);top:-20px;width:var(--w);height:var(--h);background:var(--color);animation:reward-confetti var(--duration) cubic-bezier(.2,.55,.7,1) var(--delay) both}@keyframes reward-confetti{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}8%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate3d(var(--drift),105dvh,0) rotate(var(--spin))}}@media(prefers-reduced-motion:reduce){.redemption-confetti{display:none}}
.album-app .burst.points-feedback{position:fixed;left:50vw;top:50dvh;z-index:9998;transform:none;pointer-events:none;overflow:visible}.points-feedback b{color:#295cdd}
