.app{background-color:var(--background-color);width:100%;min-height:100vh;color:var(--text-primary);transition:background-color var(--transition-base),color var(--transition-base)}.page-container{max-width:1200px;margin:0 auto;padding:2rem 1rem}.page-title{color:var(--text-primary);text-align:center;margin-bottom:1rem;font-size:2.5rem;font-weight:700}.page-subtitle{color:var(--text-secondary);text-align:center;margin-bottom:2rem;font-size:1.25rem}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base);padding:1.5rem}.card:hover{box-shadow:var(--shadow-lg)}.btn{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:2px solid #0000;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary{background-color:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-bg)}.btn-primary:hover{background-color:var(--button-primary-hover);border-color:var(--button-primary-hover);color:var(--button-primary-text-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary{background-color:var(--color-secondary);color:var(--text-primary)}.btn-secondary:hover{opacity:.9;box-shadow:var(--shadow-md);transform:translateY(-2px)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover)}.input{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--surface-color);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast);padding:.75rem;font-size:1rem}.input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--green-light-1);outline:none}.loading{min-height:50vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1.5rem;display:flex}.error{background-color:var(--color-error);color:#fff;border-radius:var(--radius-md);margin:1rem 0;padding:1rem}.success{background-color:var(--color-success);color:#fff;border-radius:var(--radius-md);margin:1rem 0;padding:1rem}@media (max-width:768px){.page-container{padding:1rem .5rem}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.card{padding:1rem}.btn{padding:.5rem 1rem;font-size:.875rem}}@font-face{font-family:HongLeiXingShuJianTi;src:url(/assets/fonts/HongLeiXingShuJianTi-2.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:MaoKenWangXingYuan;src:url(/assets/fonts/MaoKenWangXingYuan-2.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SmileySans;src:url(/assets/fonts/SmileySans-Oblique-2.ttf)format("truetype");font-weight:400;font-style:oblique;font-display:swap}@font-face{font-family:YouSheYuFeiTeJianKangTi;src:url(/assets/fonts/YouSheYuFeiTeJianKangTi-2.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100vw;height:100vh;margin:0;font-family:YouSheYuFeiTeJianKangTi,HongLeiXingShuJianTi,MaoKenWangXingYuan,SmileySans,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;overflow-x:hidden}:root{--background-color:#efefd6;--background-slightly-deeper:#d9d9c3;--surface-color:#ffffffe6;--border-color:#ccc;--text-primary:#2d572c;--text-secondary:#555;--text-tertiary:#666;--text-inverse:#fff;--color-primary:#043d06;--color-primary-hover:#056308;--color-secondary:#81c784;--color-accent:#00c853;--green-solid:#006400;--green-light-1:#00640033;--green-light-2:#00640066;--green-light-3:#00640099;--color-success:#28a745;--color-warning:#ffc107;--color-error:#dc3545;--color-info:#17a2b8;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #0000001a;--shadow-lg:0 10px 15px #00000026;--shadow-xl:0 20px 25px #0003;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.35s ease;--transition-menu:.5s cubic-bezier(.19,1,.22,1);--navbar-bg:#efefd6;--navbar-text:#2d572c;--navbar-hover:#043d06;--navbar-shadow-color:color-mix(in srgb,var(--navbar-text)20%,transparent);--card-bg:#ffffffe6;--card-border:#ddd;--card-shadow:#0000001a;--button-primary-bg:#043d06;--button-primary-hover:#056308;--button-primary-text:#fff;--button-primary-text-hover:#fff;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem}.dark{--background-color:#171717;--background-slightly-deeper:#1a1a1a;--surface-color:#323232e6;--border-color:#444;--text-primary:#d4af37;--text-secondary:#ccc;--text-tertiary:#999;--text-inverse:#1a1a1a;--color-primary:#f2b809;--color-primary-hover:gold;--color-secondary:#ffeb3b;--color-accent:#ffc107;--green-solid:gold;--green-light-1:#ffd70033;--green-light-2:#ffd70066;--green-light-3:#ffd70099;--color-success:#4caf50;--color-warning:#ff9800;--color-error:#f44336;--color-info:#2196f3;--shadow-sm:0 1px 2px #ffffff0d;--shadow-md:0 4px 6px #ffffff1a;--shadow-lg:0 10px 15px #ffffff26;--shadow-xl:0 20px 25px #fff3;--navbar-bg:#171717;--navbar-text:#d4af37;--navbar-hover:#f2b809;--navbar-shadow-color:color-mix(in srgb,var(--navbar-text)25%,transparent);--card-bg:#323232e6;--card-border:#444;--card-shadow:#ffffff1a;--button-primary-bg:#f2b809;--button-primary-hover:gold;--button-primary-text:#1a1a1a;--button-primary-text-hover:#000}body{background-color:var(--background-color);color:var(--text-primary);transition:background-color var(--transition-base),color var(--transition-base)}#root{width:100vw;min-height:100vh}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.text-center{text-align:center}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-4{gap:1rem}.fade-in{animation:fadeIn var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-up{animation:slideUp var(--transition-base)}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
