*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-8{inset:2rem}.-right-2{right:-.5rem}.-top-1{top:-.25rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.bottom-24{bottom:6rem}.left-0{left:0}.left-1\/2{left:50%}.left-2{left:.5rem}.left-8{left:2rem}.right-0{right:0}.right-2{right:.5rem}.right-3{right:.75rem}.right-8{right:2rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-\[64px\]{top:64px}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.z-\[60\]{z-index:60}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.aspect-square{aspect-ratio:1/1}.h-0\.5{height:.125rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[74px\]{height:74px}.h-full{height:100%}.h-px{height:1px}.max-h-\[90\%\]{max-height:90%}.max-h-\[92\%\]{max-height:92%}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-28{width:7rem}.w-3{width:.75rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[180px\]{width:180px}.w-\[200px\]{width:200px}.w-\[236px\]{width:236px}.w-\[74px\]{width:74px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.min-w-\[150px\]{min-width:150px}.min-w-\[15px\]{min-width:15px}.min-w-\[18px\]{min-width:18px}.max-w-\[260px\]{max-width:260px}.max-w-\[280px\]{max-width:280px}.max-w-\[300px\]{max-width:300px}.max-w-\[400px\]{max-width:400px}.max-w-\[78\%\]{max-width:78%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-full{--tw-translate-y:-100%}.-rotate-90,.-translate-y-full{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-\[2px\]{gap:2px}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.self-stretch{align-self:stretch}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-3xl{border-top-left-radius:1.5rem;border-top-right-radius:1.5rem}.border{border-width:1px}.border-2{border-width:2px}.border-\[1\.5px\]{border-width:1.5px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[\#070707\]{--tw-border-opacity:1;border-color:rgb(7 7 7/var(--tw-border-opacity,1))}.border-\[\#C23A2B\]\/30{border-color:rgba(194,58,43,.3)}.border-black\/10{border-color:rgba(0,0,0,.1)}.border-black\/15{border-color:rgba(0,0,0,.15)}.border-black\/\[\.06\]{border-color:rgba(0,0,0,.06)}.border-black\/\[\.07\]{border-color:rgba(0,0,0,.07)}.border-black\/\[\.08\]{border-color:rgba(0,0,0,.08)}.border-transparent{border-color:transparent}.border-white\/40{border-color:hsla(0,0%,100%,.4)}.bg-\[\#070707\]{--tw-bg-opacity:1;background-color:rgb(7 7 7/var(--tw-bg-opacity,1))}.bg-\[\#0F7A32\]{--tw-bg-opacity:1;background-color:rgb(15 122 50/var(--tw-bg-opacity,1))}.bg-\[\#E5484D\]{--tw-bg-opacity:1;background-color:rgb(229 72 77/var(--tw-bg-opacity,1))}.bg-\[\#EEFF5A\]{--tw-bg-opacity:1;background-color:rgb(238 255 90/var(--tw-bg-opacity,1))}.bg-\[\#F1ECE3\]{--tw-bg-opacity:1;background-color:rgb(241 236 227/var(--tw-bg-opacity,1))}.bg-\[\#F1ECE3\]\/90{background-color:hsla(39,33%,92%,.9)}.bg-black\/10{background-color:rgba(0,0,0,.1)}.bg-black\/20{background-color:rgba(0,0,0,.2)}.bg-black\/45{background-color:rgba(0,0,0,.45)}.bg-black\/\[\.04\]{background-color:rgba(0,0,0,.04)}.bg-black\/\[\.05\]{background-color:rgba(0,0,0,.05)}.bg-black\/\[\.08\]{background-color:rgba(0,0,0,.08)}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/40{background-color:hsla(0,0%,100%,.4)}.bg-white\/60{background-color:hsla(0,0%,100%,.6)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-white\/\[\.06\]{background-color:hsla(0,0%,100%,.06)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.pb-1{padding-bottom:.25rem}.pr-1{padding-right:.25rem}.pt-1\.5{padding-top:.375rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[17px\]{font-size:17px}.text-\[18px\]{font-size:18px}.text-\[19px\]{font-size:19px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[24px\]{font-size:24px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.text-\[9\.5px\]{font-size:9.5px}.text-\[9px\]{font-size:9px}.text-sm{font-size:.875rem;line-height:1.25rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-\[\.06em\]{letter-spacing:.06em}.tracking-\[\.08em\]{letter-spacing:.08em}.tracking-\[\.1em\]{letter-spacing:.1em}.tracking-\[0\.08em\]{letter-spacing:.08em}.tracking-\[0\.14em\]{letter-spacing:.14em}.text-\[\#070707\]{--tw-text-opacity:1;color:rgb(7 7 7/var(--tw-text-opacity,1))}.text-\[\#0F7A32\]{--tw-text-opacity:1;color:rgb(15 122 50/var(--tw-text-opacity,1))}.text-\[\#4A4D5A\]{--tw-text-opacity:1;color:rgb(74 77 90/var(--tw-text-opacity,1))}.text-\[\#C23A2B\]{--tw-text-opacity:1;color:rgb(194 58 43/var(--tw-text-opacity,1))}.text-\[\#C7891E\]{--tw-text-opacity:1;color:rgb(199 137 30/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-\[\.14\]{opacity:.14}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0,0,0,.05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.invert{--tw-invert:invert(100%)}.filter,.invert{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}*{-webkit-font-smoothing:antialiased}body,html{height:100%;margin:0}.pc-display{font-family:Archivo,sans-serif;font-weight:900;letter-spacing:-.03em}.pc-mono{font-family:JetBrains Mono,monospace}.pc-paper{background-color:#f1ece3;background-image:radial-gradient(rgba(0,0,0,.022) 1px,transparent 0),radial-gradient(rgba(0,0,0,.015) 1px,transparent 0);background-size:3px 3px,5px 5px;background-position:0 0,1px 1px}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:rgba(0,0,0,.14);border-radius:8px}::-webkit-scrollbar-track{background:transparent}@keyframes pcToast{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.pc-toast{animation:pcToast .25s ease}@keyframes pcModalUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.pc-modal-panel{animation:pcModalUp .28s cubic-bezier(.2,.8,.2,1)}.pc-modal-wrap{animation:pcToast .2s ease}@keyframes pcScan{0%{top:14%}50%{top:82%}to{top:14%}}.pc-scanline{animation:pcScan 2.4s ease-in-out infinite;box-shadow:0 0 12px #eeff5a}.pc-cq{container-type:inline-size}.hgrid{gap:1rem;align-items:start}.cq2,.cq3,.hgrid{display:grid;grid-template-columns:1fr}.cq2,.cq3{gap:.5rem}.refgrid{display:grid;gap:1rem;grid-template-columns:1fr}.cqrow,.refgrid{align-items:center}.cqrow{display:flex;gap:.75rem;flex-wrap:wrap}.cq-deskonly{display:none!important}@container (min-width:480px){.cq2{grid-template-columns:1fr 1fr}.cq3{grid-template-columns:repeat(3,1fr)}.cqspan{grid-column:1/-1}.refgrid{grid-template-columns:1fr auto}.refqr{justify-self:end}.cqrow{flex-wrap:nowrap}.cq-deskonly{display:inline-flex!important}}@container (min-width:800px){.hgrid{grid-template-columns:1fr 1fr}.hspan{grid-column:1/-1}}@keyframes skShimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.sk{border-radius:10px;background:linear-gradient(90deg,rgba(0,0,0,.055) 25%,rgba(0,0,0,.11) 37%,rgba(0,0,0,.055) 63%);background-size:200% 100%;animation:skShimmer 1.3s ease infinite}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-0.125rem}.hover\:-translate-y-0\.5:hover,.hover\:scale-110:hover{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:scale-110:hover{--tw-scale-x:1.1;--tw-scale-y:1.1}.hover\:border-black:hover{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.hover\:border-black\/20:hover{border-color:rgba(0,0,0,.2)}.hover\:border-black\/30:hover{border-color:rgba(0,0,0,.3)}.hover\:bg-\[\#1a1a1a\]:hover{--tw-bg-opacity:1;background-color:rgb(26 26 26/var(--tw-bg-opacity,1))}.hover\:bg-\[\#C23A2B\]\/\[\.06\]:hover{background-color:rgba(194,58,43,.06)}.hover\:bg-black\/\[\.03\]:hover{background-color:rgba(0,0,0,.03)}.hover\:bg-black\/\[\.05\]:hover{background-color:rgba(0,0,0,.05)}.hover\:bg-black\/\[\.06\]:hover{background-color:rgba(0,0,0,.06)}.hover\:bg-black\/\[\.09\]:hover{background-color:rgba(0,0,0,.09)}.hover\:bg-white\/\[\.1\]:hover{background-color:hsla(0,0%,100%,.1)}.hover\:text-\[\#070707\]:hover{--tw-text-opacity:1;color:rgb(7 7 7/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:opacity-60:hover{opacity:.6}.hover\:brightness-95:hover{--tw-brightness:brightness(.95);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)}.focus\:border-\[\#070707\]:focus{--tw-border-opacity:1;border-color:rgb(7 7 7/var(--tw-border-opacity,1))}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#EEFF5A\]:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(238 255 90/var(--tw-ring-opacity,1))}.focus\:ring-\[\#EEFF5A\]\/50:focus{--tw-ring-color:rgba(238,255,90,.5)}.active\:scale-\[\.99\]:active{--tw-scale-x:.99;--tw-scale-y:.99;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:p-7{padding:1.75rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}

/* ==================================================================
   Parent chat panel (Group / Coach) — height and alignment.
   Two rules below; read them together.
   ================================================================== */

/* ------------------------------------------------------------------
   1. The chat CARD hugs its content instead of stretching.

   The card is `flex-1`, so it filled the whole column whatever it held:
   991px of card around 232px of conversation in a 1400x1200 window.
   That empty height has to go somewhere — below the messages it read as
   unused space, above them (once they were pinned down) it read as a
   broken layout, with the chat header floating 390–609px above the
   first message.

   `flex: 0 1 auto` lets the card size to its content and still shrink
   when the window is short, so a three-message thread is a short card
   sitting under the tabs with the composer directly beneath it, while a
   long thread fills the available height and the feed scrolls as before.

   CAUTION: this selector is coupled to the class lists in
   parent-assets/app.js at TWO levels — the card's `rounded-3xl`, and
   the feed wrapper's `relative` plus the feed's own `overflow-y-auto
   space-y-3`. Change any of them and the rule silently stops matching:
   no error, just a stretched card and the empty band back again.
   Semantic classes on both the card and the feed are on the Polish
   backlog. `:has()` is required (Chrome/Safari/Firefox 2023+).
   ------------------------------------------------------------------ */
.rounded-3xl:has(> .relative > .overflow-y-auto.space-y-3) { flex: 0 1 auto; }

/* ------------------------------------------------------------------
   2. Inside the feed, a short conversation sits at the BOTTOM.

   Making the feed a flex column and giving the first child
   margin-top:auto pushes a short list down; when the content overflows,
   the auto margin resolves to 0 and normal scrolling is unaffected.
   Deliberately NOT justify-content:flex-end, which breaks scrolling
   back to the start of the history in several browsers.

   With rule 1 in place this is a no-op — the feed is exactly as tall as
   its content, so there is nothing to push. It is kept as insurance:
   the moment anything gives the card a fixed or stretched height again,
   the conversation stays at the bottom where a chat belongs instead of
   silently reverting to a top-aligned list.

   Same coupling caveat as rule 1: `space-y-3` is the only handle, and
   it is the sole use of that class in app.js (~line 1459). The
   Announcements tab uses `flex-1 overflow-y-auto pb-2` and is
   deliberately not matched.
   ------------------------------------------------------------------ */
.overflow-y-auto.space-y-3 { display: flex; flex-direction: column; }
.overflow-y-auto.space-y-3 > :first-child { margin-top: auto; }

/* ==================================================================
   Design review — parent cabinet, CSS package.
   Every rule here is form only: nothing is added, removed or rewired.
   Tokens only — no new colours, no new radii.
   ================================================================== */

/* --- 1.3 · the page used 900px inside 1204px of content area -------
   The width is an inline style on the container, so this needs
   !important. Narrow content is constrained separately below (5.1),
   so widening the page does not stretch the QR card. */
main .pc-cq.mx-auto { max-width: 1080px !important; }

@container (min-width: 800px) {
  /* --- 1.2 · columns by role, not two identical halves -------------
     Left carries the substance (plan, progress), right the readouts. */
  .hgrid { grid-template-columns: 1.15fr 0.85fr; }

  /* --- 1.1 · the tall card spans two rows --------------------------
     Progress is 436px against 145–150px neighbours, so in a plain grid
     its row was as tall as it is and the card beside it floated in
     291px of air. Spanning two rows lets the two short cards on the
     right share that height instead. Measured: column bottoms went
     from 1133/682 to 952/907 and the page lost 181px.

     CAUTION: nth-child(5) is Progress ONLY in the current source order
     of HomeScreen (header, getting-started, plan, attendance,
     PROGRESS, rate, qr, refer, parent-details). Insert a card above it
     in app.js and this rule lands on the wrong one — it is the interim
     for the structural fix (two explicit column containers). */
  .hgrid > *:nth-child(5) { grid-row: span 2; }
}

/* --- 1.4 · Getting started should shrink as it is satisfied --------
   A black full-width slab shouting about one remaining step. */
.hgrid > .border-transparent { padding: 14px 18px; }

/* --- 2.2 · the RSVP block belongs to its own session ---------------
   Divided from its card only by a hairline, it read as though it
   belonged to the card below. */
.rounded-3xl > .mt-3.pt-3.border-t {
  background: var(--yesso-sunken);
  border-radius: var(--radius-inner);
  border-top: none;
  padding: 10px 12px;
  margin-top: 12px;
}

/* --- 3.1 · Attendance is a calendar, not a bar chart ---------------
   Only days with sessions had a tile, so the month read as two green
   columns. Every real day now gets a cell; days outside the month
   stay blank. Session colours are inline styles and still win. */
.grid-cols-7 > .aspect-square:not(:empty) {
  background: var(--yesso-paper-deep);
  border-radius: var(--radius-tile);
}

/* --- 3.3 · the legend needs air and a rule ------------------------- */
.grid-cols-7 + .flex.pc-mono {
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--yesso-border);
}

/* --- 4.1 · one rhythm on My sports --------------------------------
   Enrolled was a two-column grid above full-width rows: two rhythms,
   one screen. With two cards the columns bought nothing. */
.cq2.mb-6 { grid-template-columns: 1fr; }

/* --- 5.1 · narrow content in a narrow container --------------------
   A 230px QR code sat centred in a 900px card with an empty page
   below it. */
.rounded-3xl:has(> .relative > .inline-block > .grid),
.rounded-3xl:has(> .inline-block > .grid) {
  max-width: 560px;
  margin-left: auto;
  margin-right: auto;
}

/* --- 6.1 · announcements match the width of the conversations ------
   News held 900px cards while the chat tabs held a narrower feed, so
   the content jumped width when the tab changed. */
.overflow-y-auto.pb-2 > .grid { max-width: 720px; }
