.pl-wrap{max-width:980px;margin:24px auto;padding:0 12px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;}
.pl-head{margin-bottom:14px;}
.pl-title{margin:0;font-size:22px;line-height:1.2;}
.pl-sub{color:rgba(0,0,0,.6);margin-top:6px;font-size:14px;}

.pl-box{background:#fff;border:1px solid rgba(0,0,0,.10);border-radius:14px;padding:14px;margin:12px 0;box-shadow:0 12px 30px rgba(0,0,0,.06);}
.pl-warning{border-color:rgba(255,140,0,.35);background:rgba(255,140,0,.06);}
.pl-empty{background:rgba(0,0,0,.03);}
.pl-hint code{background:rgba(0,0,0,.06);padding:2px 6px;border-radius:8px;}

.pl-create{display:flex;gap:10px;align-items:center;margin:14px 0 18px;}
.pl-input,.pl-select{border:1px solid rgba(0,0,0,.16);border-radius:12px;padding:10px 12px;font-size:14px;background:#fff;outline:none;}
.pl-input{flex:1;}
.pl-select{min-width:140px;}

.pl-btn{border:1px solid rgba(0,0,0,.16);background:#fff;border-radius:12px;padding:9px 12px;font-size:14px;cursor:pointer;transition:transform .05s ease, box-shadow .2s ease;}
.pl-btn:active{transform:translateY(1px);}
.pl-primary{background:#111;color:#fff;border-color:#111;}
.pl-danger{border-color:rgba(200,0,0,.35);color:#b00020;background:rgba(200,0,0,.06);}
.pl-small{padding:7px 10px;font-size:13px;border-radius:10px;}
.pl-muted{color:rgba(0,0,0,.6);font-size:12px;}

.pl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.pl-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px;border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#fff;}
.pl-item-title{text-decoration:none;color:#111;font-weight:650;}
.pl-item-title:hover{text-decoration:underline;}
.pl-item-actions{display:flex;align-items:center;gap:10px;white-space:nowrap;}

.pl-heart{font-size:16px;line-height:1;padding:9px 12px;border-radius:999px;}
.pl-heart.is-on{background:rgba(255,0,90,.08);border-color:rgba(255,0,90,.30);}

.pl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
@media (max-width: 920px){.pl-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 620px){.pl-grid{grid-template-columns:1fr;} .pl-create{flex-direction:column;align-items:stretch;}}

.pl-card{border:1px solid rgba(0,0,0,.10);border-radius:16px;background:#fff;padding:14px;box-shadow:0 12px 30px rgba(0,0,0,.05);}
.pl-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.pl-card-title{font-weight:750;font-size:16px;}
.pl-pill{font-size:12px;padding:4px 10px;border:1px solid rgba(0,0,0,.12);border-radius:999px;color:rgba(0,0,0,.65);background:rgba(0,0,0,.03);}
.pl-card-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.pl-link{color:#111;text-decoration:underline;font-size:13px;}
.pl-card-footer{margin-top:10px;}

.pl-addwrap{position:relative;display:inline-block;}
.pl-menu{position:absolute;z-index:50;top:46px;right:0;min-width:260px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:14px;box-shadow:0 18px 45px rgba(0,0,0,.12);padding:10px;}
.pl-menu-item{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;border:1px solid rgba(0,0,0,.10);background:#fff;border-radius:12px;padding:9px 10px;margin:6px 0;cursor:pointer;}
.pl-menu-item:hover{background:rgba(0,0,0,.03);}
.pl-menu-empty{color:rgba(0,0,0,.65);font-size:13px;padding:6px;}
.pl-menu-divider{height:1px;background:rgba(0,0,0,.10);margin:10px 0;}
.pl-menu-create{display:flex;gap:8px;align-items:center;}
.pl-input-sm{padding:8px 10px;border-radius:10px;font-size:13px;flex:1;}
.pl-select-sm{padding:8px 10px;border-radius:10px;font-size:13px;}

.pl-drag{cursor:grab;display:inline-flex;align-items:center;justify-content:center;width:18px;color:rgba(0,0,0,.45);user-select:none;}
.pl-sortable .pl-item{cursor:default;}
.pl-sortable .pl-item:active .pl-drag{cursor:grabbing;}

.pl-toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%) translateY(12px);opacity:0;
  background:#111;color:#fff;padding:10px 14px;border-radius:999px;font-size:13px;box-shadow:0 18px 45px rgba(0,0,0,.25);transition:all .2s ease;z-index:9999;}
.pl-toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
