:root{font-family:Noto Sans KR,Noto Sans JP,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:#333;background-color:#f5f7fa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{line-height:1.3}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:all .25s}select{font-family:inherit}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Noto Sans KR,Noto Sans JP,sans-serif;background:#f5f7fa;color:#333;min-height:100vh}#root,.app{min-height:100vh}.main-layout{display:flex;min-height:100vh}.navigation{width:280px;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;padding:1.5rem;position:fixed;height:100vh;overflow-y:auto}.nav-brand{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.nav-brand a{text-decoration:none;color:#fff}.nav-brand h1{font-size:1.2rem;margin-bottom:.3rem}.nav-brand span{font-size:.8rem;opacity:.7}.nav-seasons h3,.nav-visualizations h3{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;opacity:.7;margin-bottom:.8rem}.season-buttons{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:2rem}.season-btn{display:flex;flex-direction:column;align-items:center;padding:.8rem .5rem;border:2px solid;border-radius:8px;text-decoration:none;color:#fff;transition:all .3s;font-size:.9rem}.season-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000004d}.season-btn.active{color:#333}.season-jp{font-size:.7rem;opacity:.8;margin-top:.2rem}.nav-visualizations ul{list-style:none}.nav-visualizations li{margin-bottom:.3rem}.nav-visualizations a{display:block;padding:.7rem 1rem;color:#fffc;text-decoration:none;border-radius:6px;transition:all .2s;font-size:.9rem}.nav-visualizations a:hover{background:#ffffff1a;color:#fff}.nav-visualizations a.active{background:#ffffff26;color:#fff;font-weight:600}.viz-en{display:block;font-size:.7rem;opacity:.6;margin-top:.1rem}.main-content{flex:1;margin-left:280px;padding:2rem;min-height:100vh}.page{max-width:1200px;margin:0 auto}.page-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid}.page-header h2{font-size:1.8rem;margin-bottom:.5rem}.page-header p{color:#666}.page-content{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 2px 12px #00000014;margin-bottom:2rem}.description{color:#666;margin-bottom:1.5rem;line-height:1.6}.data-table,.tfidf-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 12px #00000014;margin-top:2rem}.data-table h3,.tfidf-section h3{margin-bottom:1rem;font-size:1.2rem;color:#333}table{width:100%;border-collapse:collapse}th,td{padding:.8rem 1rem;text-align:left;border-bottom:1px solid #eee}th{background:#f8f9fa;font-weight:600;font-size:.9rem;color:#555}tr:hover{background:#f8f9fa}.wordcloud-container{display:flex;justify-content:center;overflow:hidden}.graph-container h3{text-align:center;margin-bottom:1rem;color:#333}.ngram-container{display:flex;justify-content:center}.matrix-container{display:flex;justify-content:center;overflow:auto}.concor-container{display:flex;flex-direction:column;align-items:center}.cluster-info{margin-top:2rem;width:100%;max-width:600px}.cluster-info h4{margin-bottom:1rem}.cluster-item{background:#f8f9fa;margin-bottom:.5rem;border-radius:6px;padding:1rem 1rem 1rem 1.5rem}.cluster-words{margin-top:.5rem;font-size:.9rem;color:#666}.shortest-path-container{display:flex;flex-direction:column;align-items:center}.controls{display:flex;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap;justify-content:center}.control-group{display:flex;flex-direction:column;gap:.3rem}.control-group label{font-size:.85rem;font-weight:600;color:#555}.control-group select{padding:.5rem 1rem;border:2px solid #ddd;border-radius:6px;font-size:.9rem;min-width:150px}.control-group select:focus{outline:none;border-color:#4a90a4}.path-result{background:#f0f7ff;padding:1.5rem;border-radius:8px;margin-bottom:1rem;width:100%;max-width:500px}.path-result h4{margin-bottom:.8rem;color:#2196f3}.path-result p{margin-bottom:.4rem}.legend{display:flex;gap:1.5rem;margin-bottom:1rem;flex-wrap:wrap;justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.dot{width:16px;height:16px;border-radius:50%}.dot.source{background:#4caf50}.dot.target{background:#2196f3}.dot.path{background:#ff9800}.line{width:24px;height:4px}.line.path-line{background:#f44}.home-page{max-width:1200px;margin:0 auto;padding:2rem}.hero{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#fff;border-radius:16px;margin-bottom:3rem}.hero h1{font-size:2.5rem;margin-bottom:.5rem}.hero h2{font-size:1.5rem;font-weight:400;opacity:.9;margin-bottom:1rem}.hero p{opacity:.8;font-size:1rem}.datasets-section,.visualizations-section,.data-info-section{margin-bottom:3rem}.datasets-section h2,.visualizations-section h2,.data-info-section h2{text-align:center;margin-bottom:2rem;font-size:1.5rem}.dataset-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.dataset-card{display:flex;flex-direction:column;align-items:center;padding:2rem;border:3px solid;border-radius:12px;text-decoration:none;color:#333;transition:all .3s;position:relative;overflow:hidden}.dataset-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px #00000026}.dataset-card h3{font-size:1.5rem;margin-bottom:.5rem}.dataset-card p{opacity:.8}.card-decoration{position:absolute;bottom:0;left:0;right:0;height:5px}.viz-list,.data-types{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.viz-item,.data-type{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #00000014}.viz-item h4,.data-type h4{margin-bottom:.5rem;color:#333}.viz-item p,.data-type p{color:#666;font-size:.9rem}@media(max-width:768px){.navigation{width:100%;height:auto;position:relative}.main-content{margin-left:0}.main-layout{flex-direction:column}.season-buttons{grid-template-columns:repeat(4,1fr)}.controls{flex-direction:column;align-items:stretch}.hero h1{font-size:1.8rem}.hero h2{font-size:1.2rem}}
