:root{--background:40,48%,94%;--foreground:27,23%,9%;--card:42,50%,98%;--card-foreground:27,23%,9%;--popover:42,50%,98%;--popover-foreground:27,23%,9%;--primary:20,82%,39%;--primary-foreground:0,0%,100%;--secondary:40,28%,89%;--secondary-foreground:27,23%,9%;--muted:40,28%,89%;--muted-foreground:30,15%,36%;--accent:152,42%,30%;--accent-foreground:0,0%,100%;--success:152,45%,28%;--warning:35,85%,34%;--info:205,70%,36%;--destructive:4,72%,42%;--destructive-foreground:0,0%,100%;--border:36,25%,80%;--input:40,35%,97%;--ring:20,82%,39%;--radius:0.375rem;--radius-control:2px;--shadow-ink:28,30%,22%;--font-body:var(--font-sans),"Public Sans",ui-sans-serif,system-ui,sans-serif;--font-heading:var(--font-display),"Instrument Serif",Georgia,serif;--font-data:var(--font-mono),"IBM Plex Mono",ui-monospace,monospace;--heading-weight:400;--heading-tracking:0em;--color-scheme:light}html[data-design=market-board]{--background:152,27%,11%;--foreground:44,43%,90%;--card:150,29%,8%;--card-foreground:44,43%,90%;--popover:150,29%,8%;--popover-foreground:44,43%,90%;--primary:39,77%,60%;--primary-foreground:152,27%,11%;--secondary:145,25%,15%;--secondary-foreground:44,43%,90%;--muted:145,25%,15%;--muted-foreground:132,12%,66%;--accent:129,41%,64%;--accent-foreground:152,27%,11%;--success:129,41%,64%;--warning:39,77%,60%;--info:190,40%,62%;--destructive:4,70%,62%;--destructive-foreground:152,27%,11%;--border:145,21%,22%;--input:150,29%,8%;--ring:39,77%,60%;--radius:0.25rem;--radius-control:0px;--shadow-ink:0,0%,0%;--font-body:var(--font-archivo),"Archivo",ui-sans-serif,system-ui,sans-serif;--font-heading:var(--font-archivo),"Archivo",ui-sans-serif,system-ui,sans-serif;--heading-weight:800;--heading-tracking:-0.01em;--color-scheme:dark}html[data-design=market-board-light]{--background:78,22%,93%;--foreground:150,22%,12%;--card:70,30%,97%;--card-foreground:150,22%,12%;--popover:70,30%,97%;--popover-foreground:150,22%,12%;--primary:38,68%,32%;--primary-foreground:0,0%,100%;--secondary:84,16%,87%;--secondary-foreground:150,22%,12%;--muted:84,16%,87%;--muted-foreground:140,10%,35%;--accent:150,30%,24%;--accent-foreground:0,0%,100%;--success:140,45%,26%;--warning:36,80%,30%;--info:200,60%,32%;--destructive:4,72%,40%;--destructive-foreground:0,0%,100%;--border:120,12%,78%;--input:70,30%,97%;--ring:38,68%,32%;--radius:0.25rem;--radius-control:0px;--shadow-ink:150,22%,12%;--font-body:var(--font-archivo),"Archivo",ui-sans-serif,system-ui,sans-serif;--font-heading:var(--font-archivo),"Archivo",ui-sans-serif,system-ui,sans-serif;--heading-weight:800;--heading-tracking:-0.01em;--color-scheme:light}*{box-sizing:border-box}body{background-color:hsl(var(--background));color:hsl(var(--foreground));margin:0;min-height:100vh;font-synthesis:none;font-family:var(--font-body);color-scheme:var(--color-scheme)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:var(--heading-tracking);margin-top:0;font-weight:var(--heading-weight)}p{margin-top:0;line-height:1.7}a{color:inherit;text-decoration:none;transition:color .2s ease}a:hover{color:hsl(var(--primary))}.glass{background:hsla(var(--card),.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 1px 2px hsla(var(--shadow-ink),.05),0 4px 16px hsla(var(--shadow-ink),.05)}.glass,.glass-card{border:1px solid hsl(var(--border));transform:translateZ(0)}.glass-card{background:hsl(var(--card));border-radius:var(--radius);box-shadow:0 1px 2px hsla(var(--shadow-ink),.06),0 6px 20px hsla(var(--shadow-ink),.07);transition:transform .3s cubic-bezier(.175,.885,.32,1.275),box-shadow .3s ease,border-color .3s ease}.glass-card:hover{transform:translateY(-3px) translateZ(0);box-shadow:0 2px 4px hsla(var(--shadow-ink),.06),0 14px 32px hsla(var(--shadow-ink),.12);border-color:hsla(var(--primary),.45)}.glass-card--static,.glass-card--static:hover{transform:none;box-shadow:0 1px 2px hsla(var(--shadow-ink),.06),0 6px 20px hsla(var(--shadow-ink),.07)}.interactive-hover{transition:transform .2s cubic-bezier(.32,.72,0,1),box-shadow .2s cubic-bezier(.32,.72,0,1)}.interactive-hover:hover{transform:scale(1.02)}.interactive-hover:active{transform:scale(.98)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--primary))}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.75rem;border-radius:var(--radius-control);font-weight:600;font-family:var(--font-body);cursor:pointer;transition:background-color .15s ease-out,color .15s ease-out,border-color .15s ease-out,box-shadow .15s ease-out,opacity .15s ease-out,transform .2s cubic-bezier(.32,.72,0,1);border:none;background-color:transparent;gap:.5rem;font-size:1rem;position:relative;overflow:hidden;min-height:2.75rem}.touch-target-44{min-width:44px;min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(.96)}.btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground));box-shadow:0 1px 2px hsla(var(--shadow-ink),.2)}.btn-primary:hover:not(:disabled){box-shadow:0 3px 10px hsla(var(--shadow-ink),.25);transform:translateY(-1px)}.btn-accent{background:hsl(var(--accent));color:hsl(var(--accent-foreground));box-shadow:0 1px 2px hsla(var(--shadow-ink),.2)}.btn-accent:hover:not(:disabled){box-shadow:0 3px 10px hsla(var(--shadow-ink),.25);transform:translateY(-1px)}.btn-secondary{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsla(var(--border),.5)}.btn-secondary:hover:not(:disabled){background-color:hsla(var(--secondary),.8)}.btn-outline{border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--foreground))}.btn-outline:hover:not(:disabled){border-color:hsl(var(--primary));background-color:hsla(var(--primary),.1)}.btn-sm{padding:.5rem 1.2rem;font-size:.875rem;min-height:2.75rem}.input-wrapper{position:relative;display:flex;align-items:center;width:100%}.input-wrapper .input{padding-left:2.75rem}.input-wrapper .input.has-right-icon{padding-right:2.75rem}.input-icon-left{left:.85rem;pointer-events:none}.input-icon-left,.input-icon-right{position:absolute;color:hsl(var(--muted-foreground));display:flex;align-items:center}.input-icon-right{right:.85rem;background:none;border:none;cursor:pointer;padding:.25rem;transition:color .2s ease}.input,.input-icon-right:hover,.textarea{color:hsl(var(--foreground))}.input,.textarea{display:flex;height:3rem;width:100%;border-radius:calc(var(--radius) - .25rem);border:1px solid hsl(var(--border));background-color:hsl(var(--input));padding:.5rem 1rem;font-size:1rem;transition:border-color .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out}.textarea{min-height:100px;resize:vertical;padding-top:.75rem}.input:focus,.textarea:focus{outline:none;border-color:hsl(var(--primary));background-color:hsl(var(--card));box-shadow:0 0 0 4px hsla(var(--primary),.15)}.input:disabled,.textarea:disabled{opacity:.5;cursor:not-allowed}.label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.5rem;color:hsl(var(--foreground))}.form-group{margin-bottom:1.5rem}.strength-bar-container{display:flex;gap:.25rem;margin-top:.5rem;align-items:center}.strength-bar{flex:1 1;height:4px;border-radius:2px;background-color:hsla(var(--border),.8);transition:background-color .3s ease}.strength-bar.active-weak{background-color:hsl(var(--destructive))}.strength-bar.active-medium{background-color:hsl(var(--accent))}.strength-bar.active-strong{background-color:hsl(var(--primary))}.strength-text{font-size:.75rem;margin-left:.5rem;font-weight:600}.card{background-color:hsl(var(--card));border-radius:var(--radius);border:1px solid hsl(var(--border));box-shadow:0 1px 2px hsla(var(--shadow-ink),.06),0 6px 20px hsla(var(--shadow-ink),.07);overflow:hidden;transition:all .3s ease}.card-header{padding:1.75rem;border-bottom:1px solid hsla(var(--border),.5)}.card-title{font-size:1.35rem;font-weight:600;margin:0}.card-description{font-size:.9rem;color:hsl(var(--muted-foreground));margin:.5rem 0 0}.card-content,.card-footer{padding:1.75rem}.card-footer{display:flex;align-items:center;border-top:1px solid hsla(var(--border),.5);background-color:hsla(var(--secondary),.3)}.badge{display:inline-flex;align-items:center;border-radius:calc(var(--radius-control) + 1px);padding:.35rem .85rem;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.badge-default{background-color:hsl(var(--secondary));color:hsl(var(--foreground));border:1px solid hsl(var(--border))}.badge-success{background-color:hsla(var(--success),.1);color:hsl(var(--success));border:1px solid hsla(var(--success),.3)}.badge-warning{background-color:hsla(var(--warning),.1);color:hsl(var(--warning));border:1px solid hsla(var(--warning),.3)}.badge-danger{background-color:hsla(var(--destructive),.08);color:hsl(var(--destructive));border:1px solid hsla(var(--destructive),.3)}.badge-juried{background-color:hsla(var(--warning),.1);color:hsl(var(--warning));border:1px solid hsla(var(--warning),.4)}.badge-eco{background-color:hsla(var(--success),.1);color:hsl(var(--success));border:1px solid hsla(var(--success),.4)}.badge-local{background-color:hsla(var(--info),.08);color:hsl(var(--info));border:1px solid hsla(var(--info),.4)}.badge-featured{background-color:hsla(var(--primary),.08);color:hsl(var(--primary));border:1px solid hsla(var(--primary),.4)}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:hsla(var(--secondary),.5);border-radius:var(--radius)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.page-header{margin-bottom:2.5rem}.page-title{font-size:2.5rem;font-family:var(--font-heading);margin-bottom:.75rem;letter-spacing:-.01em}.page-description{font-size:1.15rem;color:hsl(var(--muted-foreground));max-width:48rem}.container-flex{display:flex;gap:2rem;flex-wrap:wrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 2rem;background-color:hsla(var(--card),.3);border-radius:var(--radius);border:1px dashed hsla(var(--border),.8)}.empty-state-icon{color:hsl(var(--muted-foreground));margin-bottom:1.25rem;width:3.5rem;height:3.5rem}.table-container{width:100%;overflow:auto;border-radius:var(--radius);border:1px solid hsl(var(--border));background:hsl(var(--card))}.table{width:100%;border-collapse:collapse;font-size:.95rem}.table th{background-color:hsla(var(--secondary),.5);text-align:left;font-weight:600;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border))}.table td,.table th{padding:1.25rem 1rem}.table td{border-bottom:1px solid hsla(var(--border),.5);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background-color:hsla(var(--primary),.05)}.alert{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;border-radius:calc(var(--radius) - .25rem);border:1px solid transparent;font-size:.95rem;font-weight:500}.alert svg{flex-shrink:0}.alert-error{background-color:hsla(var(--destructive),.07);border-color:hsla(var(--destructive),.3);color:hsl(var(--destructive))}.alert-warning{background-color:hsla(var(--warning),.08);border-color:hsla(var(--warning),.3);color:hsl(var(--warning))}.alert-success{background-color:hsla(var(--success),.07);border-color:hsla(var(--success),.3);color:hsl(var(--success))}.alert-info{background-color:hsla(var(--info),.06);border-color:hsla(var(--info),.3);color:hsl(var(--info))}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.setup-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.setup-gate-card{max-width:32rem;width:100%}.setup-gate-details{margin-top:1rem;font-size:.875rem;color:hsl(var(--muted-foreground))}.setup-gate-details summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.setup-gate-details code{display:block;margin-top:.5rem;padding:1rem;background-color:hsla(var(--secondary),.8);border-radius:calc(var(--radius) - .5rem);overflow-x:auto;white-space:pre-wrap;word-break:break-word}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:1rem;left:1rem;z-index:50;padding:.75rem 1.25rem;background-color:hsl(var(--primary));color:hsl(var(--primary-foreground));font-weight:600;border-radius:var(--radius);transform:translateY(-150%);transition:transform .3s ease;box-shadow:0 4px 20px rgba(0,0,0,.3)}.skip-link:focus{transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.glass-card:hover,.interactive-hover:hover{transform:none;box-shadow:none}}.map-sidebar{left:-100%}.map-sidebar.open{left:0}.map-sidebar-list{padding-bottom:5.5rem!important}@media (min-width:768px){.map-sidebar{left:1rem!important;top:1rem!important;bottom:1rem!important;height:calc(100% - 2rem)!important;border-radius:12px}.map-toggle-btn{display:none!important}.map-sidebar-list{padding-bottom:1rem!important}}.gm-style .gm-style-iw-c{background:#0F172A;border-radius:12px;padding:0!important;box-shadow:0 8px 24px rgba(0,0,0,.45)}.gm-style .gm-style-iw-d{overflow:hidden!important}.gm-style .gm-style-iw-tc:after{background:#0F172A}.gm-style .gm-style-iw-c button[aria-label=Close] span{background-color:#94A3B8!important}html[data-theme=high-contrast]{--color-scheme:light;--background:0,0%,100%;--foreground:0,0%,0%;--card:0,0%,100%;--card-foreground:0,0%,0%;--popover:0,0%,100%;--popover-foreground:0,0%,0%;--primary:240,100%,25%;--primary-foreground:0,0%,100%;--secondary:0,0%,94%;--secondary-foreground:0,0%,0%;--muted:0,0%,94%;--muted-foreground:0,0%,20%;--accent:120,100%,16%;--accent-foreground:0,0%,100%;--success:120,100%,16%;--warning:36,100%,25%;--info:240,100%,25%;--destructive:0,100%,30%;--destructive-foreground:0,0%,100%;--border:0,0%,0%;--input:0,0%,100%;--ring:240,100%,25%;--shadow-ink:0,0%,0%}[data-theme=high-contrast] body{background-color:#FFFFFF!important;color:#000000!important;background-image:none!important}[data-theme=high-contrast] .glass,[data-theme=high-contrast] .glass-card{background:#FFFFFF!important;border:2px solid #000000!important;box-shadow:none!important;color:#000000!important}[data-theme=high-contrast] a{color:#000080!important;text-decoration:underline!important}[data-theme=high-contrast] .btn a,[data-theme=high-contrast] a.btn{text-decoration:none!important}[data-theme=high-contrast] .btn-primary,[data-theme=high-contrast] .btn-primary a,[data-theme=high-contrast] a.btn-primary{background:#000080!important;color:#FFFFFF!important;border:2px solid #000000!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important}[data-theme=high-contrast] .btn-accent,[data-theme=high-contrast] .btn-accent a,[data-theme=high-contrast] a.btn-accent{background:#005000!important;color:#FFFFFF!important;border:2px solid #000000!important;font-weight:800!important;text-decoration:none!important;box-shadow:none!important}[data-theme=high-contrast] a:focus-visible,[data-theme=high-contrast] button:focus-visible,[data-theme=high-contrast] input:focus-visible,[data-theme=high-contrast] textarea:focus-visible{box-shadow:0 0 0 2px #FFFFFF,0 0 0 5px #000080!important}[data-theme=high-contrast] .text-muted,[data-theme=high-contrast] .text-muted-foreground,[data-theme=high-contrast] [style*="color: hsl(var(--muted)"],[data-theme=high-contrast] [style*="color: hsl(var(--muted-foreground)"]{color:#1A1A1A!important}[data-theme=high-contrast] .gm-style .gm-style-iw-c{background:#000000;border:2px solid #ffffff}[data-theme=high-contrast] .gm-style .gm-style-iw-tc:after{background:#000000}[data-theme=high-contrast] .pin-inner svg{color:#000000!important}.broadsheet-masthead{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:2rem 1rem 1.25rem;text-align:center;border-bottom:3px double hsl(var(--foreground))}.broadsheet-kicker{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.broadsheet-nameplate{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:clamp(3rem,9vw,4.5rem);line-height:1;margin:0;letter-spacing:var(--heading-tracking)}.broadsheet-tagline{font-size:.9rem;color:hsl(var(--muted-foreground))}.broadsheet-ledger-grid{display:grid;grid-template-columns:6.5rem minmax(0,1fr) 7.5rem;grid-column-gap:1.25rem;column-gap:1.25rem;align-items:baseline}.broadsheet-rules-strip{border-top:1px solid hsl(var(--foreground));border-bottom:1px solid hsl(var(--foreground));padding:.6rem .5rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.broadsheet-row{padding:.9rem .5rem;border-bottom:1px solid hsl(var(--border));color:inherit;text-decoration:none}a.broadsheet-row:hover{background:hsla(var(--primary),.06);color:inherit}.broadsheet-date{font-size:1.2rem;color:hsl(var(--primary));white-space:nowrap}.broadsheet-date,.broadsheet-row-title{font-family:var(--font-heading);font-weight:var(--heading-weight)}.broadsheet-row-title{font-size:1.3rem;line-height:1.25}.broadsheet-row-meta{font-size:.82rem;color:hsl(var(--muted-foreground));margin-top:.15rem}.broadsheet-fee{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.broadsheet-fee,.broadsheet-fee-header{text-align:right}.broadsheet-trio{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));grid-gap:1.75rem;gap:1.75rem}.broadsheet-trio-item{border-top:3px solid hsl(var(--foreground));padding-top:.8rem}.broadsheet-trio-title{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:1.4rem;margin:0 0 .4rem}.broadsheet-footer-band{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem 2.5rem;padding:1.25rem .5rem 0;border-top:3px double hsl(var(--foreground));font-size:.85rem;color:hsl(var(--muted-foreground))}@media (max-width:640px){.broadsheet-ledger-grid{grid-template-columns:4.5rem minmax(0,1fr) 4.75rem;column-gap:.75rem}.broadsheet-rules-strip{letter-spacing:.08em;font-size:.62rem}.broadsheet-date{font-size:1rem}.broadsheet-row-title{font-size:1.15rem}}@media (max-width:480px){.app-main h2{overflow-wrap:anywhere;font-size:clamp(2rem,10vw,2.5rem)!important}.regional-grid-shell,.regional-grid-shell>div,.regional-grid-shell>div>div{min-width:0;max-width:100%}.regional-grid-shell>div>div{grid-template-columns:minmax(0,1fr)!important}.regional-grid-shell{overflow-wrap:anywhere}}.lp-reveal{transition:opacity .8s cubic-bezier(.32,.72,0,1),transform .8s cubic-bezier(.32,.72,0,1),filter .8s cubic-bezier(.32,.72,0,1)}.lp-reveal.lp-hidden{opacity:0;transform:translateY(4rem);filter:blur(6px)}.lp-reveal.lp-hidden.lp-in{opacity:1;transform:translateY(0);filter:blur(0)}.lp-tagline{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:clamp(1.875rem,4.5vw,3rem);line-height:1.2;letter-spacing:var(--heading-tracking);text-wrap:balance;max-width:42.5rem;margin:0 auto;text-align:center}.lp-tagline-line{display:block}.lp-tagline-word{opacity:.3;transition:opacity .7s cubic-bezier(.32,.72,0,1)}.lp-tagline-word.lp-word-on{opacity:1}.lp-step-num{font-family:var(--font-heading);font-weight:var(--heading-weight);font-size:1.5rem;line-height:2rem;color:hsl(var(--primary));display:block;margin-bottom:.5rem}.lp-skel-bar{display:block;height:.875rem;border-radius:.25rem;background:hsla(var(--muted-foreground),.18);animation:lp-skel-pulse 1.4s ease-in-out infinite}@keyframes lp-skel-pulse{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.lp-reveal,.lp-tagline-word{transition:none}.lp-reveal.lp-hidden{opacity:1;transform:none;filter:none}.lp-tagline-word{opacity:1}.lp-skel-bar{animation:none}}.lp-balance{text-wrap:balance}.lp-pretty{text-wrap:pretty}.lp-ticker{overflow:hidden;display:flex;align-items:center;height:2.5rem;border-bottom:1px solid hsl(var(--border));-webkit-mask-image:linear-gradient(90deg,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(90deg,transparent,#000 2.5rem,#000 calc(100% - 2.5rem),transparent)}.lp-ticker-track{display:inline-flex;align-items:center;white-space:nowrap;animation:lp-ticker-scroll 60s linear infinite}.lp-ticker:hover .lp-ticker-track{animation-play-state:paused}@keyframes lp-ticker-scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.lp-ticker-item{display:inline-flex;align-items:baseline;gap:.5rem;padding:0 1.5rem;font-size:.75rem;line-height:1rem;letter-spacing:.08em;text-transform:uppercase;color:hsl(var(--muted-foreground))}.lp-ticker-date{color:hsl(var(--primary));font-weight:600;white-space:nowrap}.lp-ticker-fee,.lp-ticker-title{color:hsl(var(--foreground))}.lp-ticker-fee{font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.lp-ticker-track{animation:none}}@media (max-width:640px){.event-aside{order:-1}}.app-shell{display:flex;flex-direction:column;min-height:100vh}.app-header{background:hsla(var(--background),.7);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid hsla(var(--border),.8);color:hsl(var(--foreground));position:-webkit-sticky;position:sticky;top:0;z-index:40}.app-header-container{max-width:80rem;margin:0 auto;padding:0 1rem;justify-content:space-between;height:4.5rem}.app-header-container,.app-header-left,.app-logo{display:flex;align-items:center}.app-logo{gap:.5rem;font-size:1.35rem;font-weight:600;font-family:var(--font-heading);letter-spacing:-.01em;color:hsl(var(--foreground));text-decoration:none;transition:color .2s ease}.app-logo-icon,.app-logo:hover{color:hsl(var(--primary))}.app-logo-icon{font-size:1.75rem}.desktop-nav{display:none}@media (min-width:768px){.desktop-nav{display:flex;margin-left:2rem;gap:2.5rem;align-items:center}}.mobile-menu-btn-container{display:flex;align-items:center}@media (min-width:768px){.mobile-menu-btn-container{display:none}}.mobile-menu-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:.5rem;border-radius:.5rem;color:hsl(var(--foreground));background:transparent;border:1px solid transparent;cursor:pointer;transition:all .2s ease}.mobile-menu-btn:hover{background:hsla(var(--primary),.1);color:hsl(var(--primary));border-color:hsla(var(--primary),.2)}.menu-icon{height:1.5rem;width:1.5rem}.mobile-menu{display:block;max-height:calc(100vh - 4.5rem);max-height:calc(100dvh - 4.5rem);overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-shadow:0 20px 25px -5px hsla(var(--shadow-ink),.2)}@media (min-width:768px){.mobile-menu{display:none}}.mobile-menu-backdrop{position:fixed;inset:0;background-color:rgba(0,0,0,.6);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:30}@media (min-width:768px){.mobile-menu-backdrop{display:none}}.mobile-nav{padding:.5rem 1rem 1rem;display:flex;flex-direction:column;gap:.5rem;background-color:hsl(var(--card));border-bottom:1px solid hsla(var(--border),.8)}.app-main{flex:1 1;width:100%;max-width:80rem;margin:0 auto;padding:2rem 1rem 4rem;display:flex;flex-direction:column}.app-footer{background:hsla(var(--card),.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:hsl(var(--muted-foreground));padding:2.5rem 0;border-top:1px solid hsla(var(--border),.8)}.app-footer-container{max-width:80rem;margin:0 auto;padding:0 1rem}.app-footer-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem}@media (min-width:768px){.app-footer-content{flex-direction:row;justify-content:space-between;gap:0}}.app-footer-copyright{font-size:.9rem}.app-footer-links{display:flex;gap:2rem}.app-footer-links a{color:hsl(var(--muted-foreground));text-decoration:none;font-size:.95rem;font-weight:500;transition:color .2s ease}.app-footer-links a:hover{color:hsl(var(--foreground))}.desktop-nav-item{color:hsl(var(--muted-foreground));text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s ease}.desktop-nav-item:hover{color:hsl(var(--foreground))}.mobile-nav-item{display:block;padding:.75rem 1rem;border-radius:.5rem;color:hsl(var(--muted-foreground));text-decoration:none;font-weight:500;transition:all .2s ease}.mobile-nav-item:hover{background-color:hsla(var(--primary),.1);color:hsl(var(--primary))}.role-select{color-scheme:var(--color-scheme,light);background-color:hsl(var(--card));color:hsl(var(--foreground));border:1px solid hsla(var(--border),.8);border-radius:.375rem;min-height:44px;padding:.5rem .75rem;font-size:.9rem;font-weight:500;cursor:pointer;max-width:100%}.role-select:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}[data-theme=high-contrast] .role-select{color-scheme:light;background-color:#FFFFFF;color:#000000;border:2px solid #000000}.nav-cta{background-color:hsla(var(--primary),.1);color:hsl(var(--primary))!important;display:inline-flex;align-items:center;min-height:44px;padding:.5rem 1.25rem;border-radius:999px;border:1px solid hsla(var(--primary),.3);text-decoration:none;font-weight:600;font-size:.95rem;transition:all .2s ease}.nav-cta:hover{background-color:hsl(var(--primary));color:hsl(var(--primary-foreground))!important;transform:translateY(-1px);box-shadow:0 4px 12px hsla(var(--primary),.25)}.mobile-tab-bar{display:none}@media (max-width:767px){.mobile-tab-bar{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;align-items:stretch;justify-content:space-around;background:hsla(var(--background),.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid hsla(var(--border),.8);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-tab-item{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;min-height:56px;padding:.4rem .25rem;font-size:.68rem;font-weight:600;color:hsl(var(--muted-foreground));text-decoration:none;transition:color .15s ease}.mobile-tab-item.active{color:hsl(var(--primary))}.app-main{padding:1rem .75rem calc(4.5rem + env(safe-area-inset-bottom, 0px))}.app-footer{padding-bottom:calc(2.5rem + 4rem + env(safe-area-inset-bottom, 0px))}.pwa-install-banner{bottom:calc(4.5rem + env(safe-area-inset-bottom, 0px))!important}.app-main>div>section{padding:2.25rem .5rem!important;margin-bottom:1.5rem!important}}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/5ece437c7024c161-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/_next/static/media/9cc5b37ab1350db7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/35f3de0ebb1cfc70-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e6099e249fd938cc-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:"Instrument Serif Fallback";src:local("Times New Roman");ascent-override:117.94%;descent-override:36.93%;line-gap-override:0.00%;size-adjust:83.94%}.__className_1f5468{font-family:"Instrument Serif","Instrument Serif Fallback";font-weight:400}.__variable_1f5468{--font-display:"Instrument Serif","Instrument Serif Fallback"}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f7650dfaa438c37c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/98baa4a7809fbf72-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Public Sans;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8bf7b2ceda89477b-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Public Sans Fallback;src:local("Arial");ascent-override:90.59%;descent-override:21.46%;line-gap-override:0.00%;size-adjust:104.87%}.__className_3a41d0{font-family:Public Sans,Public Sans Fallback;font-style:normal}.__variable_3a41d0{--font-sans:"Public Sans","Public Sans Fallback"}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/b06b356f834173cc-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/23d669af23d19c95-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;src:url(/_next/static/media/1a4aa50920b5315c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Archivo Fallback;src:local("Arial");ascent-override:88.96%;descent-override:21.28%;line-gap-override:0.00%;size-adjust:98.70%}.__className_5afde0{font-family:Archivo,Archivo Fallback;font-style:normal}.__variable_5afde0{--font-archivo:"Archivo","Archivo Fallback"}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58f386aa6b1a2a92-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/011e180705008d6f-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7ba5fb2a8c88521c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/92eeb95d069020cc-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d3ebbfd689654d3a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/73cb51aac9c97f90-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/d26bbd13d6b70f89-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/20535187d867b7b9-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/5356a6a4f2c8c8d8-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/db96af6b531dc71f-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono Fallback;src:local("Arial");ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.00%;size-adjust:134.59%}.__className_fcc734{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.__variable_fcc734{--font-mono:"IBM Plex Mono","IBM Plex Mono Fallback"}