:root{--font-sans: "Noto Sans JP", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--gray-950: #030712;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-elevated: #ffffff;--bg-hover: rgba(0, 0, 0, .03);--border-primary: var(--gray-200);--border-secondary: var(--gray-300);--border-subtle: rgba(0, 0, 0, .06);--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-muted: var(--gray-400);--accent: #172865;--accent-hover: #0f1d4d;--accent-subtle: rgba(23, 40, 101, .08);--accent-text: #172865;--danger: #dc2626;--danger-subtle: rgba(220, 38, 38, .06);--success: #16a34a;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .07), 0 2px 4px -2px rgba(0, 0, 0, .05);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -4px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 8px 10px -6px rgba(0, 0, 0, .04);--radius-xs: 6px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 9999px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--duration-fast: .12s;--duration-base: .2s;--duration-slow: .32s;font-family:var(--font-sans);line-height:1.5;font-weight:400;color:var(--text-primary);background:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{display:block;min-width:320px;overflow-x:hidden}#root{height:100%}button{cursor:pointer;border:none;background:none;padding:0;transition:opacity var(--duration-fast) var(--ease-in-out),transform var(--duration-fast) var(--ease-in-out)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.35;cursor:not-allowed;transform:none}input,textarea,button{font:inherit;color:inherit}input,textarea{transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}input:focus,textarea:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-subtle)}input[data-search-input]:focus{border-color:transparent!important;box-shadow:none!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{animation:fadeIn var(--duration-base) var(--ease-out) forwards}.modal-content{animation:scaleIn var(--duration-slow) var(--ease-out) forwards}@keyframes linkPulse{0%{box-shadow:0 0 #17286559}50%{box-shadow:0 0 0 8px #17286500}to{box-shadow:0 0 #17286500}}.link-pulse{animation:linkPulse 1.2s ease-in-out infinite!important}@keyframes frameLinkPulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.page{min-height:100%;width:100%;background:var(--bg-primary)}[data-tip]{position:relative}[data-tip]:after{content:attr(data-tip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:8px 12px;border-radius:var(--radius-xs);background:var(--gray-800);color:#fff;font-size:12px;line-height:1.5;white-space:normal;width:240px;pointer-events:none;opacity:0;transition:opacity .12s ease;z-index:9999}[data-tip]:hover:after{opacity:1;transition-delay:.2s}.breadcrumb-scroll::-webkit-scrollbar{display:none}.breadcrumb-scroll{scrollbar-width:none}::selection{background:var(--accent-subtle);color:var(--text-primary)}[contenteditable][data-placeholder]:empty:before{content:attr(data-placeholder);color:var(--text-muted);pointer-events:none}[contenteditable]:focus{border-color:var(--accent)!important;box-shadow:0 0 0 3px var(--accent-subtle)}
