:root{color-scheme:light;--ink: #191514;--muted: #665c56;--cream: #fffdf7;--paper: #f2f5ef;--chalk: #fffefa;--line: rgba(45, 35, 28, .16);--red: #982f25;--red-dark: #6d1f19;--green: #19583e;--green-dark: #103b2e;--gold: #c58a2a;--sky: #d7e5e8;--slate: #2f4a4f;--shadow: 0 22px 44px rgba(32, 20, 15, .18);--soft-shadow: 0 12px 28px rgba(32, 20, 15, .12);--radius: 8px;--nav: 78px;--max: 1060px}*{box-sizing:border-box}html{width:100%;min-height:100%;overflow-x:hidden;background:#2b1711;scroll-behavior:smooth}body{width:100%;min-height:100%;margin:0;overflow-x:hidden;overscroll-behavior:none;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.45;background:linear-gradient(90deg,rgba(25,88,62,.18) 0 1px,transparent 1px),linear-gradient(180deg,#2b1711,#673020 42%,#103b2e);background-size:28px 100%,auto}#app{width:100%;overflow-x:clip}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(197,138,42,.58);outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.55}img{display:block;max-width:100%}noscript{display:block;padding:1rem;color:var(--cream);background:var(--red-dark)}.app-frame,.admin-frame{position:relative;z-index:1;width:min(100%,var(--max));max-width:100vw;min-height:100vh;margin:0 auto;overflow:clip;background:#fffefa;box-shadow:0 16px 54px #20140f24}.public-frame{width:min(100%,1180px);background:#f8f0dc;box-shadow:none}.app-frame main,.admin-frame main{padding:0 1rem calc(var(--nav) + 1.5rem + env(safe-area-inset-bottom))}.public-frame main{padding:0 1rem 2.5rem}.admin-frame main{padding-top:4.75rem}.splash{position:fixed;inset:0;z-index:20;display:grid;place-items:center;align-content:center;gap:.8rem;padding:2rem;color:var(--ink);text-align:center;background:#fffefa;transition:opacity .45s ease,visibility .45s ease}.splash.is-done{visibility:hidden;opacity:0}.splash__crest{width:5.75rem;padding:.4rem;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.splash h1{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3rem,16vw,5.8rem);line-height:.92}.splash__subtitle{margin:0;color:var(--muted);font-size:1.1rem;font-weight:800}.start-stage{position:relative;display:grid;gap:1rem;margin:0 -1rem;padding:1rem;color:var(--cream);overflow:hidden;background:linear-gradient(135deg,#103b2ef5 0% 48%,#7e251df5 48% 100%),url(/assets/local/rehungen-kirche.jpg) center / cover;border-bottom:4px solid #c58a2a}.map-top,.admin-head,.admin-title,.latest-vote{display:flex;align-items:center}.hero-wappen,.plain-header>img,.map-top img,.admin-brand img{width:4.4rem;padding:.26rem;background:#fff7e8f5;border:1px solid rgba(25,21,20,.12);border-radius:var(--radius);box-shadow:var(--soft-shadow)}.stage-copy{align-self:end;max-width:34rem;z-index:1;padding:.25rem 0 .5rem}.stage-copy h1,.plain-header h1,.wagon-stage h1,.missing-page h1,.login-box h1,.admin-title h1,.admin-locked h1{margin:.2rem 0 0;font-family:Georgia,Times New Roman,serif;line-height:.98}.stage-copy h1{max-width:12ch;color:#fffdf7;font-size:clamp(2.85rem,14vw,6.2rem);text-shadow:0 2px 18px rgba(0,0,0,.28);text-wrap:balance}.stage-subtitle{margin:.35rem 0 0;color:#ffd36b;font-size:clamp(1.45rem,6vw,2.4rem);font-weight:850;line-height:1.1}.plain-lead{max-width:28rem;margin:.9rem 0 0;color:#fffdf7e6;font-size:1.16rem;font-weight:750}.hero-wappen{width:5rem;margin-bottom:1rem;background:#fffdf7}.hero-media{display:grid;gap:.65rem}.hero-media figure{margin:0;overflow:hidden;border-radius:var(--radius);box-shadow:0 18px 38px #140d0a38}.hero-sign{display:grid;place-items:center;min-height:11rem;padding:1rem;background:linear-gradient(180deg,#ffc942,#eaa300);border:4px solid #16110d}.hero-sign img{width:min(100%,28rem);max-height:14rem;object-fit:contain}.hero-place img{width:100%;aspect-ratio:16 / 10;object-fit:cover}.hero-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem}.hero-action,.hero-refresh{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;padding:0 .9rem;color:#fffdf7;background:#fffdf71f;border:1px solid rgba(255,253,247,.34);border-radius:var(--radius);cursor:pointer;font-weight:900}.hero-action.primary{color:#20130d;background:#ffd36b;border-color:#ffd36b}.hero-refresh{width:3rem;padding:0}.big-action,.admin-save,.plain-admin-button,.quiet-icon,.back-chip,.modal-x{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;border:0;border-radius:var(--radius);cursor:pointer;font-weight:950;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.big-action{min-height:4rem;padding:.85rem 1.05rem;color:var(--cream);background:#7a261f;box-shadow:0 12px 26px #6d1f193d}.big-action:hover,.quiet-icon:hover,.back-chip:hover,.admin-save:hover,.plain-admin-button:hover{transform:translateY(-1px)}.big-action:active,.quiet-icon:active,.back-chip:active,.admin-save:active,.plain-admin-button:active,.wagon-card:active,.assisted-list button:active{transform:translateY(1px) scale(.99)}.quiet-icon{width:2.75rem;height:2.75rem;color:var(--ink);background:#fff7e8e0;border:1px solid var(--line)}.back-chip{width:max-content;min-height:2.55rem;padding:.35rem .65rem;color:var(--red-dark);background:#fff7e8e6;border:1px solid var(--line)}.wimpel-line{position:absolute;top:.8rem;right:.9rem;z-index:2;display:flex;gap:.34rem;transform:rotate(4deg)}.wimpel-line span{width:0;height:0;border-left:.42rem solid transparent;border-right:.42rem solid transparent;border-top:1.2rem solid var(--red);transform-origin:top center;animation:wimpel 3.6s ease-in-out infinite}.wimpel-line span:nth-child(2),.wimpel-line span:nth-child(5){border-top-color:var(--gold);animation-delay:-.4s}.wimpel-line span:nth-child(3){border-top-color:var(--green);animation-delay:-.8s}.wimpel-line span:nth-child(4){border-top-color:var(--sky);animation-delay:-1.2s}.simple-steps{display:grid;gap:.55rem;margin:1rem -1rem 0;padding:.75rem 1rem;background:#7a261f}.simple-steps div{display:flex;align-items:center;gap:.45rem;min-height:3rem;color:#fffdf7;font-weight:850}.simple-steps span{display:grid;place-items:center;width:1.7rem;height:1.7rem;color:#20130d;font-size:.95rem;font-weight:900;background:#ffd36b;border-radius:999px}.simple-steps strong{font-size:1rem}.route-map{position:relative;display:grid;gap:.9rem;margin-top:1rem;padding:.8rem;background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow);overflow:hidden}.map-top{gap:.65rem}.map-top img{width:3.2rem}.map-top strong,.map-top span{display:block}.map-top span{color:var(--muted)}.map-canvas{position:relative;aspect-ratio:1086 / 1448;overflow:hidden;border-radius:var(--radius);background:#13251f;border:1px solid rgba(25,88,62,.18);box-shadow:inset 0 0 0 1px #fffdf738}.route-map-image{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}.map-marker{position:absolute;z-index:2;display:grid;place-items:center;width:clamp(2rem,8vw,2.65rem);height:clamp(2rem,8vw,2.65rem);padding:0;color:var(--cream);background:#d9282f;border:3px solid #fffdf7;border-radius:999px;box-shadow:0 6px 16px #140d0a4d;transform:translate(-50%,-50%)}.map-marker span{font-size:clamp(1rem,4vw,1.25rem);font-weight:950;line-height:1}button.map-marker{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}button.map-marker:hover{transform:translate(-50%,-50%) scale(1.07);box-shadow:0 9px 22px #140d0a5c}button.map-marker:active{transform:translate(-50%,-50%) scale(.97)}.route-overview{display:grid;gap:.75rem}.route-planned-note{display:flex;gap:.75rem;align-items:flex-start;margin:0;padding:.75rem;color:#4c3823;font-weight:800;background:#fff1ca;border:1px solid rgba(197,138,42,.42);border-radius:var(--radius)}.route-planned-note svg{flex:0 0 auto;color:var(--red);margin-top:.08rem}.route-legend{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.route-legend-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem .75rem;align-items:center;width:100%;min-height:4.9rem;padding:.75rem;color:var(--ink);text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 20px #20140f14}button.route-legend-row{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}button.route-legend-row:hover{border-color:#982f2557;box-shadow:0 12px 26px #20140f1f;transform:translateY(-1px)}.route-legend-number{display:grid;place-items:center;width:2.15rem;height:2.15rem;color:#fffdf7;font-weight:950;background:#d9282f;border:2px solid #fffdf7;border-radius:999px;box-shadow:0 0 0 1px #982f255c}.route-legend-copy{min-width:0}.route-legend-copy strong,.route-legend-copy small,.route-legend-copy em{display:block}.route-legend-copy strong{font-weight:950}.route-legend-copy small{margin-top:.12rem;color:var(--muted)}.route-legend-copy em{margin-top:.18rem;color:var(--red-dark);font-style:normal;font-weight:850}.route-legend-time{grid-column:2;justify-self:start;padding:.28rem .48rem;color:#35230f;font-size:.9rem;font-weight:950;white-space:nowrap;background:#f4d481;border-radius:999px}.route-legend-row>svg{display:none;color:var(--red)}.plain-header{position:relative;margin:0 -1rem;padding:max(1rem,env(safe-area-inset-top)) 1rem 1.2rem;background:linear-gradient(180deg,#fff7e8e6,#f8eddbf7),var(--paper)}.plain-header>img{width:4.2rem;margin:1rem 0 .7rem}.plain-header h1{color:var(--green-dark);font-size:clamp(2.65rem,13vw,5.4rem)}.plain-header p{max-width:34rem;margin:.5rem 0 0;color:var(--muted);font-size:1.08rem;font-weight:700}.search-line{display:grid;grid-template-columns:auto 1fr;gap:.65rem;align-items:center;min-height:3.6rem;margin-top:1rem;padding:0 .9rem;color:var(--red);background:var(--chalk);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow)}.search-line input{min-width:0;height:100%;color:var(--ink);background:transparent;border:0;outline:0;font-size:1.05rem}.wagon-picker{display:grid;gap:.9rem;margin-top:1.1rem}.wagon-grid{order:1;display:grid;grid-template-columns:1fr;gap:.55rem}.selected-wagon{order:2;display:grid;width:100%;max-width:31rem;justify-self:center;overflow:hidden;color:#fffdf7;background:#103b2e;border:1px solid rgba(16,59,46,.28);border-radius:var(--radius);box-shadow:0 18px 40px #140d0a38}.selected-wagon>img{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:center}.selected-wagon-copy{display:grid;gap:.65rem;padding:1rem;background:linear-gradient(135deg,#103b2ef5,#7a261ff2)}.selected-wagon-copy span{color:#ffd36b;font-weight:900}.selected-wagon-copy h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,11vw,4rem);line-height:.98;text-wrap:balance}.selected-wagon-copy p{margin:0;color:#fffdf7d1;font-size:1rem}.selected-wagon-actions{display:grid;gap:.55rem}.secondary-action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:3.15rem;padding:.7rem .9rem;color:#fffdf7;font-weight:950;background:#fffdf71f;border:1px solid rgba(255,253,247,.26);border-radius:var(--radius);cursor:pointer}.wagon-card{position:relative;display:grid;align-items:center;width:100%;min-height:4.6rem;overflow:hidden;padding:.7rem;color:var(--ink);text-align:left;background:#fffefa;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 20px #20140f14;cursor:pointer;isolation:isolate}.wagon-card:after{position:absolute;inset:35% 0 0;z-index:1;content:"";display:none;background:linear-gradient(180deg,#120c0900,#120c09d1)}.wagon-card img{position:absolute;inset:0;display:none;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.wagon-card:hover img{transform:scale(1.025)}.wagon-card.selected{border-color:#982f2561;box-shadow:0 0 0 3px #ffd36bb8}.wagon-card-content{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:0}.wagon-card-content small,.wagon-card-content strong{display:block}.wagon-card-content small{color:var(--red);font-size:.82rem;font-weight:850}.wagon-card-content strong{color:var(--green-dark);font-size:1.08rem;line-height:1.12;text-wrap:balance}.select-mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;flex:0 0 auto;color:var(--green-dark);background:#19583e14;border:2px solid rgba(25,88,62,.18);border-radius:999px}.wagon-card.selected .select-mark{color:#20130d;background:#ffd36b;border-color:var(--cream)}.wagon-admin-number{display:grid;place-items:center;width:3.1rem;height:3.8rem;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:950;background:var(--red);border-radius:var(--radius)}.wagon-stage{position:relative;display:grid;align-content:end;min-height:31rem;margin:0 -1rem;padding:max(1rem,env(safe-area-inset-top)) 1rem 1.2rem;color:var(--cream);background:linear-gradient(180deg,#150f0c1a,#140d0ad6),var(--wagon-image) center / cover}.wagon-stage h1{max-width:10ch;font-size:clamp(3rem,15vw,6rem);text-wrap:balance}.wagon-stage .back-chip{position:absolute;top:max(1rem,env(safe-area-inset-top));left:1rem}.wagon-number{width:max-content;margin-bottom:.55rem;padding:.35rem .65rem;color:var(--cream);font-weight:950;background:var(--red);border-radius:var(--radius)}.wagon-note,.vote-panel,.inline-notice{margin-top:1rem;padding:.85rem;background:var(--chalk);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow)}.wagon-note p,.vote-panel p{margin:0;color:var(--muted);font-size:1.05rem}.vote-panel{position:sticky;bottom:calc(.85rem + env(safe-area-inset-bottom));z-index:4;background:#fffefaf5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.vote-panel .big-action{width:100%}.vote-panel p{margin-top:.5rem;text-align:center;font-size:.92rem}.missing-page{min-height:calc(100vh - var(--nav));display:grid;place-items:center;align-content:center;gap:.85rem;padding:2rem 0;text-align:center}.missing-page>img{width:5rem}.missing-code{color:var(--red);font-family:Georgia,Times New Roman,serif;font-size:clamp(5.6rem,28vw,11rem);font-weight:950;line-height:.85}.missing-page h1{color:var(--green-dark);font-size:clamp(2.2rem,12vw,4.6rem)}.missing-page p{max-width:24rem;margin:0;color:var(--muted);font-size:1.06rem}.admin-nav{position:fixed;right:0;bottom:0;left:0;z-index:12;display:grid;width:min(100%,var(--max));min-height:calc(var(--nav) + env(safe-area-inset-bottom));margin:0 auto;padding:.45rem .45rem calc(.45rem + env(safe-area-inset-bottom));background:#22140df5;border-top:1px solid rgba(255,247,232,.16);box-shadow:0 -14px 30px #00000038;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.admin-nav{grid-template-columns:repeat(6,1fr)}.admin-nav button{display:grid;place-items:center;align-content:center;gap:.15rem;min-width:0;color:#fff7e8b3;background:transparent;border:0;border-radius:var(--radius);cursor:pointer;font-weight:850}.admin-nav button.active{color:#ffe09a;background:#fff7e814}.admin-nav span{max-width:100%;overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.public-nav{position:sticky;top:0;z-index:12;display:grid;gap:.65rem;width:min(100%,1180px);margin:0 auto;padding:calc(.65rem + env(safe-area-inset-top)) 1rem .65rem;background:#103b2ef7;border-bottom:3px solid #c58a2a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.public-brand{display:inline-flex;align-items:center;gap:.55rem;width:max-content;max-width:100%;min-height:2.55rem;padding:0;color:#fffdf7;background:transparent;border:0;cursor:pointer;font-weight:900}.public-brand img{width:2.35rem;height:2.35rem;object-fit:contain}.public-brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-links{display:grid;grid-template-columns:repeat(3,1fr);gap:.3rem;padding:.3rem;background:#fffdf71c;border:1px solid rgba(255,253,247,.18);border-radius:var(--radius)}.public-links button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:0;min-height:2.7rem;padding:0 .5rem;color:#fffdf7c7;background:transparent;border:0;border-radius:calc(var(--radius) - 2px);cursor:pointer;font-weight:850}.public-links button.active{color:#20130d;background:#ffd36b;box-shadow:0 8px 18px #140d0a2e}.public-links span{overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.inline-notice{display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:center}.inline-notice.bad{color:var(--red-dark);background:#fff0df;border-color:#982f253d}.inline-notice strong,.inline-notice span{display:block}.inline-notice span{color:var(--muted)}.empty-state{display:grid;place-items:center;gap:.4rem;min-height:12rem;padding:1rem;color:var(--green);text-align:center;background:var(--chalk);border:1px solid var(--line);border-radius:var(--radius)}.empty-state p{margin:0;color:var(--muted)}.admin-head{position:fixed;top:0;left:50%;z-index:11;justify-content:space-between;width:min(100%,var(--max));min-height:4.2rem;padding:calc(.45rem + env(safe-area-inset-top)) 1rem .45rem;background:#fbfbf5eb;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(-50%)}.admin-brand{display:inline-flex;align-items:center;gap:.55rem;color:var(--ink);background:transparent;border:0;cursor:pointer;font-weight:950}.admin-brand img{width:2.35rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:1rem;background:linear-gradient(#103b2e70,#23120cc7),url(/assets/local/rehungen-gutshaus.jpg) center / cover}.login-box{position:relative;display:grid;gap:.8rem;width:min(28rem,100%);padding:1rem;background:#fbfbf5f2;border:1px solid rgba(255,247,232,.62);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.login-box>img{width:5rem}.login-box h1{color:var(--green-dark);font-size:2.6rem}.login-box p{margin:0;color:var(--muted)}.login-box label,.admin-form label{display:grid;gap:.35rem;color:var(--ink);font-weight:850}.login-box input,.admin-form input,.admin-form textarea,.admin-form select,.stop-edit-row input,.stop-edit-row textarea{width:100%;min-height:3rem;padding:.65rem .75rem;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.admin-title{gap:.8rem;margin:0 -1rem 1rem;padding:1rem;color:var(--cream);background:linear-gradient(120deg,#19583ef5,#982f25e0),url(/assets/local/rehungen-kirche.jpg) center / cover}.admin-title h1{font-size:clamp(2.3rem,10vw,4.5rem)}.admin-title p{margin:.25rem 0 0;color:#fff7e8d1}.admin-title-icon{display:grid;place-items:center;width:3.25rem;height:3.25rem;color:var(--green-dark);background:var(--cream);border-radius:var(--radius);flex:0 0 auto}.admin-title .quiet-icon{margin-left:auto;color:var(--cream);background:#1915145c;border-color:#fff7e847}.admin-meters,.diagnostic-board{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem}.diagnostic-board{grid-template-columns:repeat(2,1fr)}.meter{min-width:0;padding:.75rem;background:var(--chalk);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow)}.meter svg{color:var(--red)}.meter span{display:block;margin-top:.45rem;color:var(--muted);font-size:.78rem;font-weight:900}.meter strong{display:block;margin-top:.25rem;color:var(--green);font-family:Georgia,Times New Roman,serif;font-size:clamp(1.55rem,8vw,3rem);line-height:1}.meter strong.text-value{font-family:inherit;font-size:1.25rem}.admin-split{display:grid;gap:.75rem;margin-top:.75rem}.admin-panel,.admin-form,.admin-locked{margin-top:.85rem;padding:.95rem;background:var(--chalk);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow)}.admin-panel h2,.admin-form h2{display:flex;align-items:center;gap:.45rem;margin:0 0 .8rem;color:var(--green-dark);font-size:1.25rem}.admin-panel p{color:var(--muted)}.admin-ranking{display:grid;gap:.55rem}.admin-ranking div{position:relative;display:grid;grid-template-columns:2rem 1fr auto;gap:.55rem;align-items:center;overflow:hidden;padding:.65rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.admin-ranking i{position:absolute;bottom:0;left:0;height:.25rem;background:linear-gradient(90deg,var(--green),var(--gold),var(--red))}.helper-lines,.detail-list{display:grid;gap:.55rem}.helper-lines div,.detail-list{border-top:1px solid var(--line);padding-top:.55rem}.helper-lines div{display:flex;justify-content:space-between}.latest-vote{gap:.65rem;padding:.75rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.latest-vote span{display:block;color:var(--muted)}.session-list{display:grid;gap:.5rem}.session-list button{display:flex;justify-content:space-between;gap:.75rem;padding:.75rem;color:var(--ink);text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.session-list button.selected{color:var(--cream);background:var(--green)}.admin-form{display:grid;gap:.8rem}.form-pair{display:grid;grid-template-columns:1fr;gap:.75rem}.check-line{display:flex!important;grid-template-columns:auto 1fr;align-items:center;gap:.5rem!important}.check-line input,.toggle-grid input{width:1.15rem;min-height:1.15rem}.toggle-grid{display:grid;gap:.5rem}.toggle-grid label{display:flex;align-items:center;gap:.5rem;padding:.6rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.admin-save{padding:.75rem 1rem;color:var(--cream);background:var(--green)}.plain-admin-button{padding:.65rem .85rem;color:var(--green);background:#fff;border:1px solid var(--line)}.form-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.admin-wagon-list,.assisted-list,.stop-editor{display:grid;gap:.55rem}.admin-wagon-list>div{display:grid;grid-template-columns:auto 1fr auto auto;gap:.55rem;align-items:center;padding:.55rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.admin-wagon-list button{display:grid;place-items:center;width:2.4rem;height:2.4rem;color:var(--green);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer}.muted-row{opacity:.58}.upload-ui{display:grid;gap:.6rem;padding:.75rem;background:#fff;border:1px dashed rgba(25,88,62,.32);border-radius:var(--radius)}.upload-ui img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-radius:var(--radius)}.upload-actions{display:grid;grid-template-columns:1fr;gap:.5rem}.upload-ui label{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:3rem;color:var(--green);background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;font-weight:950}.upload-ui label:first-child{color:var(--cream);background:var(--green);border-color:#103b2e52}.upload-ui label:has(input:disabled){cursor:not-allowed;opacity:.62}.upload-ui input{display:none}.upload-ui p{margin:0;color:var(--muted);font-size:.9rem}.upload-status{color:var(--green-dark);font-weight:800}.upload-error{color:var(--red-dark);font-weight:850}.stop-edit-row{display:grid;gap:.5rem;padding:.65rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.assisted-list button{display:grid;grid-template-columns:3.4rem 1fr auto;gap:.75rem;align-items:center;min-height:5.2rem;padding:.75rem;color:var(--ink);text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--soft-shadow);cursor:pointer}.assisted-list span{display:grid;place-items:center;height:3.6rem;color:var(--cream);font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:950;background:var(--red);border-radius:var(--radius)}.admin-locked{display:grid;place-items:center;min-height:20rem;text-align:center}.admin-locked svg{color:var(--red)}.detail-list{grid-template-columns:max-content 1fr}.detail-list dt{color:var(--muted);font-weight:900}.detail-list dd{margin:0}.modal-backdrop{position:fixed;inset:0;z-index:30;display:grid;place-items:end center;padding:1rem;background:#140d0aa6;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);animation:fadeIn .18s ease}.custom-modal{position:relative;display:grid;justify-items:center;gap:.8rem;width:min(31rem,100%);max-height:min(84vh,46rem);overflow:auto;padding:1rem;text-align:center;background:var(--cream);border:1px solid rgba(255,247,232,.68);border-radius:var(--radius);box-shadow:var(--shadow);animation:modalRise .24s ease}.modal-x{position:absolute;top:.55rem;right:.55rem;width:2.35rem;height:2.35rem;color:var(--cream);background:var(--red)}.custom-modal h2{margin:0;color:var(--green-dark);font-family:Georgia,Times New Roman,serif;font-size:clamp(2.1rem,11vw,4rem);line-height:.98}.custom-modal p{max-width:24rem;margin:0;color:var(--muted);font-size:1.05rem}.modal-crest{width:5rem;padding:.35rem;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.modal-alert{color:var(--red)}.modal-countdown{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem .9rem;color:var(--cream);font-weight:950;background:var(--green);border-radius:var(--radius)}.toast{position:fixed;right:1rem;bottom:calc(var(--nav) + 1rem + env(safe-area-inset-bottom));z-index:40;display:flex;align-items:center;gap:.55rem;max-width:min(24rem,calc(100vw - 2rem));padding:.75rem .9rem;color:var(--cream);font-weight:900;background:var(--slate);border-radius:var(--radius);box-shadow:var(--shadow);animation:toastIn .24s ease}.toast.good{background:var(--green)}.toast.bad{background:var(--red)}.spin{animation:spin 1s linear infinite}@media(max-width:759px){.public-frame main>:not(.start-stage):not(.plain-header):not(.simple-steps):not(.wagon-stage){width:min(100%,42rem);margin-inline:auto}.public-nav{max-width:100vw}.public-brand{justify-self:center}.public-links{width:min(100%,28rem);justify-self:center}.plain-header{text-align:center}.plain-header>img,.plain-header .back-chip{margin-inline:auto}}@media(min-width:760px){.app-frame,.admin-frame{margin-block:0}.admin-frame{margin-block:1.5rem;border-radius:18px}.app-frame main,.admin-frame main{padding-inline:1.35rem}.start-stage,.plain-header,.wagon-stage,.admin-title{margin-inline:-1.35rem;padding-inline:1.35rem}.start-stage{grid-template-columns:minmax(0,.9fr) minmax(22rem,1.1fr);align-items:stretch;gap:1.25rem;padding-block:1.25rem}.admin-split,.form-pair{grid-template-columns:repeat(2,1fr)}.hero-media{grid-template-columns:repeat(2,minmax(0,1fr));align-content:stretch}.hero-sign{grid-column:1 / -1;min-height:14rem}.hero-place img{height:100%}.wagon-grid{order:0;grid-template-columns:repeat(3,minmax(0,1fr))}.selected-wagon{order:0;max-width:none;grid-template-columns:minmax(0,1.1fr) minmax(21rem,.9fr)}.selected-wagon>img{height:100%;aspect-ratio:auto}.wagon-card{aspect-ratio:1 / 1;min-height:0;padding:0;color:var(--cream);background:#dfe5dc;border:2px solid transparent;box-shadow:none}.wagon-card:after{display:block}.wagon-card img{display:block}.wagon-card.selected{border-color:#ffd36b;box-shadow:0 0 0 3px #103b2e}.wagon-card-content{position:absolute;inset:auto 0 0;align-items:flex-end;padding:.7rem}.wagon-card-content small{color:#ffd36b}.wagon-card-content strong{color:var(--cream);font-size:clamp(1rem,5vw,1.45rem);line-height:1.05}.select-mark{color:var(--cream);background:#fffaf02e;border-color:#fffaf0c2}.public-nav{grid-template-columns:auto minmax(24rem,34rem);align-items:center;justify-content:space-between}.public-links{width:100%}.route-map{grid-template-columns:minmax(0,.95fr) minmax(20rem,.72fr);align-items:start;gap:1rem;padding:1rem}.map-top{grid-column:1 / -1}.route-legend-row{grid-template-columns:auto minmax(0,1fr) auto auto}.route-legend-time{grid-column:auto;justify-self:end}.route-legend-row>svg{display:block}.upload-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-meters{grid-template-columns:repeat(3,1fr)}.diagnostic-board{grid-template-columns:repeat(4,1fr)}.stop-edit-row{grid-template-columns:5rem minmax(10rem,1fr) 4.5rem 4.5rem 6.5rem 5rem}.stop-edit-row textarea{grid-column:1 / -1}.modal-backdrop{place-items:center}}@media(max-width:390px){.app-frame main,.admin-frame main{padding-inline:.75rem}.start-stage,.plain-header,.wagon-stage,.admin-title{margin-inline:-.75rem}.public-nav{padding-inline:.75rem}.public-links button{gap:.25rem;padding:0 .35rem}.public-links span{font-size:.82rem}.admin-meters,.diagnostic-board{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes wimpel{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalRise{0%{opacity:0;transform:translateY(.8rem) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toastIn{0%{opacity:0;transform:translateY(.6rem)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}
