.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
[hidden]{display:none!important}
dialog{max-height:calc(100dvh - 32px);overflow:auto}
dialog::-webkit-scrollbar{width:10px}
dialog::-webkit-scrollbar-thumb{background:#333a5c;border-radius:999px;border:3px solid transparent;background-clip:padding-box}
.type-picker{border:0;padding:0;margin:22px 0 0;min-width:0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.type-picker label{position:relative;margin:0}
.type-picker input{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;opacity:0;cursor:pointer}
.type-picker span{display:block;text-align:center;font-size:12px;font-weight:600;padding:11px 4px;border:1px solid #333a5c;border-radius:12px;background:rgba(9,12,26,.9);color:#a7b2da;transition:background .2s,border-color .2s,color .2s,box-shadow .25s,transform .2s}
.type-picker label:hover span{border-color:rgba(146,139,255,.55);color:#dfe2ff;transform:translateY(-2px)}
.type-picker input:checked+span{background:linear-gradient(150deg,#3b3794,#2b2a63);background-size:200% 200%;border-color:#7467ff;color:#fff;box-shadow:0 10px 24px rgba(74,60,210,.4);animation:choice 4.5s ease-in-out infinite}
.type-picker input:focus-visible+span{outline:2px solid #b9b5ff;outline-offset:3px}
@keyframes choice{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes error-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-5px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}80%{transform:translateX(3px)}}
@media(max-width:420px){.type-picker{grid-template-columns:repeat(2,1fr)}}
form textarea{display:block;width:100%;padding:13px 14px;border-radius:12px;background:rgba(9,12,26,.95);border:1px solid #333a5c;color:#fff;font:inherit;resize:vertical;min-height:104px;transition:border-color .2s,box-shadow .2s,background .2s}
form textarea:hover{border-color:#4a5478}
form textarea:focus{border-color:rgba(146,139,255,.85);box-shadow:0 0 0 4px rgba(146,139,255,.16);background:rgba(11,14,30,.98)}
form textarea:focus-visible{outline:2px solid #b9b5ff;outline-offset:3px}
#form-message.error{color:#ff8fa8;animation:error-shake .42s ease}
#form-message:empty{display:none}
.outline-button.liked{border-color:rgba(255,66,123,.6);background:linear-gradient(150deg,rgba(62,20,40,.95),rgba(30,14,30,.95));color:#ffdbe4;box-shadow:0 12px 28px rgba(255,66,123,.18);animation:like-pop .45s cubic-bezier(.22,1,.36,1)}
.outline-button.liked .heart{filter:drop-shadow(0 0 8px rgba(255,66,123,.85))}
@keyframes like-pop{0%{transform:scale(1)}40%{transform:scale(1.05)}100%{transform:scale(1)}}
.outline-button[aria-busy=true]{pointer-events:none}
