/* ============ 龍 MyList — Sakura Dragon theme ============ */
:root{
  --bg:#ffeef5;
  --bg-grad:linear-gradient(180deg,#ffd3e6 0%,#ffe4ef 30%,#fff0ea 70%,#ffe2cc 100%);
  --card:rgba(255,255,255,.62);
  --card-solid:#fff7fa;
  --card-border:rgba(255,255,255,.75);
  --text:#3b2033;
  --muted:#8f6a80;
  --line:rgba(226,80,150,.16);
  --field:rgba(255,255,255,.7);
  --accent:#e8559a;
  --accent-ink:#fff;
  --accent2:#9b7bff;
  --peach:#ffbf94;
  --glow:0 0 0 3px rgba(232,85,154,.22);
  --shadow:0 8px 30px rgba(194,24,91,.12),0 1px 2px rgba(194,24,91,.08);
  --c1:#e8559a;--c2:#9b7bff;--c3:#36c2a0;--c4:#f4a261;--c5:#5bb8eb;--c6:#ff8fab;
  --good:#36c2a0;--warn:#f6b445;--bad:#e05a6a;
  --dragon-op:.55;--sky-op:.5;
  --name-grad:linear-gradient(90deg,#b07cff,#ff6fb1 60%,#ff9a8b);
  --r:18px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
  --bg:#170b17;--bg-grad:linear-gradient(180deg,#1f0b22 0%,#2a0f2b 40%,#1a0c1c 100%);
  --card:rgba(46,20,46,.6);--card-solid:#2a1329;--card-border:rgba(255,150,210,.14);
  --text:#fbe9f3;--muted:#c49ab4;--line:rgba(255,130,195,.16);--field:rgba(20,8,20,.55);
  --accent:#ff6fb1;--accent2:#b49bff;--glow:0 0 0 3px rgba(255,111,177,.28);
  --shadow:0 10px 34px rgba(0,0,0,.45);--dragon-op:.4;--sky-op:.35;color-scheme:dark;}}
:root[data-theme=dark]{
  --bg:#170b17;--bg-grad:linear-gradient(180deg,#1f0b22 0%,#2a0f2b 40%,#1a0c1c 100%);
  --card:rgba(46,20,46,.6);--card-solid:#2a1329;--card-border:rgba(255,150,210,.14);
  --text:#fbe9f3;--muted:#c49ab4;--line:rgba(255,130,195,.16);--field:rgba(20,8,20,.55);
  --accent:#ff6fb1;--accent2:#b49bff;--glow:0 0 0 3px rgba(255,111,177,.28);
  --shadow:0 10px 34px rgba(0,0,0,.45);--dragon-op:.4;--sky-op:.35;color-scheme:dark;}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-height:100vh;background:var(--bg);background-image:var(--bg-grad);background-attachment:fixed;color:var(--text);
  font:15px/1.5 "Zen Maru Gothic",system-ui,-apple-system,"Segoe UI",sans-serif;overflow-x:hidden}
