/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--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-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}}}@layer theme{:root,:host{--font-sans:"Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-red-950:oklch(25.8% .092 26.042);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-700:oklch(55.3% .195 38.402);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-300:oklch(87.9% .169 91.605);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-800:oklch(47.3% .137 46.201);--color-amber-900:oklch(41.4% .112 45.904);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-800:oklch(47.6% .114 61.907);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-300:oklch(84.5% .143 164.978);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-emerald-950:oklch(26.2% .051 172.552);--color-cyan-100:oklch(95.6% .045 203.388);--color-cyan-700:oklch(52% .105 223.128);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-900:oklch(37.9% .146 265.522);--color-blue-950:oklch(28.2% .091 267.935);--color-violet-50:oklch(96.9% .016 293.756);--color-violet-100:oklch(94.3% .029 294.588);--color-violet-200:oklch(89.4% .057 293.283);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-violet-500:oklch(60.6% .25 292.717);--color-violet-600:oklch(54.1% .281 293.009);--color-violet-700:oklch(49.1% .27 292.581);--color-violet-800:oklch(43.2% .232 292.759);--color-violet-900:oklch(38% .189 293.745);--color-violet-950:oklch(28.3% .141 291.089);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-700:oklch(49.6% .265 301.924);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-xl:36rem;--container-4xl:56rem;--container-6xl:72rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--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);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--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%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing) * 0)}.top-0{top:calc(var(--spacing) * 0)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-4{top:calc(var(--spacing) * 4)}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-4{right:calc(var(--spacing) * 4)}.bottom-2{bottom:calc(var(--spacing) * 2)}.left-0{left:calc(var(--spacing) * 0)}.left-3{left:calc(var(--spacing) * 3)}.left-\[7px\]{left:7px}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:calc(var(--spacing) * 1)}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing) * 2)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-28{height:calc(var(--spacing) * 28)}.h-full{height:100%}.max-h-48{max-height:calc(var(--spacing) * 48)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\[32rem\]{max-height:32rem}.max-h-\[70vh\]{max-height:70vh}.max-h-\[75vh\]{max-height:75vh}.max-h-\[92vh\]{max-height:92vh}.max-h-\[calc\(100vh-16rem\)\]{max-height:calc(100vh - 16rem)}.min-h-0{min-height:calc(var(--spacing) * 0)}.min-h-20{min-height:calc(var(--spacing) * 20)}.min-h-32{min-height:calc(var(--spacing) * 32)}.min-h-40{min-height:calc(var(--spacing) * 40)}.w-0\.5{width:calc(var(--spacing) * .5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-12{width:calc(var(--spacing) * 12)}.w-28{width:calc(var(--spacing) * 28)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[200px\]{min-width:200px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * 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-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * 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)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-400{border-color:var(--color-blue-400)}.border-blue-500{border-color:var(--color-blue-500)}.border-emerald-800{border-color:var(--color-emerald-800)}.border-red-800{border-color:var(--color-red-800)}.border-red-800\/60{border-color:#9f071299}@supports (color:color-mix(in lab, red, red)){.border-red-800\/60{border-color:color-mix(in oklab, var(--color-red-800) 60%, transparent)}}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-600{border-color:var(--color-slate-600)}.border-slate-600\/80{border-color:#45556ccc}@supports (color:color-mix(in lab, red, red)){.border-slate-600\/80{border-color:color-mix(in oklab, var(--color-slate-600) 80%, transparent)}}.border-slate-700{border-color:var(--color-slate-700)}.border-slate-700\/50{border-color:#31415880}@supports (color:color-mix(in lab, red, red)){.border-slate-700\/50{border-color:color-mix(in oklab, var(--color-slate-700) 50%, transparent)}}.border-slate-800{border-color:var(--color-slate-800)}.border-violet-100{border-color:var(--color-violet-100)}.border-violet-200{border-color:var(--color-violet-200)}.border-violet-400{border-color:var(--color-violet-400)}.border-violet-400\/40{border-color:#a685ff66}@supports (color:color-mix(in lab, red, red)){.border-violet-400\/40{border-color:color-mix(in oklab, var(--color-violet-400) 40%, transparent)}}.border-violet-400\/50{border-color:#a685ff80}@supports (color:color-mix(in lab, red, red)){.border-violet-400\/50{border-color:color-mix(in oklab, var(--color-violet-400) 50%, transparent)}}.border-violet-500\/30{border-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.border-violet-500\/30{border-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.border-white{border-color:var(--color-white)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-amber-500\/20{background-color:#f99c0033}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/20{background-color:color-mix(in oklab, var(--color-amber-500) 20%, transparent)}}.bg-amber-900\/40{background-color:#7b330666}@supports (color:color-mix(in lab, red, red)){.bg-amber-900\/40{background-color:color-mix(in oklab, var(--color-amber-900) 40%, transparent)}}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-50\/40{background-color:#eff6ff66}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\/40{background-color:color-mix(in oklab, var(--color-blue-50) 40%, transparent)}}.bg-blue-50\/50{background-color:#eff6ff80}@supports (color:color-mix(in lab, red, red)){.bg-blue-50\/50{background-color:color-mix(in oklab, var(--color-blue-50) 50%, transparent)}}.bg-blue-100{background-color:var(--color-blue-100)}.bg-blue-100\/70{background-color:#dbeafeb3}@supports (color:color-mix(in lab, red, red)){.bg-blue-100\/70{background-color:color-mix(in oklab, var(--color-blue-100) 70%, transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-blue-950\/20{background-color:#16245633}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\/20{background-color:color-mix(in oklab, var(--color-blue-950) 20%, transparent)}}.bg-blue-950\/30{background-color:#1624564d}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\/30{background-color:color-mix(in oklab, var(--color-blue-950) 30%, transparent)}}.bg-blue-950\/40{background-color:#16245666}@supports (color:color-mix(in lab, red, red)){.bg-blue-950\/40{background-color:color-mix(in oklab, var(--color-blue-950) 40%, transparent)}}.bg-cyan-100{background-color:var(--color-cyan-100)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-500\/20{background-color:#00bb7f33}@supports (color:color-mix(in lab, red, red)){.bg-emerald-500\/20{background-color:color-mix(in oklab, var(--color-emerald-500) 20%, transparent)}}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-900\/40{background-color:#004e3b66}@supports (color:color-mix(in lab, red, red)){.bg-emerald-900\/40{background-color:color-mix(in oklab, var(--color-emerald-900) 40%, transparent)}}.bg-emerald-900\/50{background-color:#004e3b80}@supports (color:color-mix(in lab, red, red)){.bg-emerald-900\/50{background-color:color-mix(in oklab, var(--color-emerald-900) 50%, transparent)}}.bg-emerald-950\/40{background-color:#002c2266}@supports (color:color-mix(in lab, red, red)){.bg-emerald-950\/40{background-color:color-mix(in oklab, var(--color-emerald-950) 40%, transparent)}}.bg-orange-100{background-color:var(--color-orange-100)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-900\/40{background-color:#82181a66}@supports (color:color-mix(in lab, red, red)){.bg-red-900\/40{background-color:color-mix(in oklab, var(--color-red-900) 40%, transparent)}}.bg-red-950\/40{background-color:#46080966}@supports (color:color-mix(in lab, red, red)){.bg-red-950\/40{background-color:color-mix(in oklab, var(--color-red-950) 40%, transparent)}}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-slate-500\/20{background-color:#62748e33}@supports (color:color-mix(in lab, red, red)){.bg-slate-500\/20{background-color:color-mix(in oklab, var(--color-slate-500) 20%, transparent)}}.bg-slate-700{background-color:var(--color-slate-700)}.bg-slate-800{background-color:var(--color-slate-800)}.bg-slate-800\/50{background-color:#1d293d80}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/50{background-color:color-mix(in oklab, var(--color-slate-800) 50%, transparent)}}.bg-slate-800\/60{background-color:#1d293d99}@supports (color:color-mix(in lab, red, red)){.bg-slate-800\/60{background-color:color-mix(in oklab, var(--color-slate-800) 60%, transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-900\/50{background-color:#0f172b80}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/50{background-color:color-mix(in oklab, var(--color-slate-900) 50%, transparent)}}.bg-slate-900\/60{background-color:#0f172b99}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/60{background-color:color-mix(in oklab, var(--color-slate-900) 60%, transparent)}}.bg-slate-900\/95{background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\/95{background-color:color-mix(in oklab, var(--color-slate-900) 95%, transparent)}}.bg-violet-50{background-color:var(--color-violet-50)}.bg-violet-50\/50{background-color:#f5f3ff80}@supports (color:color-mix(in lab, red, red)){.bg-violet-50\/50{background-color:color-mix(in oklab, var(--color-violet-50) 50%, transparent)}}.bg-violet-200{background-color:var(--color-violet-200)}.bg-violet-200\/80{background-color:#ddd6ffcc}@supports (color:color-mix(in lab, red, red)){.bg-violet-200\/80{background-color:color-mix(in oklab, var(--color-violet-200) 80%, transparent)}}.bg-violet-500\/20{background-color:#8d54ff33}@supports (color:color-mix(in lab, red, red)){.bg-violet-500\/20{background-color:color-mix(in oklab, var(--color-violet-500) 20%, transparent)}}.bg-violet-600{background-color:var(--color-violet-600)}.bg-violet-900\/50{background-color:#4d179a80}@supports (color:color-mix(in lab, red, red)){.bg-violet-900\/50{background-color:color-mix(in oklab, var(--color-violet-900) 50%, transparent)}}.bg-violet-950\/50{background-color:#2f0d6880}@supports (color:color-mix(in lab, red, red)){.bg-violet-950\/50{background-color:color-mix(in oklab, var(--color-violet-950) 50%, transparent)}}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab, red, red)){.bg-white\/80{background-color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.bg-white\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.bg-white\/90{background-color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.bg-yellow-100{background-color:var(--color-yellow-100)}.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-violet-50{--tw-gradient-from:var(--color-violet-50);--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-violet-950{--tw-gradient-from:var(--color-violet-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))}.via-slate-900{--tw-gradient-via:var(--color-slate-900);--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-slate-50{--tw-gradient-to:var(--color-slate-50);--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))}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.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)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.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-2{padding-top:calc(var(--spacing) * 2)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-4{padding-right:calc(var(--spacing) * 4)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-8{padding-bottom:calc(var(--spacing) * 8)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-6{padding-left:calc(var(--spacing) * 6)}.pl-9{padding-left:calc(var(--spacing) * 9)}.pl-10{padding-left:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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))}.text-\[10px\]{font-size:10px}.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-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-amber-300{color:var(--color-amber-300)}.text-amber-400{color:var(--color-amber-400)}.text-amber-700{color:var(--color-amber-700)}.text-amber-800{color:var(--color-amber-800)}.text-blue-100{color:var(--color-blue-100)}.text-blue-300{color:var(--color-blue-300)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-blue-700{color:var(--color-blue-700)}.text-blue-900{color:var(--color-blue-900)}.text-cyan-700{color:var(--color-cyan-700)}.text-emerald-200{color:var(--color-emerald-200)}.text-emerald-300{color:var(--color-emerald-300)}.text-emerald-700{color:var(--color-emerald-700)}.text-orange-700{color:var(--color-orange-700)}.text-purple-700{color:var(--color-purple-700)}.text-red-200{color:var(--color-red-200)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-700{color:var(--color-red-700)}.text-slate-100{color:var(--color-slate-100)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-violet-100{color:var(--color-violet-100)}.text-violet-200{color:var(--color-violet-200)}.text-violet-300{color:var(--color-violet-300)}.text-violet-600\/70{color:#7f22feb3}@supports (color:color-mix(in lab, red, red)){.text-violet-600\/70{color:color-mix(in oklab, var(--color-violet-600) 70%, transparent)}}.text-violet-700{color:var(--color-violet-700)}.text-violet-800{color:var(--color-violet-800)}.text-violet-900{color:var(--color-violet-900)}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.text-white\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\/80{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}.text-white\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\/90{color:color-mix(in oklab, var(--color-white) 90%, transparent)}}.text-yellow-800{color:var(--color-yellow-800)}.uppercase{text-transform:uppercase}.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,)}.opacity-0{opacity:0}.opacity-45{opacity:.45}.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-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px 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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px 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-1{--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)}.ring-2{--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)}.ring-blue-200{--tw-ring-color:var(--color-blue-200)}.ring-violet-500\/30{--tw-ring-color:#8d54ff4d}@supports (color:color-mix(in lab, red, red)){.ring-violet-500\/30{--tw-ring-color:color-mix(in oklab, var(--color-violet-500) 30%, transparent)}}.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-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,)}.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,-webkit-backdrop-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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.group-hover\:text-blue-700:is(:where(.group):hover *){color:var(--color-blue-700)}.group-hover\:text-violet-700:is(:where(.group):hover *){color:var(--color-violet-700)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\:text-slate-500::placeholder{color:var(--color-slate-500)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}@media (hover:hover){.hover\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\:border-violet-300:hover{border-color:var(--color-violet-300)}.hover\:bg-blue-50\/50:hover{background-color:#eff6ff80}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-50\/50:hover{background-color:color-mix(in oklab, var(--color-blue-50) 50%, transparent)}}.hover\:bg-blue-100\/60:hover{background-color:#dbeafe99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-blue-100\/60:hover{background-color:color-mix(in oklab, var(--color-blue-100) 60%, transparent)}}.hover\:bg-blue-500:hover{background-color:var(--color-blue-500)}.hover\:bg-emerald-500:hover{background-color:var(--color-emerald-500)}.hover\:bg-red-950\/40:hover{background-color:#46080966}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-950\/40:hover{background-color:color-mix(in oklab, var(--color-red-950) 40%, transparent)}}.hover\:bg-slate-50:hover{background-color:var(--color-slate-50)}.hover\:bg-slate-200:hover{background-color:var(--color-slate-200)}.hover\:bg-slate-700:hover{background-color:var(--color-slate-700)}.hover\:bg-slate-800:hover{background-color:var(--color-slate-800)}.hover\:bg-slate-800\/70:hover{background-color:#1d293db3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-slate-800\/70:hover{background-color:color-mix(in oklab, var(--color-slate-800) 70%, transparent)}}.hover\:bg-violet-100\/60:hover{background-color:#ede9fe99}@supports (color:color-mix(in lab, red, red)){.hover\:bg-violet-100\/60:hover{background-color:color-mix(in oklab, var(--color-violet-100) 60%, transparent)}}.hover\:bg-violet-500:hover{background-color:var(--color-violet-500)}.hover\:bg-violet-900\/20:hover{background-color:#4d179a33}@supports (color:color-mix(in lab, red, red)){.hover\:bg-violet-900\/20:hover{background-color:color-mix(in oklab, var(--color-violet-900) 20%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:text-blue-200:hover{color:var(--color-blue-200)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-md:hover{--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)}}.focus\:border-blue-400:focus{border-color:var(--color-blue-400)}.focus\:border-blue-500:focus{border-color:var(--color-blue-500)}.focus\:border-violet-400:focus{border-color:var(--color-violet-400)}.focus\:ring-1:focus{--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)}.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-blue-100:focus{--tw-ring-color:var(--color-blue-100)}.focus\:ring-blue-400:focus{--tw-ring-color:var(--color-blue-400)}.focus\:ring-violet-400:focus{--tw-ring-color:var(--color-violet-400)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:inline{display:inline}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}}@media (width>=48rem){.md\:table-cell{display:table-cell}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:col-span-3{grid-column:span 3/span 3}.lg\:table-cell{display:table-cell}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (width>=80rem){.xl\:table-cell{display:table-cell}}.h-screen{height:var(--app-vh)}.min-h-screen{min-height:var(--app-vh)}.max-h-screen{max-height:var(--app-vh)}}:root{--app-ui-scale:.65;--app-vh:calc(100vh / var(--app-ui-scale))}html{zoom:var(--app-ui-scale);min-height:var(--app-vh)}@supports not (zoom:1){html{min-height:auto}#root{transform:scale(var(--app-ui-scale));transform-origin:0 0;width:calc(100% / var(--app-ui-scale));min-height:var(--app-vh)}}html,body,#root{height:100%}body{min-height:var(--app-vh);font-family:var(--font-sans);background:#0f172a;margin:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.2s ease-out fade-in}.top-page{flex-direction:column;max-width:80rem;height:100%;margin:0 auto;padding:8px 12px;display:flex;overflow:hidden}.top-page-toolbar{flex-shrink:0;align-items:center;gap:10px;min-height:36px;margin-bottom:8px;display:flex}.top-page-title{color:#f1f5f9;white-space:nowrap;flex-shrink:0;margin:0;font-size:16px;font-weight:600}.top-page-search{flex:1;min-width:160px;max-width:320px}.top-page-areas{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.top-page-map{flex:1;min-height:0;position:relative}.pixel-map-wrapper{width:100%;height:100%;position:relative}.sakura-blizzard{z-index:200;pointer-events:none;position:fixed;inset:0;overflow:hidden}.sakura-blizzard-petal{background:linear-gradient(135deg, hsl(var(--sakura-hue), 85%, 88%) 0%, hsl(var(--sakura-hue), 70%, 74%) 55%, hsl(var(--sakura-hue), 55%, 68%) 100%);will-change:transform, opacity;border-radius:50% 0;animation-name:sakura-blizzard-fall;animation-timing-function:linear;animation-fill-mode:forwards;position:absolute;top:-8%;box-shadow:0 0 6px #ffb7c559}@keyframes sakura-blizzard-fall{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:1}25%{transform:translate3d(calc(var(--sakura-drift) * .3), 28vh, 0) rotate(calc(var(--sakura-spin) * .25))}50%{transform:translate3d(calc(var(--sakura-drift) * .65), 55vh, 0) rotate(calc(var(--sakura-spin) * .55))}75%{transform:translate3d(calc(var(--sakura-drift) * .9), 82vh, 0) rotate(calc(var(--sakura-spin) * .8))}to{transform:translate3d(var(--sakura-drift), 112vh, 0) rotate(var(--sakura-spin));opacity:0}}.pixel-frame{background:#1e293b;border:2px solid #475569;flex-direction:column;height:100%;display:flex;box-shadow:0 2px 12px #0000004d}.pixel-frame-header{background:#0f172a;border-bottom:1px solid #334155;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:6px 12px;display:flex}.map-header-title{color:#f1f5f9;font-size:13px;font-weight:600}.map-header-left{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.map-header-subtitle{color:#64748b;font-size:11px}.map-region-tabs{background:#1e293b;border:1px solid #334155;border-radius:6px;gap:2px;padding:2px;display:flex}.map-region-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.map-region-tab:hover{color:#e2e8f0;background:#334155}.map-region-tab-active,.map-region-tab-active:hover{color:#0f172a;background:#38bdf8}.map-header-badge{color:#94a3b8;background:#1e293b;border:1px solid #334155;border-radius:4px;padding:2px 8px;font-size:12px;font-weight:500}.pixel-canvas-container{background:#000;flex-direction:column;flex:1;justify-content:center;align-items:stretch;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.pixel-letterbox{background:#000;flex-shrink:0;width:100%}.pixel-letterbox-top{z-index:20;border-bottom:1px solid #ffffff14;align-items:center;height:clamp(36px,5.5vh,48px);padding:0 10px;display:flex;position:relative}.map-hamburger{position:relative}.map-hamburger-btn{color:#e2e8f0;cursor:pointer;background:#0f172ad9;border:1px solid #ffffff2e;border-radius:8px;align-items:center;gap:8px;padding:5px 10px 5px 8px;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.map-hamburger-btn:hover,.map-hamburger-btn--open{background:#1e293bf2;border-color:#38bdf88c}.map-hamburger-btn--ready{border-color:#818cf8a6;animation:1.5s infinite quiz-pulse}.map-hamburger-icon{flex-direction:column;justify-content:center;gap:3px;width:16px;height:14px;display:inline-flex}.map-hamburger-icon span{background:currentColor;border-radius:999px;height:2px;display:block}.map-hamburger-label{letter-spacing:.12em;color:#94a3b8;font-size:10px;font-weight:700}.map-hamburger-panel{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172af7;border:1px solid #475569;border-radius:12px;min-width:220px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #00000073}.map-hamburger-panel-title{letter-spacing:.1em;color:#64748b;text-transform:uppercase;margin:0 0 8px;padding:0 6px;font-size:10px;font-weight:700}.map-hamburger-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.map-hamburger-item{color:#f1f5f9;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:flex}.map-hamburger-item:hover:not(:disabled){background:#1e293b;border-color:#334155}.map-hamburger-item:disabled{opacity:.45;cursor:not-allowed}.map-hamburger-item--ready{background:#312e8140;border-color:#818cf859}.map-hamburger-item-icon{font-size:18px;line-height:1}.map-hamburger-item-label{flex:1}.map-hamburger-item-badge{color:#fff;background:#6366f1;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:800;display:inline-flex}.pixel-game-viewport{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex}.pixel-canvas-stage{aspect-ratio:4/3;width:100%;height:100%;max-height:100%;position:relative}.pixel-canvas{cursor:default;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.pixel-scanlines{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 1px,#00000008 1px 2px);position:absolute;inset:0}.pixel-frame-footer{background:#0f172a;border-top:1px solid #334155;flex-shrink:0;justify-content:center;align-items:center;min-height:20px;padding:2px 10px;display:flex}.pixel-frame-footer-text{text-overflow:ellipsis;white-space:nowrap;color:#64748b;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:100%;margin:0;font-size:9px;line-height:1.3;overflow:hidden}.pixel-frame-footer-text--hover{letter-spacing:.08em;color:#f1f5f9;text-shadow:0 0 8px #38bdf84d,0 1px #000c;font-size:10px;font-weight:700}.office-marker{cursor:pointer;z-index:10;filter:drop-shadow(0 1px 4px #00000080);pointer-events:auto;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex;position:absolute;transform:translate(-50%,-28px)}.office-marker-pin{line-height:0;display:block}.office-marker-label{color:#1e293b;white-space:nowrap;background:#fffffff7;border:1px solid #cbd5e1;border-radius:4px;padding:2px 7px;font-size:11px;font-weight:700;box-shadow:0 1px 3px #0003}.office-marker-selected .office-marker-label{color:#92400e;background:#fffbeb;border-color:#fbbf24}.office-marker-selected .office-marker-pin svg path:first-child{fill:gold}.dojo-marker{cursor:pointer;z-index:11;filter:drop-shadow(0 2px 6px #0000008c);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;animation:2.5s ease-in-out infinite dojo-bob;display:flex;position:absolute;transform:translate(-50%,-32px)}@keyframes dojo-bob{0%,to{transform:translate(-50%,-32px)}50%{transform:translate(-50%,-35px)}}.dojo-marker-icon{background:#ffffff26;border-radius:8px;padding:2px;line-height:0;display:block}.dojo-marker-label{color:#14532d;white-space:nowrap;background:linear-gradient(#ecfdf5,#d1fae5);border:1px solid #34d399;border-radius:4px;padding:2px 7px;font-size:10px;font-weight:700}.dojo-marker-selected .dojo-marker-label{color:#92400e;background:#fef3c7;border-color:#fbbf24}.map-area-btn-dojo{color:#6ee7b7!important;border-color:#059669!important}.map-area-btn-dojo.map-area-btn-active{color:#fff!important;background:#059669!important}.battle-marker{cursor:pointer;z-index:11;filter:drop-shadow(0 2px 6px #00e5ff59);background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;animation:2s ease-in-out infinite battle-pulse;display:flex;position:absolute;transform:translate(-50%,-32px)}@keyframes battle-pulse{0%,to{filter:drop-shadow(0 2px 6px #00e5ff59)}50%{filter:drop-shadow(0 2px 10px #00ff888c)}}.battle-marker-icon{background:#00e5ff1f;border-radius:8px;padding:2px;line-height:0;display:block}.battle-marker-label{color:#083344;white-space:nowrap;text-overflow:ellipsis;background:linear-gradient(#ecfeff,#cffafe);border:1px solid #22d3ee;border-radius:4px;max-width:120px;padding:2px 6px;font-size:9px;font-weight:700;overflow:hidden}.battle-marker-selected .battle-marker-label{color:#92400e;background:#fef3c7;border-color:#fbbf24}.map-area-btn-battle{color:#67e8f9!important;border-color:#0891b2!important}.map-area-btn-battle.map-area-btn-active{color:#fff!important;background:#0891b2!important}.pcoin-badge{color:#fef3c7;cursor:pointer;background:linear-gradient(135deg,#78350f,#92400e);border:1px solid #fbbf24;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.pcoin-badge-icon{color:#78350f;background:#fbbf24;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:10px;font-weight:900;display:inline-flex}.pcoin-toast{z-index:300;color:#fef3c7;background:#0f172af2;border:1px solid #fbbf24;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;animation:.2s ease-out fade-in;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000059}.map-area-btn-shop{color:#fcd34d!important;border-color:#f59e0b!important}.map-area-btn-quiz{color:#c7d2fe!important;border-color:#6366f1!important}.map-area-btn-quiz-ready{animation:1.5s infinite quiz-pulse}@keyframes quiz-pulse{0%,to{box-shadow:0 0 #818cf800}50%{box-shadow:0 0 10px #818cf88c}}.map-area-btn-place{color:#6ee7b7!important;border-color:#10b981!important}.map-area-btn-chest{color:#fde68a!important;border-color:#d97706!important}.map-area-btn-chest-ready{animation:1.5s infinite chest-pulse}@keyframes chest-pulse{0%,to{box-shadow:0 0 #fbbf2400}50%{box-shadow:0 0 10px #fbbf2499}}.chest-marker{cursor:pointer;z-index:12;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;padding:0;display:flex;position:absolute;transform:translate(-50%,-28px)}.chest-marker-icon{filter:drop-shadow(0 2px 4px #00000080);font-size:24px}.chest-marker-ready .chest-marker-icon{animation:1.2s infinite chest-bounce}@keyframes chest-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.chest-marker-label{color:#fde68a;white-space:nowrap;background:#0f172ad9;border:1px solid #475569;border-radius:4px;padding:2px 6px;font-size:9px;font-weight:700}.chest-marker-selected .chest-marker-label,.chest-marker-ready .chest-marker-label{color:#fff;border-color:#fbbf24}.pixel-map-wrapper--placement .pixel-canvas--placement{cursor:crosshair}.pcoin-modal-overlay{z-index:250;background:#000000a6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pcoin-modal{text-align:center;background:#1e293b;border:1px solid #475569;border-radius:16px;width:min(420px,100%);padding:24px;position:relative}.pcoin-modal-shop{text-align:left;width:min(720px,100%);max-height:85vh;overflow:auto}.pcoin-modal-close{color:#e2e8f0;cursor:pointer;background:#334155;border:none;border-radius:8px;width:32px;height:32px;font-size:20px;position:absolute;top:12px;right:12px}.pcoin-modal-title{color:#f8fafc;margin:0 0 8px;font-size:20px}.pcoin-modal-desc{color:#94a3b8;margin:0 0 16px;font-size:13px;line-height:1.6}.pcoin-modal-reward{color:#fcd34d;margin:0 0 20px;font-size:16px}.pcoin-modal-reward-value{font-size:36px;font-weight:800}.pcoin-modal-btn{color:#f1f5f9;cursor:pointer;background:#334155;border:1px solid #475569;border-radius:8px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:600;display:inline-flex}.pcoin-modal-btn-primary{background:#2563eb;border-color:#3b82f6}.pcoin-modal-quiz{text-align:left;width:min(520px,100%)}.quiz-modal-icon{text-align:center;margin-bottom:8px;font-size:44px}.quiz-modal-icon--success,.quiz-modal-icon--wrong,.pcoin-modal-quiz .pcoin-modal-title,.pcoin-modal-quiz .pcoin-modal-desc,.pcoin-modal-quiz .pcoin-modal-reward{text-align:center}.quiz-modal-question{color:#f1f5f9;background:#0f172a;border:1px solid #334155;border-radius:10px;margin:0 0 16px;padding:12px 14px;font-size:14px;font-weight:600;line-height:1.6}.quiz-modal-choices{flex-direction:column;gap:8px;display:flex}.quiz-modal-choice{color:#f1f5f9;text-align:left;cursor:pointer;background:#334155;border:1px solid #475569;border-radius:10px;align-items:flex-start;gap:10px;width:100%;padding:10px 12px;font-size:13px;line-height:1.5;transition:border-color .15s,background .15s;display:flex}.quiz-modal-choice:hover{background:#3b4259;border-color:#818cf8}.quiz-modal-choice-label{color:#fff;background:#6366f1;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-flex}.quiz-modal-footnote{color:#64748b;text-align:center;margin:0 0 16px;font-size:12px}.pcoin-modal-quiz .pcoin-modal-btn{width:100%;display:block}.chest-icon{margin-bottom:12px;font-size:48px}.chest-icon--ready{animation:1s infinite chest-bounce}.pcoin-modal-shop-header{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:16px;padding-right:36px;display:flex}.pcoin-modal-balance{color:#fef3c7;background:#78350f;border:1px solid #fbbf24;border-radius:999px;margin-left:auto;padding:6px 12px;font-size:13px}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.shop-item-card{background:#0f172a;border:1px solid #334155;border-radius:12px;padding:14px}.shop-item-icon{margin-bottom:8px;font-size:28px}.shop-item-name{color:#f1f5f9;margin:0 0 4px;font-size:15px}.shop-item-desc{color:#94a3b8;margin:0 0 10px;font-size:12px;line-height:1.5}.shop-item-footer{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.shop-item-price{color:#fcd34d;font-weight:700}.shop-item-owned{color:#6ee7b7;font-size:11px}.shop-item-buy{color:#fff;cursor:pointer;background:#1d4ed8;border:1px solid #3b82f6;border-radius:6px;margin-left:auto;padding:6px 12px;font-size:12px;font-weight:600}.shop-item-buy:disabled{opacity:.4;cursor:not-allowed}.pcoin-modal-shop-actions{border-top:1px solid #334155;flex-wrap:wrap;gap:10px;margin-top:16px;padding-top:16px;display:flex}.map-placement-panel{z-index:25;background:#0f172af2;border:1px solid #10b981;border-radius:12px;width:min(320px,100% - 24px);padding:12px;position:absolute;bottom:12px;left:12px;box-shadow:0 8px 24px #00000059}.map-placement-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.map-placement-tabs{gap:4px;margin-bottom:8px;display:flex}.map-placement-tab{color:#94a3b8;cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:6px;flex:1;padding:6px 8px;font-size:11px;font-weight:600}.map-placement-tab:disabled{opacity:.35;cursor:not-allowed}.map-placement-tab-active{color:#6ee7b7;background:#064e3b;border-color:#10b981}.map-placement-title{color:#6ee7b7;margin:0;font-size:14px}.map-placement-close{color:#e2e8f0;cursor:pointer;background:#334155;border:1px solid #475569;border-radius:6px;padding:4px 10px;font-size:12px}.map-placement-hint,.map-placement-message,.map-placement-selected{color:#94a3b8;margin:0 0 8px;font-size:11px;line-height:1.5}.map-placement-message{color:#fcd34d}.map-placement-items{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.map-placement-item{color:#e2e8f0;cursor:pointer;background:#1e293b;border:1px solid #475569;border-radius:8px;align-items:center;gap:4px;padding:6px 8px;font-size:11px;display:inline-flex}.map-placement-item-active{background:#064e3b;border-color:#10b981}.map-placement-item-count{color:#6ee7b7;font-weight:700}.map-placement-edit{color:#94a3b8;cursor:pointer;background:0 0;border:1px dashed #475569;border-radius:8px;width:100%;padding:8px;font-size:12px}.map-placement-edit-active{color:#fcd34d;background:#f59e0b1a;border-color:#f59e0b}.map-placement-esc-hint{color:#64748b;text-align:center;margin:8px 0 0;font-size:10px}.map-placement-exit-fab{z-index:30;color:#6ee7b7;cursor:pointer;background:#0f172af2;border:2px solid #10b981;border-radius:999px;padding:10px 20px;font-size:14px;font-weight:700;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.map-placement-exit-fab:hover{color:#ecfdf5;background:#064e3b}.map-area-btn-place:disabled{opacity:.4;cursor:not-allowed}.map-area-btn-place.map-area-btn-active{color:#6ee7b7!important;background:#064e3b!important;border-color:#10b981!important}.mini-game-overlay{z-index:200;flex-direction:column;display:flex;position:fixed;inset:0}.mini-game-overlay--battle{background:#0a0e17}.mini-game-overlay-header{border-bottom:1px solid #334155;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.mini-game-overlay--battle .mini-game-overlay-header{background:#121a2b;border-bottom-color:#2a3f66}.mini-game-overlay-badge{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:10px;font-weight:600}.mini-game-overlay-badge--battle{color:#00e5ff}.mini-game-overlay-title{color:#e8f0ff;margin:2px 0 0;font-size:18px;font-weight:700}.mini-game-overlay-close{color:#e8edf4;cursor:pointer;background:#243044;border:1px solid #3d4f66;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.mini-game-overlay-close:hover{background:#2d3a50}.mini-game-overlay-body{flex:1;min-height:0;overflow:auto}.mini-game-loading{color:#89b;justify-content:center;align-items:center;min-height:240px;display:flex}.mini-game-page{min-height:var(--app-vh);height:var(--app-vh);background:#0a0e17;flex-direction:column;display:flex}.mini-game-page--battle{background:#0a0e17}.mini-game-page--excel-dojo{background:#0f1419}.mini-game-page-header{background:#121a2b;border-bottom:1px solid #334155;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.mini-game-page--battle .mini-game-page-header{border-bottom-color:#2a3f66}.mini-game-page-badge{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin:0;font-size:10px;font-weight:600}.mini-game-page-badge--battle{color:#00e5ff}.mini-game-page-badge--typing{color:#34d399}.mini-game-page-badge--typing-quest{color:#a78bfa}.mini-game-page-badge--programmer-success{color:#00d4aa}.mini-game-page-badge--outrun{color:#fbbf24}.mini-game-page-badge--skill-rail{color:#f472b6}.mini-game-page-badge--void-joker{color:#c084fc}.mini-game-page-title{color:#e8f0ff;margin:2px 0 0;font-size:18px;font-weight:700}.mini-game-page-back{color:#e8edf4;background:#243044;border:1px solid #3d4f66;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.mini-game-page-back:hover{background:#2d3a50}.mini-game-page-body{flex:1;min-height:0;overflow:auto}.excel-dojo-overlay{z-index:200;background:#0f1419;flex-direction:column;display:flex;position:fixed;inset:0}.excel-dojo-overlay-header{background:#1a2332;border-bottom:1px solid #3d4f66;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex}.excel-dojo-overlay-badge{letter-spacing:.08em;text-transform:uppercase;color:#33d17a;margin:0;font-size:10px;font-weight:600}.excel-dojo-overlay-title{color:#e8edf4;margin:2px 0 0;font-size:18px;font-weight:700}.excel-dojo-overlay-close{color:#e8edf4;cursor:pointer;background:#243044;border:1px solid #3d4f66;border-radius:8px;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.excel-dojo-overlay-close:hover{background:#2d3a50}.excel-dojo-overlay-body{flex:1;min-height:0;overflow:auto}.excel-dojo-loading{color:#8b9cb3;justify-content:center;align-items:center;min-height:240px;display:flex}.map-side-panel{z-index:20;pointer-events:none;width:min(340px,40%);animation:.2s ease-out fade-in;position:absolute;top:0;bottom:0;right:0}.map-side-panel-inner{pointer-events:auto;background:#fff;border-left:2px solid #334155;height:100%;overflow:hidden;box-shadow:-4px 0 16px #00000040}.side-panel-header{border-top:3px solid #0000;border-bottom:1px solid #e2e8f0;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.side-panel-header-main{flex:1;min-width:0}.side-panel-back{color:#475569;cursor:pointer;background:#f1f5f9;border:none;border-radius:6px;align-items:center;gap:4px;margin-bottom:6px;padding:4px 8px 4px 4px;font-size:12px;font-weight:600;display:inline-flex}.side-panel-back:hover{color:#1e293b;background:#e2e8f0}.side-panel-title{color:#1e293b;margin:0;font-size:16px;font-weight:700;line-height:1.3}.side-panel-subtitle{color:#64748b;margin:2px 0 0;font-size:12px;line-height:1.4}.side-panel-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:6px}.side-panel-close:hover{color:#475569;background:#f1f5f9}.map-area-btn{color:#cbd5e1;cursor:pointer;white-space:nowrap;background:#1e293b;border:1px solid #475569;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500}.map-area-btn:hover{color:#f1f5f9;background:#334155}.map-area-btn-active{color:#93c5fd;background:#1e3a5f;border-color:#3b82f6}@media (width<=768px){.top-page-toolbar{flex-wrap:wrap}.top-page-search{flex:100%;order:3;max-width:none}.top-page-areas{margin-left:0}.map-side-panel{width:min(300px,55%)}}@media (width<=640px){.top-page{padding:6px 8px}.map-side-panel{width:100%;height:45%;position:absolute;inset:auto 0 0}.map-side-panel-inner{border-top:2px solid #334155;border-left:none;box-shadow:0 -4px 16px #00000040}}.directory-page,.admin-page{height:100%;overflow:auto}.map-coordinate-picker{background:#0f172aa6;border:1px solid #475569;border-radius:.75rem;padding:.75rem}.map-coordinate-picker-header{margin-bottom:.5rem}.map-coordinate-picker-title{color:#e2e8f0;font-size:.875rem;font-weight:600}.map-coordinate-picker-hint{color:#94a3b8;margin-top:.25rem;font-size:.75rem}.map-coordinate-picker-hover{color:#60a5fa}.map-coordinate-picker-frame{background:#020617;border:1px solid #334155;border-radius:.5rem;overflow:hidden}.map-coordinate-picker-viewport{aspect-ratio:4/3;width:100%;position:relative}.map-coordinate-picker-canvas{cursor:crosshair;width:100%;height:100%;image-rendering:pixelated;image-rendering:crisp-edges;display:block}.map-coordinate-picker-markers{pointer-events:none;position:absolute;inset:0}.map-coordinate-picker-ref-marker,.map-coordinate-picker-preview-marker{flex-direction:column;align-items:center;gap:.125rem;display:flex;position:absolute;transform:translate(-50%,-100%)}.map-coordinate-picker-ref-pin{background:#64748b;border:2px solid #fff;border-radius:9999px;width:10px;height:10px;display:block;box-shadow:0 0 0 1px #0f172acc}.map-coordinate-picker-ref-label{text-overflow:ellipsis;white-space:nowrap;color:#cbd5e1;background:#0f172ad9;border-radius:.25rem;max-width:5rem;padding:.125rem .375rem;font-size:.625rem;overflow:hidden}.map-coordinate-picker-preview-pin{background:#facc15;border:2px solid #fff;border-radius:9999px;width:14px;height:14px;animation:1.4s ease-in-out infinite map-picker-pulse;display:block;box-shadow:0 0 8px #facc15bf}.map-coordinate-picker-preview-label{color:#fef08a;white-space:nowrap;background:#713f12e6;border-radius:.25rem;padding:.125rem .375rem;font-size:.625rem;font-weight:600}.map-coordinate-picker-footer{color:#94a3b8;margin-top:.5rem;font-size:.75rem}.map-coordinate-picker-footer-note{color:#64748b;margin-left:.375rem}@keyframes map-picker-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.map-area-btn-pc-skill{color:#e0e7ff;background:linear-gradient(135deg,#1e40af59,#7c3aed47);border-color:#818cf8a6}.map-area-btn-pc-skill.map-area-btn-active{color:#fff;background:linear-gradient(135deg,#2563eb8c,#7c3aed73);border-color:#fde68a}.pc-skill-marker{cursor:pointer;z-index:5;background:0 0;border:none;flex-direction:column;align-items:center;gap:.15rem;padding:0;display:flex;position:absolute;transform:translate(-50%,-100%)}.pc-skill-marker-pin{color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:999px 999px 999px 0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:1rem;display:flex;transform:rotate(-45deg);box-shadow:0 2px 10px #2563eb8c}.pc-skill-marker-pin span{transform:rotate(45deg)}.pc-skill-marker-label{color:#fff;text-shadow:0 1px 3px #000000d9;white-space:nowrap;font-size:.625rem;font-weight:700}.pc-skill-marker-selected .pc-skill-marker-pin{box-shadow:0 0 0 3px #fde047e6}.pc-skill-panel-header{border-top:3px solid #6366f1;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.pc-skill-level,.pc-skill-category{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.pc-skill-level--open{background:#eef2ff73;border-color:#818cf8}.pc-skill-level--locked{opacity:.72}.pc-skill-level-btn,.pc-skill-category-btn{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.75rem;display:flex}.pc-skill-level-btn:disabled{cursor:not-allowed}.pc-skill-level-btn:not(:disabled):hover,.pc-skill-category-btn:hover{background:#f8fafc}.pc-skill-chevron{color:#94a3b8;flex-shrink:0;width:1rem;height:1rem;transition:transform .15s}.pc-skill-chevron--sm{width:.875rem;height:.875rem}.pc-skill-chevron--open{color:#6366f1;transform:rotate(90deg)}.pc-skill-level-label{color:#1e293b;flex:1;font-weight:700}.pc-skill-badge{border-radius:999px;padding:.125rem .5rem;font-size:.625rem;font-weight:700}.pc-skill-badge--soon{color:#64748b;background:#f1f5f9}.pc-skill-badge--live{color:#1d4ed8;background:#dbeafe}.pc-skill-badge--count{color:#6d28d9;background:#ede9fe}.pc-skill-level-body{border-top:1px solid #e2e8f0;padding:.5rem}.pc-skill-category{margin-top:.375rem}.pc-skill-category--open{border-color:#c4b5fd}.pc-skill-category-btn{color:#334155;font-weight:600}.pc-skill-games{border-top:1px solid #f1f5f9;padding:.375rem}.pc-skill-game-btn{text-align:left;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:.625rem;justify-content:space-between;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;transition:border-color .15s,box-shadow .15s;display:flex}.pc-skill-game-btn+.pc-skill-game-btn{margin-top:.375rem}.pc-skill-game-btn:hover{border-color:#818cf8;box-shadow:0 2px 8px #6366f126}.pc-skill-game-title{color:#1e293b;margin:0;font-size:.8125rem;font-weight:700}.pc-skill-game-desc{color:#64748b;margin:.2rem 0 0;font-size:.6875rem;line-height:1.4}.pc-skill-game-play{color:#4f46e5;flex-shrink:0;font-size:.6875rem;font-weight:800}.map-area-btn-game-center{color:#ffe4e6;background:linear-gradient(135deg,#be185d59,#f9731647);border-color:#fb7185a6}.map-area-btn-game-center.map-area-btn-active{color:#fff;background:linear-gradient(135deg,#e11d488c,#ea580c73);border-color:#fde68a}.game-center-marker{cursor:pointer;z-index:5;background:0 0;border:none;flex-direction:column;align-items:center;gap:.15rem;padding:0;display:flex;position:absolute;transform:translate(-50%,-100%)}.game-center-marker-pin{background:linear-gradient(135deg,#e11d48,#f97316);border-radius:999px 999px 999px 0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:1rem;display:flex;transform:rotate(-45deg);box-shadow:0 2px 10px #e11d488c}.game-center-marker-pin span{transform:rotate(45deg)}.game-center-marker-label{color:#fff;text-shadow:0 1px 3px #000000d9;white-space:nowrap;font-size:.625rem;font-weight:700}.game-center-marker-selected .game-center-marker-pin{box-shadow:0 0 0 3px #fde047e6}.game-center-panel-header{border-top:3px solid #e11d48;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.game-center-genre{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.game-center-genre--open{background:#fff1f280;border-color:#fb7185}.game-center-genre-btn{text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.75rem;display:flex}.game-center-genre-btn:hover{background:#fff1f299}.game-center-chevron{color:#94a3b8;flex-shrink:0;width:1rem;height:1rem;transition:transform .15s}.game-center-chevron--open{color:#e11d48;transform:rotate(90deg)}.game-center-genre-label{color:#1e293b;flex:1;font-weight:700}.game-center-badge{border-radius:999px;padding:.125rem .5rem;font-size:.625rem;font-weight:700}.game-center-badge--count{color:#be123c;background:#ffe4e6}.game-center-cabinets{border-top:1px solid #fecdd3;padding:.375rem}.game-center-cabinet-btn{text-align:left;cursor:pointer;background:#fff;border:1px solid #fecdd3;border-radius:.625rem;align-items:center;gap:.625rem;width:100%;padding:.625rem .75rem;transition:border-color .15s,box-shadow .15s;display:flex}.game-center-cabinet-btn+.game-center-cabinet-btn{margin-top:.375rem}.game-center-cabinet-btn:hover{border-color:#fb7185;box-shadow:0 2px 8px #e11d4826}.game-center-cabinet-icon{font-size:1.35rem;line-height:1}.game-center-cabinet-main{flex:1;min-width:0}.game-center-cabinet-title{color:#1e293b;margin:0;font-size:.8125rem;font-weight:700}.game-center-cabinet-desc{color:#64748b;margin:.2rem 0 0;font-size:.6875rem;line-height:1.4}.game-center-cabinet-play{color:#e11d48;flex-shrink:0;font-size:.6875rem;font-weight:800}.client-site-panel{flex-direction:column;height:100%;min-height:0;display:flex}.client-site-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex}.client-site-tab{color:#64748b;cursor:pointer;background:0 0;border:none;flex:1;padding:.625rem .75rem;font-size:.8125rem;font-weight:600;transition:color .15s,background .15s}.client-site-tab:hover{color:#334155;background:#f1f5f9cc}.client-site-tab-active{color:#dc2626;background:#fff;box-shadow:inset 0 -2px #dc2626}.client-site-content{flex:1;padding:.75rem;overflow-y:auto}.client-site-empty{text-align:center;color:#94a3b8;padding:2rem 1rem;font-size:.8125rem}.client-site-article{background:#fff;border:1px solid #e2e8f0;border-radius:.625rem;overflow:hidden}.client-site-article+.client-site-article{margin-top:.5rem}.client-site-article-trouble{border-color:#fecaca}.client-site-article-head{text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:.75rem;width:100%;padding:.75rem;display:flex}.client-site-article-head:hover{background:#f8fafc}.client-site-category{color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:.125rem .5rem;font-size:.625rem;font-weight:700;display:inline-block}.client-site-severity{color:#fff;border-radius:999px;padding:.125rem .5rem;font-size:.625rem;font-weight:700;display:inline-block}.client-site-article-title{color:#1e293b;margin:.375rem 0 0;font-size:.875rem;font-weight:700;line-height:1.35}.client-site-article-preview{color:#64748b;margin:.375rem 0 0;font-size:.75rem;line-height:1.45}.client-site-article-meta{color:#94a3b8;white-space:nowrap;flex-shrink:0;font-size:.6875rem}.client-site-article-body{border-top:1px solid #f1f5f9;padding:.75rem}.client-site-summary{color:#475569;margin:0 0 .5rem;font-size:.8125rem;font-weight:600;line-height:1.5}.client-site-body-text{color:#334155;white-space:pre-wrap;margin:0;font-size:.8125rem;line-height:1.6}.client-site-lessons{color:#92400e;background:#fef3c7;border-radius:.5rem;margin-top:.75rem;padding:.625rem .75rem;font-size:.75rem;line-height:1.5}.client-site-lessons-label{text-transform:uppercase;letter-spacing:.04em;margin:0 0 .25rem;font-size:.6875rem;font-weight:700}.client-site-tags{flex-wrap:wrap;gap:.375rem;margin-top:.625rem;display:flex}.client-site-tag{color:#475569;background:#f1f5f9;border-radius:999px;padding:.125rem .5rem;font-size:.625rem;font-weight:600}.client-site-author{color:#94a3b8;margin:.625rem 0 0;font-size:.6875rem}.auth-loading{min-height:var(--app-vh);background:#0f172a;justify-content:center;align-items:center;display:flex}.auth-loading-text{color:#94a3b8;font-size:.875rem}.login-page{min-height:var(--app-vh);background:radial-gradient(circle at top,#1e3a8a59,#0f172a 55%);justify-content:center;align-items:center;padding:1.5rem;display:flex}.login-card{background:#0f172aeb;border:1px solid #334155e6;border-radius:1rem;width:100%;max-width:24rem;padding:1.75rem;box-shadow:0 20px 40px #00000059}.login-brand{align-items:center;gap:.875rem;margin-bottom:1.5rem;display:flex}.login-brand-icon{color:#fff;background:#2563eb;border-radius:.75rem;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-size:.875rem;font-weight:700;display:flex}.login-title{color:#f1f5f9;margin:0;font-size:1.25rem;font-weight:700}.login-subtitle{color:#64748b;margin:.125rem 0 0;font-size:.75rem}.login-form{flex-direction:column;gap:1rem;display:flex}.login-field{flex-direction:column;gap:.375rem;display:flex}.login-label{color:#94a3b8;font-size:.75rem;font-weight:600}.login-input{color:#f8fafc;background:#0f172a;border:1px solid #475569;border-radius:.625rem;width:100%;padding:.625rem .75rem;font-size:.875rem}.login-input:focus{border-color:#60a5fa;outline:none;box-shadow:0 0 0 1px #60a5fa}.login-error{color:#fecaca;background:#7f1d1d59;border-radius:.5rem;margin:0;padding:.625rem .75rem;font-size:.8125rem}.login-submit{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:.625rem;width:100%;margin-top:.25rem;padding:.75rem 1rem;font-size:.875rem;font-weight:600;transition:background .15s}.login-submit:hover:not(:disabled){background:#1d4ed8}.login-submit:disabled{cursor:not-allowed;opacity:.65}.map-area-btn-tool-collection{color:#ccfbf1;background:linear-gradient(135deg,#0d948859,#05966947);border-color:#2dd4bfa6}.map-area-btn-tool-collection.map-area-btn-active{color:#fff;background:linear-gradient(135deg,#0d94888c,#05966973);border-color:#fde68a}.tool-collection-marker{cursor:pointer;z-index:5;background:0 0;border:none;flex-direction:column;align-items:center;gap:.15rem;padding:0;display:flex;position:absolute;transform:translate(-50%,-100%)}.tool-collection-marker-pin{background:linear-gradient(135deg,#0d9488,#059669);border-radius:999px 999px 999px 0;justify-content:center;align-items:center;width:2.1rem;height:2.1rem;font-size:1rem;display:flex;transform:rotate(-45deg);box-shadow:0 2px 10px #0d94888c}.tool-collection-marker-pin span{transform:rotate(45deg)}.tool-collection-marker-label{color:#fff;text-shadow:0 1px 3px #000000d9;white-space:nowrap;font-size:.625rem;font-weight:700}.tool-collection-marker-selected .tool-collection-marker-pin{box-shadow:0 0 0 3px #fde047e6}.tool-collection-panel{flex-direction:column;height:100%;min-height:0;display:flex}.tool-collection-list{flex:1;padding:.75rem;overflow-y:auto}.tool-collection-item{color:inherit;background:#fff;border:1px solid #99f6e4;border-radius:.625rem;align-items:center;gap:.75rem;padding:.75rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.tool-collection-item+.tool-collection-item{margin-top:.5rem}.tool-collection-item:hover{border-color:#14b8a6;box-shadow:0 2px 8px #0d948826}.tool-collection-icon{font-size:1.5rem;line-height:1}.tool-collection-main{flex:1;min-width:0}.tool-collection-title{color:#134e4a;margin:0;font-size:.875rem;font-weight:700}.tool-collection-desc{color:#64748b;margin:.25rem 0 0;font-size:.75rem;line-height:1.45}.tool-collection-open{color:#0d9488;flex-shrink:0;font-size:.6875rem;font-weight:800}.tools-index-page{background:#0f172a;height:100%;overflow:auto}.tools-index-inner{max-width:56rem;margin:0 auto;padding:2rem 1rem 3rem}.tools-index-header{margin-bottom:1.5rem}.tools-index-title{color:#f1f5f9;margin:0;font-size:1.5rem;font-weight:700}.tools-index-subtitle{color:#94a3b8;margin:.5rem 0 0;font-size:.875rem}.tools-index-grid{gap:1rem;display:grid}@media (width>=640px){.tools-index-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tools-index-card{color:inherit;background:#1e293bcc;border:1px solid #334155;border-radius:.875rem;flex-direction:column;gap:.5rem;padding:1.25rem;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.tools-index-card:hover{background:#134e4a59;border-color:#14b8a6}.tools-index-card-icon{font-size:1.75rem;line-height:1}.tools-index-card-title{color:#f8fafc;margin:0;font-size:1rem;font-weight:700}.tools-index-card-desc{color:#94a3b8;flex:1;margin:0;font-size:.8125rem;line-height:1.5}.tools-index-card-action{color:#5eead4;font-size:.75rem;font-weight:700}.tool-page{background:#0f172a;flex-direction:column;height:100%;min-height:0;display:flex}.tool-page-toolbar{background:#0f172af2;border-bottom:1px solid #334155;align-items:center;gap:1rem;padding:.625rem 1rem;display:flex}.tool-page-back{color:#5eead4;font-size:.8125rem;text-decoration:none}.tool-page-back:hover{text-decoration:underline}.tool-page-title{color:#f1f5f9;margin:0;font-size:.9375rem;font-weight:600}.tool-page-frame{background:#f7f3ea;border:none;flex:1;width:100%;min-height:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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-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}:root{--bg:#0f1419;--surface:#1a2332;--surface2:#243044;--border:#3d4f66;--text:#e8edf4;--muted:#8b9cb3;--accent:#21a366;--accent-glow:#33d17a;--goal:#f0b429;--goal-bg:#f0b4291f;--error:#ff6b6b;--excel-green:#217346;--cell:#fff;--cell-text:#1a1a1a;--font:"Noto Sans JP", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace}*,:before,:after{box-sizing:border-box}.excel-dojo-root{min-height:100%;font-family:var(--font);background:var(--bg);color:var(--text);background-image:radial-gradient(80% 50% at 50% -20%,#21a36640,#0000),radial-gradient(60% 40% at 100% 100%,#21d17a14,#0000)}.excel-dojo-root .app{max-width:960px;margin:0 auto;padding:1.5rem}.hero{text-align:center;padding:2rem 0 2.5rem}.hero-badge{background:var(--excel-green);letter-spacing:.08em;border-radius:999px;margin-bottom:1rem;padding:.35rem .9rem;font-size:.75rem;font-weight:600;display:inline-block}.hero h1{background:linear-gradient(135deg, #fff 30%, var(--accent-glow));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .75rem;font-size:clamp(2.2rem,6vw,3.2rem);font-weight:800}.hero-sub{color:var(--muted);max-width:32rem;margin:0 auto;font-size:1rem;line-height:1.6}.level-list h2{color:var(--muted);margin-bottom:1rem;font-size:1rem}.level-list ul{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.level-card{text-align:left;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:.25rem 1rem;padding:1rem 1.25rem;transition:border-color .15s,transform .15s,box-shadow .15s;display:grid}.level-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 8px 24px #00000059}.level-num{font-family:var(--mono);color:var(--accent-glow);grid-row:span 2;font-size:1.25rem;font-weight:600}.level-title{font-size:1.05rem;font-weight:600}.level-desc{color:var(--muted);grid-column:2;font-size:.85rem}.level-best{font-family:var(--mono);color:var(--goal);grid-column:2;font-size:.8rem}.func-legend{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-top:2.5rem;padding:1.25rem}.func-legend h3{color:var(--muted);margin:0 0 .75rem;font-size:.9rem}.func-legend code{font-family:var(--mono);background:var(--surface2);border-radius:4px;margin-right:.35rem;padding:.2rem .5rem;font-size:.8rem}.func-legend p{color:var(--muted);margin:.75rem 0 0;font-size:.85rem}.play-header{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.btn-back{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:.4rem .75rem;font-size:.85rem}.btn-back:hover{color:var(--text);border-color:var(--muted)}.play-title{flex:1;min-width:200px}.play-title h1{margin:0;font-size:1.25rem}.play-title p{color:var(--muted);margin:.25rem 0 0;font-size:.85rem}.timer-box{text-align:right;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.5rem 1rem}.timer-box[data-running=true]{border-color:var(--accent);box-shadow:0 0 20px #21d17a33}.timer-label{letter-spacing:.15em;color:var(--muted);font-size:.65rem;display:block}.timer-value{font-family:var(--mono);color:var(--accent-glow);font-size:1.5rem;font-weight:600}.goal-banner{background:var(--goal-bg);border:1px solid #f0b42959;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;margin-bottom:1rem;padding:.85rem 1rem;font-size:.9rem;display:flex}.goal-label{color:var(--goal);letter-spacing:.1em;font-size:.75rem;font-weight:800}.goal-cell{font-family:var(--mono);font-weight:600}.goal-target{font-family:var(--mono);color:var(--goal);font-size:1.25rem;font-weight:600}.goal-formula{font-family:var(--mono);background:#0003;border-radius:4px;padding:.2rem .5rem;font-size:.85rem}.goal-arrow{color:var(--muted)}.mission-list{flex-direction:column;gap:.35rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.mission-item{color:var(--muted);background:var(--surface);border:1px solid var(--border);border-radius:6px;align-items:center;gap:.5rem;padding:.35rem .6rem;font-size:.85rem;display:flex}.mission-item--done{color:var(--accent-glow);border-color:#33d17a59}.mission-check{font-family:var(--mono);text-align:center;width:1.25rem}.blocker-hint{color:var(--error);flex:100%;margin:0;font-size:.8rem}.goal-status{font-family:var(--mono);margin-left:auto}.goal-status--ok{color:var(--accent-glow);font-weight:600}.formula-bar-wrap{background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:.5rem;margin-bottom:.5rem;padding:.35rem .5rem;display:flex}.formula-bar-wrap label{font-family:var(--mono);min-width:2.5rem;color:var(--accent-glow);padding:0 .5rem;font-size:.85rem;font-weight:600}.formula-bar{color:var(--text);font-family:var(--mono);background:0 0;border:none;outline:none;flex:1;padding:.5rem;font-size:.95rem}.formula-bar:disabled{opacity:.5}.formula-bar-wrap button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.85rem;font-weight:600}.formula-bar-wrap button:disabled{opacity:.4;cursor:not-allowed}.formula-error{color:var(--error);margin:0 0 .75rem;font-size:.85rem}.sheet-wrap{border-radius:8px;overflow-x:auto;box-shadow:0 12px 40px #0006}.sheet{border-collapse:collapse;background:var(--cell);width:100%;min-width:320px;color:var(--cell-text);font-family:var(--mono);font-size:.9rem}.sheet th,.sheet td{border:1px solid #c5cdd8;padding:0}.corner,.col-head,.row-head{color:#5a6578;background:#f3f4f6;font-size:.75rem;font-weight:600}.col-head,.row-head{text-align:center;min-width:2.5rem;height:1.75rem}.cell{cursor:pointer;text-align:right;width:100%;min-width:6.5rem;min-height:3rem;font-family:inherit;font-size:inherit;background:#fff;border:none;justify-content:flex-end;align-items:center;padding:.35rem .5rem;display:flex;position:relative}.cell:hover:not(:disabled){background:#f0f7f4}.cell--selected{outline:2px solid var(--excel-green);outline-offset:-2px;z-index:1}.cell--goal{background:#fffbeb}.cell--goal.cell--selected{background:#fef3c7}.cell--locked{color:#1a5c3a;cursor:default;background:#e8f5ee;font-weight:600}.cell--error .cell-value{color:#c0392b}.cell-badge{color:#b45309;letter-spacing:.05em;font-size:.55rem;font-weight:800;position:absolute;top:2px;left:4px}.cell-badge--req{color:#1d6fa3;left:auto;right:4px}.cell--preset{background:#fffbeb;flex-direction:column;justify-content:center;align-items:flex-end}.cell--required:not(.cell--selected){background:#f0f7ff}.cell-formula{color:#6b5a2a;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.65rem;overflow:hidden}.cell-value{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.play-footer{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.btn-hint,.btn-reset{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:8px;padding:.5rem 1rem;font-size:.85rem}.btn-hint:hover,.btn-reset:hover{border-color:var(--muted)}.hint-text{background:var(--surface);font-family:var(--mono);color:var(--accent-glow);border-radius:8px;flex:100%;margin:0;padding:.75rem 1rem;font-size:.85rem}.app--clear{justify-content:center;align-items:center;min-height:80vh;display:flex}.clear-panel{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:2.5rem;position:relative;overflow:hidden}.clear-confetti{pointer-events:none;background:radial-gradient(circle at 20% 30%,#21d17a4d,#0000 40%),radial-gradient(circle at 80% 70%,#f0b42940,#0000 40%);position:absolute;inset:0}.clear-panel h1{margin:0 0 .5rem;font-size:2rem;position:relative}.clear-time{font-family:var(--mono);color:var(--accent-glow);margin:0;font-size:3rem;font-weight:600;position:relative}.clear-record{color:var(--goal);font-weight:600;animation:1s infinite pulse;position:relative}@keyframes pulse{50%{opacity:.7}}.clear-best,.clear-goal{color:var(--muted);position:relative}.clear-actions{justify-content:center;gap:.75rem;margin-top:1.5rem;display:flex;position:relative}.clear-actions button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600}.clear-actions .btn-secondary{border:1px solid var(--border);color:var(--text);background:0 0}.security-battle-root{--bg-dark:#0a0e17;--bg-panel:#121a2b;--bg-card:#1a2540;--accent-cyan:#00e5ff;--accent-green:#0f8;--accent-red:#f36;--accent-gold:gold;--accent-purple:#b388ff;--text-primary:#e8f0ff;--text-muted:#89b;--border:#2a3f66;--font-display:"Orbitron", sans-serif;--font-mono:"JetBrains Mono", monospace}.security-battle-root,.security-battle-root *{box-sizing:border-box;margin:0;padding:0}.security-battle-root{min-height:100%;font-family:var(--font-mono);background:var(--bg-dark);color:var(--text-primary);background-image:radial-gradient(at 20% 0,#00e5ff14 0%,#0000 50%),radial-gradient(at 80% 100%,#00ff880f 0%,#0000 50%)}.security-battle-root a{color:inherit;text-decoration:none}.security-battle-root button{font-family:var(--font-mono);cursor:pointer;border:none}.security-battle-root .app-shell{flex-direction:column;min-height:100vh;display:flex}.security-battle-root .page{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem}.security-battle-root .page-title{font-family:var(--font-display);color:var(--accent-cyan);letter-spacing:.05em;margin-bottom:1.5rem;font-size:1.75rem}.security-battle-root .btn{border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;transition:all .2s;display:inline-flex}.security-battle-root .btn-primary{color:#fff;border-color:var(--accent-cyan);background:linear-gradient(135deg,#06a,#0af)}.security-battle-root .btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 20px #00e5ff66}.security-battle-root .btn-secondary{background:var(--bg-panel);color:var(--text-primary);border-color:var(--border)}.security-battle-root .btn-secondary:hover{border-color:var(--accent-cyan)}.security-battle-root .btn-danger{color:var(--accent-red);border-color:var(--accent-red);background:#412}.security-battle-root .btn-gold{color:#000;border-color:var(--accent-gold);background:linear-gradient(135deg,#860,#c90)}.security-battle-root .btn-quick{color:#f0e6ff;border-color:var(--accent-purple);background:linear-gradient(135deg,#2a1848,#5c2d8a);box-shadow:0 0 16px #b388ff40}.security-battle-root .btn-quick:hover{border-color:#e0c4ff;box-shadow:0 0 22px #b388ff66}.security-battle-root .btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.security-battle-root .panel{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;padding:1.25rem}.security-battle-root .card-tile{--card-accent:var(--accent-cyan);border:2px solid var(--border);cursor:pointer;border-top:3px solid var(--card-accent);background:linear-gradient(165deg,#1a2540 0%,#121a2b 100%);border-radius:12px;min-width:220px;max-width:320px;padding:.85rem;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;overflow:hidden}.security-battle-root .card-tile:before{content:"";background:radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--card-accent) 12%, transparent), transparent 55%);pointer-events:none;position:absolute;inset:0}.security-battle-root .card-tile:hover{border-color:var(--card-accent);transform:translateY(-3px);box-shadow:0 8px 24px #0006}.security-battle-root .card-tile.selected{border-color:var(--accent-green);box-shadow:0 0 20px #00ff8859}.security-battle-root .card-tile.type-attack{--card-accent:var(--accent-red)}.security-battle-root .card-tile.type-defense{--card-accent:var(--accent-cyan)}.security-battle-root .card-tile.type-declaration{--card-accent:var(--accent-purple)}.security-battle-root .card-tile.type-special{--card-accent:#e0b0ff}.security-battle-root .card-tile.rarity-uncommon{border-color:#4a6fa5}.security-battle-root .card-tile.rarity-rare{border-color:#7b68ee;box-shadow:inset 0 0 20px #7b68ee14}.security-battle-root .card-tile.rarity-legendary{border-color:var(--accent-gold);background:linear-gradient(165deg,#2a2040 0%,#1a1830 50%,#121a2b 100%);animation:3s infinite legendaryGlow}@keyframes legendaryGlow{0%,to{box-shadow:0 0 12px #ffd70033}}.security-battle-root .card-tile-compact{min-width:130px;max-width:150px;padding:.6rem}.security-battle-root .card-tile-header{z-index:1;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;display:flex;position:relative}.security-battle-root .card-icon{filter:drop-shadow(0 2px 4px #0006);font-size:1.75rem;line-height:1}.security-battle-root .card-tile-compact .card-icon{font-size:1.25rem}.security-battle-root .card-header-badges{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.security-battle-root .card-rarity-badge{font-family:var(--font-display);background:#0006;border-radius:3px;padding:.1rem .35rem;font-size:.6rem;font-weight:700}.security-battle-root .rarity-legendary .card-rarity-badge{color:var(--accent-gold);border:1px solid var(--accent-gold)}.security-battle-root .card-type-badge{white-space:nowrap;border-radius:3px;padding:.12rem .35rem;font-size:.6rem}.security-battle-root .badge-attack{color:var(--accent-red);background:#ff336640}.security-battle-root .badge-defense{color:var(--accent-cyan);background:#00e5ff33}.security-battle-root .badge-declaration{color:var(--accent-purple);background:#b388ff40}.security-battle-root .card-category-pill{z-index:1;border:1px solid;border-radius:999px;margin-bottom:.4rem;padding:.15rem .45rem;font-size:.6rem;display:inline-block;position:relative}.security-battle-root .card-name{font-family:var(--font-display);z-index:1;margin-bottom:.2rem;font-size:.85rem;line-height:1.25;position:relative}.security-battle-root .card-subtitle{color:var(--card-accent);z-index:1;margin-bottom:.5rem;font-size:.65rem;font-style:italic;line-height:1.3;position:relative}.security-battle-root .card-desc{color:var(--text-muted);z-index:1;margin-bottom:.6rem;font-size:.68rem;line-height:1.5;position:relative}.security-battle-root .card-effect-box{border:1px solid var(--border);border-left:3px solid var(--accent-green);z-index:1;background:#00000059;border-radius:6px;margin-bottom:.5rem;padding:.45rem .55rem;position:relative}.security-battle-root .card-effect-label{color:var(--accent-green);margin-bottom:.2rem;font-size:.58rem;font-weight:700;display:block}.security-battle-root .card-effect-text{color:var(--text-primary);font-size:.65rem;line-height:1.45}.security-battle-root .card-stats-row{z-index:1;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem;display:flex;position:relative}.security-battle-root .card-stat-pill{background:#00000059;border-radius:4px;padding:.2rem .45rem;font-size:.62rem;font-weight:700}.security-battle-root .stat-attack{color:var(--accent-red);border:1px solid #f366}.security-battle-root .stat-defense{color:var(--accent-cyan);border:1px solid #00e5ff59}.security-battle-root .stat-declare{color:var(--accent-purple);border:1px solid #b388ff66}.security-battle-root .card-learn-box{z-index:1;background:#00e5ff0f;border:1px dashed #00e5ff59;border-radius:6px;padding:.45rem .55rem;position:relative}.security-battle-root .card-learn-label{color:var(--accent-cyan);margin-bottom:.25rem;font-size:.58rem;font-weight:700;display:block}.security-battle-root .card-learn-text{color:#b8d4f0;font-size:.62rem;line-height:1.5}.security-battle-root .card-realworld{border-top:1px solid var(--border);color:var(--accent-gold);margin-top:.4rem;padding-top:.35rem;font-size:.6rem;line-height:1.45}.security-battle-root .card-realworld-label{margin-bottom:.15rem;font-weight:700;display:block}.security-battle-root .card-compact-stats{z-index:1;flex-wrap:wrap;gap:.25rem;margin-top:.35rem;font-size:.6rem;font-weight:700;display:flex;position:relative}.security-battle-root .deck-owned-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.security-battle-root .deck-detail-hint{color:var(--text-muted);border-left:3px solid var(--accent-cyan);background:#00e5ff0f;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.security-battle-root .deck-in-count{text-align:center;color:var(--text-muted);margin-top:.35rem;font-size:.7rem}.security-battle-root .grid-cards{flex-wrap:wrap;gap:.75rem;display:flex}.security-battle-root .menu-hero{text-align:center;padding:3rem 1rem 2rem}.security-battle-root .menu-logo{font-family:var(--font-display);background:linear-gradient(90deg, var(--accent-cyan), var(--accent-green));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:clamp(2rem,6vw,3.5rem);font-weight:900}.security-battle-root .menu-sub{color:var(--text-muted);margin-bottom:2.5rem}.security-battle-root .menu-buttons{flex-direction:column;gap:1rem;max-width:360px;margin:0 auto;display:flex}.security-battle-root .menu-buttons .btn{width:100%;padding:1rem}.security-battle-root .battle-layout{grid-template-columns:1fr 280px;gap:1rem;display:grid}@media (width<=900px){.battle-layout{grid-template-columns:1fr}}.security-battle-root .player-strip{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.security-battle-root .player-chip{background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;padding:.5rem 1rem;font-size:.8rem}.security-battle-root .player-chip.dead{opacity:.35;text-decoration:line-through}.security-battle-root .player-chip.human{border-color:var(--accent-green)}.security-battle-root .money-value{color:var(--accent-gold);font-weight:700}.security-battle-root .phase-banner{text-align:center;border:1px solid var(--accent-cyan);font-family:var(--font-display);background:#00e5ff1a;border-radius:6px;margin-bottom:1rem;padding:.75rem}.security-battle-root .log-panel{max-height:400px;font-size:.75rem;overflow-y:auto}.security-battle-root .log-entry{border-bottom:1px solid var(--border);padding:.35rem 0;line-height:1.4}.security-battle-root .log-attack{color:var(--accent-red)}.security-battle-root .log-defense{color:var(--accent-cyan)}.security-battle-root .log-declaration{color:var(--accent-purple)}.security-battle-root .deck-slot-count{color:var(--text-muted);margin-bottom:1rem}.security-battle-root .gacha-stage{text-align:center;padding:2rem}.security-battle-root .gacha-card-reveal{margin:2rem auto;animation:.6s reveal;display:inline-block}@keyframes reveal{0%{opacity:0;transform:scale(.5)rotateY(90deg)}}.security-battle-root .back-link{color:var(--accent-cyan);margin-bottom:1rem;font-size:.85rem;display:inline-block}.security-battle-root .back-link:hover{text-decoration:underline}.security-battle-root .battle-page--presenting .battle-main--dimmed{opacity:.35;pointer-events:none;filter:blur(2px)}.security-battle-root .phase-indicator{background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;align-items:center;gap:1rem;margin-bottom:1rem;padding:.6rem 1rem;display:flex}.security-battle-root .phase-indicator--open{border-color:var(--accent-red);box-shadow:0 0 16px #ff336640}.security-battle-root .phase-indicator-turn{font-family:var(--font-display);color:var(--accent-cyan);font-size:1.1rem}.security-battle-root .phase-indicator-name{font-size:.95rem;font-weight:700}.security-battle-root .turn-banner{z-index:900;pointer-events:none;background:#000000bf;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.security-battle-root .turn-banner-title{font-family:var(--font-display);color:var(--accent-cyan);text-shadow:0 0 30px #00e5ff99;font-size:clamp(2rem,8vw,4rem)}.security-battle-root .turn-banner--open .turn-banner-title{color:var(--accent-red);text-shadow:0 0 30px #f369}.security-battle-root .turn-banner-sub{color:var(--text-muted);margin-bottom:.5rem;font-size:1.1rem}.security-battle-root .slide-down{animation:.5s slideDown,.5s 2s forwards fadeOut}@keyframes slideDown{0%{opacity:0;transform:translateY(-40px)scale(.9)}}@keyframes fadeOut{to{opacity:0}}.security-battle-root .player-chip{flex-direction:column;align-items:flex-start;gap:.25rem;min-width:120px;transition:transform .2s,box-shadow .2s;display:flex}.security-battle-root .player-chip-name{color:var(--text-muted);font-size:.75rem}.security-battle-root .money-value--large{font-family:var(--font-display);font-size:1.1rem}.security-battle-root .player-chip--shake{animation:.5s chipShake;box-shadow:0 0 20px #f369;border-color:var(--accent-red)!important}.security-battle-root .player-chip--danger{animation:1.5s infinite dangerPulse;border-color:var(--accent-red)!important}.security-battle-root .player-chip-charge{color:var(--accent-red);font-size:.7rem}@keyframes chipShake{0%,to{transform:translate(0)}}@keyframes dangerPulse{0%,to{box-shadow:0 0 #f360}}.security-battle-root .btn-confirm-open{width:100%;max-width:320px;margin-top:1.5rem;padding:1rem;font-size:1rem}.security-battle-root .battle-result-winner{margin-bottom:2rem;font-size:1.5rem}.security-battle-root .battle-result-winner strong{color:var(--accent-gold)}.security-battle-root .presentation-overlay{z-index:1000;cursor:pointer;background:#050a14eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.security-battle-root .presentation-overlay--pulse{pointer-events:none;background:#050a1499}.security-battle-root .presentation-skip-hint{color:var(--text-muted);font-size:.75rem;animation:2s infinite blink;position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%)}@keyframes blink{0%,to{opacity:.4}}.security-battle-root .presentation-content{text-align:center;max-width:90vw;padding:1rem}.security-battle-root .pop-in{animation:.45s cubic-bezier(.34,1.56,.64,1) popIn}@keyframes popIn{0%{opacity:0;transform:scale(.6)}}.security-battle-root .presentation-banner-title{font-family:var(--font-display);letter-spacing:.08em;font-size:clamp(2rem,10vw,4.5rem)}.security-battle-root .presentation-banner--open_start .presentation-banner-title{color:var(--accent-red);text-shadow:0 0 40px #ff336680}.security-battle-root .presentation-banner--set_start .presentation-banner-title{color:var(--accent-cyan);text-shadow:0 0 40px #00e5ff80}.security-battle-root .presentation-banner-eyebrow{color:var(--text-muted);margin-bottom:.5rem;font-size:1.2rem}.security-battle-root .presentation-label{text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.5rem;font-size:.85rem}.security-battle-root .presentation-actor{font-family:var(--font-display);color:var(--accent-cyan);margin-bottom:1rem;font-size:1.5rem}.security-battle-root .presentation-target{color:var(--accent-red);margin-top:1rem;font-size:1.2rem;font-weight:700}.security-battle-root .presentation-detail{color:var(--text-muted);margin-top:.75rem}.security-battle-root .presentation-icon-shield{margin-top:1rem;font-size:4rem}.security-battle-root .card-tile-hero{min-width:260px;max-width:320px;margin:0 auto;padding:1.5rem;transform:scale(1);box-shadow:0 0 40px #00e5ff33}.security-battle-root .card-tile-hero .card-name{font-size:1.1rem}.security-battle-root .card-tile-hero .card-desc{font-size:.8rem}.security-battle-root .card-tile-hero .card-effect-box,.security-battle-root .card-tile-hero .card-learn-box{text-align:left}.security-battle-root .presentation-learn-snippet{border:1px dashed var(--accent-cyan);color:#b8e8ff;text-align:left;background:#00e5ff1a;border-radius:8px;max-width:420px;margin:1rem auto 0;padding:.75rem 1rem;font-size:.8rem;line-height:1.55}.security-battle-root .card-tile-hero .card-stat{font-size:.85rem}.security-battle-root .presentation-step--attack .card-tile-hero{border-color:var(--accent-red);box-shadow:0 0 50px #ff336659}.security-battle-root .presentation-step--declaration .card-tile-hero{border-color:var(--accent-purple);box-shadow:0 0 50px #b388ff59}.security-battle-root .presentation-damage-number{font-family:var(--font-display);color:var(--accent-red);text-shadow:0 0 20px #f36c,0 4px #602;margin:.5rem 0;font-size:clamp(3rem,15vw,6rem);animation:.5s cubic-bezier(.34,1.56,.64,1) damagePop}.security-battle-root .presentation-step--damage.is-critical .presentation-damage-number{color:#f04;font-size:clamp(3.5rem,18vw,7rem);animation:.6s criticalShake}.security-battle-root .presentation-critical{font-family:var(--font-display);color:var(--accent-gold);margin:.5rem 0;font-size:1.5rem;animation:.4s 3 criticalFlash}.security-battle-root .presentation-damage-block{font-family:var(--font-display);color:var(--accent-cyan);text-shadow:0 0 20px #00e5ff99;font-size:3rem}.security-battle-root .presentation-card-ref{color:var(--text-muted);margin-top:.5rem;font-size:.9rem}.security-battle-root .presentation-money-flow{justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;font-size:1.1rem;display:flex}.security-battle-root .presentation-arrow{color:var(--accent-red);animation:.8s infinite arrowPulse}.security-battle-root .presentation-money-after{color:var(--accent-gold);font-size:1.3rem;font-weight:700}.security-battle-root .presentation-mini-cards{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0;display:flex}.security-battle-root .presentation-progress{color:var(--text-muted);margin-top:2rem;font-size:.8rem}@keyframes damagePop{0%{opacity:0;transform:scale(.3)}}@keyframes criticalShake{0%,to{transform:scale(1)rotate(0)}}@keyframes criticalFlash{0%,to{opacity:1}}@keyframes arrowPulse{0%,to{opacity:.5}}.security-battle-root .app-shell{isolation:isolate;position:relative}.security-battle-root .app-shell:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#00e5ff0a 1px,#0000 1px),linear-gradient(90deg,#00e5ff0a 1px,#0000 1px);background-size:56px 56px;position:fixed;inset:0}.security-battle-root .app-shell:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(80% 50% at 50% -20%,#00e5ff1f,#0000),radial-gradient(60% 40% at 100% 100%,#ff336614,#0000);position:fixed;inset:0}.security-battle-root .page{z-index:1;max-width:min(100%,1280px);padding:1rem clamp(1rem,2vw,1.5rem) 2rem;position:relative}.security-battle-root .battle-page{max-width:min(100%,1180px)!important}.security-battle-root .page--full{max-width:100%}.security-battle-root .panel-game{border:1px solid var(--border);clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));background:linear-gradient(145deg,#121a2bf2,#0a0e17fa);padding:1px;position:relative}.security-battle-root .panel-game>.panel-game-inner{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px));background:linear-gradient(145deg,#141e32,#0c111c);min-height:100%;padding:1rem 1.25rem}.security-battle-root .panel-game:before{content:"";background:linear-gradient(90deg, var(--accent-cyan), transparent);z-index:2;height:2px;position:absolute;top:0;left:0;right:14px}.security-battle-root .menu-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:calc(100vh - 2rem);display:flex}.security-battle-root .menu-frame{width:min(100%,920px);padding:3rem clamp(2rem,5vw,4rem)}.security-battle-root .menu-logo{letter-spacing:.12em;text-shadow:0 0 40px #00e5ff66;font-size:clamp(2.5rem,7vw,4.5rem)!important}.security-battle-root .menu-tagline{font-family:var(--font-display);letter-spacing:.35em;color:var(--accent-cyan);margin-bottom:.5rem;font-size:.85rem}.security-battle-root .menu-buttons{grid-template-columns:repeat(2,1fr);width:100%;gap:1rem!important;max-width:720px!important;display:grid!important}.security-battle-root .menu-buttons .btn{font-family:var(--font-display);letter-spacing:.06em;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px);padding:1.15rem 1.5rem!important}.security-battle-root .menu-buttons .btn-primary{grid-column:1/-1;font-size:1.05rem}@media (width<=600px){.menu-buttons{grid-template-columns:1fr}}.security-battle-root .battle-page{padding-bottom:1rem;max-width:100%!important}.security-battle-root .battle-top-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.security-battle-root .battle-title-block{align-items:baseline;gap:1rem;display:flex}.security-battle-root .battle-title-block .page-title{margin-bottom:0;font-size:1.35rem}.security-battle-root .phase-hud{font-family:var(--font-display);border:1px solid var(--accent-cyan);clip-path:polygon(6px 0,100% 0,100% calc(100% - 6px),calc(100% - 6px) 100%,0 100%,0 6px);background:#00e5ff14;align-items:stretch;display:flex}.security-battle-root .phase-hud-turn{color:var(--accent-cyan);border-right:1px solid var(--border);background:#00e5ff26;padding:.5rem 1rem;font-size:1rem;font-weight:700}.security-battle-root .phase-hud-name{letter-spacing:.08em;align-items:center;padding:.5rem 1.25rem;font-size:.9rem;display:flex}.security-battle-root .phase-hud--open{border-color:var(--accent-red);background:#ff33661a}.security-battle-root .phase-hud--open .phase-hud-turn{color:var(--accent-red);background:#f363}.security-battle-root .battle-hud-row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.25rem;display:grid}.security-battle-root .hud-player{--hud-accent:var(--border);border:1px solid var(--hud-accent);clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));background:linear-gradient(135deg,#151f35,#0e1422);padding:.75rem 1rem;transition:box-shadow .2s,transform .2s;position:relative}.security-battle-root .hud-player.human{--hud-accent:var(--accent-green);box-shadow:inset 0 0 20px #00ff880f}.security-battle-root .hud-player.dead{opacity:.35;filter:grayscale(.8)}.security-battle-root .hud-player--shake{--hud-accent:var(--accent-red);animation:.5s chipShake;box-shadow:0 0 24px #ff336680}.security-battle-root .hud-player--danger{--hud-accent:var(--accent-red);animation:1.5s infinite dangerPulse}.security-battle-root .hud-player-top{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.security-battle-root .hud-player-name{font-family:var(--font-display);letter-spacing:.05em;font-size:.8rem}.security-battle-root .hud-player-badge{color:var(--text-muted);background:#0006;border-radius:2px;padding:.15rem .4rem;font-size:.6rem}.security-battle-root .hud-player.human .hud-player-badge{color:var(--accent-green);border:1px solid var(--accent-green)}.security-battle-root .hud-money{font-family:var(--font-display);color:var(--accent-gold);margin-bottom:.4rem;font-size:1.15rem}.security-battle-root .hud-money-bar{background:#00000080;border-radius:3px;height:6px;overflow:hidden}.security-battle-root .hud-money-fill{background:linear-gradient(90deg, var(--accent-gold), #fa0);border-radius:3px;height:100%;transition:width .4s}.security-battle-root .hud-player--danger .hud-money-fill{background:linear-gradient(90deg, var(--accent-red), #f64)}.security-battle-root .hud-charge{color:var(--accent-red);font-size:.75rem;position:absolute;top:.5rem;right:.5rem}.security-battle-root .battle-arena{grid-template-columns:1fr minmax(220px,260px);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.battle-arena{grid-template-columns:1fr}}.security-battle-root .hand-zone .panel-game-inner{padding:1.25rem}.security-battle-root .hand-zone-header{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.security-battle-root .hand-zone-title{font-family:var(--font-display);color:var(--accent-cyan);letter-spacing:.15em;font-size:1rem}.security-battle-root .hand-zone-title:before{content:"// ";color:var(--accent-red)}.security-battle-root .workload-meter{align-items:center;gap:.75rem;font-size:.8rem;display:flex}.security-battle-root .workload-bar-wrap{border:1px solid var(--border);background:#00000080;width:140px;height:8px}.security-battle-root .workload-bar-fill{background:linear-gradient(90deg, var(--accent-cyan), var(--accent-green));height:100%;transition:width .2s}.security-battle-root .workload-bar-fill.over{background:var(--accent-red)}.security-battle-root .hand-type-legend{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;font-size:.72rem;display:flex}.security-battle-root .legend-item{border:1px solid;border-radius:4px;padding:.2rem .5rem}.security-battle-root .legend-attack{color:var(--accent-red);background:#ff33661a;border-color:#ff336680}.security-battle-root .legend-defense{color:var(--accent-cyan);background:#00e5ff14;border-color:#00e5ff80}.security-battle-root .legend-declare{color:var(--accent-purple);background:#b388ff1a;border-color:#b388ff80}.security-battle-root .hand-rail{flex-wrap:wrap;justify-content:flex-start;gap:.65rem;padding:.25rem 0 .75rem;display:flex}.security-battle-root .hand-rail::-webkit-scrollbar{height:6px}.security-battle-root .hand-rail::-webkit-scrollbar-thumb{background:var(--accent-cyan);border-radius:3px}.security-battle-root .hand-rail .card-tile{scroll-snap-align:start;flex:none}.security-battle-root .hand-actions{border-top:1px solid var(--border);align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:flex}.security-battle-root .btn-confirm-open{letter-spacing:.1em;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);flex:1;max-width:none!important;font-family:var(--font-display)!important;padding:1.1rem 2rem!important;font-size:1rem!important}.security-battle-root .battle-target-row{align-items:center;gap:.5rem;font-size:.85rem;display:flex}.security-battle-root .battle-select{color:var(--text-primary);border:1px solid var(--accent-cyan);font-family:var(--font-mono);background:#0a1020;min-width:160px;padding:.4rem .75rem}.security-battle-root .log-panel-game .panel-game-inner{flex-direction:column;max-height:min(70vh,640px);display:flex;overflow-y:auto}.security-battle-root .log-title-game{font-family:var(--font-display);letter-spacing:.2em;color:var(--accent-cyan);border-bottom:1px solid var(--border);margin-bottom:.75rem;padding-bottom:.5rem;font-size:.85rem}.security-battle-root .log-panel-game .log-entry{padding:.5rem 0;font-size:.72rem}.security-battle-root .card-tile-hand{flex-direction:column;width:168px;min-width:168px;max-width:168px;min-height:200px;padding:.5rem .5rem .5rem 1.75rem;display:flex;position:relative}.security-battle-root .card-type-ribbon{writing-mode:vertical-rl;text-orientation:mixed;width:1.35rem;font-family:var(--font-display);letter-spacing:.15em;border-radius:10px 0 0 10px;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;display:flex;position:absolute;top:0;bottom:0;left:0}.security-battle-root .ribbon-attack{color:#f9b;background:#ff336659}.security-battle-root .ribbon-defense{color:#9ef;background:#00e5ff40}.security-battle-root .ribbon-declaration{color:#dcf;background:#b388ff59}.security-battle-root .card-selected-badge{z-index:5;border-radius:3px;padding:.2rem .4rem;font-size:.58rem;font-weight:700;animation:1s infinite badgePulse;position:absolute;top:4px;right:4px}.security-battle-root .badge-role-attack{background:var(--accent-red);color:#fff}.security-battle-root .badge-role-defense{background:var(--accent-cyan);color:#000}.security-battle-root .badge-role-declaration{background:var(--accent-purple);color:#fff}@keyframes badgePulse{0%,to{opacity:1}}.security-battle-root .card-tile-hand.selected-as-attack{box-shadow:0 0 0 3px var(--accent-red), 0 0 24px #ff336680;transform:translateY(-4px)}.security-battle-root .card-tile-hand.selected-as-defense{box-shadow:0 0 0 3px var(--accent-cyan), 0 0 24px #00e5ff73;transform:translateY(-4px)}.security-battle-root .card-tile-hand.selected-as-declaration{box-shadow:0 0 0 3px var(--accent-purple), 0 0 24px #b388ff73;transform:translateY(-4px)}.security-battle-root .card-hand-body{flex-direction:column;flex:1;min-width:0;display:flex}.security-battle-root .card-tile-hand .card-icon{margin-bottom:.35rem;font-size:1.75rem}.security-battle-root .card-type-badge--large{margin-bottom:.35rem;padding:.2rem .45rem!important;font-size:.7rem!important}.security-battle-root .card-tile-hand .card-name{margin-bottom:.35rem;font-size:.78rem;line-height:1.25}.security-battle-root .card-tile-hand .card-hand-effect{color:var(--text-muted);-webkit-line-clamp:4;-webkit-box-orient:vertical;flex:1;font-size:.6rem;line-height:1.4;display:-webkit-box;overflow:hidden}.security-battle-root .card-tile-hand .card-hand-footer{flex-direction:column;gap:.2rem;margin-top:.35rem;display:flex}.security-battle-root .card-tile-hand .card-stat-pill{text-align:center;width:100%;font-size:.55rem}.security-battle-root .player-status-panel{margin-bottom:1rem}.security-battle-root .player-status-title{font-family:var(--font-display);letter-spacing:.12em;color:var(--accent-cyan);margin-bottom:.75rem;font-size:.85rem}.security-battle-root .player-status-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;display:grid}.security-battle-root .status-block{border:1px solid var(--border);background:#00000040;border-radius:6px;padding:.65rem .75rem}.security-battle-root .status-block--defense{border-left:3px solid var(--accent-cyan)}.security-battle-root .status-block--declare{border-left:3px solid var(--accent-purple)}.security-battle-root .status-block--selection{border-left:3px solid var(--accent-green)}.security-battle-root .status-block-heading{align-items:center;gap:.35rem;margin-bottom:.5rem;font-size:.72rem;font-weight:700;display:flex}.security-battle-root .status-empty{color:var(--text-muted);font-size:.68rem;list-style:none}.security-battle-root .status-list{flex-direction:column;gap:.35rem;list-style:none;display:flex}.security-battle-root .status-list-item{font-size:.68rem;line-height:1.35}.security-battle-root .status-card-name{font-weight:600;display:block}.security-battle-root .status-card-meta{color:var(--text-muted);font-size:.62rem}.security-battle-root .status-decay{color:var(--accent-gold)}.security-battle-root .status-selection-chips{flex-wrap:wrap;gap:.35rem;list-style:none;display:flex}.security-battle-root .status-selection-chips li{border:1px solid;border-radius:4px;padding:.25rem .5rem;font-size:.65rem}.security-battle-root .status-type-attack{color:var(--accent-red);background:#ff336626;border-color:#ff336680}.security-battle-root .status-type-defense{color:var(--accent-cyan);background:#00e5ff1a;border-color:#00e5ff66}.security-battle-root .status-type-declaration{color:var(--accent-purple);background:#b388ff1f;border-color:#b388ff66}.security-battle-root .presentation-controls{z-index:10;flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.security-battle-root .presentation-next-btn{font-family:var(--font-display)!important;padding:.85rem 2rem!important;font-size:1rem!important}.security-battle-root .presentation-pause-btn{padding:.85rem 1.25rem!important}.security-battle-root .presentation-timer-hint{color:var(--text-muted);min-width:5rem;font-size:.8rem}.security-battle-root .presentation-effect-read{border:1px solid var(--border);text-align:left;background:#00000080;border-radius:8px;max-width:480px;margin:1rem auto 0;padding:.75rem 1rem;font-size:.9rem;line-height:1.55}.security-battle-root .presentation-label--attack{color:var(--accent-red)!important}.security-battle-root .presentation-label--defense{color:var(--accent-cyan)!important}.security-battle-root .presentation-label--declare{color:var(--accent-purple)!important}.security-battle-root .deck-owned-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem}.security-battle-root .deck-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.security-battle-root .deck-count-badge{font-family:var(--font-display);color:var(--accent-cyan);font-size:1.5rem}.security-battle-root .gacha-stage-wide{flex-direction:column;align-items:center;min-height:320px;padding:2.5rem;display:flex}.security-battle-root .gacha-stage-wide .card-tile-hero{width:100%;max-width:min(520px,95vw)}.security-battle-root .battle-main--dimmed{opacity:.25;pointer-events:none;filter:blur(3px);transition:opacity .3s}.security-battle-root .quick-rules-panel{border-color:var(--accent-purple)}.security-battle-root .quick-rules-title{font-family:var(--font-display);color:var(--accent-purple);margin-bottom:.75rem;font-size:1rem}.security-battle-root .quick-rules-list{color:var(--text-muted);margin:0 0 .75rem 1.1rem;font-size:.88rem;line-height:1.65}.security-battle-root .quick-rules-note{color:var(--text-muted);opacity:.85;font-size:.8rem}.security-battle-root .quick-mode-badge{vertical-align:middle;border:1px solid var(--accent-purple);color:var(--accent-purple);letter-spacing:.08em;background:#b388ff33;border-radius:4px;margin-left:.5rem;padding:.15rem .5rem;font-size:.55em;display:inline-block}.security-battle-root .phase-hud--quick .phase-hud-name{color:var(--accent-purple)}.security-battle-root .hud-player--active{box-shadow:0 0 20px #b388ff59;border-color:var(--accent-purple)!important}.security-battle-root .hud-active-mark{color:var(--accent-purple);font-size:.75rem;animation:1s ease-in-out infinite pulse-mark;position:absolute;top:4px;right:6px}@keyframes pulse-mark{50%{opacity:.4}}.security-battle-root .quick-wait-msg{color:var(--text-muted);margin:0;font-size:.9rem}.security-battle-root .quick-hacker-badge{vertical-align:middle;border:1px solid var(--accent-red);color:var(--accent-red);background:#ff336640;border-radius:4px;margin-left:.5rem;padding:.15rem .5rem;font-size:.5em;animation:1.2s infinite dangerPulse;display:inline-block}.security-battle-root .quick-phase-hint{color:var(--text-muted);margin:.25rem 0 0;font-size:.82rem}.security-battle-root .quick-phase-hint--warn{color:var(--accent-red)}.security-battle-root .hud-player--target{box-shadow:0 0 20px #ff336659;border-color:var(--accent-red)!important}.security-battle-root .hud-target-mark{font-size:.85rem;position:absolute;top:4px;right:6px}.security-battle-root .hud-buff{color:var(--accent-purple);margin-top:.15rem;font-size:.7rem}.security-battle-root .quick-special-wrap{flex-direction:column;align-items:center;gap:.35rem;display:flex}.security-battle-root .btn-special-use{padding:.35rem .6rem;font-size:.75rem}.security-battle-root .legend-special{color:var(--accent-purple)}.typing-battle-root{--tb-bg:#0f172a;--tb-panel:#1e293b;--tb-border:#334155;--tb-text:#e2e8f0;--tb-muted:#94a3b8;--tb-accent:#38bdf8;--tb-gold:#fbbf24;--tb-danger:#f87171;--tb-success:#4ade80;color:var(--tb-text);min-height:100%;font-family:Segoe UI,system-ui,sans-serif}.tb-app{box-sizing:border-box;min-height:100%;padding:1rem}.tb-eyebrow{letter-spacing:.08em;color:var(--tb-accent);margin:0 0 .25rem;font-size:.75rem}.tb-title{margin:0 0 .5rem;font-size:1.75rem;font-weight:800}.tb-subtitle{color:var(--tb-muted);margin:0 0 1.25rem;font-size:.875rem}.tb-menu{max-width:36rem;margin:0 auto}.tb-menu-list{flex-direction:column;gap:.5rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.tb-menu-item{border:1px solid var(--tb-border);background:#0f172a99;border-radius:.75rem;grid-template-columns:1fr auto;gap:.25rem 1rem;padding:.75rem 1rem;display:grid}.tb-menu-item--active{border-color:var(--tb-accent);background:#0e749033;box-shadow:0 0 0 1px #38bdf859}.tb-menu-label{font-size:1rem;font-weight:700}.tb-menu-romaji{color:var(--tb-gold);font-family:ui-monospace,monospace;font-size:.875rem}.tb-menu-hint{color:var(--tb-muted);grid-column:1/-1;font-size:.75rem}.tb-menu-prompt{border:1px dashed var(--tb-border);border-radius:.75rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.tb-menu-type{margin:.35rem 0 0;font-family:ui-monospace,monospace}.tb-menu-target{color:var(--tb-muted)}.tb-typed{color:var(--tb-gold);font-weight:700}.tb-status-bar{color:var(--tb-muted);justify-content:space-between;gap:1rem;font-size:.8125rem;display:flex}.tb-panel{background:var(--tb-panel);border:1px solid var(--tb-border);border-radius:1rem;max-width:28rem;margin:0 auto;padding:1.25rem}.tb-panel-wide{max-width:42rem}.tb-panel-title{margin:0 0 .5rem;font-size:1.25rem}.tb-panel-desc{color:var(--tb-muted);margin:0 0 1rem;font-size:.875rem}.tb-back{color:var(--tb-muted);cursor:pointer;background:0 0;border:none;margin-bottom:.75rem;padding:0;font-size:.8125rem}.tb-back:hover{color:var(--tb-text)}.tb-tabs{gap:.5rem;margin-bottom:1rem;display:flex}.tb-tab{border:1px solid var(--tb-border);color:var(--tb-text);cursor:pointer;background:#0f172a80;border-radius:.5rem;flex:1;padding:.5rem;font-size:.8125rem}.tb-tab--active{border-color:var(--tb-accent);background:#0e749040}.tb-btn{background:var(--tb-accent);color:#0f172a;cursor:pointer;border:none;border-radius:.5rem;justify-content:center;align-items:center;margin-top:.5rem;margin-right:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:700;display:inline-flex}.tb-btn:hover{filter:brightness(1.08)}.tb-btn-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);width:100%;margin-top:0}.tb-btn-ghost{border:1px solid var(--tb-border);color:var(--tb-text);background:0 0}.tb-message{color:var(--tb-success);margin:.75rem 0 0;font-size:.875rem}.tb-gacha-result{text-align:center;background:#0f172a99;border-radius:.5rem;margin-top:1rem;padding:.75rem}.tb-gacha-rarity{color:var(--tb-gold);margin:0 0 .25rem;font-size:.75rem}.tb-gacha-name{margin:0;font-size:1.125rem;font-weight:700}.tb-equip-section{margin-bottom:1.25rem}.tb-equip-section h3{margin:0 0 .5rem;font-size:.9375rem}.tb-equip-grid{gap:.5rem;display:grid}.tb-equip-card{text-align:left;border:1px solid var(--tb-border);color:var(--tb-text);cursor:pointer;background:#0f172a73;border-radius:.5rem;flex-direction:column;gap:.25rem;padding:.625rem .75rem;display:flex}.tb-equip-card span{color:var(--tb-muted);font-size:.75rem}.tb-equip-card--on{border-color:var(--tb-accent);background:#0e749033}.tb-result{text-align:center}.tb-result-lead{color:var(--tb-muted);font-size:.875rem}.tb-result-stats{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.25rem 0;display:grid}.tb-result-stats div{background:#0f172a80;border-radius:.5rem;padding:.75rem}.tb-result-stats dt{color:var(--tb-muted);margin-bottom:.25rem;font-size:.75rem}.tb-result-stats dd{margin:0;font-size:1.5rem;font-weight:800}.tb-app--play{box-sizing:border-box;flex-direction:column;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:.5rem 1rem;display:flex}.tb-app--play.tb-app{min-height:0;padding:.5rem .75rem}.tb-play-shell{flex-direction:row;flex:1;align-items:stretch;gap:.75rem;min-height:0;display:flex}.tb-play-main{flex-direction:column;flex:1;gap:.5rem;min-height:0;display:flex}.tb-hud-typing{flex:100%;min-width:min(100%,16rem)}.tb-hud-typed{font-family:ui-monospace,monospace;font-size:.95rem}.tb-app--shake{animation:.28s ease-in-out tb-shake}@keyframes tb-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px,2px)}40%{transform:translate(4px,-2px)}60%{transform:translate(-3px,-2px)}80%{transform:translate(3px,1px)}}.tb-hud{flex-wrap:wrap;flex-shrink:0;gap:.5rem 1rem;margin-bottom:0;font-size:.8125rem;display:flex}.tb-hud-block{align-items:center;gap:.5rem;display:flex}.tb-hud-label{color:var(--tb-muted);letter-spacing:.06em;font-size:.6875rem}.tb-hp-bar{background:#334155;border-radius:9999px;width:6rem;height:.5rem;overflow:hidden}.tb-hp-fill{background:linear-gradient(90deg,#ef4444,#f87171);height:100%;transition:width .2s}.tb-arena-wrap{background:linear-gradient(135deg,#22d3ee,#6366f1,#fbbf24);border-radius:1.25rem;flex:1;justify-content:center;align-items:center;width:100%;min-width:0;min-height:0;margin:0;padding:3px;display:flex;position:relative;box-shadow:0 0 40px #22d3ee40;container-type:size}.tb-arena-wrap .tb-arena{aspect-ratio:1;width:min(100cqw,100cqh);max-width:100%;height:min(100cqw,100cqh);max-height:100%}.tb-arena-wrap--flash{animation:.12s ease-out tb-hit-flash}@keyframes tb-hit-flash{0%{filter:brightness(2)saturate(1.4)}to{filter:none}}.tb-arena{aspect-ratio:1;background:radial-gradient(circle,#1e3a8a38 0%,#0000 22%),repeating-linear-gradient(90deg,#0000,#0000 31px,#3341552e 32px),repeating-linear-gradient(0deg,#0000,#0000 31px,#3341552e 32px),#0f172afa;border-radius:1.15rem;width:100%;height:100%;margin:0 auto;position:relative;overflow:hidden}.tb-lane{pointer-events:none;position:absolute}.tb-lane-up{width:2.75rem;height:calc(50% - 8rem);top:5.25rem;left:50%;transform:translate(-50%)}.tb-lane-down{width:2.75rem;height:calc(50% - 8rem);bottom:5.25rem;left:50%;transform:translate(-50%)}.tb-lane-left{width:calc(50% - 8rem);height:2.75rem;top:50%;left:5.25rem;transform:translateY(-50%)}.tb-lane-right{width:calc(50% - 8rem);height:2.75rem;top:50%;right:5.25rem;transform:translateY(-50%)}.tb-word-slot{z-index:4;box-sizing:border-box;background:#0f172ae0;border:2px solid #475569cc;border-radius:.75rem;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;width:6.75rem;height:4.85rem;padding:.35rem .5rem;transition:border-color .15s,box-shadow .15s;display:flex;position:absolute;box-shadow:0 4px 16px #00000059}.tb-word-slot--active{border-color:#fbbf24;box-shadow:0 0 24px #fbbf248c,0 0 48px #fbbf2440}.tb-word-slot-up{top:.65rem;left:50%;transform:translate(-50%)}.tb-word-slot-up.tb-word-slot--active{transform:translate(-50%)}.tb-word-slot-down{bottom:.65rem;left:50%;transform:translate(-50%)}.tb-word-slot-down.tb-word-slot--active{transform:translate(-50%)}.tb-word-slot-left{top:50%;left:.65rem;transform:translateY(-50%)}.tb-word-slot-left.tb-word-slot--active{transform:translateY(-50%)}.tb-word-slot-right{top:50%;right:.65rem;transform:translateY(-50%)}.tb-word-slot-right.tb-word-slot--active{transform:translateY(-50%)}.tb-word-slot-dir{color:var(--tb-muted);font-size:.6875rem}.tb-word-jp{color:#fef08a;text-shadow:0 0 12px #facc1573;font-size:1.5rem;font-weight:800;line-height:1}.tb-word-romaji{color:#67e8f9;text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;font-family:ui-monospace,monospace;font-size:.6875rem;overflow:hidden}.tb-center{border:3px solid var(--tb-accent);z-index:3;background:#0e749059;border-radius:9999px;justify-content:center;align-items:center;width:5.5rem;height:5.5rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px #38bdf859}.tb-center-hitbox{border-radius:inherit;pointer-events:none;border:2px dashed #f871718c;position:absolute;inset:0;box-shadow:inset 0 0 12px #f8717133}.tb-center-glow{border-radius:inherit;background:radial-gradient(circle,#38bdf840,#0000 72%);animation:2s ease-in-out infinite tb-center-pulse;position:absolute;inset:-4px}@keyframes tb-center-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.tb-center-icon{z-index:1;font-size:2.5rem}.tb-center--attack-up{box-shadow:0 -20px 40px #facc15a6,0 0 60px #22d3ee80}.tb-center--attack-down{box-shadow:0 20px 40px #facc15a6,0 0 60px #22d3ee80}.tb-center--attack-left{box-shadow:-20px 0 40px #facc15a6,0 0 60px #22d3ee80}.tb-center--attack-right{box-shadow:20px 0 40px #facc15a6,0 0 60px #22d3ee80}.tb-beam{z-index:2;pointer-events:none;animation:.55s ease-out forwards tb-beam-fire;position:absolute}.tb-slash{z-index:3;pointer-events:none;width:55%;height:55%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tb-slash:before{content:"";filter:drop-shadow(0 0 8px #fef08a);border:5px solid #0000;border-radius:50%;animation:.42s ease-out forwards tb-slash-sweep;position:absolute;inset:0}.tb-slash-up:before{clip-path:polygon(50% 50%,15% 5%,85% 5%);border-top-color:#fef08a;border-right-color:#f97316;transform:rotate(-8deg)}.tb-slash-down:before{clip-path:polygon(50% 50%,15% 95%,85% 95%);border-bottom-color:#fef08a;border-left-color:#f97316;transform:rotate(8deg)}.tb-slash-left:before{clip-path:polygon(50% 50%,5% 15%,5% 85%);border-top-color:#f97316;border-left-color:#fef08a;transform:rotate(-8deg)}.tb-slash-right:before{clip-path:polygon(50% 50%,95% 15%,95% 85%);border-bottom-color:#f97316;border-right-color:#fef08a;transform:rotate(8deg)}@keyframes tb-slash-sweep{0%{opacity:0;rotate:-25deg;scale:.35}35%{opacity:1;rotate:0deg;scale:1}to{opacity:0;rotate:12deg;scale:1.08}}.tb-beam-up{transform-origin:bottom;filter:blur(1px);background:linear-gradient(#0000,#f97316,#fef08a);border-radius:9999px;width:14px;height:42%;top:50%;left:50%;transform:translate(-50%,-100%)}.tb-beam-down{transform-origin:top;background:linear-gradient(#fef08a,#f97316,#0000);border-radius:9999px;width:14px;height:42%;top:50%;left:50%;transform:translate(-50%)}.tb-beam-left{transform-origin:100%;background:linear-gradient(270deg,#fef08a,#f97316,#0000);border-radius:9999px;width:42%;height:14px;top:50%;left:50%;transform:translate(-100%,-50%)}.tb-beam-right{transform-origin:0;background:linear-gradient(90deg,#fef08a,#f97316,#0000);border-radius:9999px;width:42%;height:14px;top:50%;left:50%;transform:translateY(-50%)}.tb-beam--magic{filter:blur(2px)brightness(1.3);box-shadow:0 0 24px #a78bfa}.tb-beam--pierce{filter:brightness(1.2);box-shadow:0 0 16px #34d399}@keyframes tb-beam-fire{0%{opacity:0;scale:.2}30%{opacity:1;scale:1}to{opacity:0;scale:1.05}}.tb-magic-ring{pointer-events:none;z-index:2;border:3px solid #c4b5fd;border-radius:9999px;width:85%;height:85%;animation:.65s ease-out forwards tb-magic-expand;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #8b5cf6,inset 0 0 30px #8b5cf659}@keyframes tb-magic-expand{0%{opacity:.9;scale:.2}to{opacity:0;scale:1.1}}.tb-kill-pop{z-index:5;color:#fef08a;text-shadow:0 0 12px #f97316;pointer-events:none;font-size:1.5rem;font-weight:900;animation:.55s ease-out forwards tb-kill-float;position:absolute}.tb-kill-pop-up{top:18%;left:50%;transform:translate(-50%)}.tb-kill-pop-down{bottom:18%;left:50%;transform:translate(-50%)}.tb-kill-pop-left{top:50%;left:18%}.tb-kill-pop-right{top:50%;right:18%}@keyframes tb-kill-float{0%{opacity:1;translate:0;scale:.6}to{opacity:0;translate:0 -24px;scale:1.2}}.tb-enemy{text-align:center;z-index:2;background:radial-gradient(circle at 30% 30%,#fca5a5,#991b1b);border:2px solid #fecaca;border-radius:9999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-size:.6875rem;display:flex;position:absolute;box-shadow:0 0 12px #ef444473}.tb-lane-up .tb-enemy{left:50%;top:calc(var(--progress,0) * 100%);transform:translate(-50%,-50%)}.tb-lane-down .tb-enemy{left:50%;bottom:calc(var(--progress,0) * 100%);top:auto;transform:translate(-50%,50%)}.tb-lane-left .tb-enemy{top:50%;left:calc(var(--progress,0) * 100%);transform:translate(-50%,-50%)}.tb-lane-right .tb-enemy{top:50%;right:calc(var(--progress,0) * 100%);left:auto;transform:translate(50%,-50%)}.tb-enemy--danger{border-color:#fef08a;animation:.55s ease-in-out infinite tb-pulse;box-shadow:0 0 20px #facc15b3}.tb-enemy-icon{font-size:1.35rem;line-height:1}.tb-enemy-hp{color:#fecaca;background:#1e293b;border:1px solid #fca5a5;border-radius:9999px;justify-content:center;align-items:center;min-width:1rem;height:1rem;padding:0 .2rem;font-size:.625rem;display:flex;position:absolute;top:-.35rem;right:-.35rem}@keyframes tb-pulse{0%,to{filter:brightness()}50%{filter:brightness(1.25)}}.tb-input-panel{border:1px solid var(--tb-border);background:#1e293bbf;border-radius:.75rem;max-width:860px;margin:0 auto;padding:1rem 1.25rem}.tb-active-word{background:#0f172aa6;border:1px solid #fbbf2459;border-radius:.5rem;align-items:baseline;gap:.75rem;margin:.5rem 0;padding:.5rem .75rem;display:flex}.tb-active-word-jp{color:#fef08a;font-size:1.5rem;font-weight:800}.tb-active-word-hint{color:#67e8f9;font-family:ui-monospace,monospace;font-size:.875rem}.tb-app--player-hit{animation:.45s ease-out tb-player-hit}@keyframes tb-player-hit{0%,to{box-shadow:inset 0 0 #0000}25%{box-shadow:inset 0 0 0 4px #ef4444d9}}.tb-attack-card{background:#0f172ad9;border:2px solid #fbbf2473;border-radius:.65rem;margin:.65rem 0;padding:.85rem 1rem}.tb-attack-card-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.8rem;display:flex}.tb-attack-card-dir{color:#fde68a;font-weight:700}.tb-attack-card-weapon{color:var(--tb-muted)}.tb-attack-card-body{align-items:baseline;gap:.75rem;margin-bottom:.65rem;display:flex}.tb-attack-card-jp{color:#fef08a;font-size:2rem;font-weight:800;line-height:1}.tb-attack-card-reading{color:#67e8f9;font-family:ui-monospace,monospace;font-size:1.1rem}.tb-typing-progress{background:#334155cc;border-radius:9999px;height:4px;margin-bottom:.5rem;overflow:hidden}.tb-typing-progress-fill{background:linear-gradient(90deg,#fbbf24,#f97316);height:100%;transition:width 80ms linear}.tb-typing-display{letter-spacing:.06em;min-height:2rem;font-family:ui-monospace,monospace;font-size:1.75rem}.tb-typing-done{color:#4ade80;font-weight:700}.tb-typing-remain{color:#94a3b8}.tb-typing-alt{color:var(--tb-muted);margin:.45rem 0 0;font-family:ui-monospace,monospace;font-size:.72rem}.tb-input-wait{color:var(--tb-muted);margin:.5rem 0;font-size:.85rem}.tb-input-help{color:var(--tb-muted);margin:0 0 .5rem;font-size:.75rem}.tb-input-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.875rem;display:flex}.tb-input-label{color:var(--tb-muted);min-width:2.5rem}.tb-aim{color:var(--tb-gold)}.tb-typed-display{color:var(--tb-accent);min-width:4rem;font-family:ui-monospace,monospace;font-size:1rem}.tb-cursor{animation:1s step-end infinite tb-blink}@keyframes tb-blink{50%{opacity:0}}.tb-target-word{color:var(--tb-muted);font-family:ui-monospace,monospace;font-size:.75rem}.tb-quit{margin-top:.35rem}.tb-typing-dock{border:1px solid var(--tb-border);background:#0f172af2;border-radius:.75rem;flex-direction:column;flex-shrink:0;justify-content:center;align-self:stretch;width:min(19rem,32vw);padding:.75rem 1rem;display:flex;box-shadow:0 0 24px #00000040}.tb-typing-dock-wait{color:var(--tb-muted);margin:0 0 .35rem;font-size:.85rem}.tb-typing-dock-head{color:#fde68a;flex-wrap:wrap;align-items:baseline;gap:.5rem .75rem;margin-bottom:.35rem;font-size:.8rem;display:flex}.tb-typing-dock-jp{color:#fef08a;font-size:1.5rem;font-weight:800;line-height:1}.tb-typing-dock-weapon{color:var(--tb-muted);margin-left:auto;font-size:.75rem}.tb-typing-display--dock{min-height:2rem;font-size:clamp(1.35rem,3.2vw,1.85rem)}.mini-game-overlay--typing{background:#020617f0}.mini-game-overlay--typing .mini-game-overlay-body{flex-direction:column;padding:0;display:flex;overflow:hidden}.typing-battle-root{flex-direction:column;flex:1;width:100%;height:auto;min-height:0;display:flex}@media (width<=720px){.tb-play-shell{flex-direction:column}.tb-typing-dock{width:100%}}.mini-game-overlay-badge--typing{color:#67e8f9}.typing-marker{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:.125rem;padding:0;display:flex;position:absolute;transform:translate(-50%,-100%)}.typing-marker-pin{background:linear-gradient(135deg,#06b6d4,#0891b2);border:2px solid #fff;border-radius:.375rem;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.875rem;display:flex;box-shadow:0 2px 8px #06b6d480}.typing-marker-label{color:#fff;white-space:nowrap;background:#0f172ad9;border-radius:.25rem;padding:.125rem .375rem;font-size:.625rem}.typing-marker-selected .typing-marker-pin{background:linear-gradient(135deg,#fbbf24,#f59e0b)}.map-area-btn-typing{color:#67e8f9;border-color:#06b6d480}.map-area-btn-typing.map-area-btn-active{background:#06b6d440;border-color:#22d3ee}.typing-quest-root{--tq-bg:#0b1020;--tq-panel:#151d32;--tq-border:#334155;--tq-text:#e2e8f0;--tq-muted:#94a3b8;--tq-accent:#a78bfa;--tq-gold:#fbbf24;--tq-danger:#f87171;--tq-success:#4ade80;width:100%;height:auto;min-height:0;color:var(--tq-text);flex-direction:column;flex:1;font-family:Segoe UI,system-ui,sans-serif;display:flex}.tq-app{box-sizing:border-box;flex:1;max-width:960px;min-height:0;margin:0 auto;padding:1rem 1.25rem 1.5rem;overflow:auto}.tq-app--battle{flex-direction:column;gap:.75rem;width:100%;max-width:none;display:flex;overflow:hidden}.tq-battle-arena{flex-direction:column;flex:1;gap:.75rem;min-height:0;display:flex;position:relative}.tq-equip-stat{color:var(--tq-gold);margin-left:.35rem;font-size:.75rem}.tq-equip-quest-stat{margin-bottom:.15rem;display:block;color:#c4b5fd!important;font-size:.6875rem!important}.tq-enemy-panel--defeated{pointer-events:none;animation:1.1s ease-out forwards tq-enemy-defeat}@keyframes tq-enemy-defeat{0%{opacity:1;filter:brightness();transform:scale(1)}35%{filter:brightness(2);transform:scale(1.08)}to{opacity:0;filter:brightness(.5);transform:scale(.2)rotate(20deg)}}.tq-phase-dot--ko{background:#ef4444;border-color:#fca5a5;animation:.6s ease-out forwards tq-dot-ko}@keyframes tq-dot-ko{50%{transform:scale(1.5)}to{background:var(--tq-success);border-color:#86efac;transform:scale(1)}}.tq-app--defeating{animation:.35s ease-out tq-defeat-flash}@keyframes tq-defeat-flash{0%{filter:brightness()}40%{filter:brightness(1.35)}to{filter:brightness()}}.tq-attack-fx{z-index:5;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tq-damage-pop{color:#fef08a;text-shadow:0 0 12px #f97316;font-size:1.75rem;font-weight:900;animation:.52s ease-out forwards tq-damage-float;position:absolute;top:38%;right:18%}.tq-bonus-pop{color:#fde68a;text-shadow:0 0 10px #f59e0b;font-size:1.125rem;font-weight:800;animation:.72s ease-out forwards tq-bonus-float;position:absolute;top:28%;right:14%}.tq-special-label{letter-spacing:.08em;color:#fff;text-shadow:0 0 16px #a78bfa,0 2px #6d28d9;font-size:1.25rem;font-weight:900;animation:.85s ease-out forwards tq-special-label-pop;position:absolute;top:18%;left:50%;transform:translate(-50%)}.tq-attack-fx--special{filter:brightness(1.15)}.tq-combo-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:.65rem;margin-bottom:.35rem;display:flex}.tq-special-gauge{color:#c4b5fd;background:#581c8759;border:1px solid #a78bfa73;border-radius:999px;padding:.15rem .65rem;font-size:.8125rem;font-weight:700}.tq-special-hint{color:#a5b4fc;margin-left:.15rem;font-size:.6875rem;font-weight:600}@keyframes tq-damage-float{0%{opacity:1;transform:translateY(0)scale(.7)}to{opacity:0;transform:translateY(-28px)scale(1.15)}}@keyframes tq-bonus-float{0%{opacity:0;transform:translateY(8px)scale(.6)}25%{opacity:1;transform:translateY(0)scale(1.1)}to{opacity:0;transform:translateY(-22px)scale(1)}}@keyframes tq-special-label-pop{0%{opacity:0;transform:translate(-50%)scale(.5)}30%{opacity:1;transform:translate(-50%)scale(1.15)}to{opacity:0;transform:translate(-50%)translateY(-12px)scale(1)}}.tq-fx-rust-slash{clip-path:polygon(50% 50%,8% 18%,92% 18%);border:4px solid #94a3b8;border-color:#94a3b8 #64748b #0000 #0000;border-radius:50%;width:68%;height:68%;animation:.5s ease-out forwards tq-fx-rust-sweep;position:absolute}.tq-fx-rust-chip{background:#78716c;border-radius:1px;width:6px;height:6px;animation:.55s ease-out forwards tq-fx-rust-chip;position:absolute}.tq-fx-rust-chip--1{top:38%;left:42%}.tq-fx-rust-chip--2{animation-delay:50ms;top:44%;left:58%}@keyframes tq-fx-rust-sweep{0%{opacity:0;transform:rotate(-50deg)scale(.35)}45%{opacity:1;transform:rotate(-5deg)scale(1)}to{opacity:0;transform:rotate(15deg)scale(1.05)}}@keyframes tq-fx-rust-chip{0%{opacity:0;transform:translate(0)}40%{opacity:1}to{opacity:0;transform:translate(12px,-18px)rotate(40deg)}}.tq-fx-crescent-arc{clip-path:polygon(50% 50%,5% 20%,95% 20%);border:5px solid #0000;border-color:#e2e8f0 #0000 #0000 #cbd5e1;border-radius:50%;width:72%;height:72%;animation:.55s ease-out forwards tq-fx-crescent;position:absolute}.tq-fx-crescent-glow{background:radial-gradient(circle,#e2e8f080,#0000 70%);border-radius:50%;width:50%;height:50%;animation:.55s ease-out forwards tq-fx-crescent;position:absolute}@keyframes tq-fx-crescent{0%{opacity:0;transform:rotate(-30deg)scale(.4)}40%{opacity:1;transform:rotate(5deg)scale(1)}to{opacity:0;transform:rotate(20deg)scale(1.1)}}.tq-fx-moon-arc{clip-path:polygon(50% 50%,0% 10%,100% 10%);border:6px solid #f8fafc;border-color:#f8fafc #c4b5fd #0000 #0000;border-radius:50%;width:80%;height:80%;animation:.72s ease-out forwards tq-fx-moon;position:absolute;box-shadow:0 0 24px #c4b5fd99}.tq-fx-moon-beam{background:linear-gradient(#0000,#e0e7ff,#0000);width:4px;height:55%;animation:.72s ease-out forwards tq-fx-moon;position:absolute;transform:rotate(-25deg)}.tq-fx-moon-spark{background:#fef08a;border-radius:50%;width:10px;height:10px;animation:.7s ease-out forwards tq-fx-moon-spark;position:absolute;box-shadow:0 0 12px #a78bfa}.tq-fx-moon-spark--1{top:32%;left:35%}.tq-fx-moon-spark--2{animation-delay:80ms;top:38%;right:32%}@keyframes tq-fx-moon{0%{opacity:0;transform:scale(.3)}35%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.15)}}@keyframes tq-fx-moon-spark{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.2)}to{opacity:0;transform:scale(.5)translateY(-20px)}}.tq-fx-arrow{background:linear-gradient(90deg,#0000,#86efac,#fef08a);width:45%;height:4px;animation:.5s ease-out forwards tq-fx-arrow;position:absolute}.tq-fx-arrow:after{content:"";border:6px solid #0000;border-left-color:#fef08a;width:0;height:0;position:absolute;top:50%;right:-2px;transform:translateY(-50%)}.tq-fx-arrow--1{top:42%;left:10%}.tq-fx-arrow--2{animation-delay:60ms;top:50%;left:12%}.tq-fx-arrow--3{animation-delay:.12s;top:58%;left:14%}@keyframes tq-fx-arrow{0%{opacity:0;transform:translate(-20%)scaleX(.2)}35%{opacity:1;transform:translate(0)scaleX(1)}to{opacity:0;transform:translate(35%)scaleX(1.05)}}.tq-fx-scope-ring{border:2px solid #f87171;border-radius:50%;width:3rem;height:3rem;animation:.55s ease-out forwards tq-fx-scope;position:absolute}.tq-fx-scope-ring--crit{border-color:#ef4444;box-shadow:0 0 20px #ef4444}.tq-fx-deadshot-beam{background:linear-gradient(90deg,#0000,#fca5a5,#fef08a);width:60%;height:3px;animation:.55s ease-out forwards tq-fx-deadshot;position:absolute;top:50%;left:15%;transform:translateY(-50%)}.tq-fx-deadshot-flash{background:#fef08a;border-radius:50%;width:1rem;height:1rem;animation:.55s ease-out forwards tq-fx-deadshot;position:absolute;top:48%;right:22%;box-shadow:0 0 20px #f97316}.tq-fx-execution-beam{background:linear-gradient(90deg,#7f1d1d,#ef4444,#fef08a);width:75%;height:5px;animation:.82s ease-out forwards tq-fx-execution;position:absolute;top:50%;left:8%;transform:translateY(-50%)}.tq-fx-execution-cross{width:2rem;height:2rem;position:absolute}.tq-fx-execution-cross:before,.tq-fx-execution-cross:after{content:"";background:#ef4444;width:100%;height:3px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tq-fx-execution-cross:after{transform:translate(-50%,-50%)rotate(90deg)}@keyframes tq-fx-scope{0%{opacity:0;transform:scale(2)}40%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.6)}}@keyframes tq-fx-deadshot{0%{opacity:0;scale:.3}35%{opacity:1;scale:1}to{opacity:0;scale:1.05}}@keyframes tq-fx-execution{0%{opacity:0;scale:.2}25%{opacity:1;scale:1}to{opacity:0;scale:1.2}}.tq-fx-thrust-line{background:linear-gradient(90deg,#34d399,#fef08a,#34d399);width:78%;height:4px;animation:.55s ease-out forwards tq-fx-thrust;position:absolute;top:50%;left:10%;transform:translateY(-50%)}.tq-fx-thrust-ghost{filter:blur(4px);background:#34d39959;width:50%;height:8px;animation:.55s ease-out forwards tq-fx-thrust;position:absolute;top:50%;left:18%;transform:translateY(-50%)}@keyframes tq-fx-thrust{0%{opacity:0;transform:translateY(-50%)scaleX(.2)}35%{opacity:1;transform:translateY(-50%)scaleX(1)}to{opacity:0;transform:translateY(-50%)scaleX(1.1)}}.tq-fx-wyrm-body{background:linear-gradient(90deg,#059669,#34d399,#6ee7b7);border-radius:6px;width:70%;height:12px;animation:.65s ease-out forwards tq-fx-wyrm;position:absolute;top:48%;left:8%}.tq-fx-wyrm-head{border:10px solid #0000;border-left-color:#6ee7b7;width:0;height:0;animation:.65s ease-out forwards tq-fx-wyrm;position:absolute;top:46%;left:72%}.tq-fx-wyrm-fire{background:radial-gradient(circle,#fef08a,#f97316,#0000 70%);border-radius:50%;width:1.25rem;height:1.25rem;animation:.65s ease-out forwards tq-fx-wyrm-fire;position:absolute;top:44%;left:78%}@keyframes tq-fx-wyrm{0%{opacity:0;transform:translate(-30%)}40%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(15%)}}@keyframes tq-fx-wyrm-fire{0%{opacity:0;scale:.3}50%{opacity:1;scale:1.2}to{opacity:0;scale:.5}}.tq-fx-dragon-roar-wave{border:4px solid #f9731699;border-radius:50%;width:90%;height:90%;animation:.98s ease-out forwards tq-fx-roar-wave;position:absolute}.tq-fx-dragon-roar-body{background:linear-gradient(90deg,#b45309,#f97316,#fde68a);border-radius:8px;width:82%;height:16px;animation:.98s ease-out forwards tq-fx-roar-body;position:absolute;top:46%;left:5%;box-shadow:0 0 30px #f97316b3}.tq-fx-dragon-roar-fire{background:radial-gradient(circle,#fef08a,#ef4444,#0000 70%);border-radius:50%;width:1rem;height:1rem;animation:.98s ease-out forwards tq-fx-roar-fire;position:absolute}.tq-fx-dragon-roar-fire--1{top:38%;left:55%}.tq-fx-dragon-roar-fire--2{animation-delay:80ms;top:50%;left:68%}.tq-fx-dragon-roar-fire--3{animation-delay:.16s;top:42%;left:78%}@keyframes tq-fx-roar-wave{0%{opacity:0;scale:.4}30%{opacity:.8;scale:1}to{opacity:0;scale:1.3}}@keyframes tq-fx-roar-body{0%{opacity:0;transform:scaleX(.2)}30%{opacity:1;transform:scaleX(1)}to{opacity:0;transform:scaleX(1.15)}}@keyframes tq-fx-roar-fire{0%{opacity:0;scale:.2}40%{opacity:1;scale:1.3}to{opacity:0;transform:translate(10px,-15px)}}.tq-fx-ember-core{background:radial-gradient(circle,#fef08a,#f97316,#7c2d12);border-radius:50%;width:2.5rem;height:2.5rem;animation:.68s ease-out forwards tq-fx-ember-core;position:absolute;box-shadow:0 0 28px #f97316}.tq-fx-ember-orbit{background:#fde68a;border-radius:50%;width:8px;height:8px;animation:.68s ease-out forwards tq-fx-ember-orbit;position:absolute}.tq-fx-ember-orbit--1{animation-delay:0s}.tq-fx-ember-orbit--2{animation-delay:50ms}.tq-fx-ember-orbit--3{animation-delay:.1s}@keyframes tq-fx-ember-core{0%{opacity:0;scale:.3}40%{opacity:1;scale:1.1}to{opacity:0;scale:.7}}@keyframes tq-fx-ember-orbit{0%{opacity:0;transform:rotate(0)translate(0)}30%{opacity:1;transform:rotate(120deg)translate(48px)}to{opacity:0;transform:rotate(240deg)translate(64px)}}.tq-fx-nova-ring{border:3px solid #c4b5fd;border-radius:50%;width:78%;height:78%;animation:.7s ease-out forwards tq-fx-nova-ring;position:absolute;box-shadow:0 0 32px #8b5cf6}.tq-fx-nova-star{clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#fef08a;width:1.5rem;height:1.5rem;animation:.7s ease-out forwards tq-fx-nova-star;position:absolute}.tq-fx-nova-burst{background:radial-gradient(circle,#fef08a,#a78bfa,#0000 70%);border-radius:50%;width:45%;height:45%;animation:.7s ease-out forwards tq-fx-nova-burst;position:absolute}@keyframes tq-fx-nova-ring{0%{opacity:0;scale:.2}40%{opacity:1;scale:1}to{opacity:0;scale:1.2}}@keyframes tq-fx-nova-star{0%{opacity:0;rotate:0deg;scale:0}40%{opacity:1;rotate:45deg;scale:1.2}to{opacity:0;rotate:90deg;scale:.5}}@keyframes tq-fx-nova-burst{0%{opacity:0;scale:.1}50%{opacity:1;scale:1.3}to{opacity:0;scale:.5}}.tq-fx-shower-sky{background:radial-gradient(at 50% 0,#a78bfa59,#0000 60%);animation:1.2s ease-out forwards tq-fx-shower-sky;position:absolute;inset:0}.tq-fx-meteor{background:linear-gradient(#fef08a,#f97316,#0000);border-radius:2px;width:3px;height:28px;animation:1.1s ease-in forwards tq-fx-meteor-fall;position:absolute}.tq-fx-meteor--1{animation-delay:0s;left:18%}.tq-fx-meteor--2{animation-delay:.12s;left:32%}.tq-fx-meteor--3{animation-delay:50ms;left:50%}.tq-fx-meteor--4{animation-delay:.18s;left:66%}.tq-fx-meteor--5{animation-delay:80ms;left:80%}.tq-fx-shower-impact{background:radial-gradient(#fbbf24b3,#0000 70%);width:70%;height:3rem;animation:1.2s ease-out forwards tq-fx-shower-impact;position:absolute;bottom:28%;left:50%;transform:translate(-50%)}@keyframes tq-fx-shower-sky{0%{opacity:0}20%{opacity:1}to{opacity:.3}}@keyframes tq-fx-meteor-fall{0%{opacity:0;top:-5%;transform:rotate(15deg)scaleY(.5)}15%{opacity:1}70%{opacity:1;top:55%;transform:rotate(15deg)scaleY(1)}to{opacity:0;top:62%;transform:rotate(15deg)scaleY(.3)}}@keyframes tq-fx-shower-impact{0%{opacity:0;scale:.3}55%{opacity:0;scale:.3}70%{opacity:1;scale:1.2}to{opacity:0;scale:1.5}}.tq-fx-fallback{background:radial-gradient(circle,#fef08a,#0000 70%);border-radius:50%;width:50%;height:50%;animation:.5s ease-out forwards tq-fx-nova-burst;position:absolute}.tq-fx-slash{clip-path:polygon(50% 50%,10% 15%,90% 15%);border:5px solid #fef08a;border-color:#fef08a #f97316 #0000 #0000;border-radius:50%;width:70%;height:70%;animation:.48s ease-out forwards tq-fx-slash-sweep;position:absolute}@keyframes tq-fx-slash-sweep{0%{opacity:0;transform:rotate(-40deg)scale(.3)}40%{opacity:1;transform:rotate(0)scale(1)}to{opacity:0;transform:rotate(18deg)scale(1.08)}}.tq-fx-shot-trail{background:linear-gradient(90deg,#0000,#fef08a,#f97316);width:55%;height:6px;animation:.45s ease-out forwards tq-fx-shot-fire;position:absolute;top:50%;left:12%;transform:translateY(-50%)}.tq-fx-shot-head{background:#fef08a;border-radius:50%;width:14px;height:14px;animation:.45s ease-out forwards tq-fx-shot-fire;position:absolute;top:50%;left:62%;transform:translate(-50%,-50%);box-shadow:0 0 16px #f97316}@keyframes tq-fx-shot-fire{0%{opacity:0;scale:.2}30%{opacity:1;scale:1}to{opacity:0;scale:1.05}}.tq-fx-pierce-line{background:linear-gradient(90deg,#34d399,#fef08a,#34d399);width:84%;height:4px;animation:.46s ease-out forwards tq-fx-pierce-stab;position:absolute;top:50%;left:8%;transform:translateY(-50%)}.tq-fx-pierce-spark{background:radial-gradient(circle,#fef08a,#0000 70%);border-radius:50%;width:2rem;height:2rem;animation:.46s ease-out forwards tq-fx-pierce-stab;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes tq-fx-pierce-stab{0%{opacity:0;scale:.3}35%{opacity:1;scale:1}to{opacity:0;scale:1.1}}.tq-fx-magic-ring{border:3px solid #c4b5fd;border-radius:50%;width:75%;height:75%;animation:.55s ease-out forwards tq-fx-magic-expand;position:absolute;box-shadow:0 0 30px #8b5cf6}.tq-fx-magic-burst{background:radial-gradient(circle,#fef08a,#a78bfa,#0000 70%);border-radius:50%;width:40%;height:40%;animation:.55s ease-out forwards tq-fx-magic-burst;position:absolute}@keyframes tq-fx-magic-expand{0%{opacity:0;scale:.2}40%{opacity:1;scale:1}to{opacity:0;scale:1.15}}@keyframes tq-fx-magic-burst{0%{opacity:0;scale:.1}50%{opacity:1;scale:1.2}to{opacity:0;scale:.6}}.tq-defeat-overlay{z-index:10;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.tq-defeat-burst{background:radial-gradient(circle,#fbbf2459,#0000 55%);width:120%;height:120%;animation:1.2s ease-out forwards tq-defeat-burst;position:absolute}.tq-defeat-overlay--stage .tq-defeat-burst{background:radial-gradient(circle,#a78bfa73,#0000 55%)}@keyframes tq-defeat-burst{0%{opacity:0;scale:.5}30%{opacity:1;scale:1}to{opacity:.3;scale:1.2}}.tq-defeat-content{text-align:center;animation:.9s cubic-bezier(.22,1,.36,1) forwards tq-defeat-pop;position:relative}@keyframes tq-defeat-pop{0%{opacity:0;transform:scale(.4)translateY(20px)}50%{opacity:1;transform:scale(1.08)translateY(0)}to{opacity:1;transform:scale(1)}}.tq-defeat-icon{margin-bottom:.25rem;font-size:3.5rem;line-height:1;animation:.8s ease-out forwards tq-defeat-icon-spin;display:block}@keyframes tq-defeat-icon-spin{0%{transform:rotate(0)scale(1)}to{transform:rotate(360deg)scale(0)}}.tq-defeat-ko{color:#fef08a;text-shadow:0 0 20px #f97316,0 4px #92400e;letter-spacing:.08em;margin:0;font-size:2.75rem;font-weight:900}.tq-defeat-overlay--stage .tq-defeat-ko{color:#e9d5ff;text-shadow:0 0 24px #a78bfa,0 4px #5b21b6}.tq-defeat-name{color:var(--tq-muted);margin:.25rem 0 0;font-size:1rem}.tq-defeat-sub{color:var(--tq-gold);margin:.35rem 0 0;font-size:1.15rem;font-weight:800}.tq-defeat-overlay--stage .tq-defeat-sub{color:#c4b5fd;font-size:1.35rem}.tq-header{margin-bottom:1rem}.tq-header-compact{margin-bottom:.75rem}.tq-eyebrow{letter-spacing:.08em;color:var(--tq-accent);margin:0;font-size:.75rem}.tq-title{color:#f8fafc;margin:.15rem 0 .35rem;font-size:1.85rem;font-weight:800}.tq-subtitle{color:var(--tq-muted);margin:0;font-size:.9rem}.tq-equip-card{border:1px solid var(--tq-border);background:#151d32e6;border-radius:.85rem;margin-bottom:1rem;padding:1rem 1.1rem}.tq-equip-title{color:var(--tq-gold);margin:0 0 .65rem;font-size:.85rem}.tq-equip-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.tq-equip-list dt{color:var(--tq-muted);margin:0;font-size:.6875rem}.tq-equip-list dd{margin:.1rem 0 0;font-weight:700}.tq-equip-note{color:var(--tq-muted);margin:.75rem 0 0;font-size:.75rem}.tq-menu-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tq-btn{cursor:pointer;border:1px solid #0000;border-radius:.65rem;padding:.65rem 1.1rem;font-size:.9rem;font-weight:700}.tq-btn-primary{color:#fff;background:linear-gradient(135deg,#7c3aed,#a78bfa);box-shadow:0 4px 16px #7c3aed59}.tq-btn-secondary{color:#e9d5ff;background:#312e818c;border-color:#a78bfa73}.tq-btn-gold{color:#1e1b4b;background:linear-gradient(135deg,#d97706,#fbbf24);box-shadow:0 4px 16px #fbbf244d}.tq-btn-ghost{border-color:var(--tq-border);color:var(--tq-text);background:#1e293bcc}.tq-status-bar{color:var(--tq-muted);flex-wrap:wrap;gap:1rem;margin:1rem 0 0;font-size:.8125rem;display:flex}.tq-panel{border:1px solid var(--tq-border);background:#151d32eb;border-radius:.85rem;padding:1rem 1.15rem}.tq-panel-wide{max-width:720px}.tq-panel-title{margin:.5rem 0 .35rem;font-size:1.35rem}.tq-panel-desc{color:var(--tq-muted);margin:0 0 1rem;font-size:.8125rem}.tq-back{color:var(--tq-accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:.875rem}.tq-tabs{gap:.35rem;margin-bottom:.75rem;display:flex}.tq-tab{border:1px solid var(--tq-border);color:var(--tq-muted);cursor:pointer;background:#0f172acc;border-radius:9999px;padding:.35rem .75rem;font-size:.8125rem}.tq-tab--active{border-color:var(--tq-accent);color:#f3e8ff;background:#4c1d9573}.tq-message{color:var(--tq-gold);margin:.75rem 0;font-size:.875rem}.tq-gacha-result{background:#0f172abf;border:1px solid #fbbf2459;border-radius:.65rem;margin:.75rem 0;padding:.75rem}.tq-gacha-rarity{color:var(--tq-muted);letter-spacing:.08em;margin:0;font-size:.6875rem}.tq-gacha-name{color:var(--tq-gold);margin:.25rem 0 0;font-size:1.1rem;font-weight:800}.tq-equip-section{margin-bottom:1rem}.tq-equip-section h3{color:var(--tq-accent);margin:0 0 .5rem;font-size:.875rem}.tq-equip-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:.5rem;display:grid}.tq-equip-card-item{border:1px solid var(--tq-border);color:var(--tq-text);text-align:left;cursor:pointer;background:#0f172abf;border-radius:.65rem;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.65rem .75rem;font-size:.8125rem;display:flex}.tq-equip-card-item strong{font-size:.875rem}.tq-equip-card-item span{color:var(--tq-muted);font-size:.6875rem;line-height:1.35}.tq-equip-card-item--on{border-color:var(--tq-gold);box-shadow:0 0 16px #fbbf2440}.tq-phase-dots{gap:.35rem;margin-bottom:.5rem;display:flex}.tq-phase-dot{background:#475569e6;border:1px solid #64748bcc;border-radius:9999px;width:.65rem;height:.65rem}.tq-phase-dot--done{background:var(--tq-success);border-color:#86efac}.tq-phase-dot--active{background:var(--tq-gold);border-color:#fde68a;box-shadow:0 0 8px #fbbf2499}.tq-phase-clear-banner{text-align:center;color:var(--tq-gold);font-size:1rem;font-weight:800;animation:.55s ease-out tq-phase-pop}@keyframes tq-phase-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.tq-app--phase-clear{animation:.55s ease-out tq-phase-flash}@keyframes tq-phase-flash{0%,to{filter:none}40%{filter:brightness(1.25)}}.tq-progress-summary{color:var(--tq-muted);margin:1rem 0 0;font-size:.8125rem}.tq-stage-map{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));gap:.65rem;margin-bottom:1rem;display:grid}.tq-stage-node{min-height:6.5rem;color:var(--tq-text);text-align:left;cursor:pointer;background:linear-gradient(160deg,#151d32f2,#0f172af2);border:2px solid #475569cc;border-radius:.75rem;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.75rem;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.tq-stage-node:hover:not(:disabled){border-color:var(--tq-accent);box-shadow:0 0 20px #a78bfa40}.tq-stage-node--cleared{border-color:#4ade8073}.tq-stage-node--locked{opacity:.45;cursor:not-allowed}.tq-stage-node-num{color:var(--tq-gold);font-size:1.25rem;font-weight:900}.tq-stage-node-name{font-size:.8125rem;font-weight:700}.tq-stage-node-enemy{color:var(--tq-muted);font-size:.75rem}.tq-stage-node-meta{color:var(--tq-muted);font-size:.6875rem}.tq-stage-node-star{color:var(--tq-gold);position:absolute;top:.5rem;right:.5rem}.tq-stage-node-lock{position:absolute;top:.45rem;right:.45rem}.tq-battle-top{flex-shrink:0}.tq-battle-stage-label{color:var(--tq-muted);margin-bottom:.35rem;font-size:.75rem}.tq-enemy-panel{background:#1e141ed9;border:1px solid #f8717159;border-radius:.85rem;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.tq-enemy-panel--hit{animation:.28s ease-in-out tq-enemy-shake}@keyframes tq-enemy-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.tq-enemy-icon{font-size:3.5rem;line-height:1}.tq-enemy-info{flex:1;min-width:0}.tq-enemy-name{margin-bottom:.35rem;font-size:1.15rem;font-weight:800;display:block}.tq-bar{background:#334155e6;border-radius:9999px;height:.65rem;overflow:hidden}.tq-bar-fill{height:100%;transition:width .2s}.tq-bar-fill-enemy{background:linear-gradient(90deg,#ef4444,#f87171)}.tq-bar-fill-player{background:linear-gradient(90deg,#22c55e,#4ade80)}.tq-bar-text{color:var(--tq-muted);margin-top:.2rem;font-size:.75rem;display:inline-block}.tq-timer-wrap{flex-shrink:0}.tq-timer-label{color:#fca5a5;margin-bottom:.25rem;font-size:.8125rem}.tq-timer-bar{background:#334155e6;border-radius:9999px;height:.5rem;overflow:hidden}.tq-timer-fill{background:linear-gradient(90deg,#f97316,#ef4444);height:100%;transition:width 50ms linear}.tq-battle-center{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.75rem;min-height:0;padding:.5rem;display:flex}.tq-combo{color:var(--tq-gold);letter-spacing:.06em;font-size:.875rem;font-weight:800}.tq-word-card{background:#0f172ad9;border:2px solid #a78bfa73;border-radius:.85rem;flex-direction:column;align-items:center;gap:.35rem;min-width:min(100%,18rem);padding:1rem 1.5rem;display:flex}.tq-word-jp{color:#fef08a;font-size:3rem;font-weight:900;line-height:1}.tq-word-hint{color:#67e8f9;font-family:ui-monospace,monospace;font-size:.875rem}.tq-typing-display{letter-spacing:.06em;font-family:ui-monospace,monospace;font-size:clamp(1.5rem,4vw,2.25rem)}.tq-typing-done{color:var(--tq-success);font-weight:700}.tq-typing-remain{color:var(--tq-muted)}.tq-cursor{animation:1s step-end infinite tq-blink}@keyframes tq-blink{50%{opacity:0}}.tq-battle-bottom{flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.tq-player-panel{flex:1;min-width:0}.tq-player-label{margin-bottom:.25rem;font-size:.8125rem;display:block}.tq-quit{flex-shrink:0}.tq-app--player-hit{animation:.35s ease-out tq-player-hit}@keyframes tq-player-hit{0%,to{box-shadow:inset 0 0 #0000}40%{box-shadow:inset 0 0 0 4px #ef4444bf}}.tq-result{text-align:center;border:2px solid var(--tq-border);border-radius:1rem;margin-top:2rem;padding:1.5rem}.tq-result--win{background:#14532d33;border-color:#4ade8080}.tq-result--lose{background:#450a0a40;border-color:#f8717173}.tq-result-label{letter-spacing:.12em;color:var(--tq-muted);margin:0;font-size:.8125rem}.tq-result-title{margin:.35rem 0 1rem;font-size:1.5rem}.tq-result-stats{justify-content:center;gap:2rem;margin:0 0 1.25rem;display:flex}.tq-result-stats dt{color:var(--tq-muted);font-size:.75rem}.tq-result-stats dd{margin:.15rem 0 0;font-size:1.35rem;font-weight:800}.mini-game-overlay--typing-quest{background:#080a18f5}.mini-game-overlay--typing-quest .mini-game-overlay-body{flex-direction:column;padding:0;display:flex;overflow:hidden}.mini-game-overlay-badge--typing-quest{color:#c4b5fd}.typing-quest-marker-pin{background:linear-gradient(135deg,#7c3aed,#a78bfa)!important;box-shadow:0 2px 8px #7c3aed8c!important}.typing-quest-marker-selected .typing-quest-marker-pin{background:linear-gradient(135deg,#fbbf24,#f59e0b)!important}.map-area-btn-quest{color:#c4b5fd;border-color:#7c3aed80}.map-area-btn-quest.map-area-btn-active{background:#7c3aed40;border-color:#a78bfa}.outrun-root{color:#fef3c7;flex-direction:column;flex:1;width:100%;height:100%;min-height:0;font-family:Segoe UI,system-ui,sans-serif;display:flex;overflow:hidden}.outrun-stage{background:#0f172a;border:2px solid #fb718573;border-radius:12px;flex:1;height:100%;min-height:0;position:relative;overflow:hidden}.outrun-canvas{touch-action:none;width:100%;height:100%;display:block}.outrun-overlay{text-align:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ac7;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0;overflow:hidden}.outrun-overlay--menu{background:linear-gradient(#2d1b69e0,#0f172aeb)}.outrun-overlay--countdown{pointer-events:none;background:0 0}.outrun-overlay--result{padding:.75rem}.outrun-menu-kicker{letter-spacing:.18em;color:#fdba74;margin:0;font-size:.6875rem}.outrun-menu-title{margin:.35rem 0 .65rem;font-size:1.25rem;font-weight:900;line-height:1.35}.outrun-menu-rules{color:#e2e8f0;text-align:left;margin:0 0 .75rem;padding:0;font-size:.8125rem;line-height:1.65;list-style:none}.outrun-menu-rules li{align-items:center;gap:.45rem;display:flex}.outrun-legend{border-radius:2px;flex-shrink:0;width:.875rem;height:.875rem;display:inline-block}.outrun-legend--car{background:#2563eb}.outrun-legend--truck{background:#ea580c}.outrun-legend--cone{clip-path:polygon(50% 0,0 100%,100% 100%);background:#f97316}.outrun-legend--coin{background:#fbbf24;border-radius:999px}.outrun-legend--turbo{clip-path:polygon(50% 0,100% 100%,0 100%);background:#22d3ee}.outrun-legend--police{background:linear-gradient(135deg,#1e3a8a 50%,#ef4444 50%)}.outrun-menu-desc--sub{color:#94a3b8;margin-top:.35rem;font-size:.75rem}.outrun-menu-desc{color:#cbd5e1;max-width:24rem;margin:0 0 .85rem;font-size:.8125rem;line-height:1.45}.outrun-menu-hint{color:#94a3b8;margin:.75rem 0 .25rem;font-size:.6875rem}.outrun-best{color:#fde68a;margin:0;font-size:.75rem;font-weight:700}.outrun-countdown{color:#fef08a;text-shadow:0 0 24px #f97316;font-size:4.5rem;font-weight:900;animation:.65s ease-out outrun-pulse}@keyframes outrun-pulse{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.outrun-hud{pointer-events:none;background:linear-gradient(#0f172ad1,#0000);padding:.5rem .65rem;position:absolute;top:0;left:0;right:0}.outrun-hud-row{justify-content:space-between;gap:.35rem;font-size:.75rem;font-weight:800;display:flex}.outrun-hud-sub{color:#cbd5e1;margin-top:.2rem;font-size:.6875rem}.outrun-hud-speed{color:#fef08a;text-shadow:0 0 10px #f9731699;font-size:1rem}.outrun-hud-speed--turbo{color:#67e8f9;text-shadow:0 0 12px #22d3eebf;animation:.5s ease-in-out infinite alternate outrun-turbo-pulse}@keyframes outrun-turbo-pulse{0%{transform:scale(1)}to{transform:scale(1.06)}}.outrun-hud-coins{color:#fbbf24;font-weight:900}.outrun-hud-route{color:#a5f3fc;margin-top:.15rem;font-size:.625rem;font-weight:800}.outrun-hud-junction{color:#fde68a;background:#fde04726;border:1px solid #fde04773;border-radius:6px;margin-top:.2rem;padding:.2rem .45rem;font-size:.6875rem;font-weight:800;animation:1s step-end infinite outrun-blink}.outrun-hud-combo{color:#f97316;text-shadow:0 0 8px #f9731699;font-weight:900;animation:.45s ease-in-out infinite alternate outrun-turbo-pulse}.outrun-hud-overtake{color:#fde68a;text-align:center;text-shadow:0 0 10px #fde04780;margin-top:.2rem;font-size:.75rem;font-weight:900}.outrun-hud-police{color:#fca5a5;background:#3b82f633;border:1px solid #ef44448c;border-radius:6px;margin-top:.2rem;padding:.2rem .45rem;font-size:.6875rem;font-weight:800;animation:.6s step-end infinite outrun-blink}.outrun-hud-warn{color:#fca5a5;animation:.8s step-end infinite outrun-blink}@keyframes outrun-blink{50%{opacity:.35}}.outrun-hud-bar{background:#ffffff26;border-radius:999px;height:4px;margin:.3rem 0;overflow:hidden}.outrun-hud-bar-fill{background:linear-gradient(90deg,#fb7185,#fde68a);height:100%;transition:width .12s linear}.outrun-hint-banner{color:#fde68a;pointer-events:none;white-space:nowrap;background:#0f172ad1;border:1px solid #fb718573;border-radius:999px;max-width:calc(100% - 1.5rem);padding:.45rem .75rem;font-size:.6875rem;font-weight:700;position:absolute;bottom:4.5rem;left:50%;transform:translate(-50%)}.outrun-touch-controls{pointer-events:auto;background:linear-gradient(#0000,#0f172ae0);grid-template-columns:1fr 1fr 1fr;gap:.35rem;padding:.45rem;display:grid;position:absolute;bottom:0;left:0;right:0}.outrun-touch-btn{color:#f8fafc;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:none;background:#ffffff14;border:1px solid #fff3;border-radius:10px;padding:.55rem .25rem;font-size:.875rem;font-weight:800}.outrun-touch-btn--accel{background:#f9731659;border-color:#fb923c8c}.outrun-result-label{color:#94a3b8;margin:0;font-size:.8125rem}.outrun-result-label--win{color:#fde68a}.outrun-result-title{margin:.25rem 0 .5rem;font-size:1.625rem;font-weight:900}.outrun-result-stats{color:#cbd5e1;margin:0 0 .85rem;padding:0;font-size:.8125rem;line-height:1.6;list-style:none}.outrun-result-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.outrun-btn{cursor:pointer;border:none;border-radius:999px;padding:.55rem 1.1rem;font-size:.8125rem;font-weight:800}.outrun-btn-primary{color:#fff;background:linear-gradient(90deg,#f97316,#ef4444);box-shadow:0 4px 18px #f9731673}.outrun-btn-ghost{color:#e2e8f0;background:#ffffff14;border:1px solid #ffffff2e}.mini-game-overlay--outrun{background:radial-gradient(circle at 50% 0,#7c3aed59,#0f172af5);overflow:hidden}.mini-game-overlay--outrun .mini-game-overlay-body{flex-direction:column;min-height:0;padding:.5rem .75rem .75rem;display:flex;overflow:hidden}.mini-game-overlay--outrun .outrun-root{min-height:0}.mini-game-overlay-badge--outrun{color:#fb7185}.racing-marker{cursor:pointer;z-index:4;background:0 0;border:none;flex-direction:column;align-items:center;gap:.15rem;padding:0;display:flex;position:absolute;transform:translate(-50%,-100%)}.racing-marker-pin{background:linear-gradient(135deg,#ef4444,#f97316);border-radius:999px 999px 999px 0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.875rem;display:flex;transform:rotate(-45deg);box-shadow:0 2px 8px #00000059}.racing-marker-pin span{transform:rotate(45deg)}.racing-marker-label{color:#fff;text-shadow:0 1px 3px #000c;white-space:nowrap;font-size:.625rem;font-weight:700}.racing-marker-selected .racing-marker-pin{box-shadow:0 0 0 3px #fde047d9}.map-area-btn-outrun{background:linear-gradient(135deg,#ef444433,#f9731626);border-color:#fb71858c}.map-area-btn-outrun.map-area-btn-active{background:linear-gradient(135deg,#ef444459,#f9731647);border-color:#fde68a}@media (width<=640px){.outrun-hint-banner{white-space:normal;text-align:center;bottom:4.75rem}}.skill-rail-root{--sr-grass:#5cb85c;--sr-grass-dark:#4a9e4a;--sr-panel:#fff8dc;--sr-panel-dark:#f0e6c8;--sr-border:#8b4513;--sr-border-light:#c4a574;--sr-text:#3d2817;--sr-muted:#6b5344;--sr-accent:#e63946;--sr-gold:#d4a017;background:linear-gradient(180deg, #87ceeb 0%, var(--sr-grass) 28%, var(--sr-grass-dark) 100%);height:100%;min-height:560px;color:var(--sr-text);flex-direction:column;font-family:Segoe UI,Hiragino Sans,Meiryo,sans-serif;display:flex}.skill-rail-root--playing{background:linear-gradient(#87ceeb 0%,#5cb85c 35%)}.skill-rail-menu{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.skill-rail-menu-frame{background:var(--sr-panel);border:4px solid var(--sr-border);box-shadow:0 6px 0 var(--sr-border), 0 12px 24px #0003;text-align:center;border-radius:1rem;max-width:480px;padding:2rem 2.5rem}.skill-rail-menu-kicker{color:var(--sr-muted);letter-spacing:.1em;margin:0 0 .25rem;font-size:.8rem}.skill-rail-title{color:var(--sr-accent);text-shadow:2px 2px 0 #fff, 3px 3px 0 var(--sr-border);margin:0 0 .75rem;font-size:2rem;font-weight:900}.skill-rail-subtitle{color:var(--sr-muted);margin:0 0 1.5rem;font-size:.92rem;line-height:1.65}.skill-rail-mode-btns{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.skill-rail-btn{border:3px solid var(--sr-border);background:var(--sr-panel);color:var(--sr-text);cursor:pointer;box-shadow:0 3px 0 var(--sr-border);border-radius:.5rem;padding:.55rem 1.1rem;font-size:.88rem;font-weight:700;transition:transform .1s,box-shadow .1s}.skill-rail-btn:hover:not(:disabled){box-shadow:0 4px 0 var(--sr-border);transform:translateY(-1px)}.skill-rail-btn:active:not(:disabled){box-shadow:0 1px 0 var(--sr-border);transform:translateY(2px)}.skill-rail-btn:disabled{opacity:.45;cursor:not-allowed}.skill-rail-btn--primary{background:linear-gradient(#ffd54f,#ffb300);border-color:#b8860b;box-shadow:0 3px #8b6914}.skill-rail-btn--primary:hover:not(:disabled){box-shadow:0 4px #8b6914}.skill-rail-btn--large{padding:.7rem 1.5rem;font-size:1rem}.skill-rail-hud{background:var(--sr-panel);border-bottom:4px solid var(--sr-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.85rem;font-weight:700;display:flex}.skill-rail-hud-date{color:var(--sr-accent);font-size:1rem}.skill-rail-hud-turn{color:var(--sr-muted);margin-left:.5rem;font-size:.78rem}.skill-rail-hud-center{text-align:center;flex:1}.skill-rail-hud-hint{color:var(--sr-muted);font-size:.78rem}.skill-rail-dice-badge{border:2px solid var(--sr-border);background:#fff;border-radius:999px;padding:.2rem .75rem;font-size:.85rem}.skill-rail-dice-badge strong{color:var(--sr-accent);font-size:1.05rem}.skill-rail-layout{flex:1;grid-template-columns:1fr 240px;gap:0;min-height:0;display:grid;overflow:hidden}@media (width<=860px){.skill-rail-layout{grid-template-rows:1fr auto;grid-template-columns:1fr}}.skill-rail-overlay--interactive{pointer-events:auto}.skill-rail-quiz-hint{color:var(--sr-muted);text-align:center;margin:.65rem 0 0;font-size:.72rem}.skill-rail-map-column{border-right:3px solid var(--sr-border);background:#1a3a5c;min-height:0;overflow:hidden}.skill-rail-map-viewport{cursor:grab;touch-action:none;background:#1a3a5c;width:100%;height:100%;min-height:420px;position:relative;overflow:hidden}.skill-rail-map-viewport:active{cursor:grabbing}.skill-rail-map-transform{transform-origin:0 0;will-change:transform;pointer-events:none}.skill-rail-map-transform .skill-rail-board{pointer-events:none}.skill-rail-board{display:block}.skill-rail-map-ui{z-index:4;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.35rem;display:flex;position:absolute;top:.5rem;right:.5rem}.skill-rail-map-ui>*{pointer-events:auto}.skill-rail-zoom-controls{background:var(--sr-panel);border:3px solid var(--sr-border);box-shadow:0 3px 0 var(--sr-border);border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .45rem;display:flex}.skill-rail-zoom-btn{border:2px solid var(--sr-border-light);cursor:pointer;width:28px;height:28px;color:var(--sr-text);background:#fff;border-radius:50%;font-size:.95rem;font-weight:900;line-height:1}.skill-rail-zoom-btn--follow{font-size:.75rem}.skill-rail-zoom-label{text-align:center;min-width:2.8rem;color:var(--sr-muted);font-size:.72rem;font-weight:800}.skill-rail-map-hint{color:#fff;text-shadow:0 1px 2px #00000080;background:#00000059;border-radius:999px;margin:0;padding:.2rem .5rem;font-size:.65rem;font-weight:700}.skill-rail-dice-overlay{z-index:8;pointer-events:none;background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.skill-rail-dice-stage{text-align:center}.skill-rail-dice-who{color:#fff;text-shadow:0 2px 4px #00000080;margin:0 0 .75rem;font-size:1.1rem;font-weight:900}.skill-rail-dice-cube{filter:drop-shadow(0 8px 16px #0006);width:120px;height:120px;margin:0 auto}.skill-rail-dice-cube--spin{animation:.12s linear infinite sr-dice-shake}@keyframes sr-dice-shake{0%{transform:rotate(-8deg)scale(1)}25%{transform:rotate(8deg)scale(1.06)}50%{transform:rotate(-6deg)scale(.98)}75%{transform:rotate(6deg)scale(1.04)}to{transform:rotate(-8deg)scale(1)}}.skill-rail-dice-overlay--result .skill-rail-dice-cube{animation:.45s cubic-bezier(.34,1.56,.64,1) sr-dice-pop}@keyframes sr-dice-pop{0%{opacity:0;transform:scale(.5)rotate(180deg)}to{opacity:1;transform:scale(1)rotate(0)}}.skill-rail-dice-face{width:100%;height:100%}.skill-rail-dice-result-label{color:#ffeb3b;text-shadow:0 2px #8b4513,0 3px 8px #00000080;margin:.75rem 0 0;font-size:1.35rem;font-weight:900}.skill-rail-dice-result-label strong{color:#fff;font-size:2rem}.skill-rail-message-box{z-index:6;background:var(--sr-panel);border:4px solid var(--sr-border);width:min(92%,520px);box-shadow:0 6px 0 var(--sr-border), 0 12px 28px #00000059;cursor:pointer;opacity:0;pointer-events:none;border-radius:.65rem;gap:.65rem;padding:.65rem .85rem;transition:transform .35s cubic-bezier(.34,1.4,.64,1),opacity .25s;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)translateY(120%)}.skill-rail-message-box--visible{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.skill-rail-message-box--good{background:linear-gradient(#f1f8e9,#fff8dc);border-color:#2e7d32}.skill-rail-message-box--bad{background:linear-gradient(#ffebee,#fff8dc);border-color:#c62828}.skill-rail-message-box--event{background:linear-gradient(#fff8e1,#fff8dc);border-color:#f57f17}.skill-rail-message-box--dice{border-color:#1565c0}.skill-rail-message-portrait{border:2px solid var(--sr-border-light);background:#fff;border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.6rem;display:flex}.skill-rail-message-body{flex:1;min-width:0}.skill-rail-message-speaker{color:var(--sr-accent);margin:0 0 .15rem;font-size:.72rem;font-weight:800}.skill-rail-message-text{margin:0;font-size:.95rem;font-weight:800;line-height:1.45}.skill-rail-message-sub{color:var(--sr-muted);margin:.25rem 0 0;font-size:.82rem;font-weight:700}.skill-rail-message-box--good .skill-rail-message-sub{color:#2e7d32;font-size:1.05rem}.skill-rail-message-box--bad .skill-rail-message-sub{color:#c62828;font-size:1.05rem}.skill-rail-player-token{animation:.35s ease-out sr-token-bounce}.skill-rail-player-token--active{filter:drop-shadow(0 0 4px #ffeb3be6)}.skill-rail-player-ring{animation:1.2s ease-in-out infinite sr-player-ring}@keyframes sr-player-ring{0%,to{opacity:.55;r:9;stroke-width:1.8px}50%{opacity:1;r:10;stroke-width:2.2px}}@keyframes sr-token-bounce{0%{transform:translateY(-4px)}to{transform:translateY(0)}}.skill-rail-tile-glow{animation:1s ease-in-out infinite sr-pulse}@keyframes sr-pulse{0%,to{opacity:.6}50%{opacity:1}}.skill-rail-sidebar{background:var(--sr-panel-dark);border-left:3px solid var(--sr-border-light);flex-direction:column;gap:.4rem;min-height:0;padding:.4rem;display:flex;overflow-y:auto}.skill-rail-panel{background:var(--sr-panel);border:2px solid var(--sr-border-light);border-radius:.5rem;padding:.55rem .65rem;box-shadow:inset 0 1px #fff9}.skill-rail-panel h3{color:var(--sr-muted);margin:0 0 .35rem;font-size:.72rem}.skill-rail-player--active{border-color:var(--sr-accent);box-shadow:0 0 0 2px #e6394640}.skill-rail-player-name{margin-bottom:.2rem;font-size:.88rem;font-weight:800}.skill-rail-stat{color:var(--sr-muted);font-size:.76rem;line-height:1.5}.skill-rail-log{color:var(--sr-muted);flex:1;max-height:160px;font-size:.72rem;line-height:1.45;overflow-y:auto}.skill-rail-log p{margin:0 0 .3rem}.skill-rail-cards{flex-wrap:wrap;gap:.3rem;margin-top:.3rem;display:flex}.skill-rail-card-chip{border:1px solid var(--sr-border-light);background:#fff;border-radius:999px;padding:.15rem .4rem;font-size:.65rem}.skill-rail-card-chip button{color:var(--sr-accent);cursor:pointer;background:0 0;border:none;margin-left:.2rem;padding:0;font-size:.62rem;font-weight:700}.skill-rail-command{background:var(--sr-panel);border-top:4px solid var(--sr-border);flex-shrink:0;align-items:center;gap:.75rem;padding:.55rem .85rem;display:flex}.skill-rail-command-label{color:var(--sr-muted);font-size:.85rem;font-weight:700}.skill-rail-overlay{z-index:7;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:absolute;inset:0}.skill-rail-modal{background:var(--sr-panel);border:4px solid var(--sr-border);width:100%;max-width:400px;box-shadow:0 8px 0 var(--sr-border), 0 16px 32px #0000004d;border-radius:.75rem;padding:1.25rem}.skill-rail-modal--momotaro .skill-rail-modal-header{border-bottom:2px dashed var(--sr-border-light);margin-bottom:.75rem;padding-bottom:.5rem;font-size:1.05rem;font-weight:900}.skill-rail-quiz-q{margin:0 0 1rem;font-weight:600;line-height:1.6}.skill-rail-shop-money{color:var(--sr-muted);margin:0 0 .75rem;font-weight:700}.skill-rail-choices{flex-direction:column;gap:.4rem;display:flex}.skill-rail-choice{text-align:left;width:100%}.skill-rail-choice--npc-pick{background:linear-gradient(135deg,#fff3cd 0%,#ffe082 100%);border-color:#f5a623;animation:.6s ease-in-out infinite alternate skill-rail-npc-pick;box-shadow:0 0 0 2px #f5a62373}@keyframes skill-rail-npc-pick{0%{transform:scale(1)}to{transform:scale(1.02)}}.skill-rail-result{text-align:center}.skill-rail-result h2{color:var(--sr-accent);margin:0 0 .75rem;font-size:1.2rem}.skill-rail-result-row{margin:.3rem 0;font-size:.88rem}.skill-rail-result-row span{color:var(--sr-muted);font-size:.75rem;display:block}.skill-rail-legend{color:var(--sr-muted);flex-wrap:wrap;justify-content:center;gap:.45rem .75rem;font-size:.72rem;display:flex}.skill-rail-legend span{align-items:center;gap:.25rem;display:inline-flex}.skill-rail-dot{border:1px solid #0003;border-radius:2px;width:10px;height:10px;display:inline-block}.skill-rail-dot--income{background:#2b7cd3}.skill-rail-dot--deficit{background:#d93025}.skill-rail-dot--quiz{background:#f5c400}.skill-rail-dot--shop{background:#9b59d0}.skill-rail-dot--eval{background:#00a896}.mini-game-overlay--skill-rail .mini-game-overlay-badge--skill-rail{background:linear-gradient(90deg,#ffb300,#e63946)}.mini-game-overlay--skill-rail .mini-game-overlay-body{padding:0}.mini-game-overlay--skill-rail .skill-rail-root{min-height:calc(100vh - 120px)}.vj-root{--vj-bg:#07050f;--vj-panel:#0c081ceb;--vj-neural:#7c5cff;--vj-quantum:#ff3d7a;--vj-plasma:#00e5ff;--vj-aether:#39ff14;--vj-void:#ff0040;--vj-gold:gold;--vj-text:#e8e0ff;--vj-muted:#8b7fa8;--vj-border:#7c5cff73;min-height:100%;color:var(--vj-text);background:var(--vj-bg);font-family:Segoe UI,system-ui,sans-serif;position:relative;overflow:hidden}.vj-root:before{content:"";pointer-events:none;background:radial-gradient(80% 50% at 50% -10%,#7c5cff40,#0000),radial-gradient(60% 40% at 90% 100%,#ff00401f,#0000),repeating-linear-gradient(0deg,#0000,#0000 2px,#7c5cff08 2px 4px);position:absolute;inset:0}.vj-root--playing{grid-template-rows:auto 1fr auto;min-height:520px;display:grid;overflow:hidden}.vj-menu{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:480px;padding:2rem 1.5rem;display:flex;position:relative}.vj-menu-bg{background:radial-gradient(circle at 50% 40%,#7c5cff2e,#0000 60%);animation:4s ease-in-out infinite vj-bg-pulse;position:absolute;inset:0}@keyframes vj-bg-pulse{0%,to{opacity:.6}50%{opacity:1}}.vj-menu-kicker{letter-spacing:.35em;color:var(--vj-plasma);text-transform:uppercase;margin:0 0 .4rem;font-size:.72rem;position:relative}.vj-menu-title{letter-spacing:.08em;background:linear-gradient(135deg, #fff 0%, var(--vj-plasma) 50%, var(--vj-neural) 100%);color:#0000;text-shadow:0 0 40px #00e5ff4d;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(2.2rem,6vw,3.4rem);font-weight:900;animation:5s step-end infinite vj-title-glitch;position:relative}@keyframes vj-title-glitch{0%,94%,to{filter:none;transform:none}95%{filter:hue-rotate(90deg);transform:translate(-2px)}96%{transform:translate(2px)}97%{filter:hue-rotate(-90deg);transform:translate(-1px)}}.vj-menu-subtitle{color:var(--vj-gold);letter-spacing:.2em;margin:.25rem 0 0;font-size:1.1rem;position:relative}.vj-menu-tagline{color:var(--vj-muted);margin:.75rem 0 1.5rem;font-size:.9rem;position:relative}.vj-menu-rules{text-align:left;max-width:420px;color:var(--vj-muted);margin:0 0 1.5rem;padding:0;font-size:.85rem;line-height:1.7;list-style:none;position:relative}.vj-menu-rules li{border-bottom:1px solid #7c5cff26;padding:.35rem 0}.vj-menu-rules strong{color:var(--vj-plasma)}.vj-menu-void{text-shadow:0 0 8px #ff004080;color:var(--vj-void)!important}.vj-menu-legend{color:var(--vj-muted);flex-wrap:wrap;justify-content:center;gap:.75rem 1.2rem;margin-top:1.5rem;font-size:.75rem;display:flex;position:relative}.vj-dot{vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-right:.35rem;display:inline-block}.vj-dot--neural{background:var(--vj-neural);box-shadow:0 0 6px var(--vj-neural)}.vj-dot--quantum{background:var(--vj-quantum);box-shadow:0 0 6px var(--vj-quantum)}.vj-dot--plasma{background:var(--vj-plasma);box-shadow:0 0 6px var(--vj-plasma)}.vj-dot--void{background:var(--vj-void);box-shadow:0 0 8px var(--vj-void)}.vj-btn{border:2px solid var(--vj-border);color:var(--vj-text);letter-spacing:.06em;cursor:pointer;background:#7c5cff26;border-radius:.35rem;padding:.65rem 1.4rem;font-size:.9rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;position:relative}.vj-btn:hover:not(:disabled){background:#7c5cff4d;transform:translateY(-1px)}.vj-btn--primary{border-color:var(--vj-plasma);color:#fff;background:linear-gradient(135deg,#7c5cff80,#00e5ff40)}.vj-btn--glow{animation:2s ease-in-out infinite alternate vj-btn-glow}@keyframes vj-btn-glow{0%{box-shadow:0 0 12px #00e5ff4d}to{box-shadow:0 0 28px #7c5cff99,0 0 48px #00e5ff33}}.vj-hud{background:var(--vj-panel);border-bottom:1px solid var(--vj-border);z-index:2;justify-content:space-between;align-items:center;gap:.5rem;padding:.55rem 1rem;display:flex;position:relative}.vj-hud-title{letter-spacing:.12em;color:var(--vj-plasma);font-size:.95rem;font-weight:900}.vj-hud-sub{color:var(--vj-gold);letter-spacing:.15em;font-size:.65rem;display:block}.vj-hud-phase{letter-spacing:.08em;color:var(--vj-muted);font-size:.82rem}.vj-hud-phase--active{color:var(--vj-plasma);animation:1.2s ease-in-out infinite vj-phase-blink}.vj-hud-phase--npc{color:var(--vj-quantum)}.vj-hud-phase--sync{color:var(--vj-gold)}.vj-hud-phase--extract{color:var(--vj-plasma);animation:.8s ease-in-out infinite vj-phase-blink}.vj-void-hint{text-align:center;letter-spacing:.04em;color:var(--vj-void);z-index:2;background:#ff004014;border-bottom:1px solid #ff004040;margin:0;padding:.35rem 1rem;font-size:.72rem;position:relative}@keyframes vj-phase-blink{0%,to{opacity:1}50%{opacity:.55}}.vj-hud-right{gap:.75rem;display:flex}.vj-hud-stat{letter-spacing:.08em;color:var(--vj-muted);font-size:.72rem}.vj-stage{flex-direction:column;justify-content:space-between;gap:.75rem;min-height:0;padding:1rem;display:flex;position:relative}.vj-zone{border:1px solid var(--vj-border);background:#080414b3;border-radius:.5rem;padding:.75rem}.vj-zone--opponent{border-color:#ff3d7a59}.vj-zone--player{border-color:#00e5ff59}.vj-zone-head{color:var(--vj-muted);justify-content:space-between;align-items:baseline;margin-bottom:.6rem;font-size:.75rem;display:flex}.vj-zone-head h2{letter-spacing:.1em;color:var(--vj-text);margin:0;font-size:.85rem}.vj-hand{flex-wrap:wrap;justify-content:center;gap:.45rem;min-height:100px;display:flex}.vj-hand--opponent{perspective:800px}.vj-empty{color:var(--vj-muted);letter-spacing:.08em;margin:1rem 0;font-size:.85rem}.vj-empty--win{color:var(--vj-plasma);font-weight:700}.vj-hand-stack{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:120px;display:flex}.vj-hand-stack-pile{width:72px;height:102px;position:relative}.vj-hand-stack-layer{background:radial-gradient(at 50% 30%,#b4a0781f,#0000 55%),linear-gradient(145deg,#1a1410 0%,#0a0806 50%,#12100e 100%);border:2px solid #c8b48c59;border-radius:.45rem;position:absolute;inset:0;box-shadow:inset 0 0 12px #000c}.vj-hand-stack-layer:after{content:"✦";color:#c8b48c40;justify-content:center;align-items:center;font-size:1.2rem;display:flex;position:absolute;inset:0}.vj-hand-stack-info{text-align:center}.vj-hand-stack-label{color:var(--vj-muted);letter-spacing:.08em;font-size:.72rem;display:block}.vj-hand-stack-count{color:var(--vj-plasma);margin:0 .25rem;font-size:1.8rem}.vj-hand-stack-unit{color:var(--vj-muted);font-size:.75rem}.vj-hand-stack-hidden{color:var(--vj-neural);letter-spacing:.1em;margin-top:.25rem;font-size:.68rem;display:block}.vj-card-wrap{position:relative}.vj-card-wrap--target{animation:.5s ease-in-out infinite alternate vj-card-target}.vj-card-wrap--void{filter:drop-shadow(0 0 12px #ff0040bf)}@keyframes vj-card-target{0%{transform:translateY(0);box-shadow:0 0 #ffd70000}to{transform:translateY(-8px);box-shadow:0 0 20px #ffd70099}}.vj-card-slot{background:#ff3d7a14;border:2px dashed #ff3d7a80;border-radius:.45rem;justify-content:center;align-items:center;width:72px;height:102px;animation:.6s ease-in-out infinite alternate vj-slot-pulse;display:flex}.vj-card-slot--empty .vj-card-slot-label{color:var(--vj-quantum);letter-spacing:.06em;font-size:.6rem}@keyframes vj-slot-pulse{0%{opacity:.6}to{opacity:1}}.vj-card{border-radius:.45rem;flex-shrink:0;width:72px;height:102px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 3px 10px #000000a6,0 0 0 1px #ffffff0f}.vj-card--face-up{background:radial-gradient(80% 60% at 50% 20%,#ffffff1f,#0000 55%),linear-gradient(165deg,#f8f4ec 0%,#e8e0d4 35%,#d4c8b8 100%);border:2px solid #b4a0788c;flex-direction:column;justify-content:center;align-items:center;display:flex}.vj-card-frame{pointer-events:none;border:1px solid #78644659;border-radius:.3rem;position:absolute;inset:4px}.vj-card-texture{pointer-events:none;background:repeating-linear-gradient(0deg,#0000,#0000 3px,#00000004 3px 4px);position:absolute;inset:0}.vj-card--neural.vj-card--face-up{color:var(--vj-neural);border-color:#7c5cff80;box-shadow:inset 0 0 24px #7c5cff1f,0 3px 12px #7c5cff40}.vj-card--quantum.vj-card--face-up{color:var(--vj-quantum);border-color:#ff3d7a80;box-shadow:inset 0 0 24px #ff3d7a1f,0 3px 12px #ff3d7a40}.vj-card--plasma.vj-card--face-up{color:var(--vj-plasma);border-color:#00e5ff80;box-shadow:inset 0 0 24px #00e5ff1f,0 3px 12px #00e5ff40}.vj-card--aether.vj-card--face-up{color:var(--vj-aether);border-color:#39ff1473;box-shadow:inset 0 0 24px #39ff141a,0 3px 12px #39ff1433}.vj-card-corner{z-index:2;flex-direction:column;align-items:center;line-height:1;display:flex;position:absolute}.vj-card-corner--tl{top:5px;left:6px}.vj-card-corner--br{bottom:5px;right:6px;transform:rotate(180deg)}.vj-card-rank{letter-spacing:-.02em;font-size:.72rem;font-weight:900}.vj-card-suit-sm{opacity:.9;margin-top:1px;font-size:.58rem}.vj-card-center-art{z-index:1;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;display:flex}.vj-card-suit-lg{filter:drop-shadow(0 2px 4px #00000026);font-size:2rem;line-height:1}.vj-card--face .vj-card-suit-lg{opacity:.85;font-size:1.2rem}.vj-card-face-icon{filter:drop-shadow(0 2px 6px #0003);font-size:1.5rem;line-height:1}.vj-card-face-rank{letter-spacing:.12em;text-transform:uppercase;opacity:.75;font-size:.48rem;font-weight:800}.vj-card-footer{text-align:center;letter-spacing:.14em;text-transform:uppercase;color:#50463c8c;z-index:2;font-size:.38rem;font-weight:700;position:absolute;bottom:4px;left:0;right:0}.vj-card--back{cursor:pointer;background:radial-gradient(at 50% 30%,#7c5cff2e,#0000 55%),linear-gradient(155deg,#1a1228 0%,#0a0614 45%,#120e1e 100%);border:none;padding:0;box-shadow:inset 0 0 24px #000000d9,0 0 0 1px #7c5cff59,0 4px 14px #0000008c}.vj-card-back-pattern{pointer-events:none;background:repeating-linear-gradient(45deg,#7c5cff0f 0 2px,#0000 2px 8px),repeating-linear-gradient(-45deg,#00e5ff0a 0 2px,#0000 2px 8px);border:1px solid #7c5cff40;border-radius:.3rem;position:absolute;inset:5px}.vj-card-back-emblem{letter-spacing:.28em;color:#7c5cff73;text-shadow:0 0 12px #7c5cff66;pointer-events:none;justify-content:center;align-items:center;font-size:.68rem;font-weight:900;display:flex;position:absolute;inset:0}.vj-card--back:hover:not(:disabled){transform:translateY(-6px)scale(1.05);box-shadow:0 8px 24px #000000b3,0 0 0 1px #d2be9680,0 0 16px #b48c5040}.vj-card--lifting{z-index:10;animation:.35s ease-out vj-lift-shake;transform:translateY(-16px)scale(1.12);box-shadow:0 12px 32px #000c,0 0 24px #ffd77873}@keyframes vj-lift-shake{0%{transform:translateY(0)scale(1)}60%{transform:translateY(-18px)scale(1.14)}to{transform:translateY(-16px)scale(1.12)}}.vj-card-back-index{color:#d4c4a0;z-index:2;background:#000000a6;border-radius:2px;padding:.05rem .35rem;font-size:.65rem;font-weight:800;position:absolute;top:4px;left:50%;transform:translate(-50%)}.vj-card--back-static{pointer-events:none}.vj-card--void-joker{border:3px solid var(--vj-void);background:linear-gradient(160deg,#2a0010 0%,#0a0005 40%,#1a0008 100%);flex-direction:column;justify-content:center;align-items:center;animation:1.4s ease-in-out infinite vj-void-pulse;display:flex;box-shadow:0 0 0 1px #ff004066,0 0 24px #ff004073,0 4px 14px #000000a6}.vj-card-void-bg{pointer-events:none;background:repeating-linear-gradient(-45deg,#0000,#0000 6px,#ff004014 6px 12px);position:absolute;inset:0}.vj-card-void-crown{z-index:2;filter:drop-shadow(0 0 8px #ff0040cc);font-size:1.6rem}.vj-card-void-title{letter-spacing:.22em;color:var(--vj-void);text-shadow:0 0 12px #ff0040b3;z-index:2;margin-top:.15rem;font-size:.72rem;font-weight:900}.vj-card-void-sub{letter-spacing:.2em;color:#ff6478e6;z-index:2;font-size:.55rem;font-weight:900}.vj-card-void-ribbon{text-align:center;letter-spacing:.25em;color:#fff;background:var(--vj-void);z-index:3;padding:.12rem 0;font-size:.5rem;font-weight:900;position:absolute;top:8px;left:-10px;right:-10px;box-shadow:0 0 12px #ff0040cc}.vj-card--large{width:110px;height:156px}.vj-card--large .vj-card-rank{font-size:1rem}.vj-card--large .vj-card-suit-sm{font-size:.78rem}.vj-card--large .vj-card-suit-lg{font-size:2.8rem}.vj-card--large .vj-card-face-icon{font-size:2.2rem}.vj-card--large .vj-card-face-rank{font-size:.62rem}.vj-card--large .vj-card-footer{font-size:.48rem}.vj-card--large .vj-card-void-crown{font-size:2.4rem}.vj-card--large .vj-card-void-title{font-size:1rem}.vj-card--large .vj-card-void-sub{font-size:.72rem}.vj-card--large .vj-card-void-ribbon{font-size:.62rem;top:12px}.vj-card--large .vj-card-back-emblem{font-size:.95rem}@keyframes vj-void-pulse{0%,to{box-shadow:0 0 12px #ff004066}50%{box-shadow:0 0 28px #ff0040d9,0 0 48px #ff00404d}}.vj-card--back:disabled{cursor:default}.vj-card--selected{outline:2px solid var(--vj-gold);transform:translateY(-4px)}.vj-fx-layer{pointer-events:none;z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.vj-flip-scene{perspective:900px;width:110px;height:156px}.vj-flip-scene--lg{width:110px;height:156px}.vj-flip-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.4,.2,.2,1);position:relative}.vj-flip-scene--flipped .vj-flip-inner{transform:rotateY(180deg)}.vj-flip-face{backface-visibility:hidden;position:absolute;inset:0}.vj-flip-face--front{transform:rotateY(180deg)}.vj-draw-overlay{border:2px solid var(--vj-plasma);background:#04020ceb;border-radius:.75rem;flex-direction:column;align-items:center;gap:.65rem;max-width:90vw;padding:1.25rem 1.5rem;animation:.4s cubic-bezier(.34,1.56,.64,1) vj-draw-pop;display:flex;box-shadow:0 0 40px #00e5ff40,inset 0 0 30px #7c5cff14}@keyframes vj-draw-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.vj-draw-kicker{letter-spacing:.2em;color:var(--vj-plasma);text-transform:uppercase;margin:0;font-size:.75rem}.vj-draw-position{color:var(--vj-muted);margin:0;font-size:.88rem}.vj-draw-position strong{color:var(--vj-gold)}.vj-draw-result{text-align:center;animation:.35s ease-out vj-draw-result-in}@keyframes vj-draw-result-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.vj-draw-result-label{letter-spacing:.15em;color:var(--vj-muted);margin:0;font-size:.65rem}.vj-draw-result-name{color:#fff;letter-spacing:.06em;margin:.2rem 0 0;font-size:1.05rem;font-weight:900}.vj-draw-result-name--void{color:var(--vj-void);text-shadow:0 0 16px #ff0040cc;font-size:1.15rem}.vj-draw-void-alert{color:#fff;background:#ff0040d9;border-radius:.25rem;margin:.5rem 0 0;padding:.35rem .75rem;font-size:.78rem;font-weight:800;animation:.5s ease-in-out infinite alternate vj-void-alert}@keyframes vj-void-alert{0%{box-shadow:0 0 8px #ff004080}to{box-shadow:0 0 24px #ff0040e6}}.vj-command-hint--extract{color:var(--vj-gold)}.vj-flash{text-align:center;opacity:0;transition:opacity .25s,transform .35s cubic-bezier(.34,1.56,.64,1);transform:scale(.85)translateY(10px)}.vj-flash--visible{opacity:1;transform:scale(1)translateY(0)}.vj-flash-text{letter-spacing:.12em;text-shadow:0 0 30px;margin:0;font-size:clamp(1.4rem,4vw,2.2rem);font-weight:900}.vj-flash--sync .vj-flash-text{color:var(--vj-gold)}.vj-flash--extract .vj-flash-text{color:var(--vj-plasma)}.vj-flash--deploy .vj-flash-text{color:var(--vj-neural)}.vj-flash--danger .vj-flash-text{color:var(--vj-void)}.vj-flash--win .vj-flash-text{color:var(--vj-aether)}.vj-flash-sub{color:var(--vj-muted);letter-spacing:.06em;margin:.35rem 0 0;font-size:.85rem}.vj-sync-burst{animation:.6s ease-out vj-sync-pop}@keyframes vj-sync-pop{0%{opacity:0;transform:scale(.5)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.vj-sync-pair{border:2px solid var(--vj-gold);background:#000000bf;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex;box-shadow:0 0 40px #ffd70059}.vj-sync-x{color:var(--vj-gold);font-size:1.5rem;font-weight:900}.vj-command{background:var(--vj-panel);border-top:1px solid var(--vj-border);text-align:center;z-index:2;padding:.65rem 1rem;position:relative}.vj-command-hint{color:var(--vj-plasma);letter-spacing:.06em;margin:0;font-size:.82rem}.vj-command-hint--npc{color:var(--vj-quantum)}.vj-result-label{letter-spacing:.1em;color:var(--vj-void);margin:0 0 .25rem;font-size:1.4rem;font-weight:900}.vj-result-label--win{color:var(--vj-aether);text-shadow:0 0 20px #39ff1480}.vj-result-sub{color:var(--vj-muted);margin:0 0 .75rem;font-size:.85rem}.vj-result-actions{justify-content:center;gap:.5rem;display:flex}.vj-log{border:1px solid var(--vj-border);width:min(220px,30vw);max-height:180px;color:var(--vj-muted);z-index:3;background:#0000008c;border-radius:.35rem;padding:.4rem .55rem;font-size:.65rem;position:absolute;top:3.5rem;right:.5rem;overflow-y:auto}.vj-log-line{margin:.2rem 0;line-height:1.4}.vj-log-line--new{color:var(--vj-plasma)}.mini-game-overlay--void-joker{background:#04020cf7}.mini-game-overlay--void-joker .mini-game-overlay-body{min-height:560px;padding:0}.mini-game-overlay-badge--void-joker{background:linear-gradient(90deg, var(--vj-neural), var(--vj-plasma));color:#fff}.mini-game-overlay--void-joker .vj-root{min-height:560px}@media (width<=640px){.vj-card{width:58px;height:82px}.vj-card--compact{width:44px!important;height:62px!important}.vj-arena{min-height:380px}.vj-zone--right,.vj-zone--left{max-width:120px}.vj-log{display:none}}.vj-root--battle.vj-root--playing{grid-template-rows:auto auto 1fr auto}.vj-ui-layer{pointer-events:none;z-index:12;position:absolute;inset:0;overflow:hidden}.vj-battle-bg{pointer-events:none;background:radial-gradient(circle at 50% 45%,#7c5cff1f,#0000 55%),radial-gradient(circle at 20% 80%,#ff004014,#0000 40%),radial-gradient(circle at 80% 20%,#00e5ff14,#0000 40%);animation:4s ease-in-out infinite vj-battle-bg-pulse;position:absolute;inset:0}@keyframes vj-battle-bg-pulse{0%,to{opacity:.7}50%{opacity:1}}.vj-root--shake{animation:.55s ease-out vj-screen-shake}@keyframes vj-screen-shake{0%,to{transform:translate(0)}15%{transform:translate(-6px,3px)}30%{transform:translate(5px,-4px)}45%{transform:translate(-4px,-2px)}60%{transform:translate(4px,2px)}75%{transform:translate(-2px,1px)}}.vj-arena{flex:1;grid-template:".top.""left fx right"1fr".bottom."/1fr 1.4fr 1fr;gap:.35rem;min-height:0;padding:.5rem;display:grid;position:relative}.vj-zone--top{grid-area:top}.vj-zone--bottom{grid-area:bottom}.vj-zone--left{grid-area:left}.vj-zone--right{grid-area:right}.vj-fx-layer{grid-area:fx}.vj-zone--active{border-color:var(--vj-accent,var(--vj-plasma));box-shadow:0 0 0 2px color-mix(in srgb, var(--vj-accent,var(--vj-plasma)) 50%, transparent), 0 0 24px color-mix(in srgb, var(--vj-accent,var(--vj-plasma)) 35%, transparent);animation:1.2s ease-in-out infinite vj-zone-active-pulse}.vj-zone--source{border-color:var(--vj-gold);box-shadow:0 0 20px #ffd70040}.vj-zone--out{opacity:.55;filter:grayscale(.4)}@keyframes vj-zone-active-pulse{0%,to{box-shadow:0 0 16px color-mix(in srgb, var(--vj-accent) 30%, transparent)}50%{box-shadow:0 0 32px color-mix(in srgb, var(--vj-accent) 55%, transparent)}}.vj-hand--compact{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.vj-hand-more{color:var(--vj-muted);padding:.25rem;font-size:.72rem}.vj-card--compact{width:52px;height:74px}.vj-card--compact .vj-card-back-index{font-size:.55rem}.vj-particles{pointer-events:none;z-index:20;position:absolute;inset:0;overflow:hidden}.vj-particle{width:6px;height:6px;animation:.9s ease-out forwards vj-particle-fly;animation-delay:calc(var(--i) * 30ms);transform:rotate(calc(var(--i) * 22.5deg)) translateY(0);border-radius:50%;position:absolute;top:50%;left:50%}.vj-particles--sync .vj-particle{background:var(--vj-gold);box-shadow:0 0 8px var(--vj-gold)}.vj-particles--void .vj-particle{background:var(--vj-void);box-shadow:0 0 10px var(--vj-void)}.vj-particles--battle .vj-particle{background:var(--vj-plasma);box-shadow:0 0 8px var(--vj-plasma)}@keyframes vj-particle-fly{0%{opacity:1;transform:rotate(calc(var(--i) * 22.5deg)) translateY(0) scale(1)}to{opacity:0;transform:rotate(calc(var(--i) * 22.5deg)) translateY(-120px) scale(.2)}}.vj-sync-burst--mega{animation:.7s ease-out vj-sync-mega;transform:scale(1.15)}@keyframes vj-sync-mega{0%{opacity:0;transform:scale(.4)rotate(-8deg)}50%{opacity:1;transform:scale(1.2)rotate(3deg)}to{opacity:1;transform:scale(1.1)rotate(0)}}.vj-draw-overlay--hidden{border-color:var(--vj-muted);box-shadow:0 0 24px #7c5cff26,inset 0 0 20px #0003}.vj-draw-position--hidden strong{color:var(--vj-muted)}.vj-draw-hidden{justify-content:center;align-items:center;min-height:156px;transition:transform .35s ease-out,opacity .35s;display:flex}.vj-draw-hidden .vj-card{width:110px;height:156px}.vj-draw-hidden--done{opacity:.92;transform:translateY(-6px)}.vj-draw-hidden .vj-card-back-index{display:none}.vj-draw-overlay--void{border-color:var(--vj-void);animation:.5s ease-in-out infinite alternate vj-draw-void;box-shadow:0 0 60px #ff004080,inset 0 0 40px #ff004026}@keyframes vj-draw-void{0%{filter:brightness()}to{filter:brightness(1.15)}}.vj-flash--battle .vj-flash-text{color:var(--vj-plasma);font-size:clamp(1.6rem,5vw,2.6rem)}.vj-message-box{z-index:1;border:2px solid var(--vj-msg-accent,var(--vj-neural));width:min(94%,560px);max-width:560px;box-shadow:0 0 0 1px #7c5cff33, 0 0 28px color-mix(in srgb, var(--vj-msg-accent,var(--vj-neural)) 35%, transparent), 0 10px 32px #00000080;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;will-change:transform, opacity;background:#080414f7;border-radius:.65rem;gap:.85rem;padding:.9rem 1rem 1.15rem;transition:transform .45s cubic-bezier(.34,1.4,.64,1),opacity .35s,visibility .35s;display:flex;position:absolute;bottom:4.75rem;left:50%;overflow:hidden;transform:translate(-50%)translateY(calc(100% + 1.5rem))}.vj-message-box--visible{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.vj-message-progress{background:color-mix(in srgb, var(--vj-msg-accent,var(--vj-neural)) 85%, #fff);transform-origin:0;opacity:.85;width:100%;height:3px;position:absolute;bottom:0;left:0;transform:scaleX(1)}.vj-message-box--visible .vj-message-progress{animation:vj-msg-progress var(--vj-msg-duration,6.5s) linear forwards}@keyframes vj-msg-progress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.vj-message-box--void{border-color:var(--vj-void);background:linear-gradient(135deg,#28000cfa,#080414f5);box-shadow:0 0 0 1px #ff004059,0 0 32px #ff004059,0 8px 28px #00000080}.vj-message-box--sync{border-color:var(--vj-gold);background:linear-gradient(135deg,#1e1808fa,#080414f5)}.vj-message-box--threat{border-color:var(--vj-quantum)}.vj-message-portrait{border:2px solid color-mix(in srgb, var(--vj-msg-accent,var(--vj-neural)) 60%, transparent);background:#00000073;border-radius:.5rem;flex-shrink:0;justify-content:center;align-items:center;width:54px;height:54px;font-size:1.75rem;display:flex;overflow:hidden;box-shadow:inset 0 0 12px #0006}.vj-message-portrait-img{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.vj-message-body{flex:1;min-width:0}.vj-message-speaker{letter-spacing:.14em;color:var(--vj-msg-accent,var(--vj-plasma));text-transform:uppercase;margin:0 0 .35rem;font-size:.78rem;font-weight:800}.vj-message-text{color:#f4eeff;letter-spacing:.02em;margin:0;font-size:.98rem;line-height:1.7}.vj-message-hint{letter-spacing:.08em;color:var(--vj-muted);opacity:.85;margin:.45rem 0 0;font-size:.62rem}.ps-root{--ps-bg:#0a0e1a;--ps-panel:#0e1424f5;--ps-accent:#00d4aa;--ps-accent2:#6c5ce7;--ps-gold:#ffd93d;--ps-text:#e8f0ff;--ps-muted:#7a8ba8;--ps-border:#00d4aa59;min-height:100%;color:var(--ps-text);background:var(--ps-bg);font-family:Segoe UI,system-ui,sans-serif;position:relative}.ps-root:before{content:"";pointer-events:none;background:radial-gradient(70% 50% at 50% 0,#6c5ce733,#0000),radial-gradient(50% 40% at 100% 100%,#00d4aa1f,#0000);position:absolute;inset:0}.ps-root--game{flex-direction:column;min-height:560px;display:flex}.ps-menu{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:520px;padding:2rem 1.5rem;display:flex;position:relative}.ps-kicker{letter-spacing:.3em;color:var(--ps-accent);margin:0 0 .35rem;font-size:.72rem}.ps-title{letter-spacing:.06em;background:linear-gradient(135deg, #fff, var(--ps-accent), var(--ps-accent2));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:900}.ps-subtitle{color:var(--ps-gold);margin:.35rem 0 0;font-size:1rem}.ps-tagline{color:var(--ps-muted);margin:.75rem 0 1.5rem;font-size:.85rem}.ps-menu-actions{flex-wrap:wrap;justify-content:center;gap:.65rem;margin-bottom:1rem;display:flex}.ps-menu-rules{text-align:left;max-width:420px;color:var(--ps-muted);margin:1.25rem 0 0;padding:0;font-size:.82rem;line-height:1.7;list-style:none}.ps-menu-rules strong{color:var(--ps-accent)}.ps-saved-card{border:1px solid var(--ps-border);background:#00d4aa14;border-radius:.5rem;padding:.65rem 1rem;font-size:.82rem}.ps-saved-card strong{color:var(--ps-accent)}.ps-btn{border:2px solid var(--ps-border);color:var(--ps-text);cursor:pointer;background:#6c5ce726;border-radius:.4rem;padding:.6rem 1.2rem;font-size:.85rem;font-weight:700;transition:transform .15s,box-shadow .15s}.ps-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #00d4aa33}.ps-btn--primary{border-color:var(--ps-accent);background:linear-gradient(135deg,#00d4aa66,#6c5ce759)}.ps-btn--hackathon{border-color:var(--ps-gold);color:#fff;background:linear-gradient(135deg,#ffd93d40,#ff6b6b33)}.ps-btn:disabled{opacity:.45;cursor:not-allowed}.ps-actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem;display:flex}.ps-panel{max-width:720px;margin:0 auto;padding:1.5rem;position:relative}.ps-panel--center{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:480px;display:flex}.ps-panel-title{margin:0 0 .5rem;font-size:1.4rem}.ps-panel-sub{color:var(--ps-muted);margin:0 0 1rem;font-size:.88rem}.ps-input{border:2px solid var(--ps-border);width:min(100%,280px);color:var(--ps-text);background:#00000059;border-radius:.4rem;margin-bottom:.5rem;padding:.65rem .85rem;font-size:1rem}.ps-hud{background:var(--ps-panel);border-bottom:1px solid var(--ps-border);z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.6rem 1rem;display:flex;position:relative}.ps-hud-name{color:var(--ps-accent);margin-right:.75rem;font-weight:800}.ps-hud-phase{color:var(--ps-muted);letter-spacing:.06em;font-size:.78rem}.ps-hud-score{color:var(--ps-gold);font-size:.9rem;font-weight:800}.ps-layout{z-index:1;flex:1;grid-template-columns:200px 1fr 180px;gap:.75rem;min-height:0;padding:.75rem;display:grid;position:relative}.ps-layout--eval{grid-template-columns:200px 1fr 180px}.ps-section-title{letter-spacing:.08em;color:var(--ps-gold);margin:0 0 .75rem;font-size:.95rem}.ps-stats{border:1px solid var(--ps-border);background:#00000059;border-radius:.5rem;flex-direction:column;gap:.45rem;padding:.65rem;display:flex}.ps-stat-head{justify-content:space-between;font-size:.68rem;display:flex}.ps-stat-label{color:var(--ps-muted)}.ps-stat-val{color:var(--ps-text);font-weight:800}.ps-stat-bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.ps-stat-fill{border-radius:3px;height:100%;transition:width .35s}.ps-stat-fill--algorithm{background:linear-gradient(90deg,#6c5ce7,#a29bfe)}.ps-stat-fill--coding{background:linear-gradient(90deg,#00b894,#00d4aa)}.ps-stat-fill--design{background:linear-gradient(90deg,#0984e3,#74b9ff)}.ps-stat-fill--communication{background:linear-gradient(90deg,#fdcb6e,#ffd93d)}.ps-stat-fill--stamina{background:linear-gradient(90deg,#e17055,#ff7675)}.ps-eval-badge{border-top:1px solid var(--ps-border);color:var(--ps-gold);text-align:center;margin:.5rem 0 0;padding-top:.5rem;font-size:.75rem;font-weight:800}.ps-eval-hint{color:var(--ps-muted);margin:.75rem 0 0;font-size:.68rem;line-height:1.5}.ps-layout--training{grid-template-columns:200px 1fr 180px}.ps-training-hint{color:var(--ps-muted);margin:0 0 1rem;font-size:.82rem}.ps-training-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.ps-training-head .ps-section-title{margin:0}.ps-training-warn{color:#ff7675;background:#ff76751a;border:1px solid #ff767559;border-radius:.4rem;margin:1rem 0 0;padding:.55rem .75rem;font-size:.78rem}.ps-train-hand{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.ps-train-hand--activity{grid-template-columns:repeat(2,minmax(140px,200px));justify-content:center}.ps-train-card{text-align:center;border:2px solid var(--ps-border);min-height:168px;color:var(--ps-text);cursor:pointer;background:linear-gradient(165deg,#141c30f2,#080c18fa);border-radius:.65rem;flex-direction:column;align-items:center;gap:.35rem;padding:.85rem .75rem .75rem;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.ps-train-card:hover:not(:disabled){border-color:var(--ps-accent);transform:translateY(-5px);box-shadow:0 10px 28px #00d4aa2e}.ps-train-card--activity{border-color:#6c5ce780;min-height:150px}.ps-train-card--rest{background:linear-gradient(165deg,#28141499,#080c18fa);border-color:#ff767573}.ps-train-card--rest:hover:not(:disabled){border-color:#ff7675;box-shadow:0 10px 28px #ff767533}.ps-train-card--disabled{opacity:.42;cursor:not-allowed;filter:grayscale(.35)}.ps-train-icon{font-size:2rem;line-height:1}.ps-train-name{font-size:.88rem;font-weight:800;line-height:1.35}.ps-train-desc{color:var(--ps-muted);flex:1;font-size:.68rem;line-height:1.45}.ps-train-effects{flex-wrap:wrap;justify-content:center;gap:.3rem;margin-top:.15rem;display:flex}.ps-train-effect{background:#ffffff14;border-radius:.25rem;padding:.12rem .4rem;font-size:.62rem;font-weight:800}.ps-train-effect--algorithm{color:#a29bfe}.ps-train-effect--coding{color:#00d4aa}.ps-train-effect--design{color:#74b9ff}.ps-train-effect--communication{color:#ffd93d}.ps-train-effect--stamina{color:#ff7675}.ps-train-stm{background:#ff767526;border:1px solid #ff767566;border-radius:.35rem;width:100%;margin-top:auto;padding:.45rem .5rem}.ps-train-stm--gain{background:#00d4aa1f;border-color:#00d4aa73}.ps-train-stm--lack{opacity:.7}.ps-train-stm-label{letter-spacing:.1em;color:var(--ps-muted);font-size:.55rem;display:block}.ps-train-stm-val{color:#ff7675;font-size:.95rem;font-weight:900;display:block}.ps-train-stm--gain .ps-train-stm-val{color:var(--ps-accent)}.ps-stat--low .ps-stat-val{color:#ff7675}.ps-hud-stamina{background:#00000059;border:1px solid #ff767559;border-radius:.45rem;align-items:center;gap:.45rem;padding:.25rem .65rem;display:flex}.ps-hud-stamina--low{border-color:#ff7675;animation:1.2s ease-in-out infinite ps-stm-pulse;box-shadow:0 0 12px #ff767540}@keyframes ps-stm-pulse{0%,to{opacity:1}50%{opacity:.75}}.ps-hud-stamina-label{color:#ff7675;letter-spacing:.08em;font-size:.65rem;font-weight:800}.ps-hud-stamina-val{color:#fff;min-width:2ch;font-size:1.05rem;font-weight:900}.ps-hud-stamina-bar{background:#ffffff1a;border-radius:3px;width:48px;height:6px;overflow:hidden}.ps-hud-stamina-fill{background:linear-gradient(90deg,#ff7675,#ffd93d);border-radius:3px;height:100%;transition:width .35s;display:block}.ps-btn--sm{padding:.35rem .75rem;font-size:.75rem}.ps-skill-hand{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.65rem;display:grid}.ps-skill-card{min-height:130px;color:var(--ps-text);cursor:pointer;text-align:left;background:#080c18e6;border:2px solid #ffffff26;border-radius:.55rem;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.75rem;transition:transform .2s,box-shadow .2s;display:flex}.ps-skill-card:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 8px 24px #0006}.ps-skill-card--rare{border-color:#74b9ff99;box-shadow:inset 0 0 20px #74b9ff14}.ps-skill-card--sr{background:linear-gradient(145deg,#281e0ae6,#080c18f2);border-color:#ffd93db3;box-shadow:0 0 20px #ffd93d26}.ps-skill-rarity{letter-spacing:.12em;color:var(--ps-muted);font-size:.55rem;font-weight:800}.ps-skill-card--sr .ps-skill-rarity{color:var(--ps-gold)}.ps-skill-name{font-size:.82rem;font-weight:800;line-height:1.3}.ps-skill-desc{color:var(--ps-muted);flex:1;font-size:.65rem}.ps-skill-stat{color:var(--ps-accent);font-size:.6rem;font-weight:800}.ps-skill-power{color:var(--ps-gold);align-self:flex-end;font-size:1.1rem;font-weight:900}.ps-npc-list{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.ps-npc-card{border:2px solid color-mix(in srgb, var(--ps-accent,#6c5ce7) 50%, transparent);color:var(--ps-text);cursor:pointer;background:#00000059;border-radius:.65rem;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;transition:transform .15s,box-shadow .15s;display:flex}.ps-npc-card:hover{box-shadow:0 0 24px color-mix(in srgb, var(--ps-accent) 40%, transparent);transform:translateY(-3px)}.ps-npc-icon{font-size:2rem}.ps-npc-name{color:var(--ps-accent,var(--ps-accent2));font-size:.95rem;font-weight:900}.ps-npc-title{color:var(--ps-muted);font-size:.72rem}.ps-npc-power{color:var(--ps-gold);margin-top:.25rem;font-size:.78rem;font-weight:800}.ps-log{border:1px solid var(--ps-border);max-height:320px;color:var(--ps-muted);background:#00000073;border-radius:.45rem;padding:.55rem;font-size:.65rem;overflow-y:auto}.ps-log-line{margin:.2rem 0;line-height:1.45}.ps-log-line--new{color:var(--ps-accent)}.ps-panel--result .ps-result-rank{color:var(--ps-accent2);margin:.25rem 0;font-size:2rem;font-weight:900}.ps-result-rank--win{color:var(--ps-gold);text-shadow:0 0 24px #ffd93d80}.ps-result-name{margin:0;font-size:1.2rem}.ps-result-score{color:var(--ps-gold);margin:.5rem 0 1rem;font-size:1rem;font-weight:800}.ps-result-msg{color:var(--ps-muted);margin:1rem 0 0;font-size:.82rem}.ps-result-scenario{color:var(--ps-accent);margin:.25rem 0;font-size:.9rem}.ps-section-label{letter-spacing:.12em;color:var(--ps-muted);text-transform:uppercase;margin:1.25rem 0 .5rem;font-size:.78rem}.ps-scenario-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin-bottom:.5rem;display:grid}.ps-scenario-card{border:2px solid color-mix(in srgb, var(--ps-scenario-accent,var(--ps-accent)) 45%, transparent);background:linear-gradient(145deg, #0e1424f2, color-mix(in srgb, var(--ps-scenario-accent,var(--ps-accent)) 12%, #0e1424f2));color:var(--ps-text);text-align:left;cursor:pointer;border-radius:.55rem;flex-direction:column;align-items:flex-start;gap:.25rem;padding:.85rem 1rem;transition:transform .15s,box-shadow .15s;display:flex}.ps-scenario-card:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--ps-scenario-accent,var(--ps-accent)) 25%, transparent);transform:translateY(-2px)}.ps-scenario-icon{font-size:1.6rem}.ps-scenario-kind{letter-spacing:.1em;color:var(--ps-scenario-accent,var(--ps-accent));font-size:.65rem}.ps-scenario-name{font-size:1rem;font-weight:800}.ps-scenario-sub{color:var(--ps-muted);font-size:.72rem}.ps-scenario-desc{color:var(--ps-muted);font-size:.78rem;line-height:1.45}.ps-mental-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.65rem;margin:1rem 0;display:grid}.ps-mental-card{background:linear-gradient(160deg, #141c30fa, color-mix(in srgb, var(--ps-mental-accent,var(--ps-accent2)) 18%, #141c30fa));min-height:180px;color:var(--ps-text);cursor:pointer;border:2px solid #ffffff1f;border-radius:.5rem;flex-direction:column;align-items:center;gap:.2rem;padding:.75rem .5rem;transition:border-color .15s,transform .15s;display:flex;position:relative}.ps-mental-card:hover:not(:disabled){border-color:var(--ps-mental-accent,var(--ps-accent));transform:translateY(-2px)}.ps-mental-card--selected{border-color:var(--ps-mental-accent,var(--ps-accent));box-shadow:0 0 0 2px color-mix(in srgb, var(--ps-mental-accent,var(--ps-accent)) 35%, transparent)}.ps-mental-card--locked{cursor:default;border-color:var(--ps-gold)}.ps-mental-card--r{border-top:3px solid #74b9ff}.ps-mental-card--sr{border-top:3px solid #a29bfe}.ps-mental-card--ssr{border-top:3px solid #ffd93d}.ps-mental-rarity{letter-spacing:.08em;color:var(--ps-muted);font-size:.6rem}.ps-mental-icon{font-size:2rem}.ps-mental-portrait{object-fit:cover;border:2px solid var(--ps-mental-accent,var(--ps-accent));border-radius:50%;width:56px;height:56px}.ps-mental-name{font-size:.82rem;font-weight:800}.ps-mental-title{color:var(--ps-muted);text-align:center;font-size:.65rem}.ps-mental-bonuses{flex-wrap:wrap;justify-content:center;gap:.2rem;margin-top:auto;display:flex}.ps-mental-bonus{color:var(--ps-mental-accent,var(--ps-accent));background:#00000059;border-radius:.25rem;padding:.1rem .35rem;font-size:.62rem}.ps-mental-lock{color:var(--ps-gold);font-size:.6rem}.ps-mental-check{color:var(--ps-accent);font-weight:900;position:absolute;top:.35rem;right:.4rem}.ps-deck-hint{color:var(--ps-muted);margin:0 0 .5rem;font-size:.78rem}.ps-deck-slots{grid-template-columns:repeat(4,1fr);gap:.5rem;margin:.75rem 0 1rem;display:grid}.ps-deck-slot{min-height:64px;color:var(--ps-muted);border:2px dashed #ffffff26;border-radius:.4rem;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;font-size:.72rem;display:flex}.ps-deck-slot--filled{border-style:solid;border-color:var(--ps-border);color:var(--ps-text)}.ps-deck-mini{border:1px solid var(--ps-border);background:#0003;border-radius:.4rem;margin-top:.75rem;padding:.5rem}.ps-deck-mini-title{color:var(--ps-muted);letter-spacing:.08em;margin:0 0 .35rem;font-size:.68rem}.ps-deck-mini-row{border-left:3px solid var(--ps-mental-accent,var(--ps-accent));align-items:center;gap:.35rem;padding:.15rem 0 .15rem .35rem;font-size:.72rem;display:flex}.ps-skills-mini{background:#ffd93d0f;border:1px solid #ffd93d59;border-radius:.4rem;margin-top:.75rem;padding:.5rem}.ps-skills-mini-row{justify-content:space-between;gap:.35rem;padding:.15rem 0;font-size:.72rem;display:flex}.ps-skills-mini-name{color:var(--ps-gold)}.ps-skills-mini-stat{color:var(--ps-muted)}.ps-goal-hint{color:var(--ps-gold);margin:0 0 .75rem;font-size:.78rem}.ps-root--story{min-height:560px;overflow:hidden}.ps-story-root{cursor:pointer;background-color:#0a0e1a;background-position:50%;background-size:cover;align-items:flex-end;min-height:560px;display:flex;position:relative}.ps-story-dim{pointer-events:none;background:linear-gradient(#04081259 0%,#0408128c 45%,#040812eb 100%);position:absolute;inset:0}.ps-message-box{z-index:2;border:2px solid var(--ps-border);background:#0a0e1af0;border-radius:.55rem;gap:.85rem;width:calc(100% - 2rem);max-width:720px;margin:0 auto 1.25rem;padding:.85rem 1rem;display:flex;position:relative;box-shadow:0 12px 40px #00000073}.ps-message-box--cheer{border-color:#ffd93d80}.ps-message-box--serious{border-color:#ff767573}.ps-message-box--mentor{border-color:#00d4aa8c}.ps-message-portrait{border:1px solid var(--ps-border);background:#6c5ce733;border-radius:.45rem;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:2.2rem;display:flex;overflow:hidden}.ps-message-portrait-img{object-fit:cover;width:100%;height:100%}.ps-message-body{flex:1;min-width:0}.ps-message-speaker{color:var(--ps-accent);letter-spacing:.06em;margin:0 0 .35rem;font-size:.72rem;font-weight:800}.ps-message-text{margin:0;font-size:.92rem;line-height:1.55}.ps-message-hint{color:var(--ps-muted);margin:.45rem 0 0;font-size:.65rem}.mini-game-overlay--programmer-success{background:#040812f7}.mini-game-overlay--programmer-success .mini-game-overlay-body{min-height:580px;padding:0}.mini-game-overlay-badge--programmer-success{background:linear-gradient(90deg, var(--ps-accent,#00d4aa), var(--ps-accent2,#6c5ce7));color:#fff}@media (width<=720px){.ps-layout,.ps-train-hand{grid-template-columns:1fr}.ps-train-hand--activity{grid-template-columns:1fr 1fr}.ps-deck-slots{grid-template-columns:repeat(2,1fr)}.ps-scenario-grid,.ps-mental-grid{grid-template-columns:1fr}}
