@import"https://fonts.googleapis.com/css2?family=Karla:wght@400;500;600;700;800&family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap";:root{--color-bg: #0a0a0a;--color-bg-secondary: #0f0f12;--color-surface: #121216;--color-text: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--color-text-muted: rgba(255, 255, 255, .4);--color-primary: #ffffff;--color-primary-hover: #ffffff;--color-primary-glow: rgba(255, 255, 255, .2);--glass-bg: rgba(255, 255, 255, .06);--glass-bg-strong: rgba(255, 255, 255, .1);--glass-border: rgba(255, 255, 255, .12);--glass-highlight: rgba(255, 255, 255, .25);--glass-glow: rgba(255, 255, 255, .08);--color-success: #22c55e;--color-success-light: rgba(34, 197, 94, .15);--color-error: #ef4444;--color-error-light: rgba(239, 68, 68, .15);--font-en: "Karla", sans-serif;--font-jp: "Noto Sans JP", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--border-radius-sm: 8px;--border-radius-md: 12px;--border-radius-lg: 16px;--border-radius-xl: 20px;--border-radius-full: 9999px;--shadow-glow: 0 0 30px rgba(255, 255, 255, .15);--shadow-card: 0 8px 32px rgba(0, 0, 0, .4);--transition: .4s cubic-bezier(.25, .8, .25, 1);--transition-fast: .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-jp);font-size:var(--font-size-base);line-height:1.8;color:var(--color-text);background:var(--color-bg);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:-30%;right:-20%;width:60%;height:60%;background:radial-gradient(circle,rgba(255,255,255,.03) 0%,transparent 70%);pointer-events:none;z-index:0}body:after{content:"";position:fixed;bottom:-30%;left:-20%;width:60%;height:60%;background:radial-gradient(circle,rgba(255,255,255,.02) 0%,transparent 70%);pointer-events:none;z-index:0}.app{position:relative;z-index:1;max-width:520px;margin:0 auto;padding:var(--spacing-lg);min-height:100vh}.header{text-align:center;padding:var(--spacing-xl) 0}.header__icon{width:72px;height:72px;margin-bottom:var(--spacing-md);filter:drop-shadow(0 0 20px rgba(255,255,255,.2))}.header__title{font-family:var(--font-en);font-size:var(--font-size-2xl);font-weight:700;letter-spacing:.05em;color:var(--color-text);margin-bottom:var(--spacing-sm)}.header__subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--border-radius-xl);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-card)}.card:before{content:"";position:absolute;top:0;left:20%;right:20%;height:1px;background:linear-gradient(90deg,transparent,var(--glass-highlight),transparent);pointer-events:none}.card__title{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm);position:relative;z-index:1}.progress{display:flex;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.progress__step{width:36px;height:36px;border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;font-family:var(--font-en);font-size:var(--font-size-sm);font-weight:600;background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text-muted);transition:all var(--transition)}.progress__step--active{background:var(--color-primary);border-color:var(--color-primary);color:#0a0a0a;box-shadow:var(--shadow-glow);transform:scale(1.1)}.progress__step--completed{background:var(--glass-bg-strong);border-color:#fff6;color:var(--color-text)}.progress__line{width:48px;height:2px;background:var(--glass-border);align-self:center}.progress__line--completed{background:linear-gradient(90deg,#fff9,#fff3)}.calendar{background:transparent;border-radius:var(--border-radius-lg);overflow:hidden}.calendar__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:linear-gradient(135deg,var(--glass-bg-strong) 0%,var(--glass-bg) 100%);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.calendar__nav-btn{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--color-text);width:40px;height:40px;border-radius:var(--border-radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);transition:all var(--transition-fast)}.calendar__nav-btn:hover:not(:disabled){background:var(--glass-bg-strong);border-color:var(--glass-highlight);transform:scale(1.05)}.calendar__nav-btn:disabled{opacity:.3;cursor:not-allowed}.calendar__month{font-family:var(--font-en);font-size:var(--font-size-lg);font-weight:600;letter-spacing:.05em}.calendar__weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--glass-border);margin-bottom:var(--spacing-sm)}.calendar__weekday{text-align:center;font-family:var(--font-en);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);padding:var(--spacing-xs)}.calendar__weekday--weekend{color:var(--color-text-secondary)}.calendar__days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar__day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);border-radius:var(--border-radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;background:transparent;color:var(--color-text)}.calendar__day:hover:not(:disabled){background:var(--glass-bg);border-color:var(--glass-border)}.calendar__day--empty{cursor:default}.calendar__day--today{font-weight:700;border:2px solid rgba(255,255,255,.5)!important}.calendar__day--available{background:#ffffff1a;border-color:#fff3;color:var(--color-text);font-weight:600}.calendar__day--available:hover{border-color:#fff6;background:#ffffff1a;color:#fff;transform:translateY(-2px)}.calendar__day--selected{background:#ffffff4d!important;border-color:#fff9!important;color:#fff!important;box-shadow:var(--shadow-glow)}.calendar__day--unavailable,.calendar__day--past{color:var(--color-text-muted);opacity:.4;cursor:not-allowed}.time-slots{margin-top:var(--spacing-md)}.time-slots__date{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.time-slots__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.time-slot{padding:var(--spacing-md);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);background:var(--glass-bg);cursor:pointer;text-align:center;font-family:var(--font-en);font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-fast);color:var(--color-text)}.time-slot:hover{border-color:#fff6;background:#ffffff1a;transform:translateY(-2px)}.time-slot--selected{border-color:#fffc;background:#ffffffe6;color:#0a0a0a;box-shadow:var(--shadow-glow)}.time-slots__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form__group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form__label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.form__label--required:after{content:" *";color:var(--color-text-secondary)}.form__input,.form__textarea{padding:var(--spacing-md);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);background:var(--glass-bg);font-family:inherit;font-size:var(--font-size-base);color:var(--color-text);transition:all var(--transition-fast);width:100%}.form__input:focus,.form__textarea:focus{outline:none;border-color:#fff6;background:var(--glass-bg-strong);box-shadow:0 0 0 3px #ffffff1a}.form__input::placeholder,.form__textarea::placeholder{color:var(--color-text-muted)}.form__textarea{min-height:100px;resize:vertical}.form__error{font-size:var(--font-size-xs);color:var(--color-error)}.form__selected-time{background:#ffffff14;border:1px solid rgba(255,255,255,.2);padding:var(--spacing-md);border-radius:var(--border-radius-md);font-weight:500;color:var(--color-text);display:flex;align-items:center;gap:var(--spacing-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border:1px solid var(--glass-border);border-radius:var(--border-radius-md);font-family:inherit;font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--transition);text-decoration:none;position:relative;overflow:hidden}.btn--primary{background:linear-gradient(135deg,#fffffff2,#ffffffd9);border-color:#fffc;color:#0a0a0a}.btn--primary:before{content:"";position:absolute;top:0;left:0;right:0;height:50%;background:linear-gradient(180deg,rgba(255,255,255,.3) 0%,transparent 100%);pointer-events:none}.btn--primary:hover:not(:disabled){background:linear-gradient(135deg,#fff,#fffffff2);transform:translateY(-2px);box-shadow:var(--shadow-glow),0 8px 24px #fff3}.btn--secondary{background:var(--glass-bg);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--glass-bg-strong);border-color:var(--glass-highlight)}.btn--full{width:100%}.btn--lg{padding:var(--spacing-lg) var(--spacing-xl);font-size:var(--font-size-lg)}.btn:disabled{opacity:.5;cursor:not-allowed}.spinner{width:20px;height:20px;border:2px solid rgba(0,0,0,.2);border-top-color:#0a0a0a;border-radius:var(--border-radius-full);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.confirmation{text-align:center;padding:var(--spacing-xl)}.confirmation__icon{width:88px;height:88px;background:var(--color-success-light);border:1px solid rgba(34,197,94,.3);border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-lg);box-shadow:0 0 40px #22c55e33}.confirmation__icon svg{width:44px;height:44px;color:var(--color-success)}.confirmation__title{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-sm);color:var(--color-text)}.confirmation__message{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);line-height:1.8}.confirmation__details{background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--spacing-lg);border-radius:var(--border-radius-lg);text-align:left;margin-bottom:var(--spacing-xl)}.confirmation__detail{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--glass-border)}.confirmation__detail:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.confirmation__detail-label{color:var(--color-text-muted);min-width:80px;flex-shrink:0;font-size:var(--font-size-sm)}.confirmation__detail-value{font-weight:500;color:var(--color-text);word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0}.confirmation__meet-link{background:#ffffff14;border:1px solid rgba(255,255,255,.2);padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-lg)}.confirmation__meet-link a{color:var(--color-text);text-decoration:none;font-weight:600;word-break:break-all}.confirmation__meet-link a:hover{text-decoration:underline}.error-message{background:var(--color-error-light);border:1px solid rgba(239,68,68,.3);color:var(--color-error);padding:var(--spacing-md);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);font-size:var(--font-size-sm)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}.loading__spinner{width:48px;height:48px;border:3px solid var(--glass-border);border-top-color:var(--color-text);border-radius:var(--border-radius-full);animation:spin 1s linear infinite;margin-bottom:var(--spacing-md)}.back-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:none;border:none;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-md);transition:color var(--transition-fast)}.back-btn:hover{color:var(--color-text)}@media (max-width: 520px){.app{padding:var(--spacing-md)}.time-slots__grid{grid-template-columns:repeat(2,1fr)}.header__title{font-size:var(--font-size-xl)}.header__icon{width:56px;height:56px}.calendar__nav-btn{width:36px;height:36px}.progress__step{width:32px;height:32px}.progress__line{width:32px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .5s cubic-bezier(.25,.8,.25,1) forwards}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #fff3}50%{box-shadow:0 0 40px #ffffff4d}}.debug-console{position:fixed;bottom:0;left:0;right:0;background:#0a0a0ff2;border-top:1px solid rgba(255,255,255,.15);font-family:SF Mono,Monaco,Courier New,monospace;font-size:12px;z-index:9999;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);max-height:50vh;overflow:hidden;display:flex;flex-direction:column}.debug-console--expanded{max-height:50vh}.debug-console__header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#ffffff0d;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.debug-console__title{font-weight:600;color:#fff;font-size:11px;text-transform:uppercase;letter-spacing:.5px}.debug-console__actions{display:flex;gap:8px}.debug-console__actions button{background:#ffffff1a;border:none;color:#fff;width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:background .2s}.debug-console__actions button:hover{background:#fff3}.debug-console__body{flex:1;overflow-y:auto;padding:8px 0}.debug-console__empty{padding:20px;text-align:center;color:#fff6}.debug-console__entry{padding:6px 12px;border-left:3px solid transparent;display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.debug-console__entry:hover{background:#ffffff08}.debug-console__time{color:#fff6;font-size:10px;min-width:65px;flex-shrink:0}.debug-console__icon{font-size:12px;flex-shrink:0}.debug-console__message{color:#fff;flex:1;min-width:0;word-break:break-word}.debug-console__data{width:100%;margin:4px 0 0 73px;padding:8px;background:#ffffff0d;border-radius:4px;color:#ffffffb3;font-size:11px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.debug-console__show-btn{position:fixed;bottom:16px;right:16px;background:#0a0a0fe6;border:1px solid rgba(255,255,255,.2);color:#fff;width:44px;height:44px;border-radius:50%;cursor:pointer;font-size:20px;z-index:9999;box-shadow:0 4px 20px #0006;transition:all .2s}.debug-console__show-btn:hover{background:#1e1e28f2;transform:scale(1.1)}
