@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-orange-300:oklch(83.7% .128 66.29);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-200:oklch(94.5% .129 101.54);--color-green-100:oklch(96.2% .044 156.743);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-50:oklch(96.2% .018 272.314);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-200:oklch(87% .065 274.039);--color-indigo-300:oklch(78.5% .115 274.713);--color-indigo-400:oklch(67.3% .182 276.935);--color-indigo-600:oklch(51.1% .262 276.966);--color-indigo-900:oklch(35.9% .144 278.697);--color-indigo-950:oklch(25.7% .09 281.288);--color-slate-900:oklch(20.8% .042 265.755);--color-gray-50:oklch(98.5% .002 247.839);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--leading-relaxed:1.625;--ease-in:cubic-bezier(.4,0,1,1);--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--animate-bounce:bounce 1s infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--background:35 71% 83%;--foreground:20 10% 20%;--card:35 71% 90%;--card-foreground:20 10% 20%;--popover:35 71% 90%;--popover-foreground:20 10% 20%;--primary:18 65% 53%;--primary-foreground:35 71% 95%;--secondary:167 18% 63%;--secondary-foreground:20 10% 20%;--muted:167 18% 75%;--muted-foreground:167 18% 30%;--accent:43 93% 69%;--accent-foreground:20 10% 20%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:167 18% 50%;--input:167 18% 50%;--ring:18 65% 53%;--radius:0px}.dark{--background:20 10% 10%;--foreground:35 71% 83%;--card:20 10% 15%;--card-foreground:35 71% 83%;--popover:20 10% 15%;--popover-foreground:35 71% 83%;--primary:18 65% 53%;--primary-foreground:35 71% 95%;--secondary:167 18% 30%;--secondary-foreground:35 71% 83%;--muted:167 18% 20%;--muted-foreground:167 18% 60%;--accent:43 93% 69%;--accent-foreground:20 10% 20%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:167 18% 30%;--input:167 18% 30%;--ring:18 65% 53%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1}}@layer components;@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-2{top:calc(var(--spacing)*2)}.right-0{right:calc(var(--spacing)*0)}.right-8{right:calc(var(--spacing)*8)}.bottom-0{bottom:calc(var(--spacing)*0)}.left-0{left:calc(var(--spacing)*0)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.\!mt-0{margin-top:calc(var(--spacing)*0)!important}.mt-1{margin-top:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.hidden\!{display:none!important}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-1{height:calc(var(--spacing)*1)}.h-1\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-11{height:calc(var(--spacing)*11)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-16{height:calc(var(--spacing)*16)}.h-32{height:calc(var(--spacing)*32)}.h-auto{height:auto}.h-full{height:100%}.min-h-\[80px\]{min-height:80px}.min-h-screen{min-height:100vh}.w-1{width:calc(var(--spacing)*1)}.w-1\.5{width:calc(var(--spacing)*1.5)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-24{width:calc(var(--spacing)*24)}.w-full{width:100%}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-bounce{animation:var(--animate-bounce)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1.5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1.5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-full,.rounded-lg,.rounded-md,.rounded-none,.rounded-xl{border-radius:0}.rounded-s{border-start-start-radius:0;border-end-start-radius:0}.rounded-ss{border-start-start-radius:0}.rounded-e{border-start-end-radius:0;border-end-end-radius:0}.rounded-se{border-start-end-radius:0}.rounded-ee{border-end-end-radius:0}.rounded-es{border-end-start-radius:0}.rounded-t{border-top-left-radius:0;border-top-right-radius:0}.rounded-l{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-tl{border-top-left-radius:0}.rounded-r{border-top-right-radius:0;border-bottom-right-radius:0}.rounded-tr{border-top-right-radius:0}.rounded-b{border-bottom-right-radius:0;border-bottom-left-radius:0}.rounded-br{border-bottom-right-radius:0}.rounded-bl{border-bottom-left-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-indigo-200{border-color:var(--color-indigo-200)}.border-indigo-300{border-color:var(--color-indigo-300)}.border-input{border-color:hsl(var(--input))}.border-primary\/50{border-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.border-primary\/50{border-color:color-mix(in oklab,hsl(var(--primary))50%,transparent)}}.border-transparent{border-color:#0000}.border-l-blue-500{border-left-color:var(--color-blue-500)}.border-l-green-500{border-left-color:var(--color-green-500)}.border-l-primary{border-left-color:hsl(var(--primary))}.bg-background,.bg-background\/50{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/50{background-color:color-mix(in oklab,hsl(var(--background))50%,transparent)}}.bg-background\/80{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/80{background-color:color-mix(in oklab,hsl(var(--background))80%,transparent)}}.bg-background\/95{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.bg-background\/95{background-color:color-mix(in oklab,hsl(var(--background))95%,transparent)}}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-card{background-color:hsl(var(--card))}.bg-destructive,.bg-destructive\/10{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.bg-destructive\/10{background-color:color-mix(in oklab,hsl(var(--destructive))10%,transparent)}}.bg-green-100{background-color:var(--color-green-100)}.bg-indigo-50\/50{background-color:#eef2ff80}@supports (color:color-mix(in lab,red,red)){.bg-indigo-50\/50{background-color:color-mix(in oklab,var(--color-indigo-50)50%,transparent)}}.bg-muted-foreground\/40{background-color:hsl(var(--muted-foreground))}@supports (color:color-mix(in lab,red,red)){.bg-muted-foreground\/40{background-color:color-mix(in oklab,hsl(var(--muted-foreground))40%,transparent)}}.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab,red,red)){.bg-muted\/50{background-color:color-mix(in oklab,hsl(var(--muted))50%,transparent)}}.bg-primary,.bg-primary\/5{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/5{background-color:color-mix(in oklab,hsl(var(--primary))5%,transparent)}}.bg-primary\/10{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.bg-primary\/10{background-color:color-mix(in oklab,hsl(var(--primary))10%,transparent)}}.bg-railway-blue{background-color:#0072bc}.bg-sakura{background-color:#ffb7b7}.bg-secondary,.bg-secondary\/50{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.bg-secondary\/50{background-color:color-mix(in oklab,hsl(var(--secondary))50%,transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\/50{background-color:color-mix(in oklab,var(--color-white)50%,transparent)}}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-background{--tw-gradient-from:hsl(var(--background));--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-indigo-950{--tw-gradient-from:var(--color-indigo-950);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-green-600{--tw-gradient-via:var(--color-green-600);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-secondary\/20{--tw-gradient-to:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.to-secondary\/20{--tw-gradient-to:color-mix(in oklab,hsl(var(--secondary))20%,transparent)}}.to-secondary\/20{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-slate-900{--tw-gradient-to:var(--color-slate-900);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.fill-yellow-100{fill:var(--color-yellow-100)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-8{padding-inline:calc(var(--spacing)*8)}.px-safe-left{padding-inline:env(safe-area-inset-left)}.px-safe-right{padding-inline:env(safe-area-inset-right)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.pt-0{padding-top:calc(var(--spacing)*0)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-6{padding-top:calc(var(--spacing)*6)}.pt-safe-top{padding-top:env(safe-area-inset-top)}.pb-8{padding-bottom:calc(var(--spacing)*8)}.pb-24{padding-bottom:calc(var(--spacing)*24)}.pb-safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic,Meiryo,sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.text-blue-600{color:var(--color-blue-600)}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground,.text-foreground\/90{color:hsl(var(--foreground))}@supports (color:color-mix(in lab,red,red)){.text-foreground\/90{color:color-mix(in oklab,hsl(var(--foreground))90%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-indigo-200{color:var(--color-indigo-200)}.text-indigo-300{color:var(--color-indigo-300)}.text-indigo-300\/70{color:#a4b3ffb3}@supports (color:color-mix(in lab,red,red)){.text-indigo-300\/70{color:color-mix(in oklab,var(--color-indigo-300)70%,transparent)}}.text-indigo-600{color:var(--color-indigo-600)}.text-indigo-900{color:var(--color-indigo-900)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-orange-300{color:var(--color-orange-300)}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-white{color:var(--color-white)}.text-yellow-200{color:var(--color-yellow-200)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.grayscale{--tw-grayscale:grayscale(100%);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[animation-delay\:-0\.3s\]{animation-delay:-.3s}.\[animation-delay\:-0\.15s\]{animation-delay:-.15s}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media(hover:hover){.group-hover\:text-foreground:is(:where(.group):hover *){color:hsl(var(--foreground))}.group-hover\:text-primary:is(:where(.group):hover *){color:hsl(var(--primary))}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab,hsl(var(--destructive))80%,transparent)}}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab,hsl(var(--destructive))90%,transparent)}}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-primary\/5:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/5:hover{background-color:color-mix(in oklab,hsl(var(--primary))5%,transparent)}}.hover\:bg-primary\/10:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/10:hover{background-color:color-mix(in oklab,hsl(var(--primary))10%,transparent)}}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab,hsl(var(--primary))80%,transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab,hsl(var(--primary))90%,transparent)}}.hover\:bg-railway-blue\/80:hover{background-color:#0072bccc}.hover\:bg-railway-blue\/90:hover{background-color:#0072bce6}.hover\:bg-sakura\/80:hover{background-color:#ffb7b7cc}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab,red,red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab,hsl(var(--secondary))80%,transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@supports (backdrop-filter:var(--tw)){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:hsl(var(--background))}@supports (color:color-mix(in lab,red,red)){.supports-\[backdrop-filter\]\:bg-background\/60{background-color:color-mix(in oklab,hsl(var(--background))60%,transparent)}}}@media(prefers-color-scheme:dark){.dark\:bg-black\/20{background-color:#0003}@supports (color:color-mix(in lab,red,red)){.dark\:bg-black\/20{background-color:color-mix(in oklab,var(--color-black)20%,transparent)}}.dark\:bg-indigo-950\/20{background-color:#1e1a4d33}@supports (color:color-mix(in lab,red,red)){.dark\:bg-indigo-950\/20{background-color:color-mix(in oklab,var(--color-indigo-950)20%,transparent)}}.dark\:text-indigo-100{color:var(--color-indigo-100)}.dark\:text-indigo-400{color:var(--color-indigo-400)}}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background-color:#0000}::-webkit-scrollbar-thumb{background-color:hsl(var(--muted-foreground));border-radius:0}@supports (color:color-mix(in lab,red,red)){::-webkit-scrollbar-thumb{background-color:color-mix(in oklab,hsl(var(--muted-foreground))20%,transparent)}}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-25%)}50%{animation-timing-function:cubic-bezier(0,0,.2,1);transform:none}}.station-intro{background:#fff;box-shadow:0 4px 20px #0000001a;padding:1rem;margin-bottom:1rem}.station-intro-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.station-intro-header .intro-icon{font-size:1.5rem}.station-intro-header h3{margin:0;font-size:1.1rem;color:#333}.intro-loading{text-align:center;padding:1rem;color:#666}.intro-loading .loading-text{animation:pulse 1.5s infinite}.intro-text{margin:0;line-height:1.7;color:#444;font-size:.95rem}.nearby-izakaya{background:#fff;box-shadow:0 4px 20px #0000001a;padding:1rem;margin-bottom:1.5rem}.izakaya-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.izakaya-header .izakaya-icon{font-size:1.5rem}.izakaya-header h3{margin:0;font-size:1.1rem;color:#333}.izakaya-loading{text-align:center;padding:1rem;color:#666}.loading-text{animation:pulse 1.5s infinite}.no-results{text-align:center;color:#888;padding:1rem;margin:0;font-size:.9rem}.izakaya-list{display:flex;flex-direction:column;gap:.75rem}.izakaya-item{display:flex;gap:.75rem;padding:.75rem;background:#f8f9fa;text-decoration:none;color:inherit;transition:background-color .2s,transform .2s}.izakaya-item:hover{background:#eef1f5;transform:translateY(-1px)}.izakaya-item:active{transform:translateY(0)}.izakaya-photo{flex-shrink:0;width:60px;height:60px;overflow:hidden;background:#ddd}.izakaya-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.izakaya-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.izakaya-name{font-weight:600;font-size:.95rem;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.izakaya-details{display:flex;align-items:center;gap:.5rem;font-size:.8rem;flex-wrap:wrap}.izakaya-rating{display:flex;align-items:center;gap:.15rem;color:#333}.izakaya-rating .star{color:#ffc107}.izakaya-rating .rating-count{color:#888;font-size:.75rem}.izakaya-price{color:#4caf50;font-weight:500}.izakaya-status{padding:.1rem .4rem;font-size:.7rem}.izakaya-status.open{background:#e8f5e9;color:#2e7d32}.izakaya-status.closed{background:#ffebee;color:#c62828}.izakaya-address{font-size:.75rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.destination-selector{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000001a}.destination-selector .selector-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.back-button{padding:.5rem .75rem;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s ease}.back-button:hover{background:#e0e0e0;color:#333}.selected-line{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:hsl(var(--muted));border:1px solid hsl(var(--border));flex:1}.selected-line .line-icon{font-size:1.2rem}.selected-line .line-name{font-weight:600;color:#1976d2}.operating-status{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.operating-status.operating{background:#e8f5e9;color:#2e7d32}.operating-status.not-operating{background:#ffebee;color:#c62828}.operating-status .status-icon{font-size:.8rem}.operating-status .status-message{flex:1}.operating-status .next-train{font-weight:600}.no-service{text-align:center;padding:2rem;background:hsl(var(--foreground));border-radius:var(--radius);color:hsl(var(--background))}.no-service p{margin:.5rem 0}.no-service .hint{opacity:.8;font-size:.9rem}.no-destinations{text-align:center;padding:2rem;color:#888}.destinations-container{display:flex;flex-direction:column;gap:1.5rem}.direction-section{display:flex;flex-direction:column;gap:.5rem}.direction-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:2px solid #e0e0e0}.direction-arrow{font-size:1.2rem;color:#1976d2}.terminal-name{font-weight:600;color:#333;font-size:.95rem}.destinations-list{display:flex;flex-direction:column;gap:.5rem;max-height:250px;overflow-y:auto;padding-right:.5rem}.destinations-list::-webkit-scrollbar{width:6px}.destinations-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.destinations-list::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.destinations-list::-webkit-scrollbar-thumb:hover{background:#aaa}.destination-button{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:#fafafa;border:1px solid #e0e0e0;border-radius:10px;cursor:pointer;transition:all .2s ease;text-align:left;font-size:.95rem}.destination-button:hover{background:#f0f8ff;border-color:#4a90a4;transform:translate(4px)}.destination-button:active{transform:translate(2px)}.station-name{font-weight:600;color:#333}.travel-info{display:flex;align-items:center;gap:.75rem}.travel-info .time{color:#2980b9;font-weight:700;font-size:.95rem}.travel-info .distance{color:#888;font-size:.8rem}.destination-button.queue-mode{background:hsl(var(--secondary));border-color:hsl(var(--primary))}.destination-button.queue-mode:hover{background:hsl(var(--secondary));opacity:.9}.queue-add-label{background:hsl(var(--primary));color:#fff;padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:700;margin-left:8px}.travel-stats{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;margin-top:1.5rem}.travel-stats h3{margin:0 0 1rem;font-size:1.2rem;color:#333}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.stat-item{text-align:center;padding:.75rem;background:#f8f9fa;border-radius:12px}.stat-icon{display:block;font-size:1.5rem;margin-bottom:.25rem}.stat-value{display:block;font-size:1.3rem;font-weight:700;color:#2980b9}.stat-label{display:block;font-size:.75rem;color:#666;margin-top:.25rem}.reset-button{width:100%;padding:.75rem;background:#f8f9fa;border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s ease}.reset-button:hover{background:#fff0f0;border-color:#e74c3c;color:#e74c3c}.hotel-selector{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 20px #0000001a;margin-bottom:1.5rem}.hotel-selector.needs-accommodation{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.accommodation-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.accommodation-header .moon-icon{font-size:1.5rem}.accommodation-header h3{margin:0;font-size:1.3rem;flex:1}.accommodation-header .close-button{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.accommodation-header .close-button:hover{background:#ffffff4d}.accommodation-message{font-size:.95rem;line-height:1.6;margin:0 0 1.5rem;opacity:.95}.hotels-loading{text-align:center;padding:2rem;opacity:.9}.hotels-loading .loading-icon{font-size:2rem;display:block;margin-bottom:.5rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.hotels-error{text-align:center;padding:1.5rem;background:#ffffff1a;border-radius:12px;opacity:.9}.hotels-title{font-size:.9rem;margin:0 0 .75rem;opacity:.9}.hotels-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.hotel-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fffffff2;border:none;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.hotel-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.hotel-item:active{transform:translateY(0)}.hotel-image{width:60px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#f0f0f0;display:flex;align-items:center;justify-content:center}.hotel-image img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.hotel-image .no-image{font-size:1.5rem;opacity:.5}.hotel-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.hotel-name{font-weight:600;color:#333;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotel-access{font-size:.75rem;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hotel-review{font-size:.75rem;color:#f5a623}.hotel-price{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;flex-shrink:0}.price-label{font-size:.65rem;color:#888}.price-value{font-weight:700;color:#e74c3c;font-size:.9rem}.hotel-selector.staying{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));text-align:center}.staying-header{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.5rem}.staying-header .hotel-icon{font-size:1.5rem}.staying-header h3{margin:0;font-size:1.3rem}.staying-location{font-size:.95rem;margin:0 0 1.5rem;opacity:.9}.checkout-info{margin-bottom:1rem}.checkout-info p{margin:0 0 .25rem;font-size:.85rem;opacity:.9}.checkout-time{font-size:2rem;font-weight:700;font-family:Courier New,monospace}.staying-hint{font-size:.8rem;margin:0;opacity:.8}.checkout-button{width:100%;padding:.875rem 1.5rem;margin:1rem 0 .75rem;background:hsl(var(--card));color:hsl(var(--secondary));border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease}.checkout-button:hover:not(:disabled){background:hsl(var(--card));transform:translateY(-2px)}.checkout-button:active:not(:disabled){transform:translateY(0)}.checkout-button.disabled{background:#ffffff4d;color:#ffffffb3;cursor:not-allowed}.queue-resume-info{background:#ffffff26;border-radius:8px;padding:.75rem;margin:1rem 0}.queue-resume-info p{margin:0;font-size:.9rem}.queue-info-banner{background:#ffffff26;border-radius:8px;padding:.75rem;margin-bottom:1rem}.queue-info-banner p{margin:0;font-size:.9rem}.home-station-selector{padding:1rem;max-width:500px;margin:0 auto}.home-station-selector.loading{text-align:center;padding:2rem}.home-station-selector .selector-header{text-align:center;margin-bottom:1.5rem;display:flex;flex-direction:column;align-items:center}.home-station-selector .selector-header h2{font-size:1.5rem;margin:0 0 .75rem;color:#333;width:100%}.home-station-selector .selector-header .description{color:#666;font-size:.95rem;margin:0;width:100%}.home-station-selector .search-box{margin-bottom:1rem}.home-station-selector .search-box input{width:100%;padding:.8rem 1rem;font-size:1rem;border:2px solid #ddd;border-radius:8px;outline:none;transition:border-color .2s;box-sizing:border-box}.home-station-selector .search-box input:focus{border-color:hsl(var(--primary))}.home-station-selector .search-results{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-height:400px;overflow-y:auto}.home-station-selector .no-results{padding:1.5rem;text-align:center;color:#666}.home-station-selector .results-list{display:flex;flex-direction:column}.home-station-selector .result-item{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;border:none;background:#fff;cursor:pointer;text-align:left;border-bottom:1px solid #eee;transition:background .2s}.home-station-selector .result-item:last-child{border-bottom:none}.home-station-selector .result-item:hover{background:#f5f9fa}.home-station-selector .result-item:active{background:#e8f4f8}.home-station-selector .result-item .station-name{font-weight:600;color:#333;font-size:1rem}.home-station-selector .result-item .line-name{font-size:.8rem;color:#666;background:#f0f0f0;padding:.2rem .5rem;border-radius:4px}.home-station-selector .hint{text-align:center;padding:2rem 1rem;color:#888}.home-station-selector .hint p{margin:0;font-size:.9rem}.wallet{background:linear-gradient(135deg,#2d5a27,#1a3518);border-radius:12px;padding:16px;color:#fff;margin-bottom:16px}.wallet-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.wallet-icon{font-size:1.25rem}.wallet-title{font-weight:600;font-size:1rem;flex:1}.wallet-status{font-size:.75rem;padding:2px 8px;border-radius:12px;background:#fff3}.wallet-status.active{background:#4caf50}.wallet-content{display:flex;flex-direction:column;gap:12px}.wallet-total{display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2)}.total-label{font-size:.875rem;opacity:.9}.total-amount{font-size:1.5rem;font-weight:700}.wallet-breakdown{display:flex;gap:16px}.breakdown-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:#ffffff1a;border-radius:8px}.breakdown-icon{font-size:1.25rem}.breakdown-label{font-size:.75rem;opacity:.8}.breakdown-value{font-size:1rem;font-weight:600}.wallet-last-fare{font-size:.75rem;text-align:center;opacity:.8;padding:4px 8px;background:#ffffff1a;border-radius:4px}.wallet-duration{font-size:.75rem;text-align:center;opacity:.7}.voluntary-stay-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:linear-gradient(135deg,#5c6bc0,#3949ab);color:#fff;border:none;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-bottom:16px}.voluntary-stay-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #3f51b566}.voluntary-stay-button:active{transform:translateY(0)}.voluntary-stay-icon{font-size:1.25rem}.voluntary-stay-text{letter-spacing:.5px}.trip-card{display:flex;flex-direction:column;gap:12px;padding:16px;background:#fff;border:none;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .2s ease;text-align:left;width:100%;position:relative}.trip-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.trip-card:active{transform:translateY(0)}.trip-card-header{display:flex;align-items:center;justify-content:space-between}.trip-date{display:flex;align-items:center;gap:6px;font-size:.875rem;color:#666}.trip-date-icon{font-size:1rem}.trip-status-badge{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff;font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:12px}.trip-card-title{font-size:1.1rem;font-weight:600;color:#333}.trip-card-stats{display:flex;gap:16px;flex-wrap:wrap}.trip-stat{display:flex;align-items:center;gap:4px;font-size:.9rem;color:#555}.trip-stat-icon{font-size:1rem}.trip-stat-value{font-weight:600;color:#333}.trip-stat-label{font-size:.8rem;color:#888}.trip-card-cost{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #eee}.trip-cost-label{font-size:.85rem;color:#666}.trip-cost-value{font-size:1.1rem;font-weight:700;color:#e74c3c}.trip-card-memo{font-size:.85rem;color:#888;line-height:1.4;padding:8px;background:#f8f8f8;border-radius:8px}.trip-card-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:1.25rem;color:#ccc}.trip-detail{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden}.trip-detail.loading,.trip-detail.error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center}.trip-detail .loading-icon{font-size:2rem;margin-bottom:.5rem}.trip-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #eee}.back-button{background:none;border:none;color:#3f51b5;font-size:1rem;font-weight:600;cursor:pointer;padding:0}.back-button:hover{opacity:.8}.edit-button{background:#f5f5f5;border:none;color:#333;font-size:.9rem;font-weight:500;padding:8px 16px;border-radius:8px;cursor:pointer}.edit-button:hover{background:#eee}.trip-detail-content{padding:1.5rem}.trip-detail-title{margin:0 0 .5rem;font-size:1.5rem;font-weight:700;color:#333}.trip-date-range{display:flex;align-items:center;gap:8px;color:#666;font-size:.9rem;margin-bottom:1rem}.date-icon{font-size:1rem}.trip-memo-display{background:#f8f8f8;border-radius:12px;padding:1rem;margin-bottom:1.5rem;line-height:1.6;color:#555}.trip-edit-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.trip-edit-form label{display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;font-weight:500;color:#666}.trip-edit-form input,.trip-edit-form textarea{padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit}.trip-edit-form input:focus,.trip-edit-form textarea:focus{outline:none;border-color:#3f51b5}.edit-actions{display:flex;gap:.75rem;justify-content:flex-end}.cancel-button{background:#f5f5f5;border:none;color:#666;font-size:.9rem;padding:10px 20px;border-radius:8px;cursor:pointer}.save-button{background:linear-gradient(135deg,#3f51b5,#303f9f);border:none;color:#fff;font-size:.9rem;font-weight:600;padding:10px 20px;border-radius:8px;cursor:pointer}.save-button:hover{opacity:.9}.trip-summary{background:#f8f8f8;border-radius:12px;padding:1rem;margin-bottom:1.5rem}.summary-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.summary-row.total{padding-top:.75rem;margin-top:.5rem;border-top:1px solid #ddd}.summary-label{color:#666;font-size:.9rem}.summary-value{font-weight:600;color:#333}.summary-row.total .summary-value{color:#e74c3c;font-size:1.1rem}.summary-divider{height:1px;background:#ddd;margin:.5rem 0}.trip-segments,.trip-accommodations{margin-top:1.5rem}.trip-segments h3,.trip-accommodations h3{font-size:1rem;font-weight:600;color:#333;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #3f51b5}.segments-list,.accommodations-list{display:flex;flex-direction:column;gap:.75rem}.segment-item{display:flex;gap:.75rem;padding:.75rem;background:#f8f8f8;border-radius:8px}.segment-icon{font-size:1.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;flex-shrink:0}.segment-info{flex:1;min-width:0}.segment-route{font-weight:600;color:#333;font-size:.9rem}.segment-line{font-size:.8rem;color:#666;margin-top:2px}.segment-meta{display:flex;gap:.75rem;margin-top:4px;font-size:.8rem;color:#888}.segment-fare{color:#e74c3c;font-weight:500}.accommodation-item{display:flex;gap:.75rem;padding:.75rem;background:#f8f8f8;border-radius:8px}.accommodation-icon{width:48px;height:48px;border-radius:8px;overflow:hidden;flex-shrink:0;background:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.accommodation-icon img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.accommodation-info{flex:1;min-width:0}.accommodation-name{font-weight:600;color:#333;font-size:.9rem}.accommodation-station{font-size:.8rem;color:#666;margin-top:2px}.accommodation-meta{margin-top:4px}.accommodation-cost{color:#e74c3c;font-weight:600;font-size:.9rem}.trip-history{background:#fff;box-shadow:0 4px 20px #0000001a;overflow:hidden;max-height:80vh;display:flex;flex-direction:column}.trip-history-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid #eee;background:linear-gradient(135deg,#3f51b5,#303f9f);color:#fff}.trip-history-header h2{margin:0;font-size:1.2rem;font-weight:600}.trip-history-header .close-button{background:#fff3;border:none;color:inherit;width:32px;height:32px;font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.trip-history-header .close-button:hover{background:#ffffff4d}.header-spacer{width:32px}.trip-history-content{flex:1;overflow-y:auto;padding:1rem}.trip-history-loading,.trip-history-error,.trip-history-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center}.trip-history-loading .loading-icon,.trip-history-empty .empty-icon{font-size:3rem;margin-bottom:1rem}.trip-history-empty p{color:#666;margin:0;font-size:1rem}.trip-history-empty .empty-hint{font-size:.875rem;color:#999;margin-top:.5rem}.trip-history-error p{color:#e74c3c}.trips-list{display:flex;flex-direction:column;gap:1rem}.load-more-button{width:100%;padding:1rem;background:#f5f5f5;border:none;color:#666;font-size:.95rem;cursor:pointer;transition:background .2s}.load-more-button:hover{background:#eee}.onboarding{display:flex;align-items:center;justify-content:center;min-height:70vh;padding:1rem}.onboarding-content{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:2rem;max-width:420px;width:100%}.onboarding-header{text-align:center;margin-bottom:1.5rem}.onboarding-icon{font-size:4rem;display:block;margin-bottom:.5rem}.onboarding-header h2{margin:0;font-size:1.6rem;color:#333}.onboarding-description{margin-bottom:1.5rem}.onboarding-description .lead{text-align:center;font-size:1.05rem;color:#555;margin:0 0 1.5rem;line-height:1.6}.feature-list{display:flex;flex-direction:column;gap:1rem}.feature-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#f8f9fa;border-radius:10px}.feature-icon{font-size:1.5rem;flex-shrink:0}.feature-text{flex:1}.feature-text strong{display:block;color:#333;font-size:.95rem;margin-bottom:.25rem}.feature-text p{margin:0;color:#666;font-size:.85rem;line-height:1.5}.start-button{width:100%;padding:1rem;background:linear-gradient(135deg,#4a90a4,#357a8a);color:#fff;border:none;border-radius:10px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.start-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4a90a466}.start-button:active{transform:translateY(0)}.queue-mode-toggle{padding:8px 16px;border:2px solid #4A90A4;border-radius:20px;background:#fff;color:#4a90a4;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease}.queue-mode-toggle:hover{background:#f0f8fa}.queue-mode-toggle.active{background:#4a90a4;color:#fff}.queue-mode-toggle.active:hover{background:#3a7a94}.route-queue{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;margin-top:12px}.route-queue-header{display:flex;flex-direction:column;gap:6px;padding:12px 16px;background:#f8f9fa;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.route-queue-header:hover{background:#e9ecef}.route-queue-header-main{display:flex;align-items:center;justify-content:space-between;width:100%}.route-queue-preview{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:13px;color:#666;background:#4a90a41a;padding:6px 10px;border-radius:6px}.preview-route{font-weight:500;color:#4a90a4}.preview-details{color:#888}.route-queue-title{font-weight:700;color:#333}.route-queue-total-time{color:#666;font-size:14px}.route-queue-collapse-icon{color:#999;font-size:12px}.route-queue-list{padding:8px;max-height:300px;overflow-y:auto}.queue-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fafafa;border-radius:8px;margin-bottom:6px}.queue-item:last-child{margin-bottom:0}.queue-item.status-pending{background:#fff;border:1px solid #e0e0e0}.queue-item.status-active{background:#e3f2fd;border:1px solid #2196f3}.queue-item.status-completed{background:#e8f5e9;border:1px solid #4caf50;opacity:.7}.queue-item.status-skipped{background:#fafafa;border:1px solid #ccc;opacity:.5}.queue-item-index{width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:#4a90a4;color:#fff;border-radius:50%;font-size:12px;font-weight:700;flex-shrink:0}.queue-item-status,.queue-item-type{font-size:16px;flex-shrink:0}.queue-item-route{display:flex;align-items:center;gap:4px;flex:1;min-width:0;font-size:14px}.queue-item-from,.queue-item-to{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-item-arrow{color:#999;flex-shrink:0}.queue-item-time{color:#666;font-size:13px;flex-shrink:0}.queue-item-delete{width:24px;height:24px;border:none;background:#ff5252;color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;transition:background .2s}.queue-item-delete:hover{background:#f44336}.queue-controls{display:flex;gap:8px;padding:12px 16px;background:#f8f9fa;border-top:1px solid #e0e0e0}.queue-control-btn{flex:1;padding:12px 16px;border:none;border-radius:8px;font-size:16px;font-weight:700;cursor:pointer;transition:all .2s}.queue-control-btn.start-btn{background:linear-gradient(135deg,#4caf50,#43a047);color:#fff}.queue-control-btn.start-btn:hover:not(:disabled){background:linear-gradient(135deg,#43a047,#388e3c);transform:translateY(-1px)}.queue-control-btn.start-btn:disabled{background:#ccc;color:#888;cursor:not-allowed}.queue-control-btn.cancel-btn{background:linear-gradient(135deg,#ff5252,#f44336);color:#fff}.queue-control-btn.cancel-btn:hover{background:linear-gradient(135deg,#f44336,#e53935);transform:translateY(-1px)}.queue-control-btn.pause-btn{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff}.queue-control-btn.pause-btn:hover{background:linear-gradient(135deg,#f57c00,#ef6c00);transform:translateY(-1px)}.queue-control-btn.resume-btn{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff}.queue-control-btn.resume-btn:hover{background:linear-gradient(135deg,#1976d2,#1565c0);transform:translateY(-1px)}.route-queue.has-warnings{border:2px solid #ff9800}.warning-badge{margin-left:6px;animation:pulse-warning 1.5s ease-in-out infinite}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.5}}.queue-warnings{padding:8px 12px;background:#fff3e0;border-bottom:1px solid #ffe0b2}.queue-warning{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:#e65100}.queue-warning:not(:last-child){border-bottom:1px dashed #ffe0b2}.warning-icon{flex-shrink:0}.warning-message{flex:1}.queue-warning.last-train-warning{color:#c62828;background:#ffebee;border-radius:6px;padding:8px;margin-top:4px}.queue-item-handle{cursor:grab;color:#999;font-size:14px;flex-shrink:0;padding:0 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.queue-item-handle:active{cursor:grabbing}.queue-item.dragging{opacity:.5;background:#e3f2fd;border:2px dashed #2196f3}.queue-item.drag-over{border:2px solid #4caf50;transform:scale(1.02);transition:transform .1s ease}.queue-item{animation:queue-item-enter .3s ease-out}@keyframes queue-item-enter{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.login-button-container{display:flex;flex-direction:column;align-items:center;gap:8px}.login-button{display:flex;align-items:center;gap:10px;padding:10px 20px;background-color:#fff;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;color:#333;cursor:pointer;transition:background-color .2s,box-shadow .2s;text-decoration:none}.login-button:hover:not(:disabled){background-color:#f8f8f8;box-shadow:0 2px 4px #0000001a}.login-button:disabled{opacity:.6;cursor:not-allowed}.login-button:focus{outline:2px solid #4A90A4;outline-offset:2px}.google-icon{flex-shrink:0}.privacy-link{font-size:12px;color:#666;text-decoration:none}.privacy-link:hover{text-decoration:underline;color:#4a90a4}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px;background:transparent;border:1px solid #e0e0e0;border-radius:20px;cursor:pointer;transition:background-color .2s}.user-menu-trigger:hover{background-color:#0000000d}.user-avatar{width:28px;height:28px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.user-avatar-placeholder{width:28px;height:28px;border-radius:50%;background-color:#4a90a4;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.user-name{font-size:14px;color:#333;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{color:#666;transition:transform .2s}.chevron.open{transform:rotate(180deg)}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:100;overflow:hidden}.user-menu-info{padding:12px 16px}.user-email{font-size:13px;color:#666}.user-menu-divider{margin:0;border:none;border-top:1px solid #eee}.user-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:14px;color:#333;cursor:pointer;transition:background-color .2s}.user-menu-item:hover{background-color:#f5f5f5}.user-menu-item.logout{color:#e53935}.user-menu-item.logout:hover{background-color:#ffebee}@media(max-width:480px){.user-name{display:none}.user-menu-trigger{padding:6px}.chevron{display:none}}.sync-status{display:flex;align-items:center;gap:6px;font-size:12px;color:#666;padding:4px 8px;border-radius:12px;background-color:#fffc}.sync-status--syncing{color:#1976d2}.sync-status--offline{color:#f57c00;background-color:#fff3e0}.sync-status--error{color:#d32f2f;background-color:#ffebee}.sync-status--idle{color:#388e3c}.sync-status-icon{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:12px;font-weight:700}.sync-status-icon.spinning{animation:spin 1s linear infinite}.sync-status-icon.synced{color:#388e3c}.sync-status-icon.offline{color:#f57c00}.sync-status-icon.error{color:#d32f2f;background-color:#d32f2f;color:#fff;border-radius:50%;font-size:10px}.sync-status-text{white-space:nowrap}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.data-migration-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.data-migration-dialog{background:#fff;border-radius:16px;padding:1.5rem;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003}.data-migration-dialog h3{margin:0 0 .5rem;font-size:1.25rem;color:#333;text-align:center}.dialog-description{margin:0 0 1rem;color:#666;font-size:.9rem;text-align:center}.data-comparison{display:flex;flex-direction:column;gap:1rem}.data-option{display:flex;flex-direction:column;gap:.5rem}.data-divider{display:flex;align-items:center;gap:1rem;color:#999;font-size:.85rem}.data-divider:before,.data-divider:after{content:"";flex:1;height:1px;background:#ddd}.data-summary-card{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1rem;transition:border-color .2s ease}.data-summary-card.recommended{border-color:#4a90a4;background:#f0f7fa}.data-summary-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.data-summary-header h4{margin:0;font-size:.95rem;color:#333}.recommended-badge{background:#4a90a4;color:#fff;font-size:.7rem;padding:.2rem .5rem;border-radius:4px;font-weight:600}.data-summary-stats{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.stat-row{display:flex;align-items:center;gap:.25rem;font-size:.85rem}.stat-row .stat-icon{font-size:.9rem}.stat-row .stat-label{color:#666;flex:1}.stat-row .stat-value{color:#333;font-weight:600}.dialog-actions{display:flex;gap:.75rem;margin-top:1rem}.action-btn{flex:1;padding:.75rem 1rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn.primary{background:#4a90a4;color:#fff}.action-btn.primary:hover{background:#3a7a8a}.action-btn.secondary{background:#e9ecef;color:#495057}.action-btn.secondary:hover{background:#dee2e6}.dialog-cancel{text-align:center;margin-top:1rem}.cancel-link{background:none;border:none;color:#666;font-size:.85rem;cursor:pointer;text-decoration:underline;padding:.5rem}.cancel-link:hover{color:#333}.login-prompt{background:linear-gradient(135deg,#f0f7fa,#e8f4f8);border:2px solid #4A90A4;border-radius:12px;padding:1rem;margin-bottom:1rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-prompt-content{display:flex;gap:.75rem;margin-bottom:.75rem}.login-prompt-icon{font-size:1.5rem;flex-shrink:0}.login-prompt-text h4{margin:0 0 .25rem;font-size:.95rem;color:#333}.login-prompt-text p{margin:0;font-size:.85rem;color:#666;line-height:1.4}.login-prompt-actions{display:flex;gap:.5rem;justify-content:flex-end}.prompt-btn{padding:.5rem 1rem;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.prompt-btn.primary{background:#4a90a4;color:#fff}.prompt-btn.primary:hover{background:#3a7a8a}.prompt-btn.secondary{background:transparent;color:#666}.prompt-btn.secondary:hover{background:#0000000d;color:#333}.app{min-height:100vh;background:hsl(var(--background))}.app.loading,.app.error{display:flex;align-items:center;justify-content:center}.loading-content,.error-content{text-align:center;background:#fff;padding:2rem;border-radius:16px;box-shadow:0 4px 20px #0000001a}.loading-icon,.error-icon{font-size:4rem;display:block;margin-bottom:1rem}.loading-icon{animation:train-pulse 1s ease-in-out infinite}@keyframes train-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.error-message{color:#e74c3c;font-size:.9rem}.login-required{display:flex;align-items:center;justify-content:center;min-height:60vh}.login-required-content{text-align:center;background:#fff;padding:2.5rem;border-radius:16px;box-shadow:0 4px 20px #0000001a;max-width:400px}.login-required-content .login-icon{font-size:4rem;display:block;margin-bottom:1rem}.login-required-content h2{color:#2c3e50;margin-bottom:.75rem;font-size:1.4rem}.login-required-content p{color:#666;margin-bottom:1.5rem;line-height:1.6}.error-content button{margin-top:1rem;padding:.75rem 1.5rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-size:1rem}.error-content button:hover{opacity:.9}.app-header{margin-bottom:1.5rem}.header-auth-row{display:flex;justify-content:flex-end;padding:.5rem 0}.header-auth{flex-shrink:0}.header-title-row{text-align:center;padding:.5rem 0}.app-header h1{margin:0;font-size:2rem;color:#333}.tagline{margin:.5rem 0 0;color:#666;font-size:.9rem}.app-main{max-width:480px;margin:0 auto}.app-footer{text-align:center;margin-top:2rem;padding:1rem;color:#888;font-size:.8rem}.footer-content{display:flex;flex-direction:column;align-items:center;gap:.5rem}.footer-content p{margin:0}.home-setup{background:hsl(var(--card));border:2px solid hsl(var(--accent));border-radius:var(--radius);padding:1rem;margin-bottom:1rem;text-align:center}.home-setup p{margin:0 0 .75rem;font-size:.9rem;color:hsl(var(--foreground))}.home-setup button{padding:.5rem 1rem;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:600;transition:all .2s ease}.home-setup button:hover{opacity:.9;transform:translateY(0)}.home-info{background:hsl(var(--muted));border-radius:var(--radius);padding:.5rem 1rem;margin-bottom:1rem;text-align:center;font-size:.85rem;color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;gap:.75rem}.home-info .change-home-btn{padding:.25rem .5rem;background:transparent;color:hsl(var(--primary));border:1px solid hsl(var(--primary));border-radius:calc(var(--radius) - 4px);cursor:pointer;font-size:.75rem;transition:all .2s ease}.home-info .change-home-btn:hover{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.queue-mode-container{text-align:center;margin-bottom:1rem}.trip-history-button{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 16px;background:hsl(var(--secondary));border:none;border-radius:var(--radius);color:hsl(var(--secondary-foreground));font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:1rem}.trip-history-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #546e7a66}.trip-history-button:active{transform:translateY(0)}.trip-history-button .history-icon{font-size:1.25rem}.trip-history-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:1000}.trip-history-overlay>*{max-width:500px;width:100%}
