:root { --lightness-primary: 0.35; --chroma-primary: 0.15; --hue-primary: 15; --lightness-background: 0.9; --chroma-background: 0.01; --hue-background: var(--hue-primary); --lightness-surface: 1; --chroma-surface: 0; --hue-surface: 0; --lightness-text: 0.15; --chroma-text: 0.05; --hue-text: 250; --lightness-success: 0.60; --chroma-success: 0.18; --hue-success: 140; --lightness-danger: 0.50; --chroma-danger: 0.22; --hue-danger: 25; --lightness-warning: 0.75; --chroma-warning: 0.18; --hue-warning: 70; --dimension-multiplier: 1; --spacing-small: calc(0.5rem * var(--dimension-multiplier)); --spacing-medium: calc(1rem * var(--dimension-multiplier)); --spacing-large: calc(1.5rem * var(--dimension-multiplier)); --border-radius-small: calc(0.5rem * var(--dimension-multiplier)); --border-radius-large: calc(1.25rem * var(--dimension-multiplier)); --border-radius-pill: calc(999rem * var(--dimension-multiplier)); } @media (prefers-color-scheme: dark) { :root { --lightness-primary: 0.65; --chroma-primary: 0.20; --lightness-background: 0.2; --chroma-background: 0.02; --lightness-surface: 0.18; --chroma-surface: 0.02; --lightness-text: 0.90; --chroma-text: 0.02; } } @media (prefers-reduced-motion: reduce) { * { transition-duration: 0s !important; animation-duration: 0s !important; } } body { background-color: oklch(var(--lightness-background) var(--chroma-background) var(--hue-background)); color: oklch(var(--lightness-text) var(--chroma-text) var(--hue-text)); font-family: system-ui, -apple-system, sans-serif; font-size: calc(1rem * var(--dimension-multiplier)); line-height: 1.6; margin: 0; padding: 0; display: flex; flex-direction: column; min-height: 100vh; } .application-header { background-color: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary)); color: oklch(1 0 0); padding: var(--spacing-medium) var(--spacing-large); display: flex; justify-content: space-between; align-items: center; box-shadow: 0 4px 12px rgba(0,0,0,0.1); position: sticky; top: 0; z-index: 100; } .brand-container { display: flex; align-items: center; gap: var(--spacing-small); } .brand-logo { width: calc(2rem * var(--dimension-multiplier)); height: calc(2rem * var(--dimension-multiplier)); color: currentColor; } .application-title { margin: 0; font-size: calc(1.25rem * var(--dimension-multiplier)); font-weight: 800; letter-spacing: -0.02em; } .application-content { flex: 1; padding: var(--spacing-large); width: 100%; max-width: calc(48rem * var(--dimension-multiplier)); margin: 0 auto; box-sizing: border-box; } .content-card { background-color: oklch(var(--lightness-surface) var(--chroma-surface) var(--hue-surface)); padding: var(--spacing-large); border-radius: var(--border-radius-large); box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.01); margin-bottom: var(--spacing-large); } .section-title { margin-top: 0; margin-bottom: var(--spacing-medium); display: flex; align-items: center; gap: var(--spacing-small); } .card-subtitle { margin-top: 0; margin-bottom: var(--spacing-small); opacity: 0.7; text-transform: uppercase; font-size: calc(0.875rem * var(--dimension-multiplier)); letter-spacing: 0.05em; } .input-form { display: flex; flex-direction: column; gap: var(--spacing-medium); } .inline-form { display: inline-block; } .flexible_form_container { display: flex; gap: calc(0.5rem * var(--dimension-multiplier)); align-items: center; flex-wrap: wrap; } .form-group { display: flex; flex-direction: column; gap: calc(0.25rem * var(--dimension-multiplier)); } .input-label { font-weight: bold; font-size: calc(0.875rem * var(--dimension-multiplier)); } .text-input { padding: var(--spacing-medium); border: 2px solid oklch(0.5 0 0 / 0.2); border-radius: var(--border-radius-small); background-color: oklch(var(--lightness-background) var(--chroma-background) var(--hue-background)); color: inherit; font-size: inherit; transition: border-color 0.2s; } .text-input:focus { outline: none; border-color: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary)); } .small-input { width: calc(12rem * var(--dimension-multiplier)); padding: var(--spacing-small); } .time-input { width: calc(13rem * var(--dimension-multiplier)); } .action-button { padding: var(--spacing-medium) var(--spacing-large); border: none; border-radius: var(--border-radius-pill); font-size: inherit; font-weight: bold; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: var(--spacing-small); transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); color: oklch(1 0 0); } .action-button:hover, .action-button:focus { filter: brightness(1.1); transform: translateY(-1px); } .icon-button { padding: calc(0.5rem * var(--dimension-multiplier)); border-radius: var(--border-radius-small); } .primary-button { background-color: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary)); box-shadow: 0 4px 12px oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary) / 0.3); } .success-button { background-color: oklch(var(--lightness-success) var(--chroma-success) var(--hue-success)); } .danger-button { background-color: oklch(var(--lightness-danger) var(--chroma-danger) var(--hue-danger)); } .warning-button { background-color: oklch(var(--lightness-warning) var(--chroma-warning) var(--hue-warning)); color: oklch(0.2 0 0); } .secondary-button { background-color: transparent; color: oklch(var(--lightness-text) var(--chroma-text) var(--hue-text)); border: 2px solid oklch(var(--lightness-text) var(--chroma-text) var(--hue-text) / 0.2); } .large-button { padding: var(--spacing-large) calc(2.5rem * var(--dimension-multiplier)); font-size: calc(1.125rem * var(--dimension-multiplier)); width: 100%; } .small-button { padding: calc(0.25rem * var(--dimension-multiplier)) calc(0.75rem * var(--dimension-multiplier)); font-size: calc(0.875rem * var(--dimension-multiplier)); } .tab-container { display: flex; background-color: oklch(var(--lightness-surface) var(--chroma-surface) var(--hue-surface)); border-radius: var(--border-radius-pill); padding: calc(0.375rem * var(--dimension-multiplier)); gap: calc(0.25rem * var(--dimension-multiplier)); box-shadow: 0 4px 12px rgba(0,0,0,0.05); margin-bottom: var(--spacing-large); overflow-x: auto; } .tab-button { flex: 1; border-radius: var(--border-radius-pill); padding: calc(0.625rem * var(--dimension-multiplier)) var(--spacing-medium); border: none; background: transparent; color: inherit; font-size: inherit; font-weight: bold; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: calc(0.5rem * var(--dimension-multiplier)); white-space: nowrap; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .active-tab { background-color: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary)); color: oklch(1 0 0); box-shadow: 0 2px 8px rgba(0,0,0,0.15); } .tab-content { display: none; } .active-content { display: block; } .status-pill { display: inline-flex; align-items: center; gap: calc(0.375rem * var(--dimension-multiplier)); padding: calc(0.25rem * var(--dimension-multiplier)) calc(0.875rem * var(--dimension-multiplier)); border-radius: var(--border-radius-pill); font-size: calc(0.875rem * var(--dimension-multiplier)); font-weight: bold; color: oklch(1 0 0); margin-left: var(--spacing-small); } .warning-pill { background-color: oklch(var(--lightness-warning) var(--chroma-warning) var(--hue-warning)); color: oklch(0.2 0 0); } .success-pill { background-color: oklch(var(--lightness-success) var(--chroma-success) var(--hue-success)); } .danger-pill { background-color: oklch(var(--lightness-danger) var(--chroma-danger) var(--hue-danger)); } .notice-card { border-left: 6px solid oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary)); } .danger-card { border-left-color: oklch(var(--lightness-danger) var(--chroma-danger) var(--hue-danger)); } .success-card { border-left-color: oklch(var(--lightness-success) var(--chroma-success) var(--hue-success)); } .warning-card { border-left-color: oklch(var(--lightness-warning) var(--chroma-warning) var(--hue-warning)); } .target-name { font-size: calc(2.5rem * var(--dimension-multiplier)); text-align: center; margin: var(--spacing-large) 0; color: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary)); font-weight: 800; } .data-table { width: 100%; border-collapse: collapse; } .data-table th, .data-table td { padding: var(--spacing-medium); border-bottom: 1px solid oklch(0.5 0 0 / 0.1); text-align: left; } .data-table th { font-weight: 800; text-transform: uppercase; font-size: calc(0.75rem * var(--dimension-multiplier)); letter-spacing: 0.05em; opacity: 0.7; } .highlighted-row { background-color: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary) / 0.1); } .highlighted-row td { font-weight: bold; } .unregistered-row { opacity: 0.6; } .markdown-container h1, .markdown-container h2, .markdown-container h3 { color: oklch(var(--lightness-primary) var(--chroma-primary) var(--hue-primary)); } .markdown-container ul { padding-left: var(--spacing-large); } .modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0,0,0,0.6); backdrop-filter: blur(4px); justify-content: center; align-items: center; z-index: 1000; } .active-modal { display: flex; } .modal-dialog { background-color: oklch(var(--lightness-surface) var(--chroma-surface) var(--hue-surface)); padding: var(--spacing-large); border-radius: var(--border-radius-large); max-width: calc(32rem * var(--dimension-multiplier)); width: 90%; box-shadow: 0 20px 40px rgba(0,0,0,0.2); } .modal-title { margin-top: 0; display: flex; align-items: center; gap: var(--spacing-small); } .modal-actions { display: flex; gap: var(--spacing-medium); justify-content: flex-end; margin-top: var(--spacing-large); } .qr-code-container { background-color: oklch(1 0 0); padding: var(--spacing-medium); border-radius: var(--border-radius-large); display: inline-block; margin-bottom: var(--spacing-medium); box-shadow: inset 0 0 0 2px oklch(0.5 0 0 / 0.1); } .qr-code-container svg { display: block; width: calc(14rem * var(--dimension-multiplier)); height: calc(14rem * var(--dimension-multiplier)); } .monospace-identifier { font-family: monospace; }