a{color:inherit}
::selection{background:var(--accent);color:#fff}

/* ---------- scenery ---------- */
.scene{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}
.sun{position:absolute;width:min(46vw,460px);aspect-ratio:1;border-radius:50%;top:12vh;left:50%;transform:translateX(-50%);opacity:var(--sky-op);
  background:linear-gradient(180deg,#fff4b8,#ffb3d1 55%,#ff7eb6);
  -webkit-mask:linear-gradient(180deg,#000 55%,transparent 55% 58%,#000 58% 66%,transparent 66% 70%,#000 70% 77%,transparent 77% 83%,#000 83% 88%,transparent 88% 95%,#000 95%);
          mask:linear-gradient(180deg,#000 55%,transparent 55% 58%,#000 58% 66%,transparent 66% 70%,#000 70% 77%,transparent 77% 83%,#000 83% 88%,transparent 88% 95%,#000 95%);
  filter:blur(.3px)}
.skyline{position:absolute;left:0;right:0;bottom:0;width:100%;height:22vh;fill:#d16a9e;opacity:calc(var(--sky-op)*.45)}
.dragon{position:absolute;width:clamp(150px,18vw,280px);height:auto;opacity:var(--dragon-op);filter:drop-shadow(0 6px 14px rgba(194,24,91,.25))}
.dragon-r{right:-30px;top:40px;height:calc(100vh - 20px)}
.dragon-l{left:-40px;bottom:-60px;height:70vh;transform:scale(-1,-1);opacity:calc(var(--dragon-op)*.6)}
.petals span{position:absolute;top:-30px;width:14px;height:11px;border-radius:150% 0 150% 0;
  background:linear-gradient(135deg,#fff 0%,#ffc4dc 50%,#ff8fbf 100%);opacity:.85;animation:fall linear infinite}
@keyframes fall{0%{transform:translate(0,0) rotate(0)}25%{transform:translate(30px,25vh) rotate(90deg)}50%{transform:translate(-20px,50vh) rotate(180deg)}75%{transform:translate(25px,75vh) rotate(270deg)}100%{transform:translate(-10px,105vh) rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.petals{display:none}}

/* ---------- glass ---------- */
.glass,.top,.tile,.list,.kpi,.panel,.profile,.settings .card,.empty,dialog,.suggest{
  background:var(--card);border:1px solid var(--card-border);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);box-shadow:var(--shadow)}

/* ---------- header ---------- */
.top{position:sticky;top:10px;z-index:20;display:flex;align-items:center;gap:18px;margin:10px auto 0;max-width:1200px;width:calc(100% - 24px);padding:10px 14px 10px 18px;border-radius:var(--r)}
.brand{display:flex;align-items:center;gap:8px;text-decoration:none;font-weight:900;font-size:20px}
.brand .kanji{font-family:"Yuji Boku",serif;font-size:28px;line-height:1;background:var(--name-grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 1px 0 rgba(255,255,255,.6))}
.brand span:last-child{background:var(--name-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
nav{display:flex;gap:4px;flex:1}
nav a{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:12px;text-decoration:none;color:var(--muted);font-weight:700;transition:.2s}
nav a i{font-style:normal;font-size:15px}
nav a:hover{color:var(--text);background:rgba(255,255,255,.35)}
nav a.active{color:var(--accent);background:rgba(232,85,154,.12);box-shadow:inset 0 0 0 1px rgba(232,85,154,.25)}
main{position:relative;z-index:1;max-width:1200px;margin:0 auto;padding:24px 16px 80px}

/* ---------- controls ---------- */
.btn{border:1px solid var(--line);background:var(--field);color:var(--text);padding:8px 16px;border-radius:12px;cursor:pointer;font:inherit;font-weight:700;transition:.2s}
.btn:hover{border-color:var(--accent);box-shadow:var(--glow)}
.btn.primary{background:linear-gradient(135deg,#ff7eb6,#e8559a 50%,#b07cff);border:none;color:#fff;box-shadow:0 6px 18px rgba(232,85,154,.35)}
.btn.primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn.danger{color:var(--bad)}
input,select,textarea{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:12px;padding:9px 12px;width:100%;transition:.2s}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow)}
label{display:block;font-size:11.5px;font-weight:900;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.06em}
h1{margin:6px 0 16px;font-size:26px;font-weight:900;display:flex;align-items:center;gap:10px}
h1::before{content:"✿";color:var(--accent);font-size:20px}
.hint{color:var(--muted);font-size:13px}

.toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;align-items:center}
.toolbar input[type=search]{flex:1;min-width:180px;width:auto}
.toolbar select{width:auto}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px}
.chip{padding:6px 14px;border-radius:99px;border:1px solid var(--line);background:var(--field);cursor:pointer;font-weight:700;font-size:13px;color:var(--muted);transition:.2s;user-select:none}
.chip:hover{color:var(--text)}
.chip.on{background:linear-gradient(135deg,#ff7eb6,#b07cff);border-color:transparent;color:#fff;box-shadow:0 4px 12px rgba(232,85,154,.3)}
.chip small{opacity:.75;margin-left:5px}

/* ---------- profile card (Discord-style) ---------- */
.profile{border-radius:22px;overflow:hidden;margin-bottom:22px;position:relative}
.pbanner{height:110px;position:relative;overflow:hidden;
  background:radial-gradient(circle at 70% 120%,#fff3b0 0 18%,transparent 19%),linear-gradient(180deg,#ff9cc8,#ffc0d9 55%,#ffd9c2)}
.pbanner::before{content:"";position:absolute;inset:auto 0 0 0;height:40px;background:#d16a9e;opacity:.35;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22h14V12h10v16h10V6h14v22h8V16h12v24h10V4h8v36h10V20h14v20h8V10h16v30h10V18h12v22h14V8h6v32h12V24h12v16h10V12h14v28h12V20h16v20h10V6h10v34h14V16h12v24h10V22h14v18H400V40z'/%3E%3C/svg%3E") bottom/100% 100%;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 40' preserveAspectRatio='none'%3E%3Cpath d='M0 40V22h14V12h10v16h10V6h14v22h8V16h12v24h10V4h8v36h10V20h14v20h8V10h16v30h10V18h12v22h14V8h6v32h12V24h12v16h10V12h14v28h12V20h16v20h10V6h10v34h14V16h12v24h10V22h14v18H400V40z'/%3E%3C/svg%3E") bottom/100% 100%}
.pbanner .branch{position:absolute;right:10px;top:6px;font-size:54px;opacity:.85;transform:rotate(-12deg)}
.pbody{display:grid;grid-template-columns:auto 1fr auto;gap:4px 18px;padding:0 20px 18px;align-items:end}
.pavatar{position:relative;width:104px;height:104px;margin-top:-52px;grid-row:span 2;cursor:pointer}
.pavatar .ring{position:absolute;inset:-5px;border-radius:50%;background:conic-gradient(from 0deg,#ff6fb1,#b07cff,#7ad7ff,#ff6fb1);animation:spin 6s linear infinite}
.pavatar .img{position:absolute;inset:0;border-radius:50%;background:var(--card-solid) center/cover;border:4px solid var(--card-solid);display:flex;align-items:center;justify-content:center;font-size:44px}
.pavatar .dot{position:absolute;right:4px;bottom:6px;width:22px;height:22px;border-radius:50%;background:#36c2a0;border:4px solid var(--card-solid)}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.pavatar .ring{animation:none}}
.pname{margin:10px 0 0;font-size:28px;font-weight:900;line-height:1.1;background:var(--name-grad);-webkit-background-clip:text;background-clip:text;color:transparent;word-break:break-word}
.phandle{color:var(--muted);font-weight:500;font-size:14px}
.phandle b{color:var(--text);font-weight:700}
.pbubble{grid-column:3;grid-row:1;align-self:start;margin-top:12px;background:var(--card-solid);border:1px solid var(--line);padding:8px 14px;border-radius:16px 16px 16px 4px;font-weight:700;font-size:14px;box-shadow:var(--shadow);max-width:280px}
.pbadges{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.pbadge{display:flex;align-items:center;gap:6px;padding:5px 12px;border-radius:99px;background:var(--field);border:1px solid var(--line);font-weight:700;font-size:13px}
.pbadge i{font-style:normal}
.pbadge.hot{background:linear-gradient(135deg,rgba(176,124,255,.18),rgba(255,111,177,.18));border-color:rgba(176,124,255,.35)}
.pcoll{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.pcoll span{font-weight:700;font-size:14px}
.pcoll div{display:flex;gap:6px;align-items:center}
.pcoll .pc{width:36px;height:36px;border-radius:10px;background:center/cover;border:2px solid var(--card-solid);box-shadow:0 2px 6px rgba(0,0,0,.15);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:14px}
.pcoll .more{background:#3b2033;color:#fff;font-size:12px}

/* ---------- tiles ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:18px}
.tile{border-radius:16px;overflow:hidden;cursor:pointer;position:relative;transition:transform .25s,box-shadow .25s}
.tile:hover{transform:translateY(-5px) rotate(-.4deg);box-shadow:0 14px 34px rgba(232,85,154,.28)}
.tile:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.poster{aspect-ratio:2/3;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:52px;font-weight:900;color:rgba(255,255,255,.9);position:relative}
.poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(59,32,51,.35))}
.tile .info{padding:9px 12px 11px}
.tile .t{font-weight:900;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tile .m{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;font-weight:500}
.score{position:absolute;top:9px;right:9px;z-index:1;background:rgba(59,32,51,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;border-radius:10px;padding:2px 8px;font-weight:900;font-size:13px}
.score.fav::before{content:"♥ ";color:#ff8fbf}
.badge{position:absolute;top:9px;left:9px;z-index:1;border-radius:10px;padding:3px 8px;font-size:10.5px;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.s-watching{background:var(--c3)}.s-completed{background:var(--c2)}.s-planned{background:var(--c4)}.s-paused{background:var(--c5)}.s-dropped{background:var(--bad)}
.bar{height:5px;background:rgba(232,85,154,.15)}.bar i{display:block;height:100%;background:linear-gradient(90deg,#ff7eb6,#b07cff)}

/* ---------- list ---------- */
.list{width:100%;border-collapse:separate;border-spacing:0;border-radius:var(--r);overflow:hidden}
.list th,.list td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--line)}
.list tr:last-child td{border-bottom:none}
.list th{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);cursor:pointer;font-weight:900}
.list tr.row{cursor:pointer;transition:.15s}.list tr.row:hover{background:rgba(232,85,154,.08)}
.list .mini{width:36px;height:52px;border-radius:8px;background-size:cover;display:block}
.empty{text-align:center;color:var(--muted);padding:56px 20px;border-radius:var(--r)}
.empty::before{content:"🐉";display:block;font-size:48px;margin-bottom:6px}
.empty .btn{margin-top:10px}

/* ---------- modal ---------- */
dialog{border-radius:22px;padding:0;width:min(660px,94vw);color:var(--text);background:var(--card-solid)}
dialog::backdrop{background:rgba(59,10,40,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
dialog[open]{animation:pop .25s ease-out}
@keyframes pop{from{opacity:0;transform:translateY(12px) scale(.98)}}
.mhead{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(255,126,182,.18),rgba(176,124,255,.14))}
.mhead h2{margin:0;font-size:19px;font-weight:900}
.mbody{padding:16px 20px;max-height:70vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mbody .full{grid-column:1/-1}
.mfoot{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px;border-top:1px solid var(--line)}
.mfoot .sp{flex:1}
.stars{display:flex;gap:2px;flex-wrap:wrap}.stars span{cursor:pointer;font-size:24px;color:var(--line);transition:transform .1s}
.stars span:hover{transform:scale(1.2)}.stars span.on{color:var(--warn);text-shadow:0 0 8px rgba(246,180,69,.5)}

/* autocomplete */
.ac{position:relative}
.suggest{position:absolute;left:0;right:0;top:100%;z-index:10;background:var(--card-solid);border-radius:14px;max-height:330px;overflow:auto;margin-top:4px}
.sg{display:flex;gap:10px;align-items:center;padding:7px 12px;cursor:pointer}
.sg.hi,.sg[data-i]:hover{background:rgba(232,85,154,.1)}
.sg .sp{width:34px;height:50px;flex:none;border-radius:6px;background:var(--line) center/cover}
.sg small{color:var(--muted)}

/* ---------- stats ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:16px}
.kpi{border-radius:var(--r);padding:14px 16px;position:relative;overflow:hidden}
.kpi::after{content:"✿";position:absolute;right:-6px;bottom:-14px;font-size:54px;color:var(--accent);opacity:.09}
.kpi b{display:block;font-size:30px;line-height:1.1;font-weight:900;background:var(--name-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.kpi span{color:var(--muted);font-size:11.5px;text-transform:uppercase;font-weight:900;letter-spacing:.05em}
.charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:16px}
.panel{border-radius:var(--r);padding:16px;min-width:0}
.panel.wide{grid-column:1/-1}
.panel h3{margin:0 0 10px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:900}
.panel svg{width:100%;height:auto;display:block}
.panel svg text{fill:var(--muted);font-size:11px;font-family:inherit}
.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:12px;color:var(--muted);margin-top:6px}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:4px}
.hbar{display:flex;align-items:center;gap:8px;margin:6px 0;font-size:13px}
.hbar span:first-child{width:95px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbar div{flex:1;background:rgba(232,85,154,.1);border-radius:6px;height:14px}
.hbar div i{display:block;height:100%;border-radius:6px}
.hbar b{min-width:28px;text-align:right}

/* ---------- settings ---------- */
.settings{max-width:640px;display:grid;gap:16px}
.settings .card{border-radius:var(--r);padding:18px;display:grid;gap:12px}
.settings .card h3{margin:0;font-size:15px;font-weight:900}
.settings .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.row-actions{display:flex;gap:8px;flex-wrap:wrap}
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(10px);z-index:50;background:linear-gradient(135deg,#ff7eb6,#b07cff);color:#fff;font-weight:700;padding:10px 20px;border-radius:14px;opacity:0;transition:.3s;pointer-events:none;box-shadow:0 8px 24px rgba(232,85,154,.4)}
#toast.show{opacity:1;transform:translateX(-50%)}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .dragon-r{opacity:calc(var(--dragon-op)*.6);right:-60px}
  .dragon-l{display:none}
}
@media (max-width:700px){
  body{font-size:14.5px}
  .top{top:0;margin:0;width:100%;border-radius:0 0 18px 18px;padding:10px 14px;padding-top:max(10px,env(safe-area-inset-top));-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--card-solid)}
  .brand{flex:1}
  /* bottom tab bar */
  nav{position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:30;justify-content:space-around;padding:6px;border-radius:20px;
    background:var(--card);border:1px solid var(--card-border);-webkit-backdrop-filter:blur(18px) saturate(1.4);backdrop-filter:blur(18px) saturate(1.4);box-shadow:var(--shadow)}
  nav a{flex-direction:column;gap:0;padding:6px 8px;font-size:11px;flex:1;text-align:center;border-radius:14px}
  nav a i{font-size:20px}
  .add{width:42px;height:42px;padding:0;border-radius:14px;font-size:22px}
  .add span{display:none}
  main{padding:16px 12px 110px}
  h1{font-size:22px}
  .grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:12px}
  .poster{font-size:40px}
  .tile .info{padding:7px 9px 9px}
  .badge{font-size:9px;padding:2px 6px}
  .toolbar input[type=search]{flex-basis:100%}
  .toolbar select,.toolbar .btn{flex:1}
  .hide-sm{display:none}
  .list th,.list td{padding:8px}
  .pbody{grid-template-columns:auto 1fr;padding:0 16px 16px}
  .pavatar{width:86px;height:86px;margin-top:-43px}
  .pbubble{position:absolute;top:12px;left:12px;margin:0;max-width:calc(100% - 90px);font-size:13px}
  .pname{font-size:24px}
  .pbanner{height:90px}
  dialog{width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;margin:0;border-radius:0}
  dialog form{display:flex;flex-direction:column;height:100%}
  .mbody{grid-template-columns:1fr;max-height:none;flex:1}
  .mfoot{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .settings .two{grid-template-columns:1fr}
  .kpi b{font-size:24px}
  #toast{bottom:96px}
}
@media (max-width:380px){.grid{grid-template-columns:repeat(2,1fr)}}

/* ---------- accounts, sharing, privacy ---------- */
.sync{font-size:13px;font-weight:700;color:var(--muted);white-space:nowrap}
.sync[data-state=error]{color:var(--bad)}
.robanner{position:relative;z-index:2;max-width:1200px;margin:12px auto 0;width:calc(100% - 32px);padding:10px 16px;border-radius:14px;text-align:center;font-weight:700;
  background:linear-gradient(90deg,rgba(176,124,255,.22),rgba(255,111,177,.22));border:1px solid rgba(176,124,255,.35)}
.robanner a{color:var(--accent)}
.ro #addBtn,.ro nav a[data-route=settings]{display:none}
.ro .pavatar{cursor:default}
.auth{display:flex;justify-content:center;padding:4vh 0}
.authcard{width:min(440px,100%);padding:26px !important}
.authhead{text-align:center}
.authhead .kanji{font-family:"Yuji Boku",serif;font-size:56px;line-height:1;background:var(--name-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.authhead h2{margin:6px 0 4px;font-weight:900}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border-radius:14px;background:var(--field);border:1px solid var(--line)}
.tab{border:0;background:none;padding:9px;border-radius:10px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}
.tab.on{background:var(--card-solid);color:var(--accent);box-shadow:0 2px 8px rgba(194,24,91,.12)}
#authf{display:grid;gap:12px}
.err{margin:0;padding:8px 12px;border-radius:10px;background:rgba(224,90,106,.12);color:var(--bad);font-weight:700;font-size:14px}
.check{display:flex !important;gap:8px;align-items:center;text-transform:none !important;letter-spacing:0 !important;font-size:14px !important;font-weight:500 !important;color:var(--text) !important;cursor:pointer}
.check input{width:auto;accent-color:var(--accent)}
.check a,.hint a,.privacy a{color:var(--accent)}
.center{text-align:center}
.sharebox{display:flex;gap:8px}
.sharebox input{font-family:ui-monospace,monospace;font-size:13px}
.sharebox.off{opacity:.45}
details{border-top:1px solid var(--line);padding-top:10px}
details summary{cursor:pointer;font-weight:700}
details summary.danger{color:var(--bad)}
details[open]>*:not(summary){margin-top:10px}
.privacy{max-width:820px;padding:24px 28px !important;display:block !important}
.privacy h3{margin:22px 0 6px;color:var(--accent)}
.privacy li{margin:4px 0}
.vbody{display:grid;grid-template-columns:160px 1fr;gap:18px;padding:18px 20px}
.vbody .vp{border-radius:12px;font-size:48px}
.vbody p{margin:0 0 8px}
.vscore{font-size:30px;font-weight:900;color:var(--warn)}
.vscore small{font-size:14px;color:var(--muted)}
.fav{color:var(--accent)}
.badge.static{position:static;display:inline-block}
blockquote{margin:10px 0 0;padding:10px 14px;border-left:4px solid var(--accent);background:var(--field);border-radius:0 10px 10px 0;white-space:pre-wrap}
.foot{position:relative;z-index:1;text-align:center;color:var(--muted);font-size:13px;padding:0 16px 28px}
.foot a{color:var(--accent);font-weight:700}
@media (max-width:700px){
  .sync span{display:none}
  .foot{padding-bottom:100px}
  main{padding-bottom:20px}
  .vbody{grid-template-columns:110px 1fr}
  .privacy{padding:18px !important}
}

[hidden]{display:none !important}

/* ---------- avatar editor ---------- */
.pavatar .pedit{position:absolute;inset:0;z-index:2;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(30,10,30,.55);color:#fff;font-weight:900;font-size:13px;opacity:0;transition:opacity .2s}
.pavatar .dot{z-index:3}
.pavatar:hover .pedit,.pavatar:focus-visible .pedit{opacity:1}
.pavatar:focus-visible{outline:none}.pavatar:focus-visible .ring{box-shadow:0 0 0 3px var(--accent)}
.cropwrap{padding:18px 20px;display:grid;gap:14px;justify-items:center}
.crop{position:relative;width:min(340px,80vw);aspect-ratio:1;overflow:hidden;border-radius:16px;background:#1a0d1a;touch-action:none;cursor:grab;user-select:none;-webkit-user-select:none}
.crop.grab{cursor:grabbing}
.crop:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.crop.drop{outline:3px dashed var(--accent);outline-offset:3px}
.crop img{position:absolute;left:50%;top:50%;max-width:none;pointer-events:none}
.cmask{position:absolute;inset:8%;border-radius:50%;box-shadow:0 0 0 9999px rgba(25,8,25,.62);border:3px solid rgba(255,255,255,.95);pointer-events:none}
.chint{position:absolute;left:0;right:0;bottom:8px;text-align:center;color:#fff;font-size:12px;font-weight:700;text-shadow:0 1px 3px #000;pointer-events:none;opacity:.9}
.czoom{display:flex;align-items:center;gap:10px;width:min(340px,80vw)}
.czoom span{font-size:14px}.czoom .big{font-size:22px}
.czoom input{flex:1;padding:0;border:0;background:none;accent-color:var(--accent);box-shadow:none}
.row-actions.center{justify-content:center}
@media (max-width:700px){dialog .cropwrap{flex:1;align-content:center}}
