File size: 10,125 Bytes
810fad0
930579d
810fad0
 
 
 
930579d
 
 
 
 
 
 
 
 
810fad0
3436142
 
 
b8ac21d
7a3b1d2
 
 
3436142
930579d
 
 
 
 
 
 
 
 
024d6d4
 
 
 
930579d
b8ac21d
930579d
 
9955982
930579d
 
 
9955982
024d6d4
 
930579d
9955982
024d6d4
9955982
 
024d6d4
 
 
 
 
 
 
 
 
 
 
 
930579d
9955982
810fad0
9955982
 
 
 
 
 
b8ac21d
9955982
 
 
 
 
 
 
 
0f870d9
9955982
 
 
 
 
 
 
 
7a3b1d2
9955982
 
 
 
 
 
 
 
 
5c30a4d
 
073cc6a
9780f7b
5c30a4d
9780f7b
abd8d4f
5c30a4d
abd8d4f
073cc6a
813268a
5c30a4d
 
 
abd8d4f
 
 
 
 
5c30a4d
 
 
abd8d4f
5c30a4d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/* --- Google Font ่ˆ‡ๅ…จๅŸŸ่จญๅฎš --- */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;700&display=swap');

:root {
    --primary-color: #005f73;
    --secondary-color: #0a9396;
    --highlight-color: #94d2bd;
    --accent-color: #ee9b00;
    --bg-light: #f8f9fa;
    --bg-dark: #343a40;
    --text-primary: #212529;
    --text-secondary: #6c757d;
    --border-color: #dee2e6;
    --shadow: 0 4px 6px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.05);
    --shadow-lg: 0 10px 15px rgba(0, 0, 0, 0.05), 0 4px 6px rgba(0, 0, 0, 0.05);
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 80px;
}

body {
    font-family: 'Noto Sans TC', sans-serif;
    font-weight: 400;
    line-height: 1.8;
    margin: 0;
    padding: 0;
    background: var(--bg-light);
    color: var(--text-primary);
}

/* --- โ˜…โ˜…โ˜…โ˜…โ˜… ๆœ€็ต‚็‰ˆๅœ–็‰‡้กฏ็คบๆจฃๅผ โ˜…โ˜…โ˜…โ˜…โ˜… --- */
.figure-container { 
    margin: 20px 0; 
    padding: 0; 
}
.figure-container a {
    display: block;
    text-decoration: none;
}
.figure-container img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 15px auto;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    cursor: zoom-in;
    transition: box-shadow 0.3s;
}
.figure-container img:hover {
    box-shadow: var(--shadow-lg);
}
.figure-container figcaption {
    margin-top: 10px;
    font-size: .9rem;
    color: var(--text-secondary);
    line-height: 1.5;
    text-align: left;
    padding: 10px;
    background-color: var(--bg-light);
    border-radius: 4px;
}

/* --- โ˜…โ˜…โ˜…โ˜…โ˜… ็‡ˆ็ฎฑ (Lightbox) ๆจฃๅผ โ˜…โ˜…โ˜…โ˜…โ˜… --- */
.lightbox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    z-index: 2000;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
    box-sizing: border-box;
    cursor: zoom-out;
    animation: fadeIn 0.3s ease;
}
.lightbox.closing {
    animation: fadeOut 0.3s ease forwards;
}
.lightbox img {
    max-width: 100%;
    max-height: 100%;
    box-shadow: 0 0 50px rgba(0,0,0,0.5);
    border-radius: 8px;
}
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}
@keyframes fadeOut {
    from { opacity: 1; }
    to { opacity: 0; }
}

