*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#ff6b2b;--primary-dark:#e55a1f;--primary-light:#fff0e8;--primary-rgb:255, 107, 43;--accent:#d4a27f;--accent-rgb:212, 162, 127;--text-dark:#191918;--text-medium:#333;--text-light:#666;--text-muted:#999;--bg-white:#fff;--bg-gray:#f0eeeb;--bg-base:#faf9f6;--border:#e5e3df;--border-light:#f0eeeb;--success:#4a7c59;--warning:#c49a3c;--error:#c44536;--info:#5a7fa8;--shadow:0 4px 20px rgba(var(--primary-rgb), .1);--shadow-hover:0 8px 30px rgba(var(--primary-rgb), .15);--shadow-sm:0 2px 8px rgba(var(--primary-rgb), .12);--radius:8px}html,body{max-width:100vw;font-family:var(--font-noto-sans-jp), "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--text-medium);line-height:1.8;overflow-x:hidden}a{color:inherit;text-decoration:none}h1{color:var(--text-dark);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:700}h2{color:var(--text-dark);border-bottom:2px solid var(--bg-gray);margin-bottom:20px;padding-bottom:10px;font-size:22px}h3{color:var(--text-dark);margin-bottom:15px;font-size:18px}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.container{max-width:1400px;margin:0 auto;padding:20px}header,.header{background:linear-gradient(135deg, var(--primary-light) 0%, rgba(var(--primary-rgb), .25) 100%);border-bottom:2px solid var(--primary);box-shadow:var(--shadow-sm);z-index:1000;align-items:center;gap:16px;margin-bottom:30px;padding:20px 40px;animation:.6s ease-out fadeInDown;display:flex;position:sticky;top:0}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){header,.header{-webkit-backdrop-filter:blur(10px)}}.header-content{flex:1}.subtitle{color:var(--text-light);margin-top:5px;font-size:14px}.header-actions{align-items:center;gap:12px;display:flex}.tabs{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg, rgba(var(--primary-rgb), .12) 0%, rgba(var(--primary-rgb), .06) 100%);border:1px solid rgba(var(--primary-rgb), .2);box-shadow:var(--shadow);scrollbar-width:auto;scrollbar-color:var(--primary) rgba(var(--primary-rgb), .2);border-radius:12px;flex-wrap:nowrap;gap:5px;margin-bottom:30px;padding:10px 20px 10px 10px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{height:8px}.tabs::-webkit-scrollbar-track{background:var(--primary-light);border-radius:4px;margin:0 10px}.tabs::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}.tabs::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.tab{cursor:pointer;color:var(--text-light);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:6px;padding:12px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:color .3s cubic-bezier(.4,0,.2,1),transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative}.tab:before{content:"";background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);opacity:0;z-index:-1;border-radius:8px;transition:opacity .3s;position:absolute;inset:0}.tab:hover{color:var(--primary);box-shadow:0 4px 12px rgba(var(--primary-rgb), .3);transform:translateY(-2px)}.tab:hover:before{opacity:.1}.tab.active{color:#fff;background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);box-shadow:0 4px 12px rgba(var(--primary-rgb), .4), 0 2px 4px #0000001a;font-weight:600;transform:translateY(-1px)}.tab.active:before{opacity:0}.tab-icon{vertical-align:middle;width:18px;height:18px}.card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:20px;padding:25px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.5s ease-out fadeInUp}.card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.card-title{color:var(--text-dark);margin-bottom:16px;font-size:18px;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;border-radius:var(--radius);text-align:center;box-shadow:0 4px 12px rgba(var(--primary-rgb), .3);padding:25px;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.6s ease-out fadeInUp}.stat-card:hover{box-shadow:0 8px 24px rgba(var(--primary-rgb), .35);transform:translateY(-4px)scale(1.02)}.stat-value{margin-bottom:5px;font-size:36px;font-weight:600}.stat-label{opacity:.9;font-size:13px}.form-group{margin-bottom:20px}.form-group label{color:var(--text-dark);margin-bottom:8px;font-size:14px;font-weight:500;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border);border-radius:var(--radius);width:100%;padding:12px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb), .1);outline:none}.form-group textarea{resize:vertical;min-height:120px}.btn{border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;box-shadow:0 4px 12px rgba(var(--primary-rgb), .3)}.btn-primary:hover{box-shadow:0 6px 16px rgba(var(--primary-rgb), .4);transform:translateY(-2px)}.btn-secondary{background:var(--bg-white);color:var(--text-dark);border:1px solid var(--border)}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg, var(--error) 0%, #a83a2e 100%);color:#fff}.btn-danger:hover{transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg, var(--success) 0%, #3d6a4b 100%);color:#fff}.btn-success:hover{transform:translateY(-2px)}.btn-small{padding:8px 16px;font-size:13px}.task-list{list-style:none}.task-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);align-items:center;gap:15px;margin-bottom:10px;padding:15px;transition:all .2s;display:flex}.task-item:hover{box-shadow:var(--shadow);border-color:rgba(var(--primary-rgb), .2)}.task-checkbox{cursor:pointer;width:20px;height:20px;accent-color:var(--primary)}.task-content{flex:1}.task-title{color:var(--text-dark);font-weight:500}.task-title.completed{color:var(--text-muted);text-decoration:line-through}.task-delete{color:var(--error);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px;transition:all .2s}.task-delete:hover{background:#c445361a}.priority-high{border-left:4px solid var(--error)}.priority-medium{border-left:4px solid var(--warning)}.priority-low{border-left:4px solid var(--success)}.progress-bar{background:var(--bg-gray);border-radius:4px;height:8px;margin-top:10px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--primary) 0%, var(--primary-dark) 100%);height:100%;transition:width .3s}.alert{border-radius:var(--radius);margin-bottom:20px;padding:15px}.alert-info{border-left:4px solid var(--info);color:#1e40af;background:#eef4ff}.alert-success{border-left:4px solid var(--success);color:#2d5a36;background:#f0f7ed}.alert-warning{border-left:4px solid var(--warning);color:#8b6a2e;background:#fdf6ef}.alert-error{border-left:4px solid var(--error);color:#7f1d1d;background:#fdf2f2}.login-container{background:linear-gradient(135deg, var(--primary), var(--primary-dark));justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-container:before{content:"";background-image:linear-gradient(90deg,#ffffff1a 1px,#0000 1px),linear-gradient(#ffffff1a 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:-40px}.login-card{-webkit-backdrop-filter:blur(20px);text-align:center;z-index:1;background:#fffffff2;border-radius:16px;width:100%;max-width:420px;padding:48px;animation:.6s ease-out fadeInUp;position:relative;box-shadow:0 25px 80px #0003}.login-card h1{color:var(--text-dark);margin-bottom:8px;font-size:28px}.login-card p{color:var(--text-muted);margin-bottom:32px}.empty-state{text-align:center;color:var(--text-muted);padding:60px 40px}.empty-state-icon{opacity:.5;width:64px;height:64px;margin-bottom:16px}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:90vh;padding:32px;animation:.3s ease-out fadeInUp;overflow-y:auto;box-shadow:0 25px 80px #0000004d}.modal-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.modal-header h2{border:none;margin:0;padding:0;font-size:20px}.modal-close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:4px;font-size:24px;line-height:1}.modal-close:hover{color:var(--text-dark)}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}@media (max-width:768px){.container{padding:10px}header,.header{flex-direction:column;gap:10px;padding:15px 20px}h1{font-size:20px}.subtitle{font-size:12px}.tabs{gap:3px;padding:8px 12px}.tab{padding:10px 14px;font-size:13px}.stats-grid{grid-template-columns:1fr;gap:12px}.card{margin-bottom:15px;padding:20px}.form-group input,.form-group textarea,.form-group select{padding:10px;font-size:16px}.btn{padding:12px 18px;font-size:14px}.modal{margin:20px;padding:24px}.login-card{margin:20px;padding:32px}}@media (max-width:480px){h1{font-size:18px}.tab{padding:8px 10px;font-size:12px}}img{aspect-ratio:auto;max-width:100%;height:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
