[data-theme=light]{--color-bg: #ffffff;--color-bg-elevated: #f5f5f7;--color-bg-card: #ffffff;--color-border: #e0e0e0;--color-text: #1a1a1a;--color-text-muted: #666666;--color-shadow: rgba(0, 0, 0, .08);--color-overlay: rgba(0, 0, 0, .4)}[data-theme=dark]{--color-bg: #0d1117;--color-bg-elevated: #161b22;--color-bg-card: #1c2128;--color-border: #30363d;--color-text: #e6edf3;--color-text-muted: #8b949e;--color-shadow: rgba(0, 0, 0, .4);--color-overlay: rgba(0, 0, 0, .65)}:root{--color-primary: #e63946;--color-secondary: #ff6b35;--color-accent: #ffd60a;--color-success: #2d9e5f;--color-warning: #d08b00;--color-error: #c0392b;--color-info: #2563eb;--font-display: "Bebas Neue", system-ui, sans-serif;--font-body: "Nunito", system-ui, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 40px;--space-2xl: 64px;--radius-sm: 6px;--radius-md: 12px;--radius-lg: 20px;--shadow-card: 0 2px 16px var(--color-shadow);--shadow-glow: 0 0 24px color-mix(in srgb, var(--color-primary) 30%, transparent);--touch-min: 48px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100vh;min-height:100dvh}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select{font:inherit;color:inherit;font-size:16px}h1,h2,h3,h4{font-family:var(--font-display);font-weight:400;letter-spacing:.02em;margin:0 0 var(--space-md) 0;line-height:1.1}h1{font-size:clamp(2rem,8vw,3.5rem)}h2{font-size:clamp(1.5rem,5vw,2.25rem)}h3{font-size:clamp(1.25rem,4vw,1.5rem)}p{margin:0 0 var(--space-md) 0}.text-muted{color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}#root{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:var(--space-md)}@media (min-width: 768px){.app-main{padding:var(--space-lg)}}.navbar{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);padding:var(--space-sm) var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);min-height:56px}.navbar-brand{display:flex;align-items:center;gap:var(--space-sm);font-family:var(--font-display);font-size:1.5rem;letter-spacing:.04em;color:var(--color-text);text-decoration:none}.navbar-brand:hover{text-decoration:none}.navbar-logo{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;display:grid;place-items:center;font-family:var(--font-display);font-size:1rem;letter-spacing:.06em}.navbar-logo-img{height:36px;max-width:120px;width:auto;object-fit:contain;border-radius:var(--radius-sm)}.navbar-actions{display:flex;align-items:center;gap:var(--space-xs)}.footer{background:var(--color-bg-elevated);border-top:1px solid var(--color-border);padding:var(--space-lg) var(--space-md);margin-top:var(--space-2xl);text-align:center;color:var(--color-text-muted);font-size:.875rem;display:flex;flex-direction:column;gap:var(--space-sm)}.footer a{color:var(--color-text-muted)}.footer-meta{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md)}.footer-credit a{color:var(--color-primary);font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-xs);min-height:var(--touch-min);padding:0 var(--space-md);border:1px solid transparent;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-weight:700;font-size:1rem;text-decoration:none;transition:transform .1s,box-shadow .2s,background .2s}.btn:hover{text-decoration:none;box-shadow:var(--shadow-glow)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-text);border-color:var(--color-border)}.btn-secondary:hover{background:var(--color-bg-elevated);box-shadow:none}.btn-ghost{background:transparent;color:var(--color-text);border-color:transparent}.btn-ghost:hover{background:var(--color-bg-elevated);box-shadow:none}.btn-danger{background:var(--color-error)}.btn-icon{width:var(--touch-min);padding:0}.btn-sm{min-height:36px;padding:0 var(--space-sm);font-size:.875rem}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:var(--shadow-card)}@media (min-width: 768px){.card{padding:var(--space-lg)}}.input,.textarea,.select{width:100%;min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);transition:border .15s,box-shadow .15s}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.textarea{min-height:120px;padding:var(--space-md);resize:vertical}.label{display:block;margin-bottom:var(--space-xs);font-weight:700;font-size:.875rem}.field{margin-bottom:var(--space-md)}.field-error{color:var(--color-error);font-size:.875rem;margin-top:var(--space-xs)}.color-input{width:var(--touch-min);height:var(--touch-min);padding:4px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);cursor:pointer}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px var(--space-sm);border-radius:999px;font-size:.75rem;font-weight:700;background:var(--color-bg-elevated);color:var(--color-text);border:1px solid var(--color-border)}.badge-primary{background:var(--color-primary);color:#fff;border-color:transparent}.badge-success{background:var(--color-success);color:#fff;border-color:transparent}.badge-warning{background:var(--color-warning);color:#fff;border-color:transparent}.badge-error{background:var(--color-error);color:#fff;border-color:transparent}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:grid;place-items:end center;z-index:1000;padding:0;animation:fade-in .15s ease-out}.modal{width:100%;max-width:520px;background:var(--color-bg-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-lg) var(--space-md);max-height:92vh;overflow-y:auto;animation:slide-up .2s ease-out}@media (min-width: 640px){.modal-backdrop{place-items:center;padding:var(--space-md)}.modal{border-radius:var(--radius-lg);padding:var(--space-lg)}}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.modal-header h2,.modal-header h3{margin:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.banner-stack{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.banner{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;border-left:4px solid currentColor;background:var(--color-bg-elevated)}.banner-info{color:var(--color-info)}.banner-success{color:var(--color-success)}.banner-warning{color:var(--color-warning)}.banner-urgent{color:var(--color-primary)}.banner-urgent .banner-icon{animation:pulse 1.2s ease-in-out infinite}.banner-text{color:var(--color-text);flex:1}.banner-icon{flex-shrink:0;margin-top:2px}.banner-cta{display:inline-flex;align-items:center;gap:6px;background:currentColor;color:#fff;border:none;border-radius:var(--radius-sm);padding:6px 12px;font-weight:700;font-size:.85rem;cursor:pointer;white-space:nowrap;flex-shrink:0;min-height:36px}.banner-cta>*{color:#fff}.banner-cta:hover{filter:brightness(1.1)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.hero{text-align:center;padding:var(--space-xl) var(--space-md);background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--color-bg)),color-mix(in srgb,var(--color-secondary) 8%,var(--color-bg)));border-radius:var(--radius-lg);margin-bottom:var(--space-xl)}.hero h1{background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:var(--space-sm)}.hero p{color:var(--color-text-muted);font-size:1.1rem;margin:0}.event-list{display:flex;flex-direction:column;gap:var(--space-sm)}.event-item{display:flex;align-items:stretch;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border .15s,transform .1s;min-height:var(--touch-min)}.event-item:hover{border-color:var(--color-primary)}.event-item:active{transform:scale(.99)}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:64px;padding:var(--space-sm);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-family:var(--font-display)}.event-date-day{font-size:1.5rem;line-height:1}.event-date-month{font-size:.8rem;opacity:.9;letter-spacing:.1em}.event-content{flex:1;min-width:0}.event-title{font-weight:700;margin-bottom:4px}.event-meta{color:var(--color-text-muted);font-size:.875rem}.event-rsvp-status{display:inline-flex;margin-top:var(--space-xs)}.calendar{display:flex;flex-direction:column;gap:var(--space-md)}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.calendar-title{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.04em;text-align:center}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-sm)}.calendar-view-toggle{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.view-btn{min-height:36px;padding:0 var(--space-md);background:var(--color-bg);color:var(--color-text);border:none;font-weight:700;font-size:.85rem}.view-btn.active{background:var(--color-primary);color:#fff}.calendar-legend{display:flex;gap:var(--space-md);flex-wrap:wrap;font-size:.85rem;color:var(--color-text-muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.month-pair{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width: 900px){.month-pair{grid-template-columns:1fr 1fr}}.month-block{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm)}.month-block-title{font-family:var(--font-display);font-size:1.1rem;letter-spacing:.04em;padding:var(--space-xs) var(--space-sm) var(--space-sm);color:var(--color-text)}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-weekday{text-align:center;font-size:.7rem;font-weight:700;color:var(--color-text-muted);padding:var(--space-xs) 0;letter-spacing:.06em;text-transform:uppercase}.calendar-cell{position:relative;min-height:64px;display:flex;flex-direction:column;align-items:stretch;padding:2px;border-radius:var(--radius-sm);background:var(--color-bg);font-size:.75rem;color:var(--color-text);border:1px solid transparent;overflow:hidden}.calendar-cell.outside{color:var(--color-text-muted);opacity:.4}.calendar-cell.today{border-color:var(--color-primary);font-weight:700}.calendar-cell-num{display:block;text-align:right;padding:2px 4px;font-size:.75rem}.calendar-cell-events{display:flex;flex-direction:column;gap:2px;padding:0 2px 2px}.calendar-event-pill{background:var(--color-primary);color:#fff;border:none;border-radius:4px;padding:2px 4px;font-size:.65rem;font-weight:700;text-align:left;cursor:pointer;line-height:1.2;display:flex;align-items:center;gap:3px;min-width:0}.calendar-event-pill .pill-icon{flex-shrink:0}.calendar-event-pill .pill-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.calendar-event-pill.cancelled{opacity:.7}.calendar-event-pill.cancelled .pill-text{text-decoration:line-through}.calendar-event-pill:hover{filter:brightness(1.15)}.event-cancelled .event-content{opacity:.75}.note-badge{display:inline-flex;align-items:center;gap:4px;background:var(--color-accent);color:#1a1a1a;border-color:transparent;font-size:.7rem;font-weight:700}.calendar-event-more{font-size:.65rem;color:var(--color-text-muted);padding:0 4px}@media (min-width: 768px){.calendar-cell{min-height:84px}.calendar-cell-num{font-size:.85rem}.calendar-event-pill{font-size:.72rem;padding:2px 6px}}.year-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}@media (min-width: 600px){.year-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 900px){.year-grid{grid-template-columns:repeat(4,1fr)}}.year-cell{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm);cursor:pointer;text-align:left;font:inherit;color:inherit;transition:border-color .15s}.year-cell:hover{border-color:var(--color-primary)}.mini-month-title{font-family:var(--font-display);font-size:.95rem;letter-spacing:.05em;margin-bottom:var(--space-xs)}.mini-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.mini-cell{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.65rem;color:var(--color-text);border-radius:3px}.mini-cell.outside{color:var(--color-text-muted);opacity:.3}.mini-cell.today{background:color-mix(in srgb,var(--color-primary) 18%,transparent);font-weight:700}.mini-dot{position:absolute;bottom:1px;width:4px;height:4px;border-radius:50%}.rsvp-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xs);margin-bottom:var(--space-md)}.rsvp-btn{min-height:var(--touch-min);padding:var(--space-sm);border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-md);font-weight:700;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:.875rem;transition:all .15s}.rsvp-btn:hover{border-color:var(--color-primary)}.rsvp-btn.active.rsvp-ja{background:var(--color-success);border-color:var(--color-success);color:#fff}.rsvp-btn.active.rsvp-nein{background:var(--color-error);border-color:var(--color-error);color:#fff}.rsvp-btn.active.rsvp-vielleicht{background:var(--color-warning);border-color:var(--color-warning);color:#fff}.rsvp-summary{display:flex;gap:var(--space-md);flex-wrap:wrap;font-size:.875rem;color:var(--color-text-muted)}.rsvp-summary-item{display:flex;align-items:center;gap:var(--space-xs)}.rsvp-responses{margin-top:var(--space-md);border-top:1px solid var(--color-border);padding-top:var(--space-md)}.rsvp-response-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:.875rem;border-bottom:1px solid var(--color-border)}.rsvp-response-row:last-child{border-bottom:none}.admin-layout{display:grid;grid-template-columns:1fr;gap:var(--space-md);width:100%;max-width:1400px;margin:0 auto;padding:var(--space-md)}.admin-sidebar{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm)}.admin-sidebar-section{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);padding:var(--space-sm) var(--space-sm) var(--space-xs)}.admin-nav{display:flex;flex-direction:row;gap:var(--space-xs);overflow-x:auto}.admin-nav-item{display:flex;align-items:center;gap:var(--space-sm);min-height:var(--touch-min);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);color:var(--color-text);text-decoration:none;font-weight:700;white-space:nowrap;position:relative}.admin-nav-item:hover{background:var(--color-bg-elevated);text-decoration:none}.admin-nav-item.active{background:var(--color-primary);color:#fff}.admin-nav-badge{background:var(--color-warning);color:#fff;border-radius:999px;padding:1px 8px;font-size:.7rem;font-weight:700}.admin-content{display:flex;flex-direction:column;gap:var(--space-md)}@media (min-width: 1024px){.admin-layout{grid-template-columns:240px 1fr;padding:var(--space-lg)}.admin-nav{flex-direction:column;overflow:visible}}.tabs{display:flex;gap:var(--space-xs);border-bottom:1px solid var(--color-border);overflow-x:auto;margin-bottom:var(--space-md)}.tab{min-height:var(--touch-min);padding:0 var(--space-md);background:transparent;border:none;border-bottom:3px solid transparent;color:var(--color-text-muted);font-weight:700;white-space:nowrap}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.table-wrapper{overflow-x:auto}.table{width:100%;border-collapse:collapse;font-size:.875rem}.table th,.table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border);vertical-align:middle}.table th{background:var(--color-bg-elevated);font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.table tr:hover td{background:var(--color-bg-elevated)}.table-actions{display:flex;gap:var(--space-xs);flex-wrap:wrap;justify-content:flex-end}.alert{padding:var(--space-md);border-radius:var(--radius-sm);border-left:4px solid currentColor;background:var(--color-bg-elevated);margin-bottom:var(--space-md);font-size:.95rem;display:flex;gap:var(--space-sm);align-items:flex-start}.alert-info{color:var(--color-info)}.alert-success{color:var(--color-success)}.alert-warning{color:var(--color-warning)}.alert-error{color:var(--color-error)}.alert-text{color:var(--color-text);flex:1}.row{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.spacer{flex:1}.section-title{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md)}.empty-state{padding:var(--space-2xl) var(--space-md);text-align:center;color:var(--color-text-muted);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm)}.privacy-content{max-width:800px;margin:0 auto;line-height:1.7}.privacy-content h2{margin-top:var(--space-xl)}.privacy-content h3{margin-top:var(--space-lg);font-size:1.15rem}.privacy-content code{background:var(--color-bg-elevated);padding:2px 6px;border-radius:4px;font-size:.9em}.privacy-content blockquote{margin:var(--space-md) 0;padding:var(--space-md);border-left:4px solid var(--color-warning);background:color-mix(in srgb,var(--color-warning) 8%,transparent);border-radius:var(--radius-sm);color:var(--color-text)}.privacy-content blockquote br:last-child{display:none}.privacy-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.md-table-wrap{overflow-x:auto;margin:var(--space-md) 0}.md-table{width:100%;border-collapse:collapse;font-size:.95rem}.md-table th,.md-table td{padding:var(--space-sm) var(--space-md);text-align:left;border:1px solid var(--color-border);vertical-align:top}.md-table th{background:var(--color-bg-elevated);font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.md-table tr:nth-child(2n) td{background:color-mix(in srgb,var(--color-bg-elevated) 50%,transparent)}.spinner{width:24px;height:24px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.spinner-center{display:grid;place-items:center;padding:var(--space-2xl)}@keyframes spin{to{transform:rotate(360deg)}}.mono{font-family:ui-monospace,Cascadia Code,Menlo,monospace;background:var(--color-bg-elevated);padding:2px 6px;border-radius:4px;font-size:.9em}.annotation-card{background:var(--color-bg-card)}.annotation-block{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.annotation-block:first-of-type{margin-top:0;padding-top:0;border-top:none}.annotation-label{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:4px}.annotation-text{margin:0;white-space:pre-wrap;font-size:.95rem}.annotation-private{background:color-mix(in srgb,var(--color-warning) 8%,transparent);border-radius:var(--radius-sm);padding:var(--space-sm);margin-top:var(--space-sm);border-top:none}.annotation-private .annotation-label{color:var(--color-warning)}.rule-builder{display:flex;flex-direction:column;gap:var(--space-md)}.rule-toplevel{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-sm);font-size:.85rem;flex-wrap:wrap}.rule-toplevel-label{font-weight:700}.rule-groups{display:flex;flex-direction:column;gap:var(--space-sm)}.rule-group-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.rule-group-header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.rule-group-title{font-weight:700;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.rule-group-op{display:inline-flex;align-items:center;gap:var(--space-xs);margin-left:auto;font-size:.8rem}.rule-conditions{display:flex;flex-direction:column;gap:var(--space-xs)}.cond-row{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border-radius:var(--radius-sm);min-height:var(--touch-min)}.cond-label{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);min-width:110px}.cond-select{width:auto;min-width:100px;flex-shrink:0}.cond-time{width:110px;flex-shrink:0}.cond-text{flex:1;min-width:160px}.weekday-pills{display:flex;gap:4px;flex-wrap:wrap;flex:1}.weekday-pill{min-width:40px;height:36px;padding:0 8px;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-sm);font-weight:700;font-size:.85rem}.weekday-pill.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.rule-add-row{display:flex;align-items:center;gap:var(--space-xs);flex-wrap:wrap;padding-top:var(--space-xs);border-top:1px dashed var(--color-border)}.op-switch{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.op-btn{min-width:56px;height:32px;padding:0 10px;background:var(--color-bg);color:var(--color-text-muted);border:none;font-weight:700;font-size:.8rem}.op-btn.active{background:var(--color-primary);color:#fff}.rule-connector{display:flex;justify-content:center}.rule-connector-pill{background:var(--color-bg-elevated);border:1px solid var(--color-border);padding:2px 14px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--color-text-muted)}.hide-on-mobile{display:none}@media (min-width: 768px){.hide-on-mobile{display:inline}}.games-grid{display:grid;grid-template-columns:1fr;gap:var(--space-md)}@media (min-width: 600px){.games-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.games-grid{grid-template-columns:repeat(3,1fr)}}.game-card-link{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text);min-height:200px;transition:transform .1s,border-color .15s,box-shadow .2s}.game-card-link:hover{text-decoration:none;border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.game-card-link:active{transform:scale(.99)}.game-card-link.disabled{opacity:.5;cursor:not-allowed}.game-card-emoji{font-size:2.5rem;line-height:1}.game-card-title{font-family:var(--font-display);font-size:1.4rem;margin:0;letter-spacing:.04em}.game-card-desc{color:var(--color-text-muted);font-size:.9rem;margin:0;flex:1}.game-card-best{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;width:100%;padding-top:var(--space-sm);border-top:1px solid var(--color-border);margin-top:auto}.game-card-best-label{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent)}.game-card-best-score{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.04em;color:var(--color-text)}.game-card-best-meta{font-size:.75rem}.board-filters{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-md)}.board-filter{min-height:36px;padding:0 var(--space-md);background:var(--color-bg-elevated);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:999px;font-size:.85rem;font-weight:700;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.board-filter:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-bg-elevated))}.board-filter.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.leaderboard{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.leaderboard-row{display:grid;grid-template-columns:36px 36px 1fr auto auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--color-border);font-size:.95rem}.leaderboard-row:last-child{border-bottom:none}.leaderboard-row.is-me{background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.leaderboard-rank{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:1.1rem;color:var(--color-text-muted)}.leaderboard-rank.rank-1{color:#ffd60a}.leaderboard-rank.rank-2{color:silver}.leaderboard-rank.rank-3{color:#cd7f32}.leaderboard-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-family:var(--font-display);font-size:1rem;letter-spacing:.04em}.leaderboard-name{font-weight:700;display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;text-overflow:ellipsis}.leaderboard-meta{font-size:.8rem;white-space:nowrap}.leaderboard-score{font-family:var(--font-display);font-size:1.2rem;letter-spacing:.04em;color:var(--color-accent);min-width:80px;text-align:right}@media (max-width: 600px){.leaderboard-row{grid-template-columns:28px 32px 1fr auto;gap:var(--space-xs);padding:var(--space-sm)}.leaderboard-meta{display:none}.leaderboard-avatar{width:32px;height:32px;font-size:.85rem}.leaderboard-score{min-width:60px;font-size:1rem}}.game-card{max-width:900px;margin:0 auto;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}@media (min-width: 768px){.game-card{padding:var(--space-lg)}}.game-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-md);padding:var(--space-lg) 0}.game-intro h1{margin:0}.game-intro p{margin:0;max-width:540px}.game-rules{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-xs);color:var(--color-text-muted);font-size:.95rem}.game-rules li:before{content:"▸ ";color:var(--color-primary)}.game-header{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;color:var(--color-text-muted)}.game-progress strong{color:var(--color-text);font-size:1.1rem}.game-score{display:inline-flex;align-items:center;gap:6px;background:var(--color-bg-elevated);padding:4px 12px;border-radius:999px;font-weight:700;color:var(--color-accent)}.timer-bar{width:100%;height:8px;background:var(--color-bg-elevated);border-radius:999px;overflow:hidden}.timer-fill{height:100%;background:var(--color-primary);transition:width .05s linear,background .2s}.timer-label{text-align:right;font-family:ui-monospace,Cascadia Code,Menlo,monospace;font-size:.85rem;color:var(--color-text-muted);margin-top:-8px}.brandklassen-game{display:grid;grid-template-columns:1fr;gap:var(--space-md);align-items:stretch}@media (min-width: 768px){.brandklassen-game{grid-template-columns:1fr 1fr}}.brandlast-card{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,var(--color-bg)),color-mix(in srgb,var(--color-secondary) 10%,var(--color-bg)));border-radius:var(--radius-lg);padding:var(--space-xl);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-md);min-height:220px}.brandlast-emoji{font-size:clamp(4.5rem,16vw,7rem);line-height:1;filter:drop-shadow(0 4px 12px var(--color-shadow))}.brandlast-image{display:block;width:100%;max-width:280px;max-height:200px;object-fit:contain;border-radius:var(--radius-md);filter:drop-shadow(0 4px 12px var(--color-shadow))}.brandlast-preview{flex-shrink:0;width:80px;height:80px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);display:grid;place-items:center;overflow:hidden}.brandlast-preview img{width:100%;height:100%;object-fit:contain}.brandlast-preview-emoji{font-size:2.4rem;line-height:1}.brandlast-title{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2.25rem);letter-spacing:.02em}.brandlast-hint{font-size:.875rem}.answer-matrix{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.answer-btn{--klasse-color: var(--color-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:var(--space-md);min-height:90px;border:2px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:var(--radius-md);font-weight:700;text-align:center;cursor:pointer;transition:transform .1s,border-color .15s,background .15s;position:relative}.answer-btn:hover:not(:disabled){border-color:var(--klasse-color);background:color-mix(in srgb,var(--klasse-color) 8%,var(--color-bg))}.answer-btn:active:not(:disabled){transform:scale(.97)}.answer-btn:disabled{cursor:default;opacity:.7}.answer-btn.picked{border-color:var(--klasse-color);background:color-mix(in srgb,var(--klasse-color) 12%,var(--color-bg))}.answer-btn.correct{border-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 18%,var(--color-bg));opacity:1}.answer-btn.wrong{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 18%,var(--color-bg));opacity:1}.answer-key{font-family:var(--font-display);font-size:1.8rem;line-height:1;color:var(--klasse-color)}.answer-btn.correct .answer-key{color:var(--color-success)}.answer-btn.wrong .answer-key{color:var(--color-error)}.answer-label{font-size:.85rem;font-weight:700;color:var(--color-text);line-height:1.2}.brandklasse-icon{display:block;object-fit:contain;flex-shrink:0}.brandklasse-icon-fallback{display:inline-flex;align-items:center;justify-content:center;background:var(--klasse-color, var(--color-primary));color:#fff;border-radius:8px;font-family:var(--font-display);font-size:1.6rem;flex-shrink:0}@media (min-width: 768px){.answer-matrix{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1100px){.answer-matrix{grid-template-columns:repeat(3,1fr)}}.game-feedback{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm);border-left:4px solid var(--color-primary)}.game-feedback.correct{border-left-color:var(--color-success)}.game-feedback.wrong{border-left-color:var(--color-error)}.feedback-headline{display:inline-flex;align-items:center;gap:8px;font-weight:700}.game-feedback.correct .feedback-headline{color:var(--color-success)}.game-feedback.wrong .feedback-headline{color:var(--color-error)}.feedback-text{margin:0}.vehicle-card-display{background:var(--color-bg-elevated);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column}.vehicle-img{width:100%;aspect-ratio:16 / 9;object-fit:cover;background:var(--color-bg);display:block}.vehicle-img-fallback{width:100%;aspect-ratio:16 / 9;display:grid;place-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,var(--color-bg)),color-mix(in srgb,var(--color-secondary) 12%,var(--color-bg)));color:var(--color-primary)}.vehicle-card-name{padding:var(--space-md);display:flex;flex-direction:column;gap:2px}.vehicle-card-name strong{font-family:var(--font-display);font-size:1.6rem;letter-spacing:.04em}.property-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}@media (min-width: 900px){.property-grid{grid-template-columns:repeat(2,1fr)}}.property-card{min-height:60px;padding:var(--space-sm) var(--space-md);background:var(--color-bg);color:var(--color-text);border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:left;font-weight:600;font-size:.9rem;cursor:pointer;display:flex;align-items:center;transition:transform .08s,border-color .15s,background .15s}.property-card:hover{border-color:var(--color-primary)}.property-card:active{transform:scale(.97)}.property-card.selected{background:color-mix(in srgb,var(--color-primary) 18%,var(--color-bg));border-color:var(--color-primary);color:var(--color-text)}.property-text{line-height:1.3}.property-card.reveal-correct{background:color-mix(in srgb,var(--color-success) 22%,var(--color-bg));border-color:var(--color-success);color:var(--color-text);animation:reveal-pop .3s ease-out}.property-card.reveal-wrong{background:color-mix(in srgb,var(--color-error) 22%,var(--color-bg));border-color:var(--color-error);color:var(--color-text)}.property-card[disabled]{cursor:default}@keyframes reveal-pop{0%{transform:scale(.96)}50%{transform:scale(1.02)}to{transform:scale(1)}}.timer-bar.timer-paused .timer-fill{opacity:.4}.reveal-banner{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);text-align:center;font-weight:700;font-size:.95rem;border-left:4px solid var(--color-primary);background:var(--color-bg-elevated)}.reveal-banner.reveal-perfect{background:color-mix(in srgb,var(--color-success) 14%,var(--color-bg-elevated));border-left-color:var(--color-success);color:var(--color-success)}.reveal-banner.reveal-partial{background:color-mix(in srgb,var(--color-warning) 14%,var(--color-bg-elevated));border-left-color:var(--color-warning);color:var(--color-warning)}.reveal-banner.reveal-zero{background:color-mix(in srgb,var(--color-error) 14%,var(--color-bg-elevated));border-left-color:var(--color-error);color:var(--color-error)}.result-row.partial{border-left-color:var(--color-warning)}.property-card{border-left-width:6px}.property-card.cat-besatzung{border-left-color:#2563eb}.property-card.cat-loeschwasser{border-left-color:#0ea5e9}.property-card.cat-pumpe{border-left-color:#06b6d4}.property-card.cat-rettungsgeraet{border-left-color:#e63946}.property-card.cat-atemschutz{border-left-color:#a855f7}.property-card.cat-sonderausstattung{border-left-color:#d08b00}.property-card.cat-einsatzbereich{border-left-color:#2d9e5f}.property-card.cat-antrieb{border-left-color:#6b7280}.property-card.selected{border-left-width:6px}.game-action-bar{display:flex;justify-content:center;padding-top:var(--space-sm);position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--color-bg-card) 30%);margin:0 calc(-1 * var(--space-md));padding-left:var(--space-md);padding-right:var(--space-md)}.game-action-bar .btn{min-width:200px}.timer-bar.timer-low{animation:pulse-bar .8s ease-in-out infinite}@keyframes pulse-bar{0%,to{opacity:1}50%{opacity:.5}}.score-display{font-family:var(--font-display);font-size:clamp(3rem,12vw,5rem);line-height:1;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;background-clip:text;color:transparent}.result-list{width:100%;display:flex;flex-direction:column;gap:4px;max-height:360px;overflow-y:auto;margin:var(--space-md) 0}.result-row{display:grid;grid-template-columns:32px 1fr auto auto;gap:var(--space-sm);align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border-radius:var(--radius-sm);font-size:.875rem;border-left:3px solid transparent;text-align:left}.result-row.correct{border-left-color:var(--color-success)}.result-row.wrong{border-left-color:var(--color-error)}.result-emoji{font-size:1.4rem}.result-title{font-weight:600}.result-meta{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted);font-size:.8rem}.result-points{font-weight:700;color:var(--color-accent);min-width:50px;text-align:right}.code-block{background:var(--color-bg-elevated);padding:var(--space-md);border-radius:var(--radius-sm);font-family:ui-monospace,monospace;font-size:1.1rem;font-weight:700;text-align:center;letter-spacing:.04em;word-break:break-all;margin:var(--space-md) 0}.feedback-fab{position:fixed;bottom:max(var(--space-md),env(safe-area-inset-bottom));right:max(var(--space-md),env(safe-area-inset-right));background:var(--color-primary);color:#fff;border:none;border-radius:999px;padding:12px 16px;display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.95rem;box-shadow:0 4px 16px var(--color-shadow),var(--shadow-glow);z-index:50;min-height:var(--touch-min)}.feedback-fab:hover{filter:brightness(1.05)}.feedback-fab-label{display:none}@media (min-width: 768px){.feedback-fab-label{display:inline}}.feedback-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);margin-bottom:var(--space-md)}.feedback-type-pill{display:flex;align-items:center;gap:6px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-bg-elevated);border:2px solid transparent;color:var(--color-text);font-weight:600;font-size:.9rem;text-align:left;min-height:var(--touch-min)}.feedback-type-pill.is-active{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-bg-elevated))}.totp-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);margin:var(--space-md) 0;background:color-mix(in srgb,var(--color-warning) 12%,var(--color-bg-card));border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent);border-radius:var(--radius-md);flex-wrap:wrap}.totp-banner-content{flex:1 1 240px;min-width:0}.totp-banner-content strong{display:block;margin-bottom:4px}.totp-banner-actions{display:flex;gap:8px;flex-wrap:wrap}.totp-qr{background:#fff;padding:var(--space-sm);border-radius:var(--radius-md);display:inline-block;margin:var(--space-md) 0}.totp-qr svg{width:200px;height:200px}.totp-backup-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);font-family:ui-monospace,monospace;font-weight:700;margin:var(--space-md) 0}.totp-backup-code{background:var(--color-bg-elevated);padding:10px;border-radius:var(--radius-sm);text-align:center;letter-spacing:.06em}.op-shell{min-height:100vh;min-height:100dvh;background:var(--color-bg);color:var(--color-text);display:flex;flex-direction:column}.op-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--color-bg-card);border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:var(--space-sm)}.op-brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:1.4rem}.op-brand-badge{background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.7rem;font-weight:700;letter-spacing:.04em}.op-nav{display:flex;gap:4px;flex-wrap:wrap}.op-nav a{padding:8px 14px;border-radius:var(--radius-sm);color:var(--color-text-muted);font-weight:600;min-height:var(--touch-min);display:inline-flex;align-items:center;gap:6px}.op-nav a.is-active{background:var(--color-bg-elevated);color:var(--color-text)}.op-content{flex:1;padding:var(--space-md);max-width:1200px;width:100%;margin:0 auto}.op-page-title{font-family:var(--font-display);font-size:2rem;margin:0 0 var(--space-md)}.op-stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md);margin-bottom:var(--space-lg)}.op-stat-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md)}.op-stat-card .label{color:var(--color-text-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.op-stat-card .value{font-family:var(--font-display);font-size:2.2rem;line-height:1.1;margin-top:4px}.op-stat-card .sub{color:var(--color-text-muted);font-size:.8rem;margin-top:4px}.op-table{width:100%;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);border-collapse:separate;border-spacing:0;overflow:hidden}.op-table th,.op-table td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--color-border);font-size:.9rem}.op-table th{background:var(--color-bg-elevated);font-weight:700;color:var(--color-text-muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.op-table tr:last-child td{border-bottom:none}.op-table-wrap{overflow-x:auto;margin-bottom:var(--space-lg)}.op-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.op-pill-active{background:color-mix(in srgb,var(--color-success) 25%,transparent);color:var(--color-success)}.op-pill-suspended{background:color-mix(in srgb,var(--color-error) 25%,transparent);color:var(--color-error)}.op-pill-plan-starter{background:color-mix(in srgb,var(--color-info) 20%,transparent);color:var(--color-info)}.op-pill-plan-plus{background:color-mix(in srgb,var(--color-success) 25%,transparent);color:var(--color-success)}.op-pill-plan-custom{background:color-mix(in srgb,var(--color-accent) 35%,transparent);color:#8a6800}.op-pill-status-open{background:color-mix(in srgb,var(--color-info) 20%,transparent);color:var(--color-info)}.op-pill-status-in_progress{background:color-mix(in srgb,var(--color-warning) 25%,transparent);color:var(--color-warning)}.op-pill-status-resolved{background:color-mix(in srgb,var(--color-success) 25%,transparent);color:var(--color-success)}.op-pill-status-wontfix{background:color-mix(in srgb,var(--color-text-muted) 25%,transparent);color:var(--color-text-muted)}.op-pill-sev-warning{background:color-mix(in srgb,var(--color-warning) 25%,transparent);color:var(--color-warning)}.op-pill-sev-error{background:color-mix(in srgb,var(--color-error) 25%,transparent);color:var(--color-error)}.op-pill-sev-fatal{background:color-mix(in srgb,var(--color-error) 50%,transparent);color:#fff}.op-stack{font-family:ui-monospace,monospace;font-size:.78rem;background:var(--color-bg-elevated);padding:var(--space-sm);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-all;max-height:240px;overflow:auto}.op-login-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-md);background:var(--color-bg)}.op-login-card{width:100%;max-width:420px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-card)}.op-login-card h1{font-family:var(--font-display);margin:0 0 var(--space-md);font-size:2rem}.analytics-bars{display:flex;align-items:flex-end;gap:4px;height:140px;padding:var(--space-md) 0;overflow-x:auto;background:var(--color-bg-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.analytics-bar{flex:0 0 32px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;position:relative;padding:0 2px}.analytics-bar-fill{width:100%;min-height:2px;background:var(--color-primary);border-radius:4px 4px 0 0;transition:height .2s ease}.analytics-bar-label{font-size:.7rem;color:var(--color-text-muted);margin-top:4px;white-space:nowrap}.analytics-bar-value{position:absolute;bottom:100%;font-size:.7rem;font-weight:700;color:var(--color-text);margin-bottom:4px}.billing-banner{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);margin:var(--space-md) 0;border-radius:var(--radius-md);border:1px solid;flex-wrap:wrap}.billing-banner-content{flex:1 1 240px;min-width:0;font-size:.92rem}.billing-banner-content strong{display:block;margin-bottom:4px}.billing-banner-error{background:color-mix(in srgb,var(--color-error) 12%,var(--color-bg-card));border-color:color-mix(in srgb,var(--color-error) 40%,transparent)}.billing-banner-warning{background:color-mix(in srgb,var(--color-warning) 12%,var(--color-bg-card));border-color:color-mix(in srgb,var(--color-warning) 40%,transparent)}.billing-banner-info{background:color-mix(in srgb,var(--color-info) 12%,var(--color-bg-card));border-color:color-mix(in srgb,var(--color-info) 40%,transparent)}.price-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-md);margin-bottom:var(--space-md)}.plan-option{display:flex;flex-direction:column;gap:6px;padding:var(--space-md);background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);text-align:left;cursor:pointer;font:inherit;color:var(--color-text);position:relative;transition:transform .15s ease,border-color .2s,box-shadow .2s}.plan-option:hover:not(:disabled){transform:translateY(-2px);border-color:var(--color-primary);box-shadow:var(--shadow-card)}.plan-option:disabled{opacity:.5;cursor:not-allowed}.plan-option.is-highlighted{border-color:var(--color-primary);box-shadow:var(--shadow-glow)}.plan-option-head{display:flex;justify-content:space-between;align-items:center}.plan-option-head strong{font-family:var(--font-display);font-size:1.4rem;letter-spacing:.04em}.plan-option-badge{background:var(--color-primary);color:#fff;padding:2px 8px;border-radius:999px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.plan-option-price{font-family:var(--font-display);font-size:1.8rem;line-height:1}.plan-option-details{color:var(--color-text-muted);font-size:.85rem}.plan-option-cta{margin-top:8px;color:var(--color-primary);font-weight:700;font-size:.92rem}.billing-interval-toggle{display:inline-flex;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:999px;padding:3px;gap:2px;margin-bottom:var(--space-md)}.billing-interval-btn{padding:6px 18px;border-radius:999px;border:none;background:transparent;color:var(--color-text-muted);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .15s,color .15s;display:flex;align-items:center;gap:6px}.billing-interval-btn.is-active{background:var(--color-primary);color:#fff}.billing-interval-badge{background:color-mix(in srgb,var(--color-accent) 80%,transparent);color:var(--color-text);font-size:.7rem;font-weight:700;padding:1px 6px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.march-app{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text)}.march-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-card)}.march-logo{text-decoration:none;color:var(--color-text)}.march-main{flex:1;padding:var(--space-lg);max-width:1100px;width:100%;margin:0 auto;box-sizing:border-box}.march-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);font-size:.9em}.march-hero{text-align:center;padding:var(--space-2xl) var(--space-md)}.march-promo{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 8%,var(--color-bg-card)),color-mix(in srgb,var(--color-secondary) 8%,var(--color-bg-card)));border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-xl);box-shadow:var(--shadow-card)}.march-promo-header{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.march-promo-header h2{font-family:var(--font-display);letter-spacing:.03em;font-size:1.5rem}.march-promo-badge{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 10px;border-radius:999px;background:var(--color-success);color:#fff}.march-promo-features{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-md);color:var(--color-text-muted);font-size:.9rem}.march-promo-feature{display:inline-flex;align-items:center;gap:6px}.march-promo-cta{display:inline-flex;align-items:center;gap:6px;text-decoration:none}.march-paths{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin:var(--space-lg) 0}@media (min-width: 768px){.march-paths{grid-template-columns:repeat(2,1fr)}}.march-path{display:flex;flex-direction:column;padding:var(--space-lg);position:relative;border-top:4px solid transparent}.march-path-tenant{border-top-color:var(--color-success);background:color-mix(in srgb,var(--color-success) 5%,var(--color-bg-card))}.march-path-public{border-top-color:var(--color-primary)}.march-path-badge{display:inline-flex;align-items:center;gap:4px;align-self:flex-start;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:999px;background:var(--color-bg-elevated);color:var(--color-text-muted)}.march-path-tenant .march-path-badge{color:var(--color-success)}.march-path-public .march-path-badge{color:var(--color-primary)}.march-path code{background:var(--color-bg-elevated);padding:1px 6px;border-radius:4px;font-size:.9em}.march-features{display:grid;grid-template-columns:1fr;gap:var(--space-md);margin:var(--space-lg) 0}@media (min-width: 768px){.march-features{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.march-features{grid-template-columns:repeat(4,1fr)}}.march-feature{text-align:center;padding:var(--space-md)}.march-feature h3{margin:var(--space-sm) 0 var(--space-xs);font-family:var(--font-display);letter-spacing:.02em}.march-feature p{color:var(--color-text-muted);font-size:.95em;margin:0}.march-create dl,.march-dashboard dl{display:grid;grid-template-columns:minmax(180px,1fr) 2fr;gap:var(--space-sm) var(--space-md);margin:0}.march-create dt,.march-dashboard dt{font-weight:600;color:var(--color-text-muted)}.march-create dd,.march-dashboard dd{margin:0}
