:root{--marine-primary:#1e3a8a;--marine-secondary:#3b82f6;--marine-accent:#06b6d4;--marine-light:#e0f2fe;--marine-dark:#0c4a6e;--marine-success:#10b981;--marine-warning:#f59e0b;--marine-error:#ef4444;--marine-info:#3b82f6;--marine-gray-50:#f8fafc;--marine-gray-100:#f1f5f9;--marine-gray-200:#e2e8f0;--marine-gray-300:#cbd5e1;--marine-gray-400:#94a3b8;--marine-gray-500:#64748b;--marine-gray-600:#475569;--marine-gray-700:#334155;--marine-gray-800:#1e293b;--marine-gray-900:#0f172a;--marine-text-primary:var(--marine-gray-800);--marine-text-secondary:var(--marine-gray-600);--marine-text-muted:var(--marine-gray-500);--marine-text-light:var(--marine-gray-400);--marine-bg-primary:#ffffff;--marine-bg-secondary:var(--marine-gray-50);--marine-bg-tertiary:var(--marine-gray-100);--marine-border-light:var(--marine-gray-200);--marine-border-medium:var(--marine-gray-300);--marine-border-dark:var(--marine-gray-400);--marine-shadow-light:rgba(30, 58, 138, 0.1);--marine-shadow-medium:rgba(30, 58, 138, 0.15);--marine-shadow-dark:rgba(30, 58, 138, 0.2);--marine-gradient-primary:linear-gradient(135deg, var(--marine-primary) 0%, var(--marine-secondary) 100%);--marine-gradient-accent:linear-gradient(135deg, var(--marine-accent) 0%, var(--marine-light) 100%);--marine-gradient-dark:linear-gradient(135deg, var(--marine-dark) 0%, var(--marine-primary) 100%);--marine-transition-fast:0.15s ease;--marine-transition-normal:0.3s ease;--marine-transition-slow:0.5s ease;--marine-spacing-xs:0.25rem;--marine-spacing-sm:0.5rem;--marine-spacing-md:1rem;--marine-spacing-lg:1.5rem;--marine-spacing-xl:2rem;--marine-spacing-2xl:3rem;--marine-radius-sm:0.25rem;--marine-radius-md:0.5rem;--marine-radius-lg:0.75rem;--marine-radius-xl:1rem;--marine-font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;--marine-font-mono:'JetBrains Mono', 'Fira Code', monospace;--calculator-header-bg:var(--marine-gradient-primary);--calculator-panel-bg:var(--marine-bg-primary);--calculator-panel-border:var(--marine-border-light);--calculator-input-bg:var(--marine-bg-secondary);--calculator-result-bg:var(--marine-light);--calculator-accent-bg:var(--marine-accent);--calculator-shadow:var(--marine-shadow-medium);--calculator-hover-bg:var(--marine-gray-100);--calculator-focus-border:var(--marine-accent);--calculator-focus-shadow:0 0 0 3px rgba(6, 182, 212, 0.1);--calculator-status-good:var(--marine-success);--calculator-status-warning:var(--marine-warning);--calculator-status-error:var(--marine-error);--calculator-status-info:var(--marine-info)}@media (prefers-color-scheme:dark){:root{--marine-primary:#3b82f6;--marine-secondary:#60a5fa;--marine-accent:#22d3ee;--marine-light:#164e63;--marine-dark:#0c4a6e;--marine-bg-primary:#0f172a;--marine-bg-secondary:#1e293b;--marine-bg-tertiary:#334155;--marine-text-primary:#f1f5f9;--marine-text-secondary:#cbd5e1;--marine-text-muted:#94a3b8;--marine-border-light:#334155;--marine-border-medium:#475569;--marine-border-dark:#64748b;--marine-shadow-light:rgba(59, 130, 246, 0.1);--marine-shadow-medium:rgba(59, 130, 246, 0.15);--marine-shadow-dark:rgba(59, 130, 246, 0.2);--calculator-panel-bg:var(--marine-bg-secondary);--calculator-input-bg:var(--marine-bg-tertiary);--calculator-result-bg:var(--marine-light);--calculator-hover-bg:var(--marine-bg-tertiary)}}@media (prefers-contrast:high){:root{--marine-primary:#000080;--marine-secondary:#0000ff;--marine-accent:#00ffff;--marine-text-primary:#000000;--marine-text-secondary:#333333;--marine-border-light:#666666;--marine-border-medium:#333333;--marine-border-dark:#000000}}@media (prefers-reduced-motion:reduce){:root{--marine-transition-fast:0s;--marine-transition-normal:0s;--marine-transition-slow:0s}}.marine-theme{font-family:var(--marine-font-family);font-size:16px;line-height:1.6;color:var(--marine-text-primary);background-color:var(--marine-bg-primary);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.marine-header{background:var(--calculator-header-bg);color:#fff;padding:var(--marine-spacing-xl) 0;position:relative;overflow:hidden}.marine-header::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Ccircle cx='30' cy='30' r='2'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");opacity:.3}.marine-header-content{position:relative;z-index:1;max-width:1400px;margin:0 auto;padding:0 var(--marine-spacing-xl);display:flex;justify-content:space-between;align-items:center}.marine-header h1{color:#fff;font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px rgb(0 0 0 / .1)}.marine-header-subtitle{color:rgb(255 255 255 / .9);font-size:1.125rem;margin-top:var(--marine-spacing-sm);font-weight:400}.marine-status-indicator{display:flex;align-items:center;gap:var(--marine-spacing-sm);background:rgb(255 255 255 / .1);padding:var(--marine-spacing-sm) var(--marine-spacing-md);border-radius:var(--marine-radius-lg);backdrop-filter:blur(10px);border:1px solid rgb(255 255 255 / .2)}.marine-status-dot{width:8px;height:8px;border-radius:50%;background:var(--marine-success);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.marine-status-text{color:#fff;font-weight:500;font-size:.875rem}.marine-calculator{max-width:1400px;margin:0 auto;padding:var(--marine-spacing-xl);background:var(--marine-bg-secondary);min-height:100vh}.marine-panel{background:var(--calculator-panel-bg);border-radius:var(--marine-radius-lg);padding:var(--marine-spacing-xl);box-shadow:var(--calculator-shadow);border:1px solid var(--calculator-panel-border);transition:all var(--marine-transition-normal);position:relative;overflow:hidden}.marine-panel::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:var(--marine-gradient-accent);opacity:0;transition:opacity var(--marine-transition-normal)}.marine-panel:hover::before{opacity:1}.marine-panel:hover{transform:translateY(-2px);box-shadow:var(--marine-shadow-dark)}.marine-panel-header{display:flex;align-items:center;margin-bottom:var(--marine-spacing-xl);padding-bottom:var(--marine-spacing-lg);border-bottom:2px solid var(--marine-border-light)}.marine-panel-icon{width:24px;height:24px;margin-right:var(--marine-spacing-md);color:var(--marine-accent);flex-shrink:0}.marine-panel-title{font-size:1.5rem;font-weight:600;color:var(--marine-primary);margin:0;flex:1}.marine-input-group{margin-bottom:var(--marine-spacing-xl);position:relative}.marine-input-label{display:block;font-weight:500;color:var(--marine-text-primary);margin-bottom:var(--marine-spacing-sm);font-size:.875rem;text-transform:uppercase;letter-spacing:.05em;cursor:pointer}.marine-input-wrapper{position:relative;display:flex;align-items:center}.marine-input-field{width:100%;padding:var(--marine-spacing-md) var(--marine-spacing-lg);border:2px solid var(--marine-border-light);border-radius:var(--marine-radius-md);font-size:1rem;font-weight:500;color:var(--marine-text-primary);background:var(--calculator-input-bg);transition:all var(--marine-transition-fast);font-family:var(--marine-font-mono)}.marine-input-field:focus{outline:none;border-color:var(--calculator-focus-border);box-shadow:var(--calculator-focus-shadow);background:var(--marine-bg-primary)}.marine-input-field:hover{border-color:var(--marine-accent)}.marine-input-unit{position:absolute;right:var(--marine-spacing-lg);color:var(--marine-text-muted);font-size:.875rem;font-weight:500;pointer-events:none;background:var(--marine-bg-primary);padding:var(--marine-spacing-xs) var(--marine-spacing-sm);border-radius:var(--marine-radius-sm);border:1px solid var(--marine-border-light)}.marine-select-field{width:100%;padding:var(--marine-spacing-md) var(--marine-spacing-lg);border:2px solid var(--marine-border-light);border-radius:var(--marine-radius-md);font-size:1rem;font-weight:500;color:var(--marine-text-primary);background:var(--calculator-input-bg);cursor:pointer;transition:all var(--marine-transition-fast);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%2364748b' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--marine-spacing-md) center;padding-right:var(--marine-spacing-xl)}.marine-select-field:focus{outline:none;border-color:var(--calculator-focus-border);box-shadow:var(--calculator-focus-shadow);background-color:var(--marine-bg-primary)}.marine-select-field:hover{border-color:var(--marine-accent)}.marine-range-slider{width:100%;height:8px;border-radius:var(--marine-radius-sm);background:var(--marine-border-light);outline:none;cursor:pointer;appearance:none;transition:all var(--marine-transition-fast)}.marine-range-slider::-webkit-slider-thumb{appearance:none;width:20px;height:20px;border-radius:50%;background:var(--marine-accent);cursor:pointer;box-shadow:0 2px 4px var(--marine-shadow-light);transition:all var(--marine-transition-fast);border:2px solid #fff}.marine-range-slider::-webkit-slider-thumb:hover{background:var(--marine-primary);transform:scale(1.1);box-shadow:0 4px 8px var(--marine-shadow-medium)}.marine-range-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--marine-accent);cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px var(--marine-shadow-light)}.marine-range-value{display:inline-block;margin-left:var(--marine-spacing-md);padding:var(--marine-spacing-xs) var(--marine-spacing-md);background:var(--marine-accent);color:#fff;border-radius:20px;font-size:.875rem;font-weight:600;min-width:60px;text-align:center;box-shadow:0 2px 4px var(--marine-shadow-light)}.marine-result-item{display:flex;justify-content:space-between;align-items:center;padding:var(--marine-spacing-lg);margin-bottom:var(--marine-spacing-md);background:var(--calculator-result-bg);border-radius:var(--marine-radius-md);border-left:4px solid var(--marine-accent);transition:all var(--marine-transition-normal);position:relative}.marine-result-item:hover{background:var(--marine-bg-primary);transform:translateX(4px);box-shadow:var(--marine-shadow-light)}.marine-result-label{font-weight:500;color:var(--marine-text-primary);font-size:.875rem;flex:1}.marine-result-value{font-weight:700;color:var(--marine-primary);font-size:1rem;font-family:var(--marine-font-mono);text-align:right;flex-shrink:0}.marine-result-unit{font-size:.75rem;color:var(--marine-text-muted);margin-left:var(--marine-spacing-xs);font-weight:500}.marine-status-good{border-left-color:var(--calculator-status-good);background:linear-gradient(90deg,rgb(16 185 129 / .05) 0%,transparent 100%)}.marine-status-warning{border-left-color:var(--calculator-status-warning);background:linear-gradient(90deg,rgb(245 158 11 / .05) 0%,transparent 100%)}.marine-status-error{border-left-color:var(--calculator-status-error);background:linear-gradient(90deg,rgb(239 68 68 / .05) 0%,transparent 100%)}.marine-status-info{border-left-color:var(--calculator-status-info);background:linear-gradient(90deg,rgb(59 130 246 / .05) 0%,transparent 100%)}.marine-action-button{background:var(--marine-gradient-primary);color:#fff;border:none;padding:var(--marine-spacing-md) var(--marine-spacing-xl);border-radius:var(--marine-radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--marine-transition-normal);box-shadow:0 4px 6px var(--marine-shadow-light);position:relative;overflow:hidden}.marine-action-button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(255 255 255 / .2),transparent);transition:left var(--marine-transition-normal)}.marine-action-button:hover::before{left:100%}.marine-action-button:hover{background:var(--marine-gradient-dark);transform:translateY(-2px);box-shadow:0 6px 12px var(--marine-shadow-medium)}.marine-action-button:active{transform:translateY(0)}.marine-action-button.secondary{background:linear-gradient(135deg,var(--marine-gray-500) 0%,var(--marine-gray-600) 100%)}.marine-action-button.secondary:hover{background:linear-gradient(135deg,var(--marine-gray-600) 0%,var(--marine-gray-700) 100%)}.marine-action-button.success{background:linear-gradient(135deg,var(--marine-success) 0%,#059669 100%)}.marine-action-button.success:hover{background:linear-gradient(135deg,#059669 0%,#047857 100%)}.marine-card{background:var(--calculator-panel-bg);border:2px solid var(--marine-border-light);border-radius:var(--marine-radius-lg);padding:var(--marine-spacing-xl);margin-bottom:var(--marine-spacing-lg);cursor:pointer;transition:all var(--marine-transition-normal);position:relative;overflow:hidden}.marine-card::before{content:'';position:absolute;top:0;left:0;width:4px;height:100%;background:var(--marine-accent);transform:scaleY(0);transition:transform var(--marine-transition-normal);transform-origin:top}.marine-card:hover::before{transform:scaleY(1)}.marine-card:hover{border-color:var(--marine-accent);box-shadow:0 4px 12px var(--marine-shadow-light);transform:translateY(-2px)}.marine-card.selected{border-color:var(--marine-accent);background:var(--marine-light);box-shadow:0 4px 12px var(--marine-shadow-medium)}.marine-card.selected::before{transform:scaleY(1)}.marine-spec-item{display:flex;justify-content:space-between;font-size:.875rem;margin-bottom:var(--marine-spacing-sm);padding:var(--marine-spacing-xs) 0;border-bottom:1px solid var(--marine-border-light)}.marine-spec-item:last-child{border-bottom:none;margin-bottom:0}.marine-spec-label{color:var(--marine-text-muted);font-weight:500}.marine-spec-value{font-weight:600;color:var(--marine-text-primary);font-family:var(--marine-font-mono)}.marine-chart-container{background:var(--calculator-panel-bg);border-radius:var(--marine-radius-lg);padding:var(--marine-spacing-xl);margin-bottom:var(--marine-spacing-xl);box-shadow:var(--calculator-shadow);border:1px solid var(--calculator-panel-border)}.marine-chart-title{font-size:1.25rem;font-weight:600;color:var(--marine-primary);margin-bottom:var(--marine-spacing-xl);text-align:center;position:relative}.marine-chart-title::after{content:'';position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);width:60px;height:3px;background:var(--marine-gradient-accent);border-radius:2px}.marine-system-diagram{background:var(--calculator-panel-bg);border-radius:var(--marine-radius-lg);padding:var(--marine-spacing-xl);margin-bottom:var(--marine-spacing-xl);box-shadow:var(--calculator-shadow);border:1px solid var(--calculator-panel-border)}.marine-loading{position:relative;overflow:hidden}.marine-loading::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgb(6 182 212 / .2),transparent);animation:marine-loading 1.5s infinite}@keyframes marine-loading{0%{left:-100%}100%{left:100%}}.marine-error-message{background:linear-gradient(135deg,rgb(239 68 68 / .1) 0%,rgb(239 68 68 / .05) 100%);color:var(--marine-error);padding:var(--marine-spacing-md);border-radius:var(--marine-radius-md);margin-bottom:var(--marine-spacing-lg);border-left:4px solid var(--marine-error);font-size:.875rem;font-weight:500}.marine-success-message{background:linear-gradient(135deg,rgb(16 185 129 / .1) 0%,rgb(16 185 129 / .05) 100%);color:var(--marine-success);padding:var(--marine-spacing-md);border-radius:var(--marine-radius-md);margin-bottom:var(--marine-spacing-lg);border-left:4px solid var(--marine-success);font-size:.875rem;font-weight:500}.marine-tooltip{position:relative;cursor:help;border-bottom:1px dotted var(--marine-text-muted)}.marine-tooltip::after{content:attr(data-tooltip);position:absolute;bottom:125%;left:50%;transform:translateX(-50%);background:var(--marine-primary);color:#fff;padding:var(--marine-spacing-xs) var(--marine-spacing-sm);border-radius:var(--marine-radius-sm);font-size:.75rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all var(--marine-transition-normal);z-index:1000;box-shadow:var(--marine-shadow-dark)}.marine-tooltip:hover::after{opacity:1;visibility:visible}.marine-grid{display:grid;gap:var(--marine-spacing-xl)}.marine-grid-2{grid-template-columns:repeat(2,1fr)}.marine-grid-3{grid-template-columns:repeat(3,1fr)}.marine-grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width:1024px){.marine-grid-3{grid-template-columns:repeat(2,1fr)}.marine-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.marine-grid-2,.marine-grid-3,.marine-grid-4{grid-template-columns:1fr}}@media (max-width:768px){.marine-calculator{padding:var(--marine-spacing-lg)}.marine-header-content{flex-direction:column;text-align:center;gap:var(--marine-spacing-lg)}.marine-header h1{font-size:2rem}.marine-panel{padding:var(--marine-spacing-lg)}.marine-action-button{width:100%;margin-bottom:var(--marine-spacing-md)}}@media (max-width:480px){.marine-calculator{padding:var(--marine-spacing-md)}.marine-panel{padding:var(--marine-spacing-md)}.marine-header h1{font-size:1.75rem}.marine-panel-title{font-size:1.25rem}}@media print{.marine-header,.marine-action-button,.marine-export-section{display:none!important}.marine-panel{break-inside:avoid;box-shadow:none!important;border:1px solid var(--marine-border-light)!important;page-break-inside:avoid}.marine-calculator{background:white!important;padding:0!important}.marine-panel{background:white!important}}.marine-fade-in{animation:marine-fade-in var(--marine-transition-normal) ease-out}@keyframes marine-fade-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.marine-slide-in{animation:marine-slide-in var(--marine-transition-normal) ease-out}@keyframes marine-slide-in{from{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}.marine-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.marine-focus-visible:focus-visible{outline:2px solid var(--marine-accent);outline-offset:2px}@media (prefers-contrast:high){.marine-input-field,.marine-select-field{border-width:3px}.marine-result-item{border-left-width:6px}.marine-action-button{border:2px solid currentColor}}@media (prefers-reduced-motion:reduce){.marine-panel:hover{transform:none}.marine-card:hover{transform:none}.marine-action-button:hover{transform:none}}