@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Shippori+Mincho:wght@600;700;800&family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap");*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;color-scheme:light}body,html{max-width:100%;overflow-x:hidden;overflow-x:clip;overscroll-behavior:none}body{margin:0;min-height:100dvh;background:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-size:var(--font-size-md);line-height:var(--line-height-body);letter-spacing:-.011em;padding-top:env(safe-area-inset-top,0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{line-height:var(--line-height-tight);margin:0;letter-spacing:-.025em;font-weight:var(--font-weight-bold)}a{color:var(--color-primary)}button,input,select,textarea{font:inherit;color:inherit;font-size:max(1rem,var(--font-size-md))}@media (pointer:coarse){input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:max(16px,1em)!important}}:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}:lang(ja){font-family:var(--font-japanese);font-size:var(--font-size-jp);letter-spacing:.025em}ruby rt{font-size:.55em;color:var(--color-text-muted)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.8)}70%{transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes wiggle{0%,to{transform:rotate(0deg)}25%{transform:rotate(-3deg)}75%{transform:rotate(3deg)}}@media (prefers-reduced-motion:no-preference){::view-transition-group(*){animation-duration:.56s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation:vtFadeOut .24s ease-in both}::view-transition-new(root){animation:vtRiseIn .52s cubic-bezier(.22,1,.36,1) 60ms both}::view-transition-image-pair(auth-card){overflow:hidden;border-radius:24px}::view-transition-new(auth-card),::view-transition-old(auth-card){width:100%;height:100%;object-fit:none;object-position:50% 0}::view-transition-old(auth-card){animation:vtFadeOut .2s ease-in both}::view-transition-new(auth-card){animation:vtFadeIn .34s ease-out .12s both}::view-transition-new(auth-card):only-child{animation:vtRiseIn .56s cubic-bezier(.22,1,.36,1) .12s both}::view-transition-new(auth-stage):only-child{animation:vtStageIn .64s cubic-bezier(.22,1,.36,1) both}::view-transition-old(auth-stage):only-child{animation:vtStageOut .32s ease-in both}::view-transition-group(miu){animation-duration:.68s;z-index:10}::view-transition-new(miu),::view-transition-old(miu){animation-duration:.3s}}@keyframes vtFadeOut{to{opacity:0;transform:scale(.985)}}@keyframes vtFadeIn{0%{opacity:0}}@keyframes vtRiseIn{0%{opacity:0;transform:translateY(18px)}}@keyframes vtStageIn{0%{opacity:0;transform:translateX(-6%)}}@keyframes vtStageOut{to{opacity:0;transform:translateX(-6%)}}@media print{@page{size:A4 portrait;margin:12mm}body:has(>[data-print-sheet]),html:has(body>[data-print-sheet]){height:auto!important;overflow:visible!important;background:#fff!important}body:has(>[data-print-sheet])>:not([data-print-sheet]){display:none!important}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@keyframes barGrow{0%{transform:scaleX(0)}}body{background:radial-gradient(60% 40% at 100% 0,color-mix(in srgb,var(--palette-butter) 30%,transparent),transparent 70%),radial-gradient(55% 40% at 0 35%,color-mix(in srgb,var(--palette-sakura) 16%,transparent),transparent 70%),radial-gradient(60% 45% at 100% 100%,color-mix(in srgb,var(--palette-mint) 26%,transparent),transparent 70%),var(--color-bg);background-attachment:fixed}h1,h2{font-family:var(--font-display);font-weight:800;letter-spacing:0}:root{--kf-fadeIn:fadeIn;--kf-fadeInUp:fadeInUp;--kf-float:float;--kf-popIn:popIn;--kf-pulse:pulse;--kf-scaleIn:scaleIn;--kf-shimmer:shimmer;--kf-slideInLeft:slideInLeft;--kf-slideInRight:slideInRight;--kf-vtFadeIn:vtFadeIn;--kf-vtFadeOut:vtFadeOut;--kf-vtRiseIn:vtRiseIn;--kf-vtStageIn:vtStageIn;--kf-vtStageOut:vtStageOut;--kf-wiggle:wiggle;--kf-barGrow:barGrow;--palette-beni-900:#6b1520;--palette-beni-700:#b12a3a;--palette-beni-500:#d94452;--palette-beni-400:#e8707a;--palette-beni-100:#fce8ea;--palette-sumi:#1f1a1c;--palette-sumi-soft:#6b5f64;--palette-washi:#faf7f5;--palette-kami:#fff;--palette-tamago:#e6a817;--palette-tamago-soft:#fef6dd;--palette-sakura:#f287a0;--palette-sakura-soft:#fff0f3;--palette-matcha:#3a8544;--palette-ai:#3b5998;--palette-mint:#8fdcc2;--palette-sky:#9dd0f7;--palette-butter:#ffd66b;--palette-kin:#9a5c00;--palette-kin-soft:#fff1c9;--palette-washi-deep:#f8eced;--color-gold:var(--palette-kin);--color-gold-soft:var(--palette-kin-soft);--color-paper-deep:var(--palette-washi-deep);--font-display:"M PLUS Rounded 1c","Plus Jakarta Sans","Noto Sans JP",sans-serif;--hairline-gold:repeating-linear-gradient(90deg,var(--color-primary-soft) 0 7px,transparent 7px 12px,var(--palette-butter) 12px 19px,transparent 19px 24px);--pattern-seigaiha:none;--pattern-seigaiha-light:none;--shadow-paper:0 0 0 2px #f6e1e4,0 5px 0 #f0d2d6,0 16px 28px -18px rgba(177,42,58,.45);--color-bg:var(--palette-washi);--color-surface:var(--palette-kami);--color-surface-muted:var(--palette-beni-100);--color-surface-raised:var(--palette-kami);--color-text:var(--palette-sumi);--color-text-muted:var(--palette-sumi-soft);--color-primary:var(--palette-beni-700);--color-primary-strong:var(--palette-beni-900);--color-primary-soft:var(--palette-beni-400);--color-on-primary:#fff;--color-accent:var(--palette-tamago);--color-accent-soft:var(--palette-tamago-soft);--color-sakura:var(--palette-sakura);--color-sakura-soft:var(--palette-sakura-soft);--color-success:var(--palette-matcha);--color-danger:#c03040;--color-border:#e8ddd8;--color-focus:var(--palette-beni-500);--color-bubble-mascot:var(--palette-kami);--color-bubble-user:var(--palette-beni-700);--color-bubble-user-text:#fff;--color-skeleton:color-mix(in srgb,var(--color-border) 55%,var(--color-surface));--color-skeleton-highlight:color-mix(in srgb,var(--color-border) 15%,var(--color-surface));--font-family:"Plus Jakarta Sans","Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-japanese:"Noto Sans JP","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem;--font-size-2xl:2rem;--font-size-jp:1rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-heavy:800;--line-height-body:1.6;--line-height-tight:1.3;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:24px;--radius-pill:999px;--border-width:1.5px;--shadow-raised:0 2px 0 var(--color-border);--shadow-sm:0 1px 3px rgba(107,21,32,.06);--shadow-card:0 1px 3px rgba(107,21,32,.06),0 6px 16px rgba(107,21,32,.04);--shadow-card-hover:0 4px 12px rgba(107,21,32,.1),0 12px 28px rgba(107,21,32,.06);--content-max:82rem;--content-narrow:44rem;--nav-height:3.75rem;--sidebar-width:15rem;--sidebar-rail:4.5rem;--motion-fast:150ms;--motion-base:250ms;--motion-slow:500ms;--motion-entrance:600ms;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--ease-entrance:cubic-bezier(0.0,0.0,0.2,1);--motion-tap:300ms;--motion-flip:500ms;--motion-sheet:400ms;--motion-fill:800ms;--motion-pulse:2000ms;--ease-flip:cubic-bezier(0.4,0,0.2,1);--ease-sheet:cubic-bezier(0.16,1,0.3,1);--ease-fill:cubic-bezier(0.65,0,0.35,1)}@media (min-width:768px){:root{--font-size-xs:0.8125rem;--font-size-sm:0.9375rem;--font-size-md:1.0625rem;--font-size-lg:1.375rem;--font-size-xl:1.875rem;--font-size-2xl:2.5rem;--font-size-jp:1.125rem;--nav-height:4.25rem}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0ms;--motion-base:0ms;--motion-slow:0ms;--motion-entrance:0ms;--motion-tap:0ms;--motion-flip:0ms;--motion-sheet:0ms;--motion-fill:0ms;--motion-pulse:0ms}}.splashScreen_overlay__gUIkL{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;transition:opacity .5s ease-out}.splashScreen_overlay__gUIkL.splashScreen_fadeOut__jXk98{opacity:0;pointer-events:none}.splashScreen_bg__35bji{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%,#fff0f3 0,transparent 70%),linear-gradient(160deg,#fce8ea,#faf7f5 40%,#fff0f3)}.splashScreen_center__sOBYJ{position:relative;display:flex;flex-direction:column;align-items:center;gap:.5rem}.splashScreen_avatar__jR0af{position:relative;width:min(320px,70vw);aspect-ratio:1/1;animation:splashScreen_popIn__K0pQf .35s cubic-bezier(.34,1.56,.64,1) both}.splashScreen_poster__ynPv5{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.splashScreen_canvas__COjFT{position:absolute;inset:0;width:100%;height:100%;display:block;transform-origin:50% 95%}@keyframes splashScreen_popIn__K0pQf{0%{opacity:0;transform:scale(.3) translateY(30px)}60%{opacity:1;transform:scale(1.08) translateY(-8px)}80%{transform:scale(.96) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}.splashScreen_starsLayer__sgtnI{position:absolute;inset:0;pointer-events:none}.splashScreen_star__BSkxy{position:absolute;display:block;transform:translate(-50%,-50%) scale(0);animation:splashScreen_starBurst__04MR9 .8s cubic-bezier(.22,.61,.36,1) forwards}.splashScreen_star__BSkxy:after,.splashScreen_star__BSkxy:before{content:"";position:absolute;inset:0;background:gold;-webkit-clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.splashScreen_star__BSkxy:after{background:#fff8dc;transform:scale(.5);filter:blur(1px)}@keyframes splashScreen_starBurst__04MR9{0%{transform:translate(-50%,-50%) scale(0) rotate(0deg);opacity:1}30%{transform:translate(calc(-50% + var(--dx) * .3),calc(-50% + var(--dy) * .3)) scale(1.2) rotate(45deg);opacity:1}to{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(0) rotate(120deg);opacity:0}}.splashScreen_heart__EvnSL{position:absolute;top:22%;color:#ff7a93;opacity:0;animation:splashScreen_heartFloat__H_8hN 2.2s ease-out forwards}@keyframes splashScreen_heartFloat__H_8hN{0%{opacity:0;transform:translate(-50%,10px) scale(.3)}15%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--hx)),-120px) scale(1.1) rotate(var(--hr))}}.splashScreen_title__qCsit{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin:0;animation:splashScreen_titleFade__bfKhL .6s ease-out .3s both}.splashScreen_titleJp__rO3vD{font-family:var(--font-japanese,"Noto Sans JP",sans-serif);font-size:var(--font-size-2xl,2rem);font-weight:var(--font-weight-bold,700);color:var(--palette-beni-700,#b12a3a);letter-spacing:.08em}.splashScreen_titleSub__oFeP8{font-family:var(--font-family,"Plus Jakarta Sans",sans-serif);font-size:var(--font-size-sm,.875rem);font-weight:var(--font-weight-medium,500);color:var(--palette-sumi-soft,#6b5f64)}@keyframes splashScreen_titleFade__bfKhL{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.splashScreen_skipHint__W_nhN{position:absolute;bottom:-3.5rem;font-size:.75rem;color:var(--palette-beni-600,#c43244);letter-spacing:.05em;font-weight:500;margin:0;pointer-events:none;opacity:0;animation:splashScreen_hintFadeIn__JViC5 .8s ease 1.2s forwards}@keyframes splashScreen_hintFadeIn__JViC5{0%{opacity:0;transform:translateY(6px)}to{opacity:.6;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.splashScreen_avatar__jR0af{animation:none;opacity:1}.splashScreen_heart__EvnSL,.splashScreen_star__BSkxy{animation:none;opacity:0}.splashScreen_skipHint__W_nhN,.splashScreen_title__qCsit{animation:none;opacity:1}}