:root{
    /* 主題色 - 已修改為您的名字風格顏色 */
    --primary: #3498db; /* <-- 請將此顏色替換為您代表名字的顏色，例如 #FF5733 (橘紅) 或 #007bff (亮藍) */
    --primary-dark:#2874a6; /* 這是上面 primary 顏色的深色版本 */

    --bg:#fdf7f2;
    --card:#ffffff;
    --muted:#6b7280;
    --success:#22c55e;
    --danger:#ef4444;
    --important:#f59e0b;
    --low:#10b981;

    --font-size:18px; /* 稍微縮小字體以提高資訊密度 */
    --radius:14px;
}

/* 基礎重置 */
*, *::before, *::after{box-sizing:border-box}
html,body{height:100%;margin:0;overflow-x:hidden}
body{
    font-family: system-ui, -apple-system, 'Segoe UI', Roboto, 'Noto Sans TC', 'Helvetica Neue', Arial;
    /* 新增背景圖片 */
    background: url('./截圖\ 2025-11-28\ 下午5.27.49.png') no-repeat center center fixed; /* <-- 請確保圖片路徑正確 */
    background-size: cover; /* 讓圖片覆蓋整個背景 */
    background-attachment: fixed; /* 圖片不隨滾動條移動 */
    
    padding:28px;
    color:#0b1726;
    -webkit-font-smoothing:antialiased;
    line-height:1.5; /* 增加行高 */
}

/* 為了讓背景圖片清晰可見，我們需要讓容器背景半透明 */
.container {
    width:100%;
    max-width:900px;
    margin:0 auto;
    display:grid;
    grid-template-columns:1fr;
    gap:24px;
    align-items:start;
    padding:0 12px;
    /* 為內容容器添加半透明背景 */
    background: rgba(255, 255, 255, 0.85); /* 白色半透明背景，讓文字更易讀 */
    border-radius: var(--radius);
    padding: 24px;
    box-shadow: 0 12px 20px rgba(3,19,55,0.08);
}


header{display:flex;justify-content:space-between;align-items:center;gap:16px}
h1{margin:0;font-size:38px;color:var(--primary)}

.card{
    /* .card 內部不需要額外背景，因為 .container 已經處理了 */
    background: none; 
    border-radius:var(--radius);
    padding:0; /* 內部卡片不再需要 padding */
    box-shadow:none; /* 內部卡片不需要陰影 */
}

/* 新增區塊 */
.new-task{display:flex;flex-direction:column;gap:16px} /* 增加間距 */
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row > *{min-width:0}

/* 讓 select 和 button 在控制列中平分空間 */
.new-task .controls select{
    flex:1 1 0; /* 讓 select 平均佔據空間 */
    min-width:120px;
}
.new-task .controls #addBtn{
    flex:0 0 auto; /* 讓按鈕維持原大小 */
}

input[type="text"], select, textarea, input[type="date"], input[type="time"]{
    font-size:var(--font-size);padding:12px 14px;border-radius:10px;
    background:#fff;width:100%;outline:none;transition:box-shadow .12s, border-color .12s;
    border:1px solid #e0e0e0;
}
input:focus, select:focus, textarea:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 2px #fde6d8;
}

/* Modal 裡的輸入框 (基礎樣式) */
.modal input[type="text"], /* <-- 新增: 確保文字輸入框的字體大小安全 */
.modal input[type="date"], 
.modal input[type="time"], 
.modal select{
    font-size:16px; /* 確保字體不小於 16px，以阻止 iOS/Safari 自動放大 */
    padding:10px 12px;
}

/* 主題色按鈕 */
.btn{
    background:var(--primary);
    color:#fff;border:none;padding:12px 18px; /* 增加按鈕內距 */
    border-radius:10px;cursor:pointer;font-size:16px;
    box-shadow:0 4px 10px rgba(var(--primary-rgb),0.3); /* 使用 RGB 陰影 */
    transition:background .2s, box-shadow .2s;
    white-space:nowrap;
}
.btn:hover{background:var(--primary-dark)}
.btn.secondary{
    background:transparent;color:var(--primary);
    border:1px solid var(--primary); /* 邊框也用主題色 */
    box-shadow:none;
}
.btn.secondary:hover{
    background:rgba(var(--primary-rgb),0.05);
}

/* 列表區 */
.list-area{display:flex;flex-direction:column;gap:16px}
.filters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #f0f0f0;padding-bottom:8px}

.filter-btn{
    background:transparent;border:none;padding:8px 14px;border-radius:999px;
    cursor:pointer;font-size:16px;color:var(--muted);white-space:nowrap
}
.filter-btn.active{
    background:var(--primary);
    color:#fff;
    box-shadow:0 2px 4px rgba(var(--primary-rgb),0.3);
}
.filter-btn:not(.active):hover{
    color:var(--primary);
}

/* Todo Item */
.todo{
    display:flex;
    align-items:center; /* 垂直置中 */
    gap:16px;
    padding:14px 16px; /* 增加內距 */
    border-radius:12px;
    background:#ffffff;
    border:1px solid #f5e7dd; /* 邊框可以保留，讓每個任務有區隔 */
    position:relative;
    transition:background-color .2s;
}
.todo:hover{
    background-color:#fffdfc;
}

