/* Mobile controls in the approved SINGUL official website palette. */
:root{color:#2D3140;background:#F7F2E9;--green:#4D4A4A;--soft:#F7F2E9;--muted:#2D3140;--glass:#F7F2E9;--glass-line:#F7F2E9;--line:#F7F2E9;--red:#2D3140}
body{background:#F7F2E9;isolation:isolate}
.aurora-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;contain:strict;background:#F7F2E9}
.aurora-backdrop:before{content:"";position:absolute;inset:-12% -22%;background:none;animation:aurora-drift 28s ease-in-out infinite alternate;will-change:transform}
@keyframes aurora-drift{from{transform:translate3d(-2%,-1%,0) rotate(-4deg) scale(1.02)}to{transform:translate3d(3%,3%,0) rotate(5deg) scale(1.08)}}
body.effects-paused .aurora-backdrop:before,body:has(dialog[open]) .aurora-backdrop:before{animation-play-state:paused}
.app{background:transparent;box-shadow:none;position:relative}
.topbar{background:#F7F2E9;border-color:#F7F2E9;backdrop-filter:none;-webkit-backdrop-filter:none;padding-bottom:14px;padding-top:calc(18px + env(safe-area-inset-top,0px))}
.topbar h1{color:#2D3140;font-size:19px;font-weight:600;letter-spacing:0}
.search-box{background:#F7F2E9;border:1px solid #F7F2E9;border-radius:6px;height:50px;margin-top:18px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.search-box:focus-within{background:#F7F2E9;border-color:#4D4A4A;box-shadow:none}
.search-box svg,.search-box input::placeholder{color:#2D3140}
.entry-actions{gap:10px}.entry-actions button{background:#F7F2E9;border-color:#F7F2E9;border-radius:9px;font-weight:550;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.entry-actions .primary,.button.primary{background:#4D4A4A;border-color:#4D4A4A;color:#F7F2E9;box-shadow:none}
.button{border-radius:9px}.button.primary:active,.entry-actions .primary:active{background:#2D3140}
.data-note,.stat-note,.section-caption,.list-end{color:#2D3140}.data-note{font-size:12px}
.result-head{margin-top:22px;margin-bottom:12px}.result-head h2{color:#2D3140;font-weight:600;font-size:16px}.result-head small{color:#4D4A4A}
.school-card{position:relative;background:#F7F2E9;border:1px solid #F7F2E9;border-radius:6px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:perspective(900px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--tilt-lift,0px));transform-origin:50% 50%;transition:transform .24s cubic-bezier(.2,.8,.25,1),box-shadow .24s ease;isolation:isolate}
.school-card:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:none;opacity:0;transition:opacity .2s;z-index:-1}
.school-card.is-tilting{--tilt-lift:-1px;will-change:transform;box-shadow:none;z-index:1}.school-card.is-tilting:after{opacity:1}
.school-list{gap:10px}.school-name,.routes-note,.route-label{color:#2D3140}.dept-name{color:#2D3140;font-size:18px;font-weight:600;letter-spacing:0;line-height:1.5}.school-name{margin-bottom:4px}.routes-note{font-size:12px}.card-detail{color:#2D3140}
.pill{background:#F7F2E9;border:1px solid #F7F2E9;border-radius:5px;color:#2D3140;line-height:23px}.pill.needed{background:#F7F2E9;color:#2D3140;border-color:#F7F2E9}.pill.blocked{background:#F7F2E9;color:#2D3140;border-color:#F7F2E9}.pill.difference{background:#F7F2E9;color:#2D3140;border-color:#C9C3B7;box-shadow:none}
.pending-card{border-color:#C9C3B7;background:#F7F2E9}.pending-switch,.pending-banner{color:#2D3140;background:#F7F2E9}
.filter-chip{background:#F7F2E9;border:1px solid #F7F2E9;color:#2D3140;border-radius:7px}.filter-chip.exclude{background:#F7F2E9;color:#2D3140;border-color:#F7F2E9}
.more-menu,.stats-panel,.empty{background:#F7F2E9;border:1px solid #F7F2E9;border-radius:6px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.menu-row{border-color:#F7F2E9}.menu-row:active{background:#F7F2E9}.menu-icon{background:#F7F2E9;color:#4D4A4A}
.bottom-tabs{background:#F7F2E9;border-color:#F7F2E9;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.bottom-tabs button{color:#4D4A4A;border-radius:9px;font-size:12px;font-weight:500}.bottom-tabs button[aria-current=page]{background:#F7F2E9;color:#2D3140;box-shadow:none;font-weight:600}.bottom-tabs button:active{background:#F7F2E9}.bottom-tabs svg{width:22px;height:22px;stroke-width:1.65}
.bar-track{background:#F7F2E9}.bar-track i{background:#4D4A4A}
dialog.sheet{background:#F7F2E9;border:1px solid #F7F2E9;border-bottom:0;border-radius:6px 22px 0 0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
dialog::backdrop{background:#2D3140}.sheet-header,.sheet-footer{background:#F7F2E9;border-color:#F7F2E9}.sheet-header h2{font-weight:600;font-size:18px}.sheet-header:before{background:#C9C3B7}.sheet-close{background:#F7F2E9;color:#2D3140}
.subject-option,.filter-section,.detail-route{background:#F7F2E9;border-color:#F7F2E9;border-radius:6px;box-shadow:none}.subject-option[aria-pressed=true]{background:#4D4A4A;border-color:#4D4A4A;color:#F7F2E9;font-weight:550}.subject-section.exclude .subject-option[aria-pressed=true]{background:#2D3140;border-color:#2D3140}
.subject-section h3,.detail-route h3{font-weight:600}.sheet-help,.note,.detail-fold .fold-body,.about-section p,.about-section li{color:#2D3140}.filter-section>summary>span,.advanced summary,.advanced legend{color:#2D3140}
.check-row{border-color:#F7F2E9}.check-row:has(input:checked){color:#2D3140}.picker-search,.advanced select{background:#F7F2E9;border-color:#F7F2E9;color:#2D3140;border-radius:8px}
.detail-difference{background:#F7F2E9;color:#2D3140}.detail-fold{border-color:#F7F2E9}.detail-table th,.detail-table td{border-color:#F7F2E9}.toast{background:#2D3140}.save[aria-pressed=true]{color:#4D4A4A}
@media(prefers-reduced-motion:reduce){.aurora-backdrop:before{animation:none;will-change:auto}.school-card{transform:none!important;transition:none;will-change:auto}.school-card:after{display:none}}
@media(prefers-reduced-transparency:reduce){.bottom-tabs,.topbar,dialog.sheet{background:#F7F2E9;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:350px){.topbar h1{font-size:18px}.dept-name{font-size:17px}}
@media print{.aurora-backdrop{display:none}.app{background:white}.school-card,.more-menu,.stats-panel{background:white;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none;box-shadow:none}}

.home-install{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:28px}.home-install button{display:flex;align-items:center;justify-content:center;gap:10px;min-height:72px;padding:12px 8px;border:1px solid #F7F2E9;border-radius:6px;background:#F7F2E9;color:#2D3140;text-align:left}.home-install button>svg{width:25px;height:28px;flex-shrink:0;stroke-width:1.5}.home-install strong{display:block;color:#2D3140;font-size:15px;font-weight:700;line-height:1.4}.home-install small{display:block;color:#2D3140;font-size:12px;line-height:1.5;margin-top:2px}.home-install button:active{background:#F7F2E9;transform:scale(.985)}
.install-steps{list-style:none;margin:0;padding:0}.install-steps li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;font-size:16px;line-height:1.65}.step-number{display:grid;place-items:center;flex-shrink:0;width:27px;height:27px;border-radius:50%;background:#F7F2E9;color:#2D3140;font-size:13px;line-height:1;margin-top:1px}.install-steps svg{display:inline-block;vertical-align:middle;width:19px;height:21px;color:var(--green);margin:0 3px}.menu-dots{display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;color:var(--green)}.install-note{font-size:13px;color:#2D3140;line-height:1.6;margin:12px 0 4px;padding-left:39px}
@media(max-width:350px){.home-install{gap:8px}.home-install button{gap:7px}.home-install strong{font-size:14px}}

.home-share{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;margin-top:12px;padding:10px 14px;border:1px solid #F7F2E9;border-radius:6px;background:#F7F2E9;color:#2D3140;text-align:left;font-size:15px;font-weight:700;transition:transform .15s ease,background .15s ease}.home-share .share-plane{width:34px;height:34px;flex-shrink:0;stroke-width:1.6}.plane-fill{fill:#F7F2E9;stroke:none}.share-plane .plane-spark{stroke:#4D4A4A;stroke-width:1.4}.home-share .share-arrow{width:17px;height:17px;margin-left:auto;flex-shrink:0;color:#4D4A4A;stroke-width:1.5}.home-share:active{background:#F7F2E9;transform:scale(.985)}.home-share:disabled{opacity:.65}.home-share:focus-visible{outline:3px solid #4D4A4A;outline-offset:3px}.share-url-label{display:block;margin:6px 0 10px;font-size:14px;color:#2D3140}.share-url{width:100%;resize:none;padding:12px;border:1px solid #F7F2E9;border-radius:6px;background:#F7F2E9;color:#2D3140;font:inherit;font-size:16px;line-height:1.5;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.home-share{transition:none}.home-share:active{transform:none}}

.saved-storage-note{margin:24px 2px 12px;color:#2D3140;font-size:12px;font-weight:400;line-height:1.7}

.home-combinations{display:flex;align-items:center;gap:9px;width:100%;min-height:44px;margin-top:10px;padding:9px 12px;border:1px solid #F7F2E9;border-radius:6px;background:#F7F2E9;color:#2D3140;font-size:14px;text-align:left}.home-combinations>svg{width:19px;height:19px;flex-shrink:0;stroke-width:1.6}.home-combinations .combination-chevron{margin-left:auto;width:16px;height:16px;color:#4D4A4A}.home-combinations:active{background:#F7F2E9}.home-combinations:focus-visible,.combo-row:focus-visible{outline:3px solid #4D4A4A;outline-offset:2px}.combo-hint{margin:-2px 0 12px;color:#2D3140;font-size:13px;line-height:1.6}.combo-row{display:grid;grid-template-columns:minmax(0,1fr) auto 16px;gap:10px;width:100%;min-height:52px;padding:12px 0;border:0;border-bottom:1px solid #F7F2E9;background:transparent;color:#2D3140;text-align:left;line-height:1.6;border-radius:0}.combo-row>span{min-width:0}.combo-row>strong{font-size:13px;font-weight:400;color:#2D3140}.combo-row>svg{width:16px;height:16px;color:#4D4A4A;stroke-width:1.6}.combo-row:active{background:#F7F2E9}

/* SINGUL official site application; mobile structure and interactions preserved. */
:root{color:#2D3140;background:#F5F0E5;--green:#284FA0;--soft:#F7F2E9;--muted:#4D4A4A;--glass:#F7F2E9;--glass-line:#C9C3B7;--line:#C9C3B7;--red:#4D4A4A}
body,.app,.topbar,.bottom-tabs,dialog.sheet,.sheet-header,.sheet-footer{background:#F5F0E5;color:#2D3140;box-shadow:none}.aurora-backdrop{display:none}.school-card:after{display:none}.school-card,.school-card.is-tilting{transform:none;transition:border-color .2s var(--ease-out);box-shadow:none}
.topbar{align-items:flex-start;flex-direction:column;gap:10px;padding-top:calc(12px + env(safe-area-inset-top));padding-bottom:14px}.singul-brand{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.singul-brand img{width:160px;height:auto;display:block}.topbar h1{color:#2D3140;letter-spacing:.03em;font-size:19px;font-weight:700}.top-title{min-width:0}
.entry-actions>a{display:flex;align-items:center;justify-content:center;gap:8px;padding:11px 7px;min-height:48px;font-size:15px;font-weight:700;text-decoration:none;border:1px solid #C9C3B7;border-radius:6px;background:#F7F2E9;color:#2D3140}.home-combinations,.combo-row{text-decoration:none}
.search-box,.entry-actions button,.entry-actions>a,.school-card,.stats-panel,.empty,.subject-option,.filter-section,.detail-route,.home-install button{background:#F7F2E9;border-color:#C9C3B7;border-radius:6px;box-shadow:none}.search-box input{color:#2D3140}.search-box:focus-within{background:#F7F2E9;border-color:#284FA0;box-shadow:none}.entry-actions .primary,.button.primary,.subject-option[aria-pressed=true]{background:#284FA0;border-color:#284FA0;color:#F5F0E5}.subject-section.exclude .subject-option[aria-pressed=true]{background:#2D3140;border-color:#2D3140;color:#F5F0E5}.button.primary:active,.entry-actions .primary:active{background:#162232}
.home-combinations,.home-share{background:#F7F2E9;color:#284FA0;border-color:#C9C3B7;border-radius:6px}.home-combinations:active,.home-share:active,.home-install button:active{background:#F5F0E5}.home-share .plane-fill{fill:#F5F0E5}.home-share .plane-spark,.home-share .share-arrow,.home-combinations .combination-chevron{color:#284FA0;stroke:#284FA0}.home-install button,.home-install strong{color:#284FA0}.count-dot{background:#284FA0;color:#F5F0E5}
.bottom-tabs{border-color:#C9C3B7}.bottom-tabs button[aria-current=page]{color:#284FA0;background:#F7F2E9;border-radius:6px}.bottom-tabs button[aria-current=page]:before{content:'';width:4px;height:4px;background:#284FA0;border-radius:50%;position:absolute;top:2px;left:calc(50% - 2px)}.bottom-tabs button{color:#4D4A4A}.bar-track{background:#C9C3B7}.bar-track i{background:#284FA0}.save[aria-pressed=true],.check-row:has(input:checked){color:#284FA0}.save[aria-pressed=true] svg{fill:#284FA0;stroke:#284FA0}.pill.needed{background:#284FA0;border-color:#284FA0;color:#F5F0E5}.pill.blocked{background:#2D3140;color:#F5F0E5;border-color:#2D3140}.filter-chip{background:#F7F2E9;color:#284FA0;border-color:#C9C3B7}.filter-chip.exclude{color:#2D3140}.step-number{background:#284FA0;color:#F5F0E5}.dept-name{font-weight:700}.school-name,.routes-note,.saved-storage-note,.note,.data-note,.combo-hint{color:#4D4A4A}.combo-row{color:#2D3140;border-color:#C9C3B7}.combo-row strong,.combo-row svg{color:#4D4A4A}.combo-row:active{background:#F5F0E5}.sheet-header,.sheet-footer{border-color:#C9C3B7}.sheet-header h2{font-weight:700}.sheet-close{background:#F7F2E9}.sheet-help,.detail-fold .fold-body{color:#4D4A4A}.share-url{background:#F7F2E9;border-color:#C9C3B7;color:#2D3140}.toast{background:#162232;color:#F7F1E7}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,.home-share:focus-visible,.combo-row:focus-visible{outline-color:#284FA0}.entry-actions a:active{transform:scale(.985)}dialog.sheet[open]{animation:sheet-in .45s var(--ease-out)}.entry-actions a,.home-share,.home-combinations{transition:background .2s var(--ease-out),transform .2s var(--ease-out)}

dialog::backdrop{background:#16223266}

/* Both primary filter entry points use the same action color. */
.entry-actions>button,.entry-actions>a{background:#284FA0;border-color:#284FA0;color:#F5F0E5}
.entry-actions>button:active,.entry-actions>a:active{background:#162232;border-color:#162232}
