body{margin:0;padding:0}:root{--color-primary: #0088cb;--color-secondary: #014235;--color-accent: #ed1c24;--color-text: #000000;--color-text-light: #404040;--color-background: #ffffff;--color-background-alt: #f5f5f5;--color-border: #e0e0e0;--font-heading: Georgia, "Times New Roman", serif;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--spacing-2xl: 6rem;--max-width: 1200px;--border-radius: 8px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{min-height:100vh}.navbar{background:var(--color-background);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:1000;box-shadow:0 2px 4px #0000001a}.nav-container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-sm) var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:600;color:var(--color-secondary)}.nav-menu{display:flex;list-style:none;gap:var(--spacing-md)}.nav-menu a{color:var(--color-text);text-decoration:none;font-weight:400;transition:color .3s ease;font-size:.95rem}.nav-menu a:hover{color:var(--color-primary)}.hero{position:relative;min-height:80vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#014235,#0088cb);color:var(--color-background);overflow:hidden}.hero-background{position:absolute;top:0;left:0;right:0;bottom:0;opacity:.15;background-image:url(/seashell.webp);background-size:contain;background-position:center;background-repeat:no-repeat}.hero-content{position:relative;z-index:1;max-width:var(--max-width);padding:var(--spacing-2xl) var(--spacing-md);text-align:center}.hero-title{font-family:var(--font-heading);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;line-height:1.2;margin-bottom:var(--spacing-md);letter-spacing:-.02em}.hero-subtitle{font-size:clamp(1rem,2vw,1.25rem);max-width:700px;margin:0 auto var(--spacing-lg);font-weight:300;line-height:1.8;opacity:.95}.hero-buttons{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--border-radius);text-decoration:none;font-weight:500;transition:all .3s ease;cursor:pointer;border:2px solid transparent;font-size:1rem}.btn-primary{background:var(--color-background);color:var(--color-secondary);border-color:var(--color-background)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.btn-secondary{background:transparent;color:var(--color-background);border-color:var(--color-background)}.btn-secondary:hover{background:var(--color-background);color:var(--color-secondary)}.container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-2xl) var(--spacing-md)}.section-title{font-family:var(--font-heading);font-size:clamp(2rem,4vw,3rem);font-weight:300;text-align:center;margin-bottom:var(--spacing-sm);color:var(--color-text)}.section-subtitle{text-align:center;font-size:1.1rem;color:var(--color-text-light);max-width:700px;margin:0 auto var(--spacing-xl);line-height:1.8}.services{background:var(--color-background-alt)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg)}.service-card{background:var(--color-background);padding:var(--spacing-lg);border-radius:var(--border-radius);box-shadow:0 2px 8px #00000014;transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.service-icon{font-size:3rem;margin-bottom:var(--spacing-sm)}.service-card h3{font-family:var(--font-heading);font-size:1.5rem;margin-bottom:var(--spacing-sm);color:var(--color-secondary)}.service-card p{color:var(--color-text-light);line-height:1.7}.expertise{background:var(--color-background);padding:var(--spacing-2xl) 0}.expertise-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;max-width:900px;margin:0 auto}.tech-tag{background:var(--color-background-alt);color:var(--color-text);padding:var(--spacing-xs) var(--spacing-md);border-radius:50px;font-size:.9rem;border:1px solid var(--color-border);transition:all .3s ease}.tech-tag:hover{background:var(--color-primary);color:var(--color-background);border-color:var(--color-primary);transform:translateY(-2px)}.about{background:var(--color-background-alt)}.about-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-xl);align-items:start}.about-text p{margin-bottom:var(--spacing-md);color:var(--color-text-light);line-height:1.8;font-size:1.05rem}.about-highlights{display:flex;flex-direction:column;gap:var(--spacing-md)}.highlight-card{background:var(--color-background);padding:var(--spacing-md);border-radius:var(--border-radius);text-align:center;box-shadow:0 2px 8px #00000014}.highlight-card h3{font-family:var(--font-heading);font-size:2.5rem;color:var(--color-primary);margin-bottom:var(--spacing-xs);font-weight:400}.highlight-card p{color:var(--color-text-light);font-size:.9rem}.contact{background:var(--color-background);text-align:center}.contact-info{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center;margin-top:var(--spacing-lg)}.contact-link{display:inline-block;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-background-alt);color:var(--color-text);text-decoration:none;border-radius:var(--border-radius);transition:all .3s ease;font-size:1.1rem;min-width:300px}.contact-link:hover{background:var(--color-primary);color:var(--color-background);transform:translateY(-2px);box-shadow:0 4px 12px #0088cb4d}.footer{background:var(--color-secondary);color:var(--color-background);text-align:center;padding:var(--spacing-lg)}.footer p{font-size:.9rem;opacity:.8}@media (max-width: 768px){.nav-menu{gap:var(--spacing-sm)}.nav-menu a{font-size:.85rem}.hero{min-height:70vh}.hero-content{padding:var(--spacing-xl) var(--spacing-md)}.services-grid,.about-content{grid-template-columns:1fr}.about-highlights{flex-direction:row}.container{padding:var(--spacing-xl) var(--spacing-sm)}}@media (max-width: 480px){.nav-container{flex-direction:column;gap:var(--spacing-sm)}.hero-buttons{flex-direction:column;align-items:stretch}.btn{width:100%;text-align:center}.about-highlights{flex-direction:column}.contact-link{min-width:auto;width:100%}}.hermitcrab-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.hermitcrab-auth{width:100%;max-width:400px}.auth-box{background:#fff;border-radius:12px;padding:40px;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:36px;margin:0;color:#333;font-weight:600}.auth-header p{font-size:14px;color:#666;margin:8px 0 0}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:500;color:#333;margin-bottom:8px}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:8px;font-size:14px;transition:all .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:8px;font-size:14px;margin-bottom:20px;border-left:4px solid #c33}.btn-login{width:100%;padding:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.btn-login:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.btn-login:disabled{opacity:.7;cursor:not-allowed}.hermitcrab-dashboard{background:#fff;border-radius:12px;padding:40px;box-shadow:0 20px 60px #0000004d;width:100%;max-width:1000px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #eee}.header-left h1{font-size:32px;margin:0;color:#333;font-weight:600}.header-left p{font-size:14px;color:#666;margin:4px 0 0}.btn-logout{padding:10px 20px;background-color:#ff6b6b;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease}.btn-logout:hover{background-color:#ff5252;transform:translateY(-2px)}.upload-area{border:2px dashed #ddd;border-radius:12px;padding:40px;text-align:center;cursor:pointer;transition:all .3s ease;margin-bottom:30px;background-color:#fafafa}.upload-area:hover{border-color:#667eea;background-color:#f0f4ff}.upload-area.drag-active{border-color:#667eea;background-color:#f0f4ff;box-shadow:0 0 0 4px #667eea1a}.upload-content{pointer-events:none}.upload-icon{font-size:48px;margin-bottom:16px}.upload-area h3{margin:0 0 8px;color:#333;font-size:18px}.upload-area p{color:#999;font-size:14px;margin:8px 0}.upload-button{display:inline-block;padding:10px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;pointer-events:all;transition:all .3s ease}.upload-button:hover{transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.uploading-text{color:#667eea;font-size:14px;margin-top:12px;font-weight:500}.files-section{margin-top:30px}.files-section h2{margin:0 0 20px;color:#333;font-size:20px}.loading,.empty-state{text-align:center;padding:40px 20px;color:#999;font-size:14px}.empty-state{background-color:#fafafa;border-radius:8px}.files-table{border:1px solid #eee;border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:1fr 120px 180px 100px;gap:16px;padding:16px;background-color:#f9f9f9;border-bottom:1px solid #eee;font-weight:600;color:#666;font-size:13px;text-transform:uppercase;letter-spacing:.5px}.table-row{display:grid;grid-template-columns:1fr 120px 180px 100px;gap:16px;padding:16px;align-items:center;border-bottom:1px solid #eee;transition:background-color .2s ease}.table-row:last-child{border-bottom:none}.table-row:hover{background-color:#fafafa}.col-name{display:flex;align-items:center;gap:12px;overflow:hidden}.file-icon{font-size:20px;flex-shrink:0}.file-name{color:#333;font-weight:500;word-break:break-all;font-size:14px}.col-size,.col-date{color:#666;font-size:14px}.col-actions{display:flex;gap:8px;justify-content:flex-end}.btn-action{padding:8px 12px;border:none;border-radius:6px;cursor:pointer;font-size:16px;transition:all .2s ease;background-color:#f0f0f0}.btn-action:hover{background-color:#e0e0e0;transform:translateY(-1px)}.btn-download:hover{background-color:#e3f2fd}.btn-delete:hover{background-color:#ffebee}@media (max-width: 768px){.hermitcrab-container{padding:10px}.auth-box{padding:30px 20px}.hermitcrab-dashboard{padding:20px}.dashboard-header{flex-direction:column;align-items:flex-start;gap:16px}.btn-logout{align-self:flex-start}.header-left h1{font-size:24px}.upload-area{padding:30px 20px}.upload-icon{font-size:36px}.upload-area h3{font-size:16px}.table-header,.table-row{grid-template-columns:1fr;gap:8px;padding:12px}.col-size,.col-date,.col-actions{display:none}.table-row{border:1px solid #eee;border-radius:8px;margin-bottom:12px}.table-row:hover{background-color:#fff}.col-name{padding-bottom:8px;border-bottom:1px solid #eee}.col-actions{display:flex;width:100%;padding-top:8px}}
