:root{--color-blue:#04d9ff;--color-blue-light:#5be7ff;--color-blue-dark:#03b8d9;--color-blue-glow:#04d9ff66;--color-green:#0fff50;--color-green-light:#5cff80;--color-green-dark:#0dd946;--color-green-glow:#0fff504d;--color-yellow:#cfff04;--color-yellow-dark:#a8cc03;--color-background:#f8fafc;--color-background-gradient:linear-gradient(135deg,#f8fafc 0%,#e8f4ff 50%,#f0fffe 100%);--color-surface:#fff;--color-surface-glass:#ffffffd9;--color-surface-hover:#fffffff2;--color-text:#0f172a;--color-text-secondary:#334155;--color-text-muted:#64748b;--color-accent:linear-gradient(135deg,var(--color-blue)0%,var(--color-green)100%);--color-highlight:#04d9ff26;--color-shadow:#0000000f;--color-shadow-md:#00000014;--color-shadow-lg:#0000001f;--color-shadow-blue:#04d9ff40;--color-shadow-blue-intense:#04d9ff66;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,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:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--radius-sm:.5rem;--radius-md:.75rem;--radius-lg:1rem;--radius-xl:1.5rem;--radius-2xl:2rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-base:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.35s cubic-bezier(.4,0,.2,1);--transition-bounce:.4s cubic-bezier(.34,1.56,.64,1);--max-width:1200px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text);background:var(--color-background-gradient);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--color-text);letter-spacing:-.02em;font-weight:700;line-height:1.25}h1{font-size:var(--font-size-4xl);font-weight:800}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base);font-weight:600}.gradient-text{background:var(--color-accent);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}a{color:var(--color-blue-dark);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-blue)}:focus-visible{outline:2px solid var(--color-blue);outline-offset:3px;border-radius:var(--radius-sm)}.container{width:100%;max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.text-center{text-align:center}.text-primary{color:var(--color-blue)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.bg-surface{background-color:var(--color-surface)}.bg-glass{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(12px)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.py-xl{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm)var(--space-lg);font-size:var(--font-size-base);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);border:none;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--color-blue)0%,var(--color-blue-dark)100%);color:var(--color-text);box-shadow:0 4px 14px var(--color-shadow-blue)}.btn-primary:hover:not(:disabled){box-shadow:0 6px 20px var(--color-shadow-blue-intense);transform:translateY(-2px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-blue);box-shadow:0 2px 8px var(--color-shadow)}.btn-secondary:hover:not(:disabled){background:var(--color-highlight);border-color:var(--color-blue-dark);transform:translateY(-1px)}.btn-accent{background:linear-gradient(135deg,var(--color-green)0%,var(--color-green-dark)100%);color:var(--color-text);box-shadow:0 4px 14px var(--color-green-glow)}.btn-accent:hover:not(:disabled){box-shadow:0 6px 20px var(--color-green-glow);transform:translateY(-2px)}.card{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);box-shadow:0 4px 16px var(--color-shadow),0 0 0 1px #ffffff80 inset;transition:all var(--transition-base);overflow:hidden}.card:hover{box-shadow:0 12px 40px var(--color-shadow-md),0 0 0 1px #fff9 inset,0 0 30px var(--color-shadow-blue);transform:translateY(-4px)}.card-body{padding:var(--space-xl)}.icon-btn{border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-blue)0%,var(--color-blue-dark)100%);width:52px;height:52px;color:var(--color-text);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 14px var(--color-shadow-blue);border:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){box-shadow:0 6px 20px var(--color-shadow-blue-intense);transform:scale(1.08)}.icon-btn-lg{width:68px;height:68px;font-size:var(--font-size-xl)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{box-shadow:0 0 0 0 var(--color-blue-glow)}50%{box-shadow:0 0 0 10px #0000}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes glow{0%,to{filter:drop-shadow(0 0 8px var(--color-blue-glow))}50%{filter:drop-shadow(0 0 16px var(--color-blue-glow))}}.animate-fadeIn{animation:.5s ease-out fadeIn}.animate-slideUp{animation:.5s ease-out slideUp}.animate-float{animation:3s ease-in-out infinite float}.animate-pulse{animation:2s ease-in-out infinite pulse}.animate-glow{animation:2s ease-in-out infinite glow}@media (max-width:768px){:root{--font-size-4xl:1.875rem;--font-size-3xl:1.5rem;--font-size-2xl:1.25rem}.container{padding:0 var(--space-md)}}@media (max-width:480px){:root{--font-size-4xl:1.5rem;--font-size-3xl:1.25rem;--font-size-2xl:1.125rem}.btn{padding:var(--space-sm)var(--space-md);font-size:var(--font-size-sm)}}.site-header{background:var(--color-surface-glass);-webkit-backdrop-filter:blur(16px);z-index:100;box-shadow:0 4px 20px var(--color-shadow);border-bottom:1px solid #04d9ff33;position:sticky;top:0}.site-header:after{content:"";background:linear-gradient(90deg,var(--color-blue)0%,var(--color-green)50%,var(--color-blue)100%);opacity:.6;height:2px;position:absolute;bottom:0;left:0;right:0}.site-logo{align-items:center;gap:var(--space-sm);font-size:var(--font-size-xl);color:var(--color-text);letter-spacing:-.02em;transition:all var(--transition-fast);font-weight:800;display:flex}.site-logo:hover{color:var(--color-blue-dark);transform:scale(1.02)}.site-logo img{border-radius:var(--radius-sm);width:40px;height:40px}.nav-links a{padding:var(--space-sm)var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast);color:var(--color-text-secondary);font-weight:600;position:relative}.nav-links a:hover{background:var(--color-highlight);color:var(--color-blue-dark)}.nav-links a:after{content:"";background:var(--color-blue);width:0;height:2px;transition:all var(--transition-fast);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-links a:hover:after{width:80%}.checklist-item{align-items:flex-start!important;gap:var(--space-md)!important;padding:var(--space-md)!important;background:var(--color-surface)!important;border-radius:var(--radius-md)!important;margin-bottom:var(--space-sm)!important;cursor:pointer!important;transition:all var(--transition-fast)!important;border:2px solid #0000!important;flex-direction:row!important;display:flex!important}.checklist-item:hover{background:#04d9ff14!important;border-color:#04d9ff4d!important}.checklist-item.checked{background:#0fff5014!important;border-color:#0fff504d!important}.checklist-item.checked .item-name{color:var(--color-text-muted)!important;text-decoration:line-through!important}.checklist-item input[type=checkbox]{opacity:0!important;pointer-events:none!important;width:0!important;height:0!important;position:absolute!important}.checklist-item .custom-checkbox{border:2px solid var(--color-blue)!important;border-radius:var(--radius-sm)!important;background:var(--color-surface)!important;color:#fff!important;width:28px!important;min-width:28px!important;height:28px!important;transition:all var(--transition-fast)!important;flex-shrink:0!important;justify-content:center!important;align-items:center!important;font-size:1rem!important;font-weight:700!important;display:flex!important}.checklist-item.checked .custom-checkbox{background:linear-gradient(135deg,var(--color-green)0%,var(--color-green-dark)100%)!important;border-color:var(--color-green)!important}.checklist-item .item-content{flex:1!important;min-width:0!important;padding-top:2px!important}.checklist-item .item-name{color:var(--color-text)!important;word-wrap:break-word!important;font-weight:500!important;line-height:1.4!important;display:block!important}.checklist-item .item-detail{font-size:var(--font-size-sm)!important;color:var(--color-text-muted)!important;margin-top:2px!important;display:block!important}@media (max-width:480px){.checklist-item{padding:var(--space-sm)var(--space-md)!important}.checklist-item .custom-checkbox{width:24px!important;min-width:24px!important;height:24px!important;font-size:.875rem!important}}@media print{body{color:#000;background:#fff;font-size:12pt}.no-print{display:none!important}.card{box-shadow:none;break-inside:avoid;border:1px solid #ccc}a{color:#000;text-decoration:underline}}
