.tr-overlay{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.2rem;background:rgba(17,15,38,.55);backdrop-filter:blur(3px)}.tr-modal{position:relative;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;background:#fff;border-radius:22px;padding:1.4rem 1.4rem 1.6rem;box-shadow:0 24px 60px rgba(23,20,56,.35)}.tr-close{position:absolute;top:.9rem;right:.9rem;width:34px;height:34px;border-radius:50%;border:none;cursor:pointer;background:var(--db-surface-2,#f4f4f6);color:var(--db-text-soft,#6b6b76);display:inline-flex;align-items:center;justify-content:center}.tr-close:hover{background:var(--db-border)}.tr-modal-head{text-align:center;margin-bottom:.4rem}.tr-modal-head i{font-size:2.2rem;color:var(--db-secondary)}.tr-modal-head h3{margin:.5rem 0 .1rem;font-size:1.2rem;font-weight:900;letter-spacing:-.02em;color:var(--db-text-main)}.tr-modal-head p{margin:0;font-size:.9rem}.tr-agg,.tr-modal-head p{color:var(--db-text-soft)}.tr-agg{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;font-weight:800}.tr-agg i{color:#f5b301}.tr-form{margin-top:.7rem}.tr-form-label{display:block;font-size:.86rem;font-weight:750;color:var(--db-text-soft);margin-bottom:.35rem}.tr-stars{display:flex;gap:.3rem}.tr-star{border:none;background:transparent;cursor:pointer;padding:.1rem;font-size:1.7rem;line-height:1;color:var(--db-border);transition:transform .1s ease}.tr-star:hover{transform:scale(1.12)}.tr-star.is-on{color:#f5b301}.tr-text{width:100%;margin-top:.7rem;resize:vertical;border:1px solid var(--db-border);border-radius:12px;padding:.6rem .75rem;font:inherit;font-size:.9rem;background:#fff;color:var(--db-text-main);outline:none}.tr-text:focus{border-color:var(--db-primary)}.tr-submit{width:100%;margin-top:.7rem;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:12px;padding:.7rem 1rem;background:var(--db-primary);color:var(--db-on-primary);font-weight:850;cursor:pointer}.tr-submit:hover{filter:brightness(1.05)}.tr-submit:disabled{opacity:.55;cursor:default}.tr-list{margin-top:1.1rem;display:grid;gap:.7rem;border-top:1px solid var(--db-border-soft,#eee);padding-top:1rem}.tr-item{border:1px solid var(--db-border);border-radius:14px;padding:.7rem .85rem}.tr-item-top{justify-content:space-between;gap:.5rem}.tr-item-name,.tr-item-top{display:flex;align-items:center}.tr-item-name{flex:1;min-width:0;font-weight:800;font-size:.9rem;color:var(--db-text-main)}.tr-item-stars i{font-size:.8rem;color:var(--db-border)}.tr-item-stars i.is-on{color:#f5b301}.tr-item-msg{margin:.1rem 0 0;line-height:1.4}.tr-empty,.tr-item-msg{font-size:.88rem;color:var(--db-text-soft)}.tr-empty{margin:0}.tr-item.is-hidden{opacity:.6;border-style:dashed}.tr-hidden-badge{margin-left:.45rem;padding:.05rem .45rem;border-radius:999px;background:var(--db-surface-2,#f4f4f6);color:var(--db-text-soft);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.tr-mod{position:relative;margin-left:.35rem;flex-shrink:0}.tr-mod-btn{width:28px;height:28px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:var(--db-text-soft)}.tr-mod-btn:hover{background:var(--db-surface-2,#f4f4f6)}.tr-mod-menu{position:absolute;z-index:30;top:calc(100% + 4px);right:0;min-width:150px;background:#fff;border:1px solid var(--db-border);border-radius:12px;box-shadow:0 16px 36px rgba(23,20,56,.16);padding:.3rem}.tr-mod-menu button{width:100%;display:flex;align-items:center;gap:.5rem;border:none;background:transparent;border-radius:8px;padding:.5rem .6rem;font:inherit;font-weight:650;font-size:.86rem;color:var(--db-text-main);cursor:pointer;text-align:left}.tr-mod-menu button:hover{background:var(--db-surface-2,#f5f7fb)}.tr-mod-menu button.is-danger{color:var(--db-danger,#e5484d)}.tr-mod-menu button i{width:14px}@media (max-width:560px){.tr-overlay{padding:.9rem}.tr-modal{max-height:92dvh;overflow-y:auto}}@keyframes tr-fade{0%{opacity:0}}@keyframes tr-pop{0%{opacity:0;transform:translateY(12px) scale(.98)}}.tr-overlay{animation:tr-fade .18s ease both}.tr-modal{animation:tr-pop .24s cubic-bezier(.2,.9,.3,1.2) both}@media (prefers-reduced-motion:reduce){.tr-modal,.tr-overlay{animation:none}}