*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary-yellow: #ffde33;--color-primary-yellow-dark: #ffd400;--color-primary-blue: #0b5fff;--color-primary-blue-dark: #2563eb;--color-dark: #141414;--color-black: #0a0a0a;--color-ink: #0b0f1a;--color-red: #d62828;--color-red-dark: #dc2626;--color-green: #19a974;--color-green-dark: #10b981;--bg-white: #ffffff;--bg-light: #fafafa;--bg-lighter: #f5f7fb;--bg-gray: #f7f7f7;--text-primary: #141414;--text-muted: rgba(0,0,0,.7);--text-light: rgba(0,0,0,.65);--text-lighter: rgba(0,0,0,.55);--border-light: rgba(0,0,0,.08);--border-medium: rgba(0,0,0,.12);--border-dark: rgba(0,0,0,.18);--shadow-sm: 0 4px 12px rgba(0,0,0,.06);--shadow-md: 0 8px 24px rgba(0,0,0,.08);--shadow-lg: 0 18px 40px rgba(0,0,0,.1);--shadow-xl: 0 24px 80px rgba(0,0,0,.18)}body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-white);color:var(--text-primary)}h1,h2,h3,h4,h5,h6{font-weight:900;line-height:1.2;letter-spacing:-.02em}button,input,textarea,select{font-family:inherit}a{text-decoration:none;color:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;border:1px solid var(--border-medium);background:var(--bg-white);font-weight:700;font-size:1rem;cursor:pointer;transition:all .18s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn:hover:not(:disabled){transform:translateY(-2px);border-color:var(--border-dark)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--color-primary-yellow);border-color:var(--color-primary-yellow);color:var(--color-dark)}.btn.primary:hover:not(:disabled){background:var(--color-primary-yellow-dark);border-color:var(--color-primary-yellow-dark)}.btn.ghost{background:transparent;border-color:var(--border-medium)}.btn.ghost:hover:not(:disabled){background:#0000000a;border-color:var(--border-dark)}.card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:20px;padding:18px;box-shadow:var(--shadow-md);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.card:hover{transform:translateY(-2px);border-color:var(--border-medium);box-shadow:var(--shadow-lg)}input,textarea,select{width:100%;padding:12px 16px;border-radius:12px;border:2px solid var(--border-medium);background:var(--bg-light);outline:none;font-size:16px;font-weight:500;transition:all .18s ease}input:focus,textarea:focus,select:focus{border-color:var(--color-primary-yellow);box-shadow:0 0 0 4px #ffde3333;background:var(--bg-white)}.modal-backdrop{position:fixed;inset:0;background:#0000008c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:40}.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);background:var(--bg-white);border-radius:24px;border:1px solid var(--border-light);box-shadow:var(--shadow-xl);z-index:50;overflow:hidden}.modal-header,.modal-head{padding:20px 24px;border-bottom:1px solid var(--border-light);background:linear-gradient(180deg,var(--bg-white),var(--bg-light))}.modal-body{padding:20px 24px;overflow:auto}.modal-footer,.modal-foot{padding:16px 24px;border-top:1px solid var(--border-light);background:linear-gradient(0deg,var(--bg-white),var(--bg-light));display:flex;justify-content:flex-end;gap:12px}.pill{display:inline-flex;padding:6px 10px;border-radius:999px;border:1px solid var(--border-medium);background:#0000000a;font-weight:700;font-size:14px}.pill.success{border-color:#19a9744d;background:#19a9741a;color:#065f46}.pill.error{border-color:#dc262640;background:#dc262614;color:#991b1b}.pill.warning{border-color:#f59e0b4d;background:#f59e0b1a;color:#92400e}.muted{color:var(--text-lighter)}.strong{font-weight:900}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
