:root{--color-primary:#e36a6a;--color-primary-rgb:227, 106, 106;--color-primary-light:#ffb2b2;--color-primary-dark:#c24d4d;--color-secondary:#ffb2b2;--color-secondary-light:#ffd6d6;--color-accent:#e36a6a;--color-accent-light:#fffbf1;--color-lavender:#a29bfe;--color-blush:#ffd6d6;--color-butter:#fdcb6e;--color-peach:#ffb2b2;--color-bg:#fffbf1;--color-bg-card:#fff;--color-bg-offset:#fff8eb;--color-bg-hover:#fff4e0;--color-text:#2d3436;--color-text-secondary:#636e72;--color-text-muted:#b2bec3;--color-border:#ffedd5;--color-border-light:#fff8eb;--color-success:#00b894;--color-success-rgb:0, 184, 148;--color-warning:#ffb2b2;--color-danger:#e36a6a;--color-error:#e36a6a;--color-info:#74b9ff;--shadow-sm:0 1px 3px #e36a6a0f;--shadow-md:0 4px 12px #e36a6a14;--shadow-lg:0 8px 30px #e36a6a1f;--shadow-xl:0 16px 50px #e36a6a29;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-2xl:32px;--radius-full:9999px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-sans:var(--font-klee-one);--font-display:var(--font-klee-one);--font-ui:"Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", Meiryo, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease;--sidebar-width:260px;--header-height:64px;--max-content-width:1200px}[data-theme=dark]{--color-bg:#0f0e17;--color-bg-card:#1a1a2e;--color-bg-hover:#252540;--color-text:#fffffe;--color-text-secondary:#a7a9be;--color-text-muted:#5c5e77;--color-border:#2a2a3e;--color-border-light:#1f1f33;--shadow-sm:0 1px 3px #0003;--shadow-md:0 4px 12px #0000004d;--shadow-lg:0 8px 30px #0006;--shadow-xl:0 16px 50px #00000080}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-synthesis:none}body{font-family:var(--font-sans);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);letter-spacing:.035em;min-height:100vh;line-height:1.7}h1,h2,h3{font-family:var(--font-display);letter-spacing:.075em}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-ui);background:0 0;border:none}input,select,textarea{font-family:var(--font-ui);font-size:inherit}nav,table,.btn,.badge,.form-label,.form-input{font-family:var(--font-ui)}img{max-width:100%;display:block}.container{max-width:var(--max-content-width);padding:0 var(--space-lg);margin:0 auto}.glass{-webkit-backdrop-filter:blur(20px);background:#ffffffb3;border:1px solid #ffffff4d}[data-theme=dark] .glass{background:#1a1a2eb3;border:1px solid #ffffff14}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-base);white-space:nowrap;letter-spacing:.04em;line-height:1.5;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;box-shadow:0 4px 15px rgba(var(--color-primary-rgb), .24)}.btn-primary:hover{box-shadow:0 6px 20px rgba(var(--color-primary-rgb), .32);transform:translateY(-2px)}.btn-secondary{background:var(--color-bg-card);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-primary-light)}.btn-danger{background:linear-gradient(135deg, var(--color-danger), #8f4650);color:#fff}.btn-ghost{color:var(--color-text-secondary);padding:var(--space-xs) var(--space-md)}.btn-ghost:hover{color:var(--color-primary);background:var(--color-bg-hover)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--font-size-xs)}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base)}.card{background:var(--color-bg-card);border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-md)}.card-header{padding:var(--space-lg);border-bottom:1px solid var(--color-border-light)}.card-body{padding:var(--space-lg)}.form-group{gap:var(--space-xs);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:600}.form-input{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);transition:all var(--transition-fast);outline:none}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb), .15)}.form-input::placeholder{color:var(--color-text-muted)}.form-select{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);cursor:pointer;outline:none}.badge{border-radius:var(--radius-full);font-size:var(--font-size-xs);align-items:center;padding:2px 10px;font-weight:600;display:inline-flex}.badge-success{background:rgba(var(--color-success-rgb), .12);color:var(--color-success)}.badge-warning{color:var(--color-warning);background:#f4e7ae80}.badge-danger{color:var(--color-danger);background:#b05e681a}.badge-info{color:var(--color-info);background:#74b9ff1a}.badge-primary{background:rgba(var(--color-primary-rgb), .12);color:var(--color-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:.4s forwards fadeIn}.animate-slide-in{animation:.3s forwards slideIn}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}
