@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700&family=JetBrains+Mono:wght@400&display=swap";
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{height:100%}html,body{max-width:100vw;overflow-x:hidden}body{min-height:100%;color:var(--colors-fg-primary);background:var(--colors-bg-primary);font-family:var(--typography-fontFamily-sans);font-size:var(--typography-fontSize-base);line-height:var(--typography-lineHeight-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex}*{box-sizing:border-box;margin:0;padding:0}a{color:var(--colors-fg-link);text-decoration:none}a:hover{color:var(--colors-fg-linkHover)}.jp{font-family:"Noto Sans JP", var(--typography-fontFamily-sans)}.mono{font-family:var(--typography-fontFamily-mono)}:focus-visible{outline:2px solid var(--colors-border-focus);outline-offset:2px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--colors-bg-primary)}::-webkit-scrollbar-thumb{background:var(--colors-border-primary);border-radius:var(--radii-full)}::-webkit-scrollbar-thumb:hover{background:var(--colors-border-secondary)}.btn{font-weight:var(--typography-fontWeight-medium);border-radius:var(--radii-lg);cursor:pointer;transition:var(--motion-transition-fast), transform var(--motion-duration-relaxed) var(--motion-easing-bounce);border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;display:inline-flex}.btn:active:not(:disabled){transition:var(--motion-transition-fast), transform var(--motion-duration-instant) var(--motion-easing-in);transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--colors-accent-primary);color:var(--palette-white);height:var(--components-button-md-height);padding:0 var(--components-button-md-px);font-size:var(--components-button-md-fontSize)}.btn-primary:hover:not(:disabled){background:var(--colors-accent-primaryHover)}.btn-secondary{background:var(--colors-bg-tertiary);color:var(--colors-fg-primary);border-color:var(--colors-border-primary);height:var(--components-button-md-height);padding:0 var(--components-button-md-px);font-size:var(--components-button-md-fontSize)}.btn-secondary:hover:not(:disabled){background:var(--colors-bg-elevated);border-color:var(--colors-border-secondary)}.btn-danger{background:var(--colors-status-errorSubtle);color:var(--colors-status-error);height:var(--components-button-md-height);padding:0 var(--components-button-md-px);font-size:var(--components-button-md-fontSize)}.btn-danger:hover:not(:disabled){background:var(--colors-status-error);color:var(--palette-white)}.btn-sm{height:var(--components-button-sm-height);padding:0 var(--components-button-sm-px);font-size:var(--components-button-sm-fontSize)}.btn-lg{height:var(--components-button-lg-height);padding:0 var(--components-button-lg-px);font-size:var(--components-button-lg-fontSize)}.btn-xl{height:var(--components-button-xl-height);padding:0 var(--components-button-xl-px);font-size:var(--components-button-xl-fontSize)}.input{background:var(--colors-input-bg);width:100%;color:var(--colors-fg-primary);border:1px solid var(--colors-input-border);border-radius:var(--radii-lg);height:var(--components-input-md-height);padding:0 var(--components-input-md-px);font-size:var(--components-input-md-fontSize);transition:var(--motion-transition-fast);font-family:inherit}.input:hover{border-color:var(--colors-input-borderHover)}.input:focus{border-color:var(--colors-input-borderFocus);box-shadow:var(--shadows-focus);outline:none}.input::placeholder{color:var(--colors-input-placeholder)}.input-error{border-color:var(--colors-border-error)}.input-error:focus{box-shadow:var(--shadows-focusError)}.textarea{background:var(--colors-input-bg);width:100%;color:var(--colors-fg-primary);border:1px solid var(--colors-input-border);border-radius:var(--radii-lg);padding:var(--spacing-3) var(--components-input-md-px);font-size:var(--components-input-md-fontSize);resize:vertical;min-height:6rem;transition:var(--motion-transition-fast);font-family:inherit}.textarea:hover{border-color:var(--colors-input-borderHover)}.textarea:focus{border-color:var(--colors-input-borderFocus);box-shadow:var(--shadows-focus);outline:none}.textarea::placeholder{color:var(--colors-input-placeholder)}.card{background:var(--colors-bg-secondary);border:1px solid var(--colors-border-primary);border-radius:var(--radii-xl);padding:var(--spacing-5)}.badge{padding:var(--spacing-0-5) var(--spacing-2);border-radius:var(--radii-full);font-size:var(--typography-fontSize-xs);font-weight:var(--typography-fontWeight-medium);line-height:var(--typography-lineHeight-none);align-items:center;display:inline-flex}.badge-neutral{background:var(--colors-badge-neutralBg);color:var(--colors-badge-neutralFg)}.badge-success{background:var(--colors-status-successSubtle);color:var(--colors-status-success)}.badge-warning{background:var(--colors-status-warningSubtle);color:var(--colors-status-warning)}.badge-error{background:var(--colors-status-errorSubtle);color:var(--colors-status-error)}.badge-info{background:var(--colors-status-infoSubtle);color:var(--colors-status-info)}.text-secondary{color:var(--colors-fg-secondary)}.text-tertiary{color:var(--colors-fg-tertiary)}.text-disabled{color:var(--colors-fg-disabled)}.container{width:100%;max-width:var(--components-container-lg);padding:0 var(--spacing-4);margin:0 auto}.page{padding:var(--spacing-6) 0;flex:1}.page-header{margin-bottom:var(--spacing-6)}.page-title{font-size:var(--typography-fontSize-2xl);font-weight:var(--typography-fontWeight-bold);line-height:var(--typography-lineHeight-tight);letter-spacing:var(--typography-letterSpacing-tight)}.page-subtitle{font-size:var(--typography-fontSize-base);color:var(--colors-fg-secondary);margin-top:var(--spacing-1)}::view-transition-old(root){animation:vt-fade-out var(--motion-duration-normal) var(--motion-easing-out)}::view-transition-new(root){animation:vt-fade-in var(--motion-duration-normal) var(--motion-easing-out)}@keyframes vt-fade-out{0%{opacity:1}to{opacity:0}}@keyframes vt-fade-in{0%{opacity:0}to{opacity:1}}
