@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,700;1,500&family=Noto+Serif+TC:wght@500;700&family=Noto+Sans+TC:wght@400;500;700&display=swap);body,header h1,html{margin:0;color:var(--ink)}header,main{z-index:2;position:relative}.back-link,.btn-primary{font-family:var(--font-heading);font-size:15px;text-decoration:none}.card-item,header,header h1,main{position:relative}.card-item::before,header::after{content:"";height:1px;position:absolute}.card-item .meta,body,html{font-family:var(--font-body)}.card-item h3,body,header h1,html{color:var(--ink)}.toast,body::before{pointer-events:none}:root{--obsidian:#0a0812;--obsidian-deep:#050308;--surface-1:#14101c;--surface-2:#1d1828;--surface-3:#251d36;--border-soft:rgba(212, 168, 74, 0.14);--border-strong:rgba(212, 168, 74, 0.34);--gold:#d4a84a;--gold-bright:#f0c96b;--gold-deep:#8a6a28;--ember:#c5534a;--ember-glow:rgba(197, 83, 74, 0.25);--ink:#ece4d1;--ink-dim:#9c947c;--ink-faint:#5e5740;--font-display:"Cormorant Garamond","Noto Serif TC","Merriweather",serif;--font-heading:"Noto Serif TC","Merriweather",serif;--font-body:"Noto Sans TC",-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}body,html{padding:0;min-height:100vh;background:radial-gradient(ellipse 80% 60% at 50% 0,rgba(212,168,74,.07),transparent 60%),radial-gradient(ellipse 70% 50% at 50% 100%,rgba(138,106,40,.06),transparent 60%),linear-gradient(180deg,var(--obsidian) 0,var(--obsidian-deep) 100%);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body::before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.82  0 0 0 0 0.66  0 0 0 0 0.29  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");mix-blend-mode:screen;opacity:.35;z-index:1}header{display:flex;align-items:center;gap:18px;padding:16px 28px 18px;background:linear-gradient(180deg,rgba(29,24,40,.6) 0,rgba(20,16,28,.4) 100%);border-bottom:1px solid var(--border-soft);flex-wrap:wrap}header::after{left:28px;right:28px;bottom:-1px;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-bright) 50%,var(--gold) 80%,transparent);opacity:.55}header h1{font-family:var(--font-display);font-size:32px;font-weight:700;letter-spacing:.08em;text-shadow:0 0 24px rgba(212,168,74,.25);padding-left:24px}header h1::before{content:"◆";position:absolute;left:0;top:50%;transform:translateY(-52%);color:var(--gold);font-size:14px;text-shadow:0 0 10px rgba(212,168,74,.7)}.back-link{color:var(--gold);letter-spacing:.04em;padding:6px 4px;margin-left:auto;transition:color .15s,text-shadow .15s}.back-link:hover{color:var(--gold-bright);text-shadow:0 0 10px rgba(240,201,107,.4)}main{padding:32px 28px 80px;max-width:1200px;margin:0 auto}.actions{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap}.btn-primary{display:inline-block;padding:12px 26px;font-weight:700;letter-spacing:.1em;background:linear-gradient(180deg,var(--gold) 0,var(--gold-deep) 100%);color:var(--obsidian-deep);border:1px solid var(--gold-bright);border-radius:2px;cursor:pointer;text-shadow:0 1px 0 rgba(240,201,107,.6);box-shadow:0 2px 14px rgba(212,168,74,.25),inset 0 1px 0 rgba(255,240,190,.5);transition:.18s}.btn-primary:hover{background:linear-gradient(180deg,var(--gold-bright) 0,var(--gold) 100%);transform:translateY(-1px);box-shadow:0 4px 24px rgba(212,168,74,.45),inset 0 1px 0 rgba(255,240,190,.6)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.card-item{padding:20px 22px;background:linear-gradient(180deg,rgba(37,29,54,.55) 0,rgba(20,16,28,.75) 100%);border:1px solid var(--border-soft);border-radius:2px;transition:.2s;overflow:hidden}.empty,.loading,.need-login{text-align:center;padding:100px 20px;color:var(--ink-dim);font-family:var(--font-heading)}.card-item::before{top:0;left:0;right:0;background:linear-gradient(90deg,transparent,var(--gold) 20%,var(--gold-bright) 50%,var(--gold) 80%,transparent);opacity:0;transition:opacity .2s}.card-item:hover{border-color:var(--border-strong);background:linear-gradient(180deg,rgba(55,44,80,.6) 0,rgba(29,24,40,.85) 100%);box-shadow:0 6px 28px rgba(0,0,0,.5),0 0 18px rgba(212,168,74,.12);transform:translateY(-1px)}.card-item:hover::before{opacity:.7}.card-item h3{margin:0 0 8px;font-family:var(--font-heading);font-size:18px;font-weight:700;letter-spacing:.04em;word-break:break-word}.empty,.loading,.need-login p,.toast{letter-spacing:.08em}.card-item .meta{font-size:12px;letter-spacing:.05em;color:var(--ink-dim);margin-bottom:16px;padding-bottom:14px;border-bottom:1px dashed rgba(212,168,74,.15)}.card-item .btns{display:flex;gap:8px;flex-wrap:wrap}.card-item .btns a,.card-item .btns button{padding:7px 14px;font-family:var(--font-heading);font-size:13px;letter-spacing:.06em;background:linear-gradient(180deg,rgba(37,29,54,.7),rgba(20,16,28,.8));color:var(--ink);border:1px solid var(--border-strong);border-radius:2px;text-decoration:none;cursor:pointer;font-weight:500;transition:.18s}.card-item .btns a:hover,.card-item .btns button:hover{background:linear-gradient(180deg,rgba(55,44,80,.85),rgba(29,24,40,.9));border-color:var(--gold);color:var(--gold-bright);box-shadow:0 0 14px rgba(212,168,74,.2),inset 0 0 10px rgba(212,168,74,.08)}.card-item .btns .del{color:var(--ember)}.card-item .btns .del:hover{background:linear-gradient(180deg,rgba(80,30,28,.8),rgba(50,20,18,.9));border-color:var(--ember);color:#f4a49d;box-shadow:0 0 14px var(--ember-glow),inset 0 0 10px rgba(197,83,74,.15)}.empty,.loading{font-size:16px}.loading::after{content:" ◆";color:var(--gold);animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1;text-shadow:0 0 10px rgba(212,168,74,.8)}}.need-login p{font-size:17px;margin:0 0 22px}.need-login .btn-primary{margin-top:4px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%) translateY(8px);background:linear-gradient(180deg,var(--surface-3) 0,var(--surface-1) 100%);color:var(--ink);padding:14px 30px;border-radius:2px;border:1px solid var(--gold);font-family:var(--font-heading);font-size:15px;opacity:0;transition:opacity .25s,transform .25s;z-index:10000;box-shadow:0 10px 40px rgba(0,0,0,.6),0 0 20px rgba(212,168,74,.2)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media (max-width:640px){header{padding:14px 18px 16px}header h1{font-size:24px}main{padding:24px 18px 60px}}.confirm-backdrop{position:fixed;inset:0;background:rgba(5,3,8,.8);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:10100;padding:20px}.confirm-box{max-width:420px;width:100%;background:linear-gradient(180deg,#14101c,#050308);border:1px solid #d4a84a;box-shadow:0 30px 80px rgba(0,0,0,.8),0 0 40px rgba(212,168,74,.2);padding:28px 24px 20px;font-family:inherit;color:#ece4d1}.confirm-box p{margin:0 0 20px;font-size:15px;line-height:1.6}.confirm-box .btn-row{display:flex;justify-content:flex-end;gap:10px}.confirm-box button{padding:8px 18px;border:1px solid rgba(255,255,255,.2);border-radius:3px;background:0 0;color:#ece4d1;font:inherit;font-size:14px;cursor:pointer}.confirm-box button:hover{background:rgba(255,255,255,.08)}.confirm-box .btn-danger{background:linear-gradient(180deg,#c5534a,#8a2a22);border-color:#e06050;color:#fff;font-weight:700}.confirm-box .btn-danger:hover{filter:brightness(1.1)}