:root{--color-primary:#1f3a5f;--color-primary-dark:#15273f;--color-primary-light:#3d6ca8;--color-accent:#5a8bc4;--color-ink:#0f172a;--color-text:#334155;--color-muted:#64748b;--color-line:#e2e8f0;--color-surface:#fff;--color-surface-alt:#f4f6fb;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--shadow-sm:0 2px 6px rgba(15,23,42,.06);--shadow-md:0 10px 30px rgba(11,61,145,.1);--transition:0.3s cubic-bezier(0.4,0,0.2,1)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--color-surface-alt);color:var(--color-text)}.wrap{min-height:100vh;display:flex;flex-direction:column}.header{background:var(--color-surface);border-bottom:1px solid var(--color-line);box-shadow:var(--shadow-sm);padding:14px 28px;display:flex;justify-content:space-between;align-items:center}.logo{height:40px;width:auto;display:block}.main{width:100%;max-width:960px;margin:0 auto;padding:48px 24px}.h1{font-size:1.6rem;color:var(--color-primary);font-weight:700;margin:0 0 6px}.sub{color:var(--color-muted);margin:0 0 32px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));grid-gap:20px;gap:20px}.card{background:var(--color-surface);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:24px;text-decoration:none;color:inherit;display:block;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:var(--color-primary-light)}.card h3{margin:0 0 8px;color:var(--color-primary);font-size:1.1rem}.card p{margin:0;color:var(--color-muted);font-size:.92rem}.btn{background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);padding:12px 22px;font-size:1rem;font-weight:600;cursor:pointer;transition:background var(--transition)}.btn:hover{background:var(--color-primary-dark)}.linkbtn{background:none;border:none;color:var(--color-primary);cursor:pointer;font:inherit;font-weight:600}.linkbtn:hover{color:var(--color-primary-dark);text-decoration:underline}.center{flex:1 1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;text-align:center;padding:40px 24px}.empty{color:var(--color-muted)}