/* 左側細色條（依優先度不同） */
.todo::before{
    content:"";
    position:absolute;
    left:0;
    top:0;
    bottom:0;
    width:5px;
    border-radius:12px 0 0 12px;
    background:var(--primary); /* fallback */
}
.todo[data-priority="urgent"]::before{ background:var(--danger); }
.todo[data-priority="important"]::before{ background:var(--important); }
.todo[data-priority="normal"]::before{ background:var(--low); }

/* checkbox */
.check{
    appearance:none;
    width:24px;
    height:24px;
    border:2px solid #ccc;
    border-radius:6px;
    cursor:pointer;
    position:relative;
    background:#fff;
    transition:0.2s;
    flex-shrink:0; /* 不壓縮 */
}
.check:hover{
    border-color:var(--primary);
}
.check.checked{
    background:var(--primary);
    border-color:var(--primary);
}
.check.checked::after{
    content:"";
    position:absolute;
    inset:0;
    margin:auto;
    width:5px;
    height:10px;
    border-right:3px solid #fff;
    border-bottom:3px solid #fff;
    transform:rotate(45deg);
}

.content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column}
.content .title{
    font-size:20px;margin:0;margin-bottom:4px;word-break:break-word;
    font-weight:600;
}
.content .meta{
    font-size:14px;color:var(--muted);display:flex;gap:12px;flex-wrap:wrap;
    align-items:center;
}

/* 編輯中的輸入框/選擇框 */
.editable.editing{
    width:100%;
    font-size:inherit;
    padding:4px 6px;
}

.tags{display:flex;gap:8px;flex-wrap:wrap}
.tag{
    padding:4px 10px;border-radius:999px;font-size:13px;
    background:rgb(from var(--primary) r g b / 15%); /* 使用 primary 顏色作為標籤背景 */
    color:var(--primary);border:1px solid rgb(from var(--primary) r g b / 30%);
    cursor:pointer;
}

/* 優先度顏色（將其作為文字顏色而非單獨標籤） */
.priority.urgent{color:var(--danger); font-weight:bold;}
.priority.important{color:var(--important); font-weight:bold;}
.priority.normal{color:var(--low); font-weight:bold;}

.actions{display:flex;gap:4px;align-items:center;flex-shrink:0}

/* 極簡風格的圖標按鈕 */
.icon-btn{
    background:transparent;border:none;padding:6px;border-radius:8px;
    cursor:pointer;font-size:18px;color:var(--muted);
    transition:background-color .1s, color .1s;
}
.icon-btn:hover{
    background:rgba(0,0,0,0.05);
    color:#333;
}
.icon-btn[title="刪除"]:hover{
    color:var(--danger);
}

/* 空狀態 */
.empty-state{
    padding:30px;border-radius:12px;
    background:linear-gradient(180deg, rgba(255,250,244,0.7), rgba(255,255,255,0.7)); /* 半透明背景 */
    text-align:center;color:var(--muted);
    font-size:18px;
    border:2px dashed #f0e0d0;
}

/* Modal */
.modal-backdrop{
    position:fixed;inset:0;background:rgba(4,12,28,0.6); /* 增加背景不透明度 */
    display:none;align-items:center;justify-content:center;z-index:60
}
.modal{
    background:var(--card);padding:24px;border-radius:16px;
    min-width:320px;max-width:92vw;
    box-shadow:0 10px 30px rgba(3,19,55,0.2)
}
.modal h3{font-size:24px;margin-top:0;}

/* --- Modal 內部表單優化 --- */
.modal-form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

/* Modal 內表單的標籤（Label）樣式 */
.modal-form-grid label {
    font-size: 15px;
    color: #333;
    font-weight: 600;
    margin-bottom: 4px;
    display: block; /* 讓 label 獨立一行 */
}

/* 將 Label 和 Input/Select 包裝在一起 */
.modal-form-group {
    display: flex;
    flex-direction: column;
}

/* 讓任務內容輸入框佔滿兩欄 */
.modal-form-group.full-width {
    grid-column: 1 / span 2;
}


/* 行動裝置優化 */
@media (max-width:600px){
    body{padding:16px;}
    .container{padding:0;}
    h1{font-size:32px;}
    .card{padding:16px;}
    
    /* PWA 模式在小螢幕上，Modal 內的欄位也變成單欄 */
    .modal-form-grid {
        grid-template-columns: 1fr;
    }

    .new-task .controls{
        flex-direction:column;
        gap:10px;
    }
    .new-task .controls select,
    .new-task .controls #addBtn{
        width:100%;
        flex:1 1 100%;
    }
    
    .todo{
        padding:12px 14px;
        flex-wrap:wrap; /* 任務內容和按鈕換行 */
        align-items:flex-start;
    }
    .todo .content{
        flex:1 1 100%; /* 任務內容佔滿一行 */
        order:1;
        margin-left:40px; /* 對齊標題和 checkbox */
    }
    .todo .actions{
        order:0;
        margin-left:auto; /* 推到最右邊 */
    }
    .todo .left{
        order:0;
        flex-shrink:0;
    }
}