:root{--navy-900: #06101f;--navy-850: #0a1626;--navy-800: #0d1b2a;--navy-700: #13293d;--navy-600: #1b3a55;--navy-500: #24507a;--accent: #f5a623;--accent-600: #e08e12;--accent-glow: rgba(245, 166, 35, .35);--white: #f6f8fc;--muted: #9fb2c8;--ink: #0a0a0a;--line: rgba(255, 255, 255, .08);--card-bg: rgba(255, 255, 255, .04);--card-bg-hover: rgba(255, 255, 255, .07);--radius: 14px;--radius-lg: 22px;--shadow: 0 18px 40px -20px rgba(0, 0, 0, .7);--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:var(--white);background:radial-gradient(1200px 600px at 80% -10%,rgba(245,166,35,.1),transparent 60%),radial-gradient(900px 500px at 0% 110%,rgba(36,80,122,.35),transparent 55%),linear-gradient(160deg,var(--navy-850),var(--navy-900));min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}h1,h2,h3{line-height:1.15;margin:0 0 .5em}h1{font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.02em}p{color:var(--muted);line-height:1.65}.app-shell{display:flex;flex-direction:column;min-height:100vh}.page{width:min(1100px,92vw);margin:0 auto;padding:clamp(2rem,5vw,4rem) 0 4rem;flex:1;animation:rise .5s var(--ease) both}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;margin-bottom:.9rem}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1.5rem;padding:.9rem clamp(1rem,4vw,2.5rem);background:#06101fb8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav-brand{display:flex;align-items:center;gap:.6rem;font-weight:800;letter-spacing:-.01em;font-size:1.05rem}.nav-logo{width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:linear-gradient(135deg,var(--accent),var(--accent-600));color:var(--ink);font-weight:900;box-shadow:0 0 18px var(--accent-glow)}.nav-links{display:flex;gap:.35rem;flex-wrap:wrap;margin-left:.5rem}.nav-link{padding:.5rem .85rem;border-radius:10px;color:var(--muted);font-weight:600;font-size:.92rem;transition:color .2s,background .2s}.nav-link:hover{color:var(--white);background:var(--card-bg)}.nav-link.active{color:var(--white);background:var(--card-bg-hover)}.nav-link.admin{color:var(--accent)}.nav-spacer{flex:1}.nav-user{display:flex;align-items:center;gap:.75rem;font-size:.9rem;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.3rem;border-radius:11px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;transition:transform .15s var(--ease),box-shadow .2s,background .2s,border-color .2s}.btn:active{transform:translateY(1px) scale(.99)}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-600));color:var(--ink);box-shadow:0 10px 24px -10px var(--accent-glow)}.btn-primary:hover{box-shadow:0 14px 30px -8px var(--accent-glow);transform:translateY(-1px)}.btn-ghost{background:var(--card-bg);color:var(--white);border-color:var(--line)}.btn-ghost:hover{background:var(--card-bg-hover)}.btn-block{width:100%}.grid{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:2rem}.card{background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;transition:transform .2s var(--ease),background .2s,border-color .2s}.card:hover{transform:translateY(-3px);background:var(--card-bg-hover);border-color:#f5a62366}.card h3{color:var(--white)}.hero{display:flex;flex-direction:column;gap:1.2rem;padding:clamp(2rem,6vw,5rem) 0}.hero .lead{font-size:clamp(1.05rem,2vw,1.25rem);max-width:60ch}.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:.6rem}.gradient-text{background:linear-gradient(120deg,var(--white) 40%,var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.auth-wrap{display:grid;place-items:center;min-height:calc(100vh - 64px);padding:2rem 1rem}.auth-card{width:min(420px,100%);background:var(--card-bg);border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(1.6rem,4vw,2.4rem);box-shadow:var(--shadow);animation:rise .5s var(--ease) both}.field{margin-bottom:1.05rem}.field label{display:block;font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.4rem}.input{width:100%;padding:.75rem .9rem;border-radius:11px;border:1px solid var(--line);background:#00000040;color:var(--white);font:inherit;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-error{background:#dc26261f;border:1px solid rgba(248,113,113,.4);color:#fca5a5;padding:.7rem .9rem;border-radius:10px;font-size:.9rem;margin-bottom:1rem}.form-foot{margin-top:1.2rem;text-align:center;font-size:.9rem;color:var(--muted)}.form-foot a{color:var(--accent);font-weight:600}.toolbar{display:flex;gap:.8rem;flex-wrap:wrap;margin:1.6rem 0 1rem}.toolbar .input{flex:1;min-width:220px}.select{width:auto;min-width:160px;cursor:pointer}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--card-bg)}.data-table{width:100%;border-collapse:collapse;font-size:.92rem;white-space:nowrap}.data-table th,.data-table td{text-align:left;padding:.65rem 1rem;border-bottom:1px solid var(--line)}.data-table th{color:var(--muted);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.data-table tbody tr:hover{background:var(--card-bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.import-status{margin-top:1rem}.import-status-line{display:flex;justify-content:space-between;font-size:.85rem;font-weight:600;margin-bottom:.4rem}.import-status-detail{margin:.5rem 0 0;font-size:.82rem}.progress-track{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent-600));transition:width .3s var(--ease)}:root{--frame-normal: #c9a86a;--frame-effect: #d98b4a;--frame-ritual: #5f7fc4;--frame-fusion: #9463c9;--frame-synchro: #e9edf2;--frame-xyz: #3a3a3e;--frame-link: #3b5a8a;--frame-spell: #4f9e63;--frame-trap: #b8508f;--frame-token: #8a8f98;--frame-skill: #3a9e96}.frame-normal{--frame-color: var(--frame-normal)}.frame-effect{--frame-color: var(--frame-effect)}.frame-ritual{--frame-color: var(--frame-ritual)}.frame-fusion{--frame-color: var(--frame-fusion)}.frame-synchro{--frame-color: var(--frame-synchro)}.frame-xyz{--frame-color: var(--frame-xyz)}.frame-link{--frame-color: var(--frame-link)}.frame-spell{--frame-color: var(--frame-spell)}.frame-trap{--frame-color: var(--frame-trap)}.frame-token{--frame-color: var(--frame-token)}.frame-skill{--frame-color: var(--frame-skill)}.card-grid{display:grid;gap:.9rem;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));margin:1.5rem 0}.card-tile{text-align:left;font:inherit;color:var(--white);background:var(--card-bg);border:1px solid var(--line);border-top:3px solid var(--frame-color, var(--accent));border-radius:var(--radius);padding:.9rem 1rem;cursor:pointer;transition:transform .15s var(--ease),background .2s,border-color .2s}.card-tile:hover{transform:translateY(-3px);background:var(--card-bg-hover)}.card-tile-image{display:block;width:100%;aspect-ratio:268 / 391;object-fit:cover;border-radius:calc(var(--radius) - 4px);margin-bottom:.6rem;background:var(--navy-800)}.card-tile-name{font-weight:700;margin-bottom:.3rem}.card-tile-type{color:var(--frame-color, var(--muted));font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.card-tile-stats{display:flex;gap:.6rem;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:1.2rem;margin-top:1.5rem;padding:.9rem 1.4rem;background:var(--navy-800);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--muted);font-size:.9rem}.pagination span{min-width:5rem;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:2rem 1rem;z-index:100;animation:rise .2s var(--ease) both}.modal-panel{position:relative;width:min(640px,100%);max-height:88vh;overflow-y:auto;background:var(--navy-800);border:1px solid var(--line);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow)}.modal-close{position:absolute;top:1rem;right:1rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);background:var(--card-bg);color:var(--white);font-size:1.2rem;line-height:1;cursor:pointer}.modal-close:hover{background:var(--card-bg-hover)}.modal-image{display:block;max-width:260px;width:100%;margin:0 auto 1rem;border-radius:var(--radius)}.modal-frame{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;background:var(--frame-color, var(--accent));color:var(--white);margin-bottom:.8rem}.modal-frame.frame-normal,.modal-frame.frame-synchro{color:var(--ink)}.modal-subtitle{margin-top:-.4rem}.modal-stats{display:flex;gap:.5rem;flex-wrap:wrap;margin:1rem 0}.pill{padding:.3rem .7rem;border-radius:999px;background:var(--card-bg);border:1px solid var(--line);font-size:.8rem;font-weight:600;color:var(--white)}.pill-atk{border-color:#d85c5c80}.pill-def{border-color:#5c8cd880}.pill-ban{border-color:#f5a62380}.modal-desc{white-space:pre-wrap;color:var(--white)}.modal-detail{color:var(--muted);font-size:.88rem;margin:.8rem 0}.modal-section{margin-top:1.4rem;border-top:1px solid var(--line);padding-top:1.2rem}.modal-section h3{font-size:1rem;margin-bottom:.7rem}.modal-prints{max-height:260px}.empty-state{margin-top:2rem;border:1px dashed var(--line);border-radius:var(--radius-lg);padding:clamp(2rem,6vw,4rem);text-align:center;background:var(--card-bg)}.badge{display:inline-block;padding:.2rem .6rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.05em;background:var(--accent);color:var(--ink)}.footer{border-top:1px solid var(--line);padding:1.4rem;text-align:center;color:var(--muted);font-size:.85rem}
