:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@font-face{font-family:PlayFair;src:url(/fonts/PlayfairDisplay-VariableFont_wght.ttf) format("opentype");font-style:normal;font-weight:100 900}@font-face{font-family:PlayFair;src:url(/fonts/PlayfairDisplay-Italic-VariableFont_wght.ttf) format("opentype");font-style:italic;font-weight:100 900}@font-face{font-family:WenKai;src:url(/fonts/LXGWWenKaiTC-Regular.ttf) format("opentype");font-style:normal;font-weight:400}@font-face{font-family:WenKai;src:url(/fonts/LXGWWenKaiTC-Bold.ttf) format("opentype");font-style:normal;font-weight:700}@font-face{font-family:Comfortaa;src:url(/fonts/Comfortaa-Light.ttf) format("opentype");font-style:normal;font-weight:300}@font-face{font-family:Comfortaa;src:url(/fonts/Comfortaa-Regular.ttf) format("opentype");font-style:normal;font-weight:400}@font-face{font-family:Comfortaa;src:url(/fonts/Comfortaa-Bold.ttf) format("opentype");font-style:normal;font-weight:700}.landing-container{display:flex;justify-content:center;align-items:center;width:100vw;height:100vh;background:#e6e5db;margin:0;padding:0;overflow:hidden;position:fixed;top:0;left:0}.logo-title-section{position:absolute;top:2rem;left:2rem;display:flex;align-items:center;z-index:10;gap:.5rem}.landing-content{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%}.gallery-wrapper{width:100vw;height:600px;position:relative}.weave-title{font-family:Wenkai,serif;font-style:bold;font-size:1.5rem;color:#000;margin:0}.weave-subtitle{font-family:WenKai,serif;font-weight:500;font-size:2.5rem;color:#555;margin:0;text-align:center}.login-btn{position:absolute;top:2rem;right:2rem;padding:.8rem 2.5rem;font-size:1rem;font-weight:600;color:#000;background-color:#e6e5db;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;z-index:10;font-family:PlayFair,serif}.login-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3f3e3e4d}.login-btn:active{transform:translateY(0)}.copyright-footer{position:absolute;bottom:1rem;left:0;right:0;text-align:center;z-index:10}.copyright-footer p{font-family:Comfortaa,serif;font-size:.7rem;color:#666;margin:0}.circular-gallery{width:100%;height:100%;overflow:hidden;cursor:grab}.circular-gallery:active{cursor:grabbing}.login-container{display:flex;width:100vw;height:100vh;margin:0;padding:0;overflow:hidden;position:relative}.login-left{flex:1;display:flex;justify-content:center;align-items:center;background:#e6e5db;padding:2rem}.login-right{flex:2;overflow:hidden}.login-right img{width:100%;height:100vh;object-fit:cover}.login-box{background:transparent;padding:3rem;border-radius:20px;box-shadow:none;width:100%;max-width:600px}.login-title{font-size:2rem;font-weight:700;color:#333;margin:0 0 2rem;text-align:center;font-family:PlayFair,sans-serif}.login-form{display:flex;flex-direction:column;gap:1.5rem;font-family:PlayFair,sans-serif}.form-field{display:flex;flex-direction:column;gap:.5rem;font-family:PlayFair,sans-serif}.form-field label{font-size:.9rem;font-weight:600;color:#555;font-family:PlayFair,sans-serif}.form-field input{padding:.75rem 1rem;font-size:1rem;border:2px solid #e0e0e0;border-radius:10px;background:#fff;color:#333;transition:border-color .3s ease;font-family:PlayFair,sans-serif}.form-field input:focus{outline:none;border-color:gray;font-family:PlayFair,sans-serif}.error-message{color:#d32f2f;font-size:.9rem;padding:.75rem;background:#ffebee;border-radius:8px;text-align:center;font-family:PlayFair,sans-serif}.login-submit-btn{padding:.875rem;font-size:1.1rem;font-weight:600;color:#000;background:#e6cb8e;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;margin-top:1rem;font-family:PlayFair,sans-serif}.login-submit-btn:disabled{opacity:.6;cursor:not-allowed}.login-submit-btn:hover{transform:translateY(-2px);box-shadow:0 4px 15px gray}.login-submit-btn:active{transform:translateY(0)}.back-button{position:absolute;top:2rem;left:2rem;padding:.8rem 2.5rem;font-size:1rem;font-weight:600;color:#000;background-color:#e6e5db;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;z-index:10;font-family:PlayFair,serif}.back-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3f3e3e4d}*{margin:0;padding:0;box-sizing:border-box}body{font-family:PlayFair,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#fff;color:#1a1a1a}.page-container{display:grid;grid-template-columns:1fr 1.5fr 1fr;height:100vh;position:fixed;inset:0;background:#e6e5db;overflow:hidden}.left-section{padding:2rem;display:flex;align-items:flex-start;justify-content:center}.right-section{padding:2rem;display:flex;align-items:flex-start;justify-content:flex-end}.left-content{display:flex;flex-direction:column;align-items:center;gap:20px}.logo-title-section{display:flex;align-items:center;gap:.5rem}.weave-logo{width:30px;height:30px;object-fit:contain}.weave-title{font-family:WenKai,serif;font-style:bold;font-size:1.5rem;color:#000;margin:0}.logout-btn{padding:.8rem 2.5rem;font-size:1rem;font-weight:600;color:#000;background-color:#e6e5db;border:none;border-radius:15px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0003;font-family:PlayFair,serif}.logout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #3f3e3e4d}.logout-btn:active{transform:translateY(0)}.add-timeline-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 15px;background:#000;border-radius:10px;cursor:pointer;transition:all .3s ease}.add-timeline-btn:hover{background:#575757;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #83838326;border-color:#333}.btn-icon{font-size:24px;font-weight:300;line-height:1}.btn-text{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.middle-section{background:#fffaf0;box-shadow:-20px 0 40px #0000001a,20px 0 40px #0000001a;position:relative;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;-ms-overflow-style:none}.middle-section::-webkit-scrollbar{display:none}.timeline-container{max-width:1400px;margin:0 auto;padding:60px;background:#fffaf0}.timeline-button-container{display:flex;justify-content:center;margin-bottom:40px}.timeline{position:relative;padding:0}.timeline:before{content:"";position:absolute;left:50%;top:60px;bottom:0;width:4px;background:#1a1a1a;transform:translate(-50%);z-index:1}.timeline-start{display:flex;justify-content:center;padding:0 0 60px;position:relative}.timeline-start-content{display:flex;flex-direction:column;align-items:center;gap:15px}.timeline-end{display:flex;justify-content:center;padding:60px 0 0;position:relative}.timeline-item-left,.timeline-item-right{display:grid;grid-template-columns:1fr 40px 1fr;gap:10px;margin-bottom:80px;align-items:start;position:relative}.timeline-item-left:last-child,.timeline-item-right:last-child{margin-bottom:0}.timeline-content-left{display:flex;flex-direction:column;align-items:flex-end;text-align:right}.timeline-content-right{display:flex;flex-direction:column;align-items:flex-start;text-align:left}.timeline-image-right{display:flex;justify-content:flex-start}.timeline-image-left{display:flex;justify-content:flex-end}.timeline-date-box{display:inline-block;margin-bottom:10px}.timeline-duration{display:inline-block;background:#fff;color:#666;padding:8px 16px;font-size:8px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;border:2px solid #1a1a1a;border-radius:10px;white-space:nowrap}.timeline-content{max-width:400px}.timeline-title{font-size:15px;font-weight:600;color:#1a1a1a;margin-bottom:12px;letter-spacing:-.02em;line-height:1.2}.timeline-description{color:#666;line-height:1.6;font-size:12px;font-weight:400}.timeline-center{display:flex;flex-direction:column;align-items:center;position:relative;padding-top:13px;grid-column:2}.timeline-dot{width:10px;height:10px;background:#1a1a1a;border-radius:50%;position:relative;z-index:2;flex-shrink:0}.timeline-line{display:none}.timeline-image{width:100%;max-width:500px;height:280px;border-radius:16px;overflow:hidden;background:#f5f5f5;box-shadow:0 4px 20px #00000014}.timeline-image img{width:100%;height:100%;object-fit:cover;display:block}.timeline-item-left,.timeline-item-right{transition:transform .3s ease}.timeline-item-left:hover .timeline-dot,.timeline-item-right:hover .timeline-dot{transform:scale(1.5);transition:transform .3s ease}.timeline-item-left:hover .timeline-image,.timeline-item-right:hover .timeline-image{box-shadow:0 8px 30px #0000001f;transition:box-shadow .3s ease}@media(max-width:968px){.page-container{grid-template-columns:1fr}.left-section,.right-section{display:none}.timeline-item-left,.timeline-item-right{grid-template-columns:40px 1fr;gap:20px;margin-bottom:60px}.timeline-content-left,.timeline-content-right{grid-column:2;align-items:flex-start;text-align:left;order:2}.timeline-center{grid-column:1;grid-row:1 / 3;order:1}.timeline-image-left,.timeline-image-right{grid-column:2;order:3;margin-top:20px;justify-content:flex-start}.timeline-content{max-width:100%}.timeline-title{font-size:24px}.timeline-description{font-size:14px}.timeline-image{height:200px}.timeline-line{bottom:-60px}.timeline-duration{font-size:10px;padding:6px 12px}}@media(max-width:640px){.timeline-container{padding:40px 20px}.timeline-item{margin-bottom:50px}.timeline-title{font-size:20px}.timeline-image{height:160px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.timeline-item-left,.timeline-item-right{animation:fadeInUp .6s ease-out backwards}.timeline-item-left:nth-child(1),.timeline-item-right:nth-child(1){animation-delay:.1s}.timeline-item-left:nth-child(2),.timeline-item-right:nth-child(2){animation-delay:.2s}.timeline-item-left:nth-child(3),.timeline-item-right:nth-child(3){animation-delay:.3s}.timeline-item-left:nth-child(4),.timeline-item-right:nth-child(4){animation-delay:.4s}.timeline-item-left:nth-child(5),.timeline-item-right:nth-child(5){animation-delay:.5s}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#e6e5db;border-radius:16px;padding:30px;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease;font-family:PlayFair}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.modal-header h2{font-size:24px;font-weight:600;color:#1a1a1a;margin:0}.close-btn{background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:#666;transition:color .2s ease;padding:0;width:32px;height:32px}.close-btn:hover{color:#1a1a1a}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#1a1a1a;margin-bottom:8px}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-family:PlayFair;font-size:14px;background:#fff;color:#333;transition:border-color .2s ease}.form-group input[type=file]{padding:8px 12px;cursor:pointer}.form-group input[type=file]:disabled{opacity:.5;cursor:not-allowed}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#1a1a1a}.form-group textarea{resize:vertical;min-height:100px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px}.cancel-btn,.submit-btn{padding:12px 24px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:PlayFair}.cancel-btn{background:#f5f5f5;border:2px solid #e0e0e0;color:#666}.cancel-btn:hover:not(:disabled){background:#e0e0e0;color:#1a1a1a;border-color:#666}.cancel-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn{background:#1a1a1a;border:2px solid #1a1a1a;color:#fff}.submit-btn:hover:not(:disabled){background:#333;border-color:#333}.submit-btn:disabled{opacity:.5;cursor:not-allowed}
