:root{--c-canvas:#fff;--c-surface:#fff;--c-surface-subtle:#f4f4f4;--c-surface-warm:#fff0ec;--c-ink-primary:#111;--c-ink-secondary:#111111a3;--c-ink-tertiary:#76767d;--c-brand:#ff8a7a;--c-brand-deep:#c54537;--c-brand-soft:#ffb7ab;--c-brand-light:#ffd8d1;--c-brand-bg:#ff8a7a24;--c-brand-rgb:255, 138, 122;--action-connect-bg:var(--c-brand);--action-connect-bg-hover:#f77b6b;--action-connect-fg:var(--c-ink-primary);--action-primary-bg:var(--c-ink-primary);--action-primary-bg-hover:#2c2c2e;--action-primary-fg:var(--c-surface);--action-secondary-bg:var(--c-surface);--action-secondary-fg:var(--c-ink-primary);--action-secondary-border:#11111129;--glass-regular:#ffffffad;--glass-regular-strong:#ffffffd1;--glass-border:#ffffffd1;--glass-filter:blur(22px) saturate(140%);--glass-shadow:0 12px 38px #31241d24, inset 0 1px 0 #ffffffeb, inset 0 -1px 0 #59433814;--c-success:#16a34a;--c-success-bg:#f0fdf4;--c-success-deep:#15803d;--c-error:#dc2626;--c-error-bg:#fef2f2;--c-error-deep:#b91c1c;--c-border:#11111114;--c-border-active:#c54537;--gradient-brand:linear-gradient(180deg, #ff9a8c 0%, #ff806f 100%);--gradient-brand-hover:linear-gradient(180deg, #ff8e80 0%, #f87363 100%);--gradient-brand-active:linear-gradient(180deg, #f37b6d 0%, #e96556 100%);--gradient-danger:linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);--gradient-danger-hover:linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--gradient-success:linear-gradient(135deg, #16a34a 0%, #15803d 100%);--g-privacy:linear-gradient(135deg, #fff8f6 0%, #fff0ec 100%);--gradient-surface:linear-gradient(135deg, #fff8f6 0%, #fff0ec 100%);--vh:1vh;--viewport-height:calc(var(--vh,1vh) * 100);--viewport-height-fallback:100vh;--safe-area-top:env(safe-area-inset-top,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--safe-area-right:env(safe-area-inset-right,0px);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:1000;--z-modal:1001;--z-bottom-sheet:10000;--z-toast:10001;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:999px;--shadow-sm:0 2px 16px #1111110d;--shadow-md:0 14px 36px #1111111a;--shadow-brand:0 8px 22px #ff8a7a38;--shadow-brand-hover:0 12px 28px #ff8a7a47;--shadow-danger:0 2px 8px #dc262640;--shadow-overlay:0 -4px 20px #0000001a;--shadow-modal:0 4px 16px #1a1a1a1a, 0 16px 48px #1a1a1a26;--text-xs:clamp(.75rem, .7rem + .25vw, .8125rem);--text-sm:clamp(.875rem, .8rem + .375vw, 1rem);--text-base:clamp(1rem, .9rem + .5vw, 1.125rem);--text-lg:clamp(1.125rem, 1rem + .625vw, 1.25rem);--text-xl:clamp(1.25rem, 1.1rem + .75vw, 1.5rem);--text-2xl:clamp(1.5rem, 1.3rem + 1vw, 2rem);--ease-spring:cubic-bezier(.2, .8, .2, 1);--ease-ios:cubic-bezier(.36, .66, .04, 1);--transition-fast:.15s var(--ease-spring);--transition-base:.25s var(--ease-spring);--transition-slow:.35s var(--ease-spring);--font-inter:"Helvetica Neue", Arial, system-ui, sans-serif;--font-noto-sans-jp:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, system-ui, sans-serif}html{background-color:var(--c-canvas);-webkit-overflow-scrolling:touch;-moz-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;touch-action:manipulation;width:100%;max-width:100vw;min-height:100dvh;overflow:hidden auto}@media (hover:none){body{overscroll-behavior-y:contain}}body{color:var(--c-ink-primary);background:var(--c-canvas);font-family:var(--font-noto-sans-jp);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:var(--text-base);min-height:var(--viewport-height-fallback);min-height:var(--viewport-height);padding-top:0;padding-bottom:0;padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);line-height:1.7}@supports (padding:max(0px)){body{padding-left:max(12px, env(safe-area-inset-left));padding-right:max(12px, env(safe-area-inset-right))}}body{contain:layout style paint;transform:translate(0,0)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;margin:0;padding:0}.text-display{font-family:var(--font-inter), sans-serif;font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--c-ink-primary);font-weight:700;line-height:1.2}.text-body{font-family:var(--font-noto-sans-jp), sans-serif;font-size:var(--text-base);color:var(--c-ink-primary);font-weight:400;line-height:1.7}.text-caption{font-family:var(--font-noto-sans-jp), sans-serif;font-size:var(--text-xs);color:var(--c-ink-secondary);line-height:1.5}.text-numeric{font-family:var(--font-inter), sans-serif}.scrollable{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;touch-action:pan-y pinch-zoom;overflow-y:auto;transform:translateZ(0)}.horizontal-scroll{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;touch-action:pan-x pinch-zoom;display:flex;overflow:auto hidden;transform:translateZ(0)}.horizontal-scroll::-webkit-scrollbar{display:none}.horizontal-scroll>*{scroll-snap-align:center;scroll-snap-stop:always}a{color:inherit;text-decoration:none}input,textarea,.selectable{-webkit-user-select:text;user-select:text}button,a[role=button]{touch-action:manipulation;backface-visibility:hidden;min-width:44px;min-height:44px;transition:transform var(--transition-fast), opacity var(--transition-fast);transform:translateZ(0)}@media (hover:none) and (pointer:coarse){button:active:not(:disabled),a[role=button]:active{opacity:.85;transform:scale(.96)translateZ(0)}}@supports not (-webkit-touch-callout:none){button:active:not(:disabled),a[role=button]:active{opacity:.9;transform:scale(.97)translateZ(0)}}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled),a[role=button]:hover{opacity:.9}}.smooth-transition{transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), transform var(--transition-base)}.card{backface-visibility:hidden;transition:transform var(--transition-base) var(--ease-spring);transform:translateZ(0)}.card:active{transform:scale(.98)translateZ(0)}.modal-overlay,.bottom-sheet{backface-visibility:hidden;transform:translate(0,0)}.btn-base{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), transform var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;backface-visibility:hidden;white-space:nowrap;border:none;font-weight:600;text-decoration:none;display:inline-flex;transform:translateZ(0)}.btn-base:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-lg{height:52px;padding:0 var(--space-lg);font-size:var(--text-base)}.btn-md{height:44px;padding:0 var(--space-md);font-size:var(--text-base)}.btn-sm{height:36px;padding:0 var(--space-sm);font-size:var(--text-sm)}.btn-primary{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-base), box-shadow var(--transition-base), transform var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;backface-visibility:hidden;white-space:nowrap;background:var(--action-primary-bg);color:var(--action-primary-fg);border:none;font-weight:600;text-decoration:none;display:inline-flex;transform:translateZ(0);box-shadow:0 3px 10px #11111124}.btn-primary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary:hover:not(:disabled){background:var(--action-primary-bg-hover);transform:translateY(-1px)translateZ(0);box-shadow:0 5px 14px #1111112e}.btn-primary:active:not(:disabled){background:var(--action-primary-bg);transform:scale(.98)translateZ(0);box-shadow:0 2px 6px #11111124}.btn-secondary{justify-content:center;align-items:center;gap:var(--space-sm);border:1px solid var(--action-secondary-border);border-radius:var(--radius-full);cursor:pointer;transition:background-color var(--transition-base), border-color var(--transition-base), transform var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;backface-visibility:hidden;white-space:nowrap;background:var(--action-secondary-bg);color:var(--action-secondary-fg);box-shadow:none;font-weight:600;text-decoration:none;display:inline-flex;transform:translateZ(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-secondary:hover:not(:disabled){background:var(--c-surface-subtle);box-shadow:none;border-color:#11111147;transform:translateY(-1px)translateZ(0)}.btn-secondary:active:not(:disabled){background:var(--c-surface-subtle);box-shadow:none;transform:scale(.98)translateZ(0)}.btn-ghost{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), transform var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;backface-visibility:hidden;white-space:nowrap;background:var(--c-surface);color:var(--c-ink-secondary);border:1px solid var(--c-border);box-shadow:none;font-weight:600;text-decoration:none;display:inline-flex;transform:translateZ(0)}.btn-ghost:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-ghost:hover:not(:disabled){background:var(--c-surface-subtle);color:var(--c-ink-primary);border-color:var(--c-border-active)}.btn-ghost:active:not(:disabled){background:var(--c-surface-subtle);transform:scale(.98)translateZ(0)}.btn-danger{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), transform var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;backface-visibility:hidden;white-space:nowrap;background:var(--gradient-danger);color:#fff;box-shadow:var(--shadow-danger);border:none;font-weight:600;text-decoration:none;display:inline-flex;transform:translateZ(0)}.btn-danger:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-danger:hover:not(:disabled){background:var(--gradient-danger-hover);transform:translateY(-2px)translateZ(0);box-shadow:0 4px 12px #dc262659}.btn-danger:active:not(:disabled){box-shadow:var(--shadow-danger);transform:scale(.98)translateZ(0)}.btn-text{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), transform var(--transition-base);-webkit-tap-highlight-color:transparent;touch-action:manipulation;backface-visibility:hidden;white-space:nowrap;color:var(--c-ink-secondary);box-shadow:none;padding:var(--space-sm) var(--space-md);background:0 0;border:none;font-weight:600;text-decoration:none;display:inline-flex;transform:translateZ(0)}.btn-text:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-text:hover:not(:disabled){color:var(--c-ink-primary);background:#00000008}.btn-text:active:not(:disabled){background:#0000000f;transform:scale(.98)translateZ(0)}.card-base{background:var(--c-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:color var(--transition-base), background-color var(--transition-base), border-color var(--transition-base), box-shadow var(--transition-base), opacity var(--transition-base), transform var(--transition-base);backface-visibility:hidden;transform:translateZ(0)}.card-base:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)translateZ(0)}.card-base:active{transform:scale(.98)translateZ(0)}.card-elevated{background:var(--c-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.overlay-base{-webkit-backdrop-filter:blur(4px);z-index:var(--z-bottom-sheet);backface-visibility:hidden;animation:overlayFadeIn .2s var(--ease-ios) forwards;background:#0006;position:fixed;inset:0;transform:translateZ(0)}.overlay-base.closing{animation:overlayFadeOut .2s var(--ease-ios) forwards}.bottom-sheet-base{background:var(--glass-regular-strong);max-height:90vh;-webkit-backdrop-filter:var(--glass-filter);border-top:1px solid var(--glass-border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:var(--shadow-overlay);z-index:calc(var(--z-bottom-sheet) + 1);padding-bottom:calc(var(--safe-area-bottom) + 16px);backface-visibility:hidden;animation:bottomSheetSlideIn .3s var(--ease-ios) forwards;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.bottom-sheet-base.closing{animation:bottomSheetSlideOut .25s var(--ease-ios) forwards}.bottom-sheet-handle{background:var(--c-border);cursor:pointer;width:36px;height:5px;transition:background var(--transition-fast);border-radius:3px;flex-shrink:0;margin:8px auto}.bottom-sheet-handle:active{background:#ccc}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes overlayFadeOut{0%{opacity:1}to{opacity:0}}@keyframes bottomSheetSlideIn{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes bottomSheetSlideOut{0%{transform:translateY(0)}to{transform:translateY(100%)}}.input-base{width:100%;padding:var(--space-md);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--c-ink-primary);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;appearance:none;font-family:inherit;font-weight:400}.input-base:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(var(--c-brand-rgb), .15);outline:none}.input-base::placeholder{color:var(--c-ink-tertiary);font-weight:400}.input-base:disabled{opacity:.6;cursor:not-allowed;background:var(--c-surface-subtle)}.textarea-base{width:100%;padding:var(--space-md);background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--c-ink-primary);resize:vertical;min-height:100px;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;appearance:none;font-family:inherit;font-weight:400;line-height:1.6}.textarea-base:focus{border-color:var(--c-brand);box-shadow:0 0 0 3px rgba(var(--c-brand-rgb), .15);outline:none}.textarea-base::placeholder{color:var(--c-ink-tertiary);font-weight:400}.textarea-base:disabled{opacity:.6;cursor:not-allowed;background:var(--c-surface-subtle)}.code-input-base{width:100%;padding:0 var(--space-lg);background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--radius-lg);letter-spacing:.4em;text-align:center;color:var(--c-ink-primary);transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast), transform var(--transition-fast);-webkit-tap-highlight-color:transparent;appearance:none;-webkit-user-select:text;user-select:text;font-size:24px;font-weight:600;font-family:var(--font-inter), monospace}.code-input-base:focus{border-color:var(--c-brand);box-shadow:0 0 0 4px rgba(var(--c-brand-rgb), .12);outline:none;transform:translateY(-1px)}.code-input-base::placeholder{font-size:var(--text-base);letter-spacing:normal;color:var(--c-ink-tertiary);font-weight:400}.code-input-base:disabled{opacity:.6;cursor:not-allowed}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{border-radius:var(--radius-md);background:linear-gradient(90deg,#f8f8f8 0%,#e8e8e8 20%,#f8f8f8 40% 100%) 0 0/2000px 100%;animation:2s linear infinite shimmer}.fade-in{animation:fadeIn var(--transition-base) var(--ease-spring)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translate(0,0)}}@media (display-mode:standalone){body{background-color:var(--c-canvas)}}:focus-visible{outline:2px solid var(--c-brand);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.notification-banner-visible{--notification-banner-height:calc(env(safe-area-inset-top,0px) + 72px)}body.notification-banner-visible [class*=wrapper]>main,body.notification-banner-visible [class*=wrapper] [class*=content]{padding-top:var(--notification-banner-height,72px)!important}#loading-fallback{z-index:99998;text-align:center;background-color:#fff;flex-direction:column;justify-content:center;align-items:center;padding:24px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:fixed;inset:0}#loading-fallback.hidden{display:none!important}#loading-fallback h1{color:#1a1a1a;margin-bottom:16px;font-size:20px;font-weight:700}#loading-fallback p{color:#666;margin-bottom:16px;font-size:14px;line-height:1.6}#loading-fallback .spinner{border:3px solid #f8f8f8;border-top:3px solid var(--c-brand);border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#loading-fallback a{background:var(--action-primary-bg);color:var(--action-primary-fg);box-shadow:0 2px 8px rgba(var(--c-brand-rgb), .25);border-radius:999px;margin-top:16px;padding:12px 24px;font-weight:600;text-decoration:none;display:inline-block}.tabs-wrapper{min-height:var(--viewport-height-fallback);min-height:var(--viewport-height);height:var(--viewport-height-fallback);height:var(--viewport-height);background-color:var(--c-canvas);overscroll-behavior:none;flex-direction:column;width:100%;display:flex;position:fixed;top:0;left:0;overflow:hidden}.tabs-content{padding-top:var(--safe-area-top);padding-bottom:calc(90px + var(--safe-area-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;flex:1;width:100%;height:100%;min-height:0;position:relative;overflow:hidden auto}.tabs-content-no-padding{padding-top:0;padding-bottom:0}.tabs-tab-bar{left:50%;bottom:calc(10px + var(--safe-area-bottom));background:var(--glass-regular);width:min(100% - 32px,248px);-webkit-backdrop-filter:var(--glass-filter);border:1px solid var(--glass-border);z-index:var(--z-fixed);transition:transform .25s var(--ease-spring);touch-action:manipulation;isolation:isolate;border-radius:22px;justify-content:center;gap:2px;padding:5px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #1111111f,inset 0 1px #ffffffb8}.tabs-tab-bar.tabs-keyboard-visible{transform:translate3d(-50%, calc(100% + 18px + var(--safe-area-bottom)), 0);transition:transform .25s var(--ease-spring)}.tabs-tab{color:#2c2c2e;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border-radius:17px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:50%;height:50px;padding:0 12px;text-decoration:none;transition:transform .2s cubic-bezier(.16,1,.3,1),color .2s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.tabs-tab:active{transform:scale(.97)}.tabs-tab.tabs-tab-active{color:var(--c-brand-deep);background:rgba(var(--c-brand-rgb), .12);box-shadow:inset 0 1px 0 #ffffff9e, inset 0 0 0 1px rgba(var(--c-brand-rgb), .08)}.tabs-tab.tabs-tab-active:active{transform:scale(.97)}.tabs-tab-icon{justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:relative}.tabs-tab-icon svg{stroke-width:2px;width:20px;height:20px;transition:stroke-width .2s cubic-bezier(.16,1,.3,1)}.tabs-tab.tabs-tab-active .tabs-tab-icon svg{stroke-width:2.5px}.tabs-tab-label{font-family:var(--font-noto-sans-jp), sans-serif;letter-spacing:.02em;font-size:9px;font-weight:600}.tabs-tab.tabs-tab-active .tabs-tab-label{font-weight:700}.tabs-badge{color:#fff;min-width:18px;height:18px;font-size:11px;font-weight:700;line-height:1;font-family:var(--font-noto-sans-jp), sans-serif;z-index:1;background:#ff3b30;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 1px 3px #0003}@media (hover:none) and (pointer:coarse){.tabs-tab:active{opacity:.7}}@media (hover:hover) and (pointer:fine){.tabs-tab:not(.tabs-tab-active):hover{color:#555;background:#00000008}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.tabs-tab-bar,.bottom-sheet-base{background:#fffffff5}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more){.tabs-tab-bar,.bottom-sheet-base{-webkit-backdrop-filter:none;border-color:var(--c-border);background:#fff}}@media (prefers-reduced-motion:reduce){.tabs-tab-bar,.tabs-tab{transition:none}}
