:root{--color-primary:#1a73e8;--color-primary-hover:#1765cc;--color-primary-active:#1557b0;--color-primary-light:#e8f0fe;--color-success:#34a853;--color-warning:#fbbc04;--color-error:#ea4335;--color-info:#4285f4;--color-background:#f8f9fa;--color-surface:#fff;--color-surface-variant:#f1f3f4;--color-border:#dadce0;--color-text-primary:#202124;--color-text-secondary:#5f6368;--color-text-disabled:#9aa0a6;--color-text-inverse:#fff;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--radius-xs:4px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:28px;--radius-full:9999px;--font-xs:12px;--font-sm:13px;--font-base:14px;--font-md:16px;--font-lg:18px;--font-xl:20px;--font-2xl:24px;--font-3xl:28px;--font-4xl:32px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--shadow-1:0 1px 2px 0 #0000000d;--shadow-2:0 1px 3px 0 #00000014, 0 1px 2px 0 #0000000f;--shadow-3:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000000f;--shadow-4:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000000d;--shadow-5:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000000a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--font-sans:"Google Sans", "Roboto", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}.page-container{background-color:var(--color-background);min-height:100vh;font-family:var(--font-sans);color:var(--color-text-primary);flex-direction:column;line-height:1.6;display:flex}.page-header{z-index:100;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-1);transition:box-shadow var(--transition-base);position:sticky;top:0}.page-header:hover{box-shadow:var(--shadow-2)}.header-content{max-width:1200px;padding:var(--space-md) var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-lg);margin:0 auto;display:flex}.header-content .logo{align-items:center;gap:var(--space-sm);color:var(--color-text-primary);transition:color var(--transition-fast);text-decoration:none;display:flex}.header-content .logo:hover{color:var(--color-primary)}.header-content .logo h1{font-size:var(--font-xl);font-weight:var(--font-semibold);letter-spacing:-.02em;margin:0}.header-content nav{flex:1}.header-content nav ul{align-items:center;gap:var(--space-sm);justify-content:flex-end;margin:0;padding:0;list-style:none;display:flex}.header-content nav ul li a{padding:var(--space-sm) var(--space-md);font-size:var(--font-base);font-weight:var(--font-medium);color:var(--color-text-secondary);border-radius:var(--radius-sm);transition:all var(--transition-fast);text-decoration:none;display:inline-block;position:relative}.header-content nav ul li a:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.header-content nav ul li a:active{color:var(--color-primary-active);background-color:#d2e3fc}.header-content nav ul li a:after{content:"";background-color:var(--color-primary);border-radius:var(--radius-full);width:0;height:3px;transition:width var(--transition-base);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.header-content nav ul li a:hover:after{width:60%}.page-main{width:100%;max-width:1200px;padding:var(--space-2xl) var(--space-lg);flex:1;margin:0 auto}.page-main section{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl);box-shadow:var(--shadow-2);transition:box-shadow var(--transition-base), transform var(--transition-base)}.page-main section:hover{box-shadow:var(--shadow-3);transform:translateY(-2px)}.page-main h2{font-size:var(--font-3xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-md) 0;letter-spacing:-.02em}.page-main p{font-size:var(--font-md);color:var(--color-text-secondary);margin:0;line-height:1.7}.page-footer{background-color:var(--color-surface);border-top:1px solid var(--color-border);margin-top:var(--space-2xl)}.footer-content{max-width:1200px;padding:var(--space-xl) var(--space-lg);margin:0 auto}.footer-links{gap:var(--space-xl);margin-bottom:var(--space-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.footer-links>div{gap:var(--space-sm);flex-direction:column;display:flex}.footer-links h4{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0;text-transform:uppercase;letter-spacing:.04em}.footer-links ul{gap:var(--space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.footer-links ul li a{font-size:var(--font-sm);color:var(--color-text-secondary);transition:color var(--transition-fast);width:fit-content;text-decoration:none;display:inline-block}.footer-links ul li a:hover{color:var(--color-primary)}.footer-links ul li a:active{color:var(--color-primary-active)}.copyright{border-top:1px solid var(--color-border);padding-top:var(--space-md);font-size:var(--font-xs);color:var(--color-text-secondary);text-align:center}.copyright a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}.copyright a:hover{text-decoration:underline}.copyright a:visited{color:#8410ff}.auth-page{background-color:var(--color-background);min-height:100vh;padding:var(--space-xl) var(--space-md);font-family:var(--font-sans);color:var(--color-text-primary);justify-content:center;align-items:center;line-height:1.6;display:flex}.auth-card{background-color:var(--color-surface);border-radius:var(--radius-xl);width:100%;max-width:420px;padding:var(--space-2xl);box-shadow:var(--shadow-4);transition:box-shadow var(--transition-base)}.auth-card:hover{box-shadow:var(--shadow-5)}.auth-title{font-size:var(--font-3xl);font-weight:var(--font-semibold);color:var(--color-text-primary);margin:0 0 var(--space-sm) 0;text-align:center;letter-spacing:-.02em}.auth-subtitle{font-size:var(--font-sm);color:var(--color-text-secondary);margin:0 0 var(--space-xl) 0;text-align:center}.auth-form{gap:var(--space-md);flex-direction:column;display:flex}.auth-field{gap:var(--space-xs);flex-direction:column;display:flex}.auth-field label{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.auth-input{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--font-md);color:var(--color-text-primary);background-color:var(--color-surface-variant);border:2px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast);box-sizing:border-box;font-family:inherit}.auth-input:hover{border-color:var(--color-text-secondary)}.auth-input:focus{border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.auth-input::placeholder{color:var(--color-text-disabled)}.auth-button{width:100%;padding:var(--space-sm) var(--space-lg);font-size:var(--font-md);font-weight:var(--font-medium);color:var(--color-text-inverse);background-color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-1);margin-top:var(--space-sm);border:none}.auth-button:hover{background-color:var(--color-primary-hover);box-shadow:var(--shadow-2)}.auth-button:active{background-color:var(--color-primary-active);transform:translateY(1px)}.auth-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.auth-links{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);font-size:var(--font-sm);justify-content:space-between;align-items:center;display:flex}.auth-links a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}.auth-links a:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-links a:active{color:var(--color-primary-active)}.auth-footer{text-align:center;font-size:var(--font-sm);color:var(--color-text-secondary);margin-top:var(--space-lg)}.auth-footer a{color:var(--color-primary);font-weight:var(--font-medium);transition:color var(--transition-fast);text-decoration:none}.auth-footer a:hover{color:var(--color-primary-hover);text-decoration:underline}.auth-logo{text-align:center;margin-bottom:var(--space-lg)}.auth-logo a{font-size:var(--font-xl);font-weight:var(--font-semibold);color:var(--color-text-primary);letter-spacing:-.02em;transition:color var(--transition-fast);text-decoration:none}.auth-logo a:hover{color:var(--color-primary)}.auth-error{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-sm);margin-bottom:var(--space-md);background-color:#fce8e6}.auth-success{padding:var(--space-sm) var(--space-md);font-size:var(--font-sm);color:var(--color-success);border:1px solid var(--color-success);border-radius:var(--radius-sm);margin-bottom:var(--space-md);background-color:#e6f4ea}@media (max-width:1024px){.header-content{padding:var(--space-md)}.page-main{padding:var(--space-xl) var(--space-md)}}@media (max-width:768px){.header-content{align-items:stretch;gap:var(--space-md);flex-direction:column}.header-content nav ul{justify-content:flex-start;gap:var(--space-xs);flex-wrap:wrap}.header-content nav ul li a{padding:var(--space-xs) var(--space-sm);font-size:var(--font-sm)}.page-main,.page-main section{padding:var(--space-lg) var(--space-md)}.page-main h2{font-size:var(--font-2xl)}.footer-links{gap:var(--space-lg);grid-template-columns:1fr}}@media (max-width:480px){.header-content .logo h1{font-size:var(--font-lg)}.header-content nav ul{gap:0}.header-content nav ul li a{padding:var(--space-xs) var(--space-xs);font-size:var(--font-xs)}}a:focus-visible,button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-xs)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-color-scheme:dark){:root{--color-background:#1a1a1a;--color-surface:#2d2d2d;--color-surface-variant:#383838;--color-border:#5f6368;--color-text-primary:#f8f9fa;--color-text-secondary:#9aa0a6;--color-primary-light:#174ea6}}