/* --- ๅ…ƒไปถๆจฃๅผ --- */
.navbar{background-color:rgba(255,255,255,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;position:sticky;top:0;z-index:1000;transition:box-shadow .3s}.nav-container{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:700;color:var(--primary-color);text-decoration:none; white-space: nowrap;}.nav-menu{list-style:none;display:flex;gap:1rem;margin:0;padding:0}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:6px;position:relative;transition:color .3s; white-space: nowrap;}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.nav-link::after{content:'';position:absolute;width:0;height:3px;bottom:-5px;left:50%;transform:translateX(-50%);background-color:var(--secondary-color);border-radius:2px;transition:width .3s ease-in-out}.nav-link:hover::after,.nav-link.active::after{width:60%}header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;padding:5rem 2rem;text-align:center;position:relative;overflow:hidden}.header-content h1{font-size:3.2rem;font-weight:700;margin-bottom:.5rem}main{padding:2rem 1rem;max-width:1000px;margin:0 auto}section{background:#fff;margin-bottom:2.5rem;padding:2rem 2.5rem;border-radius:16px;box-shadow:var(--shadow);opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}section.visible{opacity:1;transform:translateY(0)}h2{color:var(--primary-color);text-align:center;font-size:2.2rem;font-weight:700;margin-bottom:2.5rem;position:relative;padding-bottom:1rem}h2::after{content:'';position:absolute;width:80px;height:4px;bottom:0;left:50%;transform:translateX(-50%);background-color:var(--highlight-color);border-radius:2px}h3{font-size: 1.6rem; color: var(--secondary-color); margin-top: 2rem;}h4{font-size: 1.3rem; color: var(--primary-color); margin-top: 2rem; border-bottom: 2px solid var(--border-color); padding-bottom: 0.5rem;}h5{font-size: 1.15rem; color: var(--secondary-color); font-weight: 700; margin-top: 1.5rem; margin-bottom: 1rem;}p,li{font-size:1.1rem;margin-bottom:1rem}strong, b{color:var(--primary-color);font-weight:700}.table-container{border:1px solid var(--border-color);border-radius:8px;overflow:hidden;margin-top:1.5rem}table{width:100%;border-collapse:collapse}th,td{padding:15px;text-align:left;border:1px solid var(--border-color)}thead{background-color:var(--primary-color);color:#fff;font-weight:500}tbody tr:nth-of-type(even){background-color:var(--bg-light)}td.category{background-color:#e0f7fa;font-weight:700;color:var(--primary-color);vertical-align:middle}td i{color:var(--text-secondary);font-size:.9em}.interpretation-methods,.case-study-steps{display:grid;grid-template-columns:1fr;gap:30px;margin-top:20px}@media (min-width:768px){.interpretation-methods,.case-study-steps{grid-template-columns:1fr 1fr}}.interp-item{padding:25px;border-radius:12px;background-color:var(--bg-light);border:1px solid var(--border-color)}.constraints-levels{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.level-item{padding:1.5rem;border-left:5px solid;border-radius:8px}.level-item:nth-of-type(1){border-color:#ae2012;background-color:#fff1f0}.level-item:nth-of-type(2){border-color:#ee9b00;background-color:#fff9eb}.level-item:nth-of-type(3){border-color:#005f73;background-color:#e0f7fa}.case-study{background-color:var(--bg-dark);color:var(--bg-light);border-radius:16px;border:none}.case-study h2{color:#fff}.step{background-color:#495057;padding:25px;border-radius:12px}.app-grid-expanded{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:25px;margin-top:20px}.app-card{background:#fff;border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .3s ease-in-out,box-shadow .3s ease-in-out}.app-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.app-card-header{background-color:var(--secondary-color);color:white;padding:15px 20px;border-top-left-radius:12px;border-top-right-radius:12px}.app-card-header h3{margin:0;color:white;font-size:1.4rem}.app-card-body{padding:25px;flex-grow:1;display:flex;flex-direction:column}.app-card-body ul{flex-grow:1}.example-link{display:inline-block;margin-top:15px;padding:10px 18px;background-color:var(--primary-color);color:white;text-decoration:none;border-radius:5px;font-weight:700;transition:background-color .2s,transform .2s}.example-link:hover{background-color:var(--accent-color);transform:scale(1.05)}.special-topic-section{background-color:#f7feff;border-left:5px solid var(--secondary-color)}.topic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.topic-item{background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:var(--shadow);border-top:4px solid var(--highlight-color)}.topic-item h3{font-size:1.5rem;color:var(--primary-color);border-bottom:2px solid var(--border-color);padding-bottom:.5rem;margin-bottom:1rem}.topic-item h4{font-size:1.2rem;color:var(--secondary-color);font-style:italic}.summary-text{text-align:center;font-size:1.2rem;font-weight:500}.back-to-top{position:fixed;bottom:20px;right:20px;background-color:var(--primary-color);color:white;width:50px;height:50px;border-radius:50%;display:flex;justify-content:center;align-items:center;text-decoration:none;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s,visibility .3s,transform .3s,background-color .3s}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background-color:var(--accent-color)}.back-to-top svg{width:24px;height:24px}

/* --- ่ณ‡ๆ–™่™•็†ๅˆ†้ ๆจฃๅผ --- */
.code-block {background-color: #2d333b; color: #cdd9e5; padding: 20px; border-radius: 8px; margin: 20px 0; overflow-x: auto; border: 1px solid var(--border-color);}.code-block pre {margin: 0; font-family: 'Courier New', Courier, monospace;}.code-block code {font-family: inherit; font-size: 0.95rem; line-height: 1.6; color: #79c0ff;}.step-list {list-style-type: disc; padding-left: 30px;}.step-list li {margin-bottom: 0.5rem;}.step-list ul {margin-top: 0.5rem;}

/* --- ๆ็คบ่ˆ‡็ธฝ็ตๆ–นๅกŠๆจฃๅผ --- */
.screenshot-prompt {background-color: #fff9eb; border-left: 4px solid var(--accent-color); padding: 10px 15px; margin: 15px 0; border-radius: 4px; font-size: 0.95rem;}.screenshot-prompt p {margin: 0; color: var(--text-secondary);}.summary-box {background-color: #e0f7fa; border-left: 4px solid var(--primary-color); padding: 15px 20px; margin: 25px 0 10px 0; border-radius: 4px;}.summary-box p {margin: 0; font-size: 1.05rem; font-weight: 500;}
.workflow-summary {background-color: #f0fff4; border-left: 4px solid #2ea043; padding: 15px 20px; margin: 25px 0 10px 0; border-radius: 4px;}.workflow-summary h5 {margin-top: 0; color: #2ea043; border-bottom: none;}.workflow-summary ol {padding-left: 20px; margin-bottom: 0;}

footer{text-align:center;padding:2rem;margin-top:2rem;background:var(--bg-dark);color:var(--bg-light)}

/* --- โ˜…โ˜…โ˜…โ˜…โ˜… ้Ÿฟๆ‡‰ๅผ็ถฒ้ ่จญ่จˆ (RWD) for Mobile โ˜…โ˜…โ˜…โ˜…โ˜… --- */
@media (max-width: 820px) {
    .nav-container {flex-direction: column; gap: 1rem;}
    .nav-menu {flex-wrap: wrap; justify-content: center; gap: 0.2rem 0.5rem;}
    .nav-link {padding: .4rem .6rem; font-size: 0.9rem;}
    main {padding: 1.5rem 0.5rem;}
    section {padding: 1.5rem;}
    h1 { font-size: 2.5rem; }
    h2 { font-size: 1.8rem; }
    h3 { font-size: 1.4rem; }
    .interpretation-methods, .case-study-steps, .app-grid-expanded, .topic-grid {grid-template-columns: 1fr;}
}