:root{--night:#10211d;--night-soft:#1a312b;--emerald:#1d6a55;--emerald-soft:#2a8169;--gold:#c9a24b;--gold-soft:#e0c684;--paper:#f6f1e6;--paper-dim:#efe7d5;--ink:#21302c;--ink-soft:#5c6f69;--danger:#a8503f;--font-jp-serif:"Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP";--font-jp-sans:"Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Noto Sans JP";--font-display:"Fraunces", "Amiri", var(--font-jp-serif), serif;--font-body:"Inter", var(--font-jp-sans), system-ui, sans-serif;--font-arabic:"Amiri", "Scheherazade New", serif;--arch:999px 999px 14px 14px}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{font-family:var(--font-body);background:var(--night);color:var(--on-surface);-webkit-font-smoothing:antialiased}:lang(ar) body,[dir=rtl] body{font-family:var(--font-arabic), var(--font-body)}#app{flex-direction:column;max-width:540px;min-height:100dvh;margin:0 auto;display:flex}.header{justify-content:space-between;align-items:center;gap:.75rem;padding:.9rem 1.1rem .6rem;display:flex}.brand{align-items:center;gap:.65rem;display:flex}.brand-arch{border:2px solid var(--gold);border-radius:var(--arch);background:linear-gradient(180deg, var(--emerald) 0%, var(--night-soft) 100%);flex-shrink:0;width:34px;height:42px}.brand h1{font-family:var(--font-display);color:var(--on-surface);letter-spacing:.01em;margin:0;font-size:1.35rem;font-weight:600}.brand .tagline{color:var(--on-surface-dim);margin:0;font-size:.7rem}.lang-switch{gap:.25rem;display:flex}.lang-switch button{border:1px solid var(--emerald);color:var(--on-surface);cursor:pointer;background:0 0;border-radius:8px;padding:.25rem .5rem;font-size:.75rem}.lang-switch button[aria-pressed=true]{background:var(--emerald);border-color:var(--gold)}main{flex:1;padding:.5rem 1.1rem 5.5rem}.view{display:none}.view.active{animation:.25s fade;display:block}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}h2{font-family:var(--font-display);margin:.8rem 0 .2rem;font-size:1.25rem;font-weight:600}.subtitle{color:var(--on-surface-dim);margin:0 0 1rem;font-size:.78rem}.mihrab-card{border:2px solid var(--gold);border-radius:var(--arch);background:linear-gradient(180deg, var(--emerald) 0%, var(--night-soft) 130%);text-align:center;max-width:320px;margin:1.2rem auto 1rem;padding:2.2rem 1rem 1.4rem}.mihrab-card .label{text-transform:uppercase;letter-spacing:.12em;color:var(--on-surface-dim);font-size:.75rem}.mihrab-card .big{font-family:var(--font-display);color:var(--on-surface);margin:.2rem 0;font-size:2.4rem}.mihrab-card .small{color:var(--on-accent);font-size:.85rem}.times-list{background:var(--paper);color:var(--ink);border-radius:16px;margin:0;padding:0;list-style:none;overflow:hidden}.times-list li{border-bottom:1px solid var(--paper-dim);justify-content:space-between;padding:.75rem 1.1rem;font-size:.95rem;display:flex}.times-list li.next{background:var(--emerald);color:var(--on-surface);font-weight:600}.times-list .t{font-variant-numeric:tabular-nums;font-weight:600}.btn{background:var(--emerald);color:var(--on-surface);border:1px solid var(--gold);font-size:.9rem;font-family:var(--font-body);cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;margin:.6rem 0;padding:.6rem 1.1rem;display:inline-flex}.btn:active{background:var(--emerald-soft)}.btn.stop{background:var(--danger);border-color:var(--danger)}.note{color:var(--on-surface-dim);font-size:.78rem}.compass-wrap{width:260px;height:260px;margin:1.4rem auto;position:relative}.compass-dial{border:2px solid var(--gold);background:radial-gradient(circle at 50% 35%, var(--night-soft), var(--night));border-radius:50%;transition:transform .15s ease-out;position:absolute;top:0;bottom:0;left:0;right:0}.compass-dial .cardinal{text-align:center;width:100%;color:var(--on-surface-dim);font-size:.7rem;position:absolute}.compass-needle{transform-origin:50% 100%;background:linear-gradient(180deg, var(--gold) 0%, transparent 100%);border-radius:4px;width:4px;height:108px;position:absolute;top:50%;left:50%;translate:-2px -108px}.compass-kaaba{font-size:1.1rem;position:absolute;top:50%;left:50%;translate:-50% -50%}.compass-wrap.aligned .compass-dial{border-color:var(--emerald-soft);box-shadow:0 0 24px #2a81698c}.qibla-readout{text-align:center;font-family:var(--font-display);font-size:1.6rem}.filters{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.filters button{border:1px solid var(--emerald);color:var(--on-surface);cursor:pointer;background:0 0;border-radius:999px;padding:.3rem .85rem;font-size:.8rem}.filters button[aria-pressed=true]{background:var(--emerald);border-color:var(--gold)}#map{border:1px solid var(--emerald);background:var(--night-soft);border-radius:16px;height:240px;margin-bottom:1rem}.place-card{background:var(--paper);color:var(--ink);border-radius:14px;margin-bottom:.7rem;padding:.8rem 1rem}.place-card h3{font-family:var(--font-display);margin:0 0 .15rem;font-size:1rem}.place-card .meta{color:var(--ink-soft);flex-wrap:wrap;gap:.6rem;font-size:.78rem;display:flex}.badge{background:var(--emerald);color:var(--on-surface);border-radius:999px;padding:.1rem .55rem;font-size:.7rem;display:inline-block}.badge.shop{background:var(--gold);color:var(--ink)}.badge.restaurant{background:var(--emerald-soft)}.badge.warn{background:var(--paper-dim);color:var(--ink-soft);border:1px dashed var(--ink-soft)}.suggest{margin:1rem 0 .5rem}.suggest summary{cursor:pointer;width:-moz-fit-content;width:fit-content;list-style:none}.suggest summary::-webkit-details-marker{display:none}.suggest-form{background:var(--night-soft);border:1px solid var(--emerald);border-radius:14px;flex-direction:column;gap:.55rem;margin-top:.7rem;padding:.9rem;display:flex}.suggest-form input,.suggest-form select,.suggest-form textarea{background:var(--night);color:var(--on-surface);border:1px solid var(--emerald);font-size:.9rem;font-family:var(--font-body);border-radius:10px;padding:.55rem .7rem}.suggest-form textarea{resize:vertical;min-height:64px}.suggest-form .attach{color:var(--on-surface-dim);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.disclaimer{border:1px solid var(--gold);color:var(--on-surface-dim);background:#c9a24b1f;border-radius:12px;margin:.6rem 0 1rem;padding:.6rem .9rem;font-size:.78rem}.khutbah-controls{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.khutbah-controls label{color:var(--on-surface-dim);font-size:.8rem}.khutbah-controls input,.khutbah-controls select{background:var(--night-soft);width:100%;color:var(--on-surface);border:1px solid var(--emerald);border-radius:10px;padding:.55rem .7rem;font-size:.9rem}.transcript{flex-direction:column;gap:.6rem;display:flex}.bubble{background:var(--paper);color:var(--ink);border-radius:14px;padding:.7rem 1rem;font-size:.92rem}.bubble .orig{color:var(--ink-soft);margin-top:.35rem;font-size:.78rem}.bubble.interim{opacity:.55;font-style:italic}.bubble.quran{border:2px solid var(--gold);border-radius:var(--arch);background:linear-gradient(180deg, #fdf9ee, var(--paper));text-align:center;padding-top:1.4rem}.bubble.quran .arabic{font-family:var(--font-arabic);direction:rtl;font-size:1.35rem;line-height:2}.bubble.hadith{border:1px dashed var(--emerald)}.bubble.dua{border:1px solid var(--emerald-soft)}.bubble .ref{color:var(--emerald);margin-top:.4rem;font-size:.72rem;font-weight:600;display:inline-block}.status-pill[hidden]{display:none}.status-pill{color:var(--on-surface-dim);align-items:center;gap:.45rem;font-size:.8rem;display:inline-flex}.status-pill .dot{background:var(--danger);border-radius:50%;width:9px;height:9px;animation:1.2s infinite pulse}@keyframes pulse{50%{opacity:.3}}.guide-card{background:var(--paper);color:var(--ink);border-radius:14px;margin-bottom:.8rem;padding:.9rem 1.1rem}.guide-card h3{font-family:var(--font-display);color:var(--emerald);margin:0 0 .3rem;font-size:1rem}.guide-card p{margin:0;font-size:.88rem;line-height:1.55}.tabbar{background:var(--night-soft);border-top:1px solid var(--emerald);width:100%;max-width:540px;padding-bottom:env(safe-area-inset-bottom);display:flex;position:fixed;bottom:0;left:50%;translate:-50%}.tabbar button{color:var(--on-surface-dim);cursor:pointer;font-size:.68rem;font-family:var(--font-body);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:.18rem;padding:.55rem 0 .65rem;display:flex}.tabbar button .icon{font-size:1.15rem;line-height:1}.tabbar button[aria-current=page]{color:var(--gold)}.scan-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.btn.ghost{color:var(--on-surface-dim);border-color:var(--emerald);background:0 0}.camera-box{border:2px solid var(--gold);border-radius:var(--arch);background:#000;margin:.6rem 0;position:relative;overflow:hidden}.camera-box video{object-fit:cover;width:100%;max-height:320px;display:block}.camera-box .btn.stop{margin:0;position:absolute;bottom:.6rem}.camera-box .btn.stop:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.6rem}.camera-box .btn.stop:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:.6rem}.camera-box .btn.stop:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.6rem}.camera-box .btn.stop:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:.6rem}.label-input{box-sizing:border-box;resize:vertical;background:var(--paper);width:100%;min-height:6.5rem;color:var(--ink);border:1px solid var(--emerald);font-family:var(--font-body);border-radius:14px;padding:.7rem .8rem;font-size:.9rem;line-height:1.6}.verdict{border:2px solid var(--gold);border-radius:var(--arch);text-align:center;background:linear-gradient(180deg, var(--emerald) 0%, var(--night-soft) 130%);margin:1.2rem 0 .8rem;padding:1.6rem 1rem 1.2rem}.verdict.haram{border-color:var(--danger);background:linear-gradient(180deg, var(--danger) 0%, var(--night-soft) 130%)}.verdict.mushbooh{background:linear-gradient(180deg, #8a6a1f 0%, var(--night-soft) 130%)}.verdict.certified-conflict{border-color:var(--danger);background:linear-gradient(180deg, var(--danger) 0%, var(--night-soft) 130%)}.verdict.certified-doubtful{background:linear-gradient(180deg, #8a6a1f 0%, var(--night-soft) 130%)}.cert-note{border-inline-start:4px solid var(--gold);background:var(--night-soft);border-radius:.6rem;margin:0 0 .8rem;padding:.7rem .9rem;font-size:.88rem;line-height:1.55}.cert-note.friendly{border-inline-start-color:var(--danger)}.cert-note code{background:#ffffff14;border-radius:.35rem;margin-inline-end:.2rem;padding:.05rem .35rem}.verdict.nothing-recognised{background:linear-gradient(180deg, var(--night-soft) 0%, var(--night) 130%);border-color:var(--ink-soft)}.verdict .label{text-transform:uppercase;letter-spacing:.12em;color:var(--on-surface-dim);margin:0;font-size:.72rem}.verdict .big{font-family:var(--font-display);color:var(--on-surface);margin:.3rem 0;font-size:1.4rem}.verdict .small{color:var(--on-accent);margin:0;font-size:.85rem}.verdict .tally{letter-spacing:.08em;margin:.6rem 0 0;font-size:.9rem}.note.strong{color:var(--on-surface-dim);border-inline-start:3px solid var(--gold);padding-inline-start:.6rem}.section-h{font-family:var(--font-display);margin:1.2rem 0 .4rem;font-size:1rem}.marked-label{background:var(--paper);color:var(--ink);word-break:break-word;border-radius:14px;padding:.8rem;font-size:.9rem;line-height:2}.hit{border-radius:6px;padding:.05rem .15rem;font-weight:600}.hit.haram{background:var(--danger);color:var(--on-surface)}.hit.mushbooh{background:var(--gold);color:var(--ink)}.hit.halal{color:var(--ink);background:#cfe6da}.finding{background:var(--night-soft);border:1px solid var(--emerald);border-inline-start:4px solid var(--emerald);border-radius:14px;margin:.5rem 0;padding:.7rem .9rem}.finding.haram{border-inline-start-color:var(--danger)}.finding.mushbooh{border-inline-start-color:var(--gold)}.finding h3{font-family:var(--font-display);flex-wrap:wrap;align-items:center;gap:.4rem;margin:0 0 .35rem;font-size:.98rem;display:flex}.finding h3 code{font-family:var(--font-body);background:var(--paper-dim);color:var(--ink);border-radius:6px;padding:.05rem .35rem;font-size:.82rem}.finding p{color:var(--on-surface-dim);margin:.4rem 0 0;font-size:.83rem;line-height:1.6}.badge.haram{background:var(--danger)}.badge.mushbooh{background:var(--gold);color:var(--ink)}.badge.halal{background:var(--emerald-soft)}.leaflet-container{font-family:var(--font-body)}.food-label{opacity:.85;margin:0 0 .4rem;font-size:.9rem;display:block}.food-input{border:1px solid var(--line,#d8cfc0);width:100%;font:inherit;resize:vertical;background:var(--card,#fff);color:inherit;border-radius:10px;padding:.7rem;font-size:1rem}.konbini-id{margin:.6rem 0;font-size:.9rem;line-height:1.6}.konbini-id code{font-family:var(--font-body);background:var(--paper-dim);color:var(--ink);border-radius:6px;padding:.05rem .35rem;font-size:.82rem}.food-verdict{border-inline-start:5px solid;border-radius:12px;margin:.9rem 0;padding:.85rem 1rem}.food-verdict p{opacity:.9;margin:.35rem 0 0;font-size:.9rem}.food-card{border-inline-start:5px solid #0000;margin-block-start:.6rem;margin-block-end:.6rem}.food-head{align-items:flex-start;gap:.6rem;display:flex}.food-head>div{flex:1}.food-icon{font-size:1.3rem;line-height:1.2}.food-haram{color:#8c1c13;background:#fbeae8}.food-doubtful{color:#7a5200;background:#fdf4e0}.food-halal{color:#1e5631;background:#e9f5ec}.food-all{margin-top:1.2rem}.food-all summary{cursor:pointer;padding:.5rem 0;font-weight:600}.phrase-list{flex-direction:column;gap:.55rem;display:flex}.phrase-item{border:1px solid var(--line,#d8cfc0);background:var(--card,#fff);width:100%;color:inherit;text-align:start;font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;gap:.2rem;padding:.8rem .9rem;display:flex}.phrase-item:hover{border-color:var(--accent,#1e5631)}.phrase-own{font-weight:600}.phrase-ja{opacity:.75;font-size:.95rem}.phrase-sheet{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14100c8c;place-items:center;padding:1.2rem;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.phrase-sheet[hidden]{display:none}.phrase-sheet-inner{background:var(--card,#fff);text-align:center;border-radius:18px;width:min(100%,34rem);padding:1.6rem 1.4rem}.phrase-sheet-own{opacity:.7;margin:0 0 1rem;font-size:1rem}.phrase-sheet-ja{margin:0 0 .9rem;font-size:clamp(1.5rem,6vw,2.4rem);font-weight:700;line-height:1.5}.phrase-sheet-romaji{opacity:.65;margin:0 0 1.3rem;font-size:.95rem}body.sheet-open{overflow:hidden}.notify-row{cursor:pointer;align-items:center;gap:.6rem;margin:.9rem 0 .4rem;font-size:.95rem;display:flex}.notify-row input{width:1.15rem;height:1.15rem;accent-color:var(--gold)}.mic-meter{margin:.6rem 0 .2rem}.mic-bar{background:color-mix(in srgb, var(--ink) 12%, transparent);border-radius:99px;height:8px;overflow:hidden}.mic-bar>span{background:var(--emerald);border-radius:99px;width:0;height:100%;transition:width .1s linear;display:block}.mic-meter[data-state=silence] .mic-bar>span,.mic-meter[data-state=unavailable] .mic-bar>span{background:color-mix(in srgb, var(--ink) 35%, transparent)}.mic-meter[data-state=weak] .mic-bar>span,.mic-meter[data-state=nomatch] .mic-bar>span{background:var(--gold)}.whisper-state{color:var(--emerald);font-weight:500}.mic-state{color:var(--ink-soft,var(--ink));margin:.35rem 0 0;font-size:.9rem;line-height:1.45}.mic-meter[data-state=nomatch] .mic-state,.mic-meter[data-state=silence] .whisper-state{color:var(--emerald);font-weight:500}.mic-state{color:var(--gold);font-weight:500}.live-caption{z-index:5;background:var(--emerald);color:var(--on-accent);border:2px solid var(--gold);text-align:center;border-radius:14px;min-height:3rem;margin:.6rem 0 .9rem;padding:.9rem 1rem;font-size:1.35rem;font-weight:500;line-height:1.5;position:sticky;top:.4rem}.room-qr{text-align:center;margin:.8rem 0}.room-qr svg{background:#fff;border-radius:12px;width:min(260px,70vw);height:auto;padding:.5rem}.room-qr-code{font-family:var(--font-body);letter-spacing:.08em;color:var(--on-surface);margin:.5rem 0 .2rem;font-size:1.25rem;font-weight:700}:root,[data-theme=night]{--night:#10211d;--night-soft:#1a312b;--emerald:#1d6a55;--emerald-soft:#2a8169;--gold:#c9a24b;--gold-soft:#e0c684;--paper:#f6f1e6;--paper-dim:#efe7d5;--ink:#21302c;--ink-soft:#5c6f69;--danger:#a8503f;--on-surface:#f6f1e6;--on-surface-dim:#e0c684}[data-theme=paper]{--night:#f6f1e6;--night-soft:#fff;--emerald:#1d6a55;--emerald-soft:#145744;--gold:#9a7620;--gold-soft:#6f5416;--paper:#fff;--paper-dim:#f2ece0;--ink:#1b2724;--ink-soft:#55645f;--danger:#97402f;--on-surface:#1b2724;--on-surface-dim:#55645f}[data-theme=sand]{--night:#efe4d2;--night-soft:#fbf5e9;--emerald:#4a6b3f;--emerald-soft:#3a5731;--gold:#8a6520;--gold-soft:#63481591;--paper:#fffaf0;--paper-dim:#f4ead8;--ink:#2c2418;--ink-soft:#5f5443;--danger:#8f3d2c;--on-surface:#2c2418;--on-surface-dim:#5f5443}[data-theme=indigo]{--night:#101a2e;--night-soft:#1b2843;--emerald:#2b5c8a;--emerald-soft:#3a76ad;--gold:#c9a24b;--gold-soft:#e3c887;--paper:#f2f4fa;--paper-dim:#e5e9f4;--ink:#1a2233;--ink-soft:#56607a;--danger:#b05446;--on-surface:#f2f4fa;--on-surface-dim:#e3c887}[data-theme=contrast]{--night:#000;--night-soft:#000;--emerald:#005f3d;--emerald-soft:#008a58;--gold:#ffd400;--gold-soft:#ffe866;--paper:#fff;--paper-dim:#fff;--ink:#000;--ink-soft:#1f1f1f;--danger:#d32f18;--on-surface:#fff;--on-surface-dim:#ffd400}[data-theme=contrast] .mihrab-card,[data-theme=contrast] .verdict{border-width:3px;background:#000!important}[data-theme=contrast] button,[data-theme=contrast] .btn{border-width:2px!important}html{font-size:calc(100% * var(--text-scale,1))}[data-text=large]{--text-scale:1.15}[data-text=xlarge]{--text-scale:1.32}[data-text=xxlarge]{--text-scale:1.5}button,.btn,select,input[type=checkbox],.lang-switch button,.tabbar button{min-height:44px}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.sheet-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet{background:var(--night-soft);color:var(--on-surface);border:1px solid var(--emerald);border-bottom:0;border-radius:18px 18px 0 0;width:min(560px,100%);max-height:88vh;padding:1.1rem 1.1rem 2rem;overflow-y:auto}.sheet h2{font-family:var(--font-display);color:var(--on-surface);margin:0 0 .2rem;font-size:1.3rem}.sheet .sheet-sub{color:var(--on-surface-dim);margin:0 0 1.2rem;font-size:.85rem}.sheet h3{color:var(--on-surface-dim);margin:1.4rem 0 .6rem;font-size:.95rem;font-weight:600}.theme-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;display:grid}.theme-option{background:var(--night);color:var(--on-surface);cursor:pointer;text-align:start;border:2px solid #0000;border-radius:12px;align-items:center;gap:.6rem;padding:.7rem;font-size:.95rem;display:flex}.theme-option[aria-pressed=true]{border-color:var(--gold)}.theme-swatch{background:linear-gradient(135deg, var(--sw-bg) 0 50%, var(--sw-accent) 50% 100%);border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;width:34px;height:34px}.size-row{flex-wrap:wrap;gap:.6rem;display:flex}.size-option{border:2px solid var(--emerald);background:var(--night);color:var(--on-surface);cursor:pointer;border-radius:12px;flex:90px;padding:.7rem .4rem;line-height:1.2}.size-option[aria-pressed=true]{border-color:var(--gold);background:var(--emerald)}.size-option .sample{font-weight:600;display:block}.size-option[data-size=normal] .sample{font-size:1rem}.size-option[data-size=large] .sample{font-size:1.2rem}.size-option[data-size=xlarge] .sample{font-size:1.45rem}.size-option[data-size=xxlarge] .sample{font-size:1.7rem}.size-option .size-name{color:var(--on-surface-dim);margin-top:.25rem;font-size:.72rem;display:block}.sheet-close{border:2px solid var(--gold);background:var(--emerald);width:100%;color:var(--on-surface);cursor:pointer;border-radius:12px;margin-top:1.6rem;padding:.85rem;font-size:1.05rem;font-weight:600}.btn-appearance{border:1px solid var(--emerald);color:var(--on-surface);cursor:pointer;background:0 0;border-radius:8px;min-width:44px;padding:.25rem .55rem;font-size:1rem}.lang-switch button,.btn-appearance{white-space:nowrap;justify-content:center;align-items:center;padding-inline-start:.6rem;padding-inline-end:.6rem;line-height:1;display:inline-flex}.header{flex-wrap:wrap;gap:.4rem}@media (max-width:420px){.brand .tagline{display:none}}:root{--on-accent:#f6f1e6}.btn,.btn.stop,.badge,.badge.restaurant,.lang-switch button[aria-pressed=true],.filters button[aria-pressed=true],.times-list li.next,.size-option[aria-pressed=true],.sheet-close{color:var(--on-accent)}[data-theme=amoled]{--night:#000;--night-soft:#0f0f0f;--emerald:#1d6a55;--emerald-soft:#2a8169;--gold:#c9a24b;--gold-soft:#e0c684;--paper:#f6f1e6;--paper-dim:#efe7d5;--ink:#21302c;--ink-soft:#5c6f69;--danger:#c0604d;--on-surface:#f2f2f2;--on-surface-dim:#a9b3af}[data-theme=sakura]{--night:#fbeff2;--night-soft:#fff8fa;--emerald:#9b3a5a;--emerald-soft:#7f2d49;--gold:#8a5a1f;--gold-soft:#6b4516;--paper:#fff;--paper-dim:#f7e6ec;--ink:#2b1d22;--ink-soft:#6a5259;--danger:#a3322b;--on-surface:#2b1d22;--on-surface-dim:#6a5259}[data-theme=matcha]{--night:#eef2e3;--night-soft:#f8faf2;--emerald:#3f6b2a;--emerald-soft:#31561f;--gold:#7a6320;--gold-soft:#5c4a15;--paper:#fff;--paper-dim:#e7eed8;--ink:#1f2a17;--ink-soft:#56624a;--danger:#9a3b2c;--on-surface:#1f2a17;--on-surface-dim:#56624a}[data-theme=ramadan]{--night:#1a1330;--night-soft:#271d45;--emerald:#5b3f9e;--emerald-soft:#6d51b3;--gold:#d9a441;--gold-soft:#f0c878;--paper:#f5f1fb;--paper-dim:#e9e2f5;--ink:#1f1830;--ink-soft:#5d5475;--danger:#b8524a;--on-surface:#f5f1fb;--on-surface-dim:#c3b9da}[data-theme=kiswah]{--night:#0a0a0a;--night-soft:#161513;--emerald:#7d6219;--emerald-soft:#957622;--gold:#d4af37;--gold-soft:#e8cc6e;--paper:#faf6ea;--paper-dim:#efe8d4;--ink:#1a1710;--ink-soft:#5a523e;--danger:#b0493a;--on-surface:#f3ecd8;--on-surface-dim:#d4af37}[data-tone=light] .mihrab-card,[data-tone=light] .verdict{background:linear-gradient(180deg, var(--emerald) 0%, var(--emerald-soft) 130%);color:var(--on-accent)}[data-tone=light] .mihrab-card *,[data-tone=light] .verdict *{color:var(--on-accent)}[data-tone=light] .verdict.haram,[data-tone=light] .verdict.certified-conflict{background:linear-gradient(180deg, var(--danger) 0%, #7d3527 130%)}.header,.tabbar{color:var(--on-surface)}:root{--font-system:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, var(--font-jp-sans), system-ui, sans-serif;--font-body:var(--font-system);--font-display:var(--font-system);--hairline:color-mix(in srgb, var(--on-surface) 14%, transparent);--radius-card:14px;--radius-control:12px}body{-webkit-font-smoothing:antialiased;letter-spacing:-.01em}.header{background:0 0;border:0;align-items:flex-start;padding:1rem 1.1rem .6rem}.brand h1{letter-spacing:-.02em;font-size:1.6rem;font-weight:700}.brand .tagline{opacity:.75;font-size:.8rem}.brand-arch{background:0 0;border-width:1.5px}.lang-switch{background:color-mix(in srgb, var(--on-surface) 8%, transparent);border-radius:10px;gap:.2rem;padding:2px}.lang-switch button{color:var(--on-surface);opacity:.7;background:0 0;border:0;border-radius:8px;font-size:.82rem;font-weight:500}.lang-switch button[aria-pressed=true]{background:var(--night-soft);opacity:1;font-weight:600;box-shadow:0 1px 3px #0000001f}.btn-appearance{background:color-mix(in srgb, var(--on-surface) 8%, transparent);color:var(--on-surface);border:0;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.mihrab-card,.verdict{background:var(--emerald);border-radius:var(--radius-card);box-shadow:none;border:0}.verdict.haram,.verdict.certified-conflict{background:var(--danger)}.verdict.mushbooh,.verdict.certified-doubtful{background:#8a6a1f}.verdict.nothing-recognised{background:color-mix(in srgb, var(--on-surface) 10%, transparent);color:var(--on-surface)}.mihrab-card *,.verdict:not(.nothing-recognised) *{color:var(--on-accent)}.times-list{border-radius:var(--radius-card);background:var(--paper);overflow:hidden}.times-list li{border-bottom:1px solid color-mix(in srgb, var(--ink) 10%, transparent)}.times-list li:last-child{border-bottom:0}.finding,.cert-note,.place-card{border-radius:var(--radius-card);background:color-mix(in srgb, var(--on-surface) 6%, transparent);border:0}.finding{border-inline-start:3px solid var(--emerald)}.btn{border-radius:var(--radius-control);border:0;justify-content:center;align-items:center;gap:.5rem;padding:.8rem 1.1rem;font-size:.98rem;font-weight:600;display:inline-flex}.btn.stop{background:var(--danger)}select,input[type=text],input:not([type=checkbox]),textarea{border-radius:var(--radius-control);border:1px solid var(--hairline);font-family:var(--font-system)}.tabbar{background:color-mix(in srgb, var(--night) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(20px);border-top:1px solid var(--hairline);padding-bottom:env(safe-area-inset-bottom);border-radius:0}.tabbar button{color:var(--on-surface);opacity:.55;letter-spacing:0;background:0 0;border:0;gap:.15rem;font-size:.66rem;font-weight:500}.tabbar button[aria-current=page]{opacity:1;color:var(--gold)}.tabbar .icon{margin:0 auto 1px;display:block}.icon{vertical-align:-.15em;flex-shrink:0}[data-theme=contrast] .icon{stroke-width:2.4px}.live-caption{border-radius:var(--radius-card);letter-spacing:-.01em;border:0;font-weight:600}.filters button,.btn.ghost{border:1px solid var(--hairline);color:var(--on-surface);background:0 0;border-radius:999px;font-weight:500}.filters button[aria-pressed=true]{border-color:#0000}main{padding-bottom:calc(6.5rem + env(safe-area-inset-bottom))}.mihrab-card{border-radius:var(--arch);padding-top:2rem}.verdict{border-radius:var(--arch)}.tabbar button{padding:.5rem .15rem calc(.5rem + env(safe-area-inset-bottom));min-width:0;line-height:1.15}.tabbar button .icon{width:25px;height:25px}:root{--glass:color-mix(in srgb, var(--night-soft) 72%, transparent);--glass-strong:color-mix(in srgb, var(--night-soft) 88%, transparent);--glass-edge:color-mix(in srgb, var(--on-surface) 12%, transparent);--glass-blur:saturate(180%) blur(22px);--shadow-soft:0 1px 2px #0000000f, 0 8px 24px #0000001a}.header{z-index:10;background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--glass-edge);position:sticky;top:0}.tabbar{background:var(--glass-strong);border-top:1px solid var(--glass-edge);box-shadow:0 -1px 24px #00000024}.finding,.cert-note,.place-card,.times-list,.sheet{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge);box-shadow:var(--shadow-soft)}.times-list{background:var(--paper);-webkit-backdrop-filter:none}.mihrab-card,.verdict{box-shadow:var(--shadow-soft)}.lang-switch,.btn-appearance,.btn.ghost,.filters button{background:var(--glass);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-edge)}.lang-switch button[aria-pressed=true]{background:var(--glass-strong);box-shadow:0 1px 3px #0000002e}.live-caption{box-shadow:var(--shadow-soft);-webkit-backdrop-filter:none;backdrop-filter:none}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(42rem 42rem at 78% -8%, color-mix(in srgb, var(--emerald) 42%, transparent), transparent 70%), radial-gradient(34rem 34rem at 8% 108%, color-mix(in srgb, var(--gold) 22%, transparent), transparent 70%);position:fixed;top:-20%;bottom:-20%;left:-20%;right:-20%}[data-theme=contrast]{--glass:var(--night-soft);--glass-strong:var(--night-soft);--glass-edge:var(--on-surface);--shadow-soft:none}[data-theme=contrast] body:before{display:none}[data-theme=contrast] .header,[data-theme=contrast] .tabbar,[data-theme=contrast] .finding,[data-theme=contrast] .sheet,[data-theme=contrast] .lang-switch,[data-theme=contrast] .btn.ghost{-webkit-backdrop-filter:none;border-width:2px}@media (prefers-reduced-motion:reduce){body:before{background-attachment:initial}}body:before{background:radial-gradient(46rem 46rem at 80% -10%, color-mix(in srgb, var(--emerald) 70%, transparent), transparent 68%), radial-gradient(38rem 38rem at 4% 106%, color-mix(in srgb, var(--gold) 34%, transparent), transparent 70%)}.mihrab-card{border:1px solid color-mix(in srgb, var(--gold) 55%, transparent)}.verdict{border:1px solid color-mix(in srgb, var(--on-accent) 22%, transparent)}.times-list{box-shadow:var(--shadow-soft)}.lang-switch button[aria-pressed=true]{background:var(--emerald);color:var(--on-accent);-webkit-backdrop-filter:none}.tabbar button{opacity:.72}[data-tone=light]{--gold:#7a5c14}.header,.tabbar{background:color-mix(in srgb, var(--night) 94%, transparent)}.finding,.cert-note,.place-card,.sheet{background:color-mix(in srgb, var(--night-soft) 82%, transparent)}.place-card{color:var(--on-surface)}.place-card .meta{color:color-mix(in srgb, var(--on-surface) 78%, transparent)}.hit.haram,[data-tone=light] .hit.mushbooh,[data-tone=light] .badge.mushbooh,[data-tone=light] .badge.shop{color:var(--on-accent)}.screen-mode{z-index:100;color:#fff;text-align:center;background:#04100c;flex-direction:column;justify-content:center;align-items:center;gap:2rem;padding:4vh 5vw;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.screen-caption{letter-spacing:-.01em;text-wrap:balance;max-width:22ch;margin:0;font-size:clamp(2rem,6.5vw,5.5rem);font-weight:600;line-height:1.35}.screen-join{align-items:center;gap:1rem;display:flex;position:absolute;bottom:4vh}.screen-join:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:4vw}.screen-join:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:4vw}.screen-join:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:4vw}.screen-join:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:4vw}.screen-join svg{background:#fff;border-radius:10px;width:clamp(90px,9vw,150px);height:auto;padding:.4rem}.screen-room{letter-spacing:.08em;color:var(--gold-soft);margin:0;font-size:clamp(1rem,1.6vw,1.6rem);font-weight:700}.screen-exit{color:#ffffffbf;cursor:pointer;background:0 0;border:1px solid #ffffff59;border-radius:999px;padding:.5rem 1.1rem;font-size:.95rem;position:absolute;top:3vh}.screen-exit:not(:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:4vw}.screen-exit:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:4vw}.screen-exit:-webkit-any(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:4vw}.screen-exit:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:4vw}.screen-exit:hover{color:#fff;border-color:#ffffffb3}@media (orientation:portrait){.screen-join{flex-direction:column;position:static}}.diag{margin-top:1.5rem}.diag>summary{cursor:pointer;padding:.6rem 0;font-weight:600}.diag-list{margin:1rem 0 .8rem;padding:0;list-style:none}.diag-list li{border-bottom:1px solid var(--hairline);grid-template-columns:auto 1fr;gap:.1rem .6rem;padding:.65rem 0;display:grid}.diag-dot{grid-row:span 2;align-self:center;font-size:1.1rem;line-height:1}.diag-name{font-size:.95rem;font-weight:600}.diag-detail{color:var(--on-surface-dim);font-size:.85rem}.diag-ok .diag-dot{color:#3fa76d}.diag-aviso .diag-dot{color:var(--gold)}.diag-fallo .diag-dot{color:var(--danger)}.salat-settings,.fast-card{border-radius:var(--radius-card);background:color-mix(in srgb, var(--on-surface) 6%, transparent);margin:.8rem 0;padding:.2rem .9rem}.salat-settings summary,.fast-card summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.7rem 0;font-weight:600;display:flex}.fast-card .fast-times{margin-inline-start:auto;font-weight:400}.salat-settings label{margin:.4rem 0 .7rem;font-size:.85rem;display:block}.salat-settings select{background:var(--night-soft);width:100%;color:var(--on-surface);margin-top:.3rem;padding:.55rem .7rem;display:block}.fast-card .fast-left{margin:0 0 .8rem}.place-card .directions{min-height:36px;margin-top:.55rem;padding:.4rem .8rem;font-size:.85rem;text-decoration:none}:root{--safe-top:max(env(safe-area-inset-top,0px), var(--safe-area-inset-top,0px))}.header{padding-top:calc(1rem + var(--safe-top))}.screen-mode{padding-top:calc(4vh + var(--safe-top))}.phrase-sheet{padding-top:calc(1.2rem + var(--safe-top))}.sheet{max-height:calc(88vh - var(--safe-top))}.live-caption{top:calc(.4rem + var(--safe-top))}.feedback-card{border-radius:var(--radius-card);background:color-mix(in srgb, var(--on-surface) 6%, transparent);margin:0 0 1rem;padding:.2rem .9rem .6rem}.feedback-card summary{cursor:pointer;padding:.7rem 0;font-weight:600}.feedback-card label{flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.feedback-card textarea{resize:vertical;min-height:6rem;font:inherit}
