/* build 2026-06-11-r4 */
#ptapp{
  --bg:#FBF8F0;          /* ivory page */
  --surface:#FFFFFF;     /* cards */
  --surface2:#F4EFE2;    /* raised/inset */
  --line:#DDD6C3;
  --text:#2C2B22;
  --faded:#6E6A5A;
  --gold:#B58A2A;        /* menorah brass */
  --gold-deep:#8A6A1D;
  --gold-bright:#E8B83F;
  --green:#2F6B3A;       /* wreath green */
  --moon:#4A6B96;        /* slate blue for the moon */
  --blood:#9E3B30;       /* reminder accent */
  --sans:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}
/* base-element defense: keep the site's global element styles out of the app */
#ptapp a, #ptapp a:link, #ptapp a:visited{color:var(--gold-deep);text-decoration:none}
#ptapp a:hover, #ptapp a:active{color:var(--gold);text-decoration:underline}
#ptapp h1,#ptapp h2,#ptapp h3,#ptapp p,#ptapp ul,#ptapp ol,#ptapp li{margin:0;padding:0;border:0;background:none}
#ptapp ul,#ptapp ol{list-style:none}
#ptapp img,#ptapp svg{border:0;max-width:100%;vertical-align:middle}
#ptapp table{border-collapse:collapse}
#ptapp{padding:12px 14px 30px;border-radius:12px}
#ptapp, #ptapp *{box-sizing:border-box;margin:0;padding:0}#ptapp{
  background:
    radial-gradient(1100px 500px at 85% -10%, #F3E9CC 0%, transparent 60%),
    radial-gradient(900px 460px at 8% 0%, #E9EFE4 0%, transparent 55%),
    var(--bg);
  color:var(--text);
  font-family:var(--sans);
  line-height:1.55;
  min-height:100vh;
}#ptapp .wrap{max-width:1060px;margin:0 auto;padding:20px 18px 64px}#ptapp a{color:var(--green)}#ptapp a:hover{color:var(--gold-deep)}#ptapp button{font:inherit;cursor:pointer}#ptapp :focus-visible{outline:2px solid var(--gold);outline-offset:2px}#ptapp .num{font-variant-numeric:tabular-nums}#ptapp /* ---------- header ---------- */
header{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px;border-bottom:2px solid var(--gold);padding-bottom:14px;margin-bottom:18px}#ptapp .brand{font-size:1.45rem;font-weight:700;letter-spacing:.06em;color:var(--green)}#ptapp .brand b{color:var(--gold-deep);font-weight:800}#ptapp .tagline{color:var(--faded);font-size:.9rem;letter-spacing:.02em}#ptapp .live{margin-left:auto;text-align:right;font-variant-numeric:tabular-nums}#ptapp .live .clock{font-size:1.25rem;font-weight:600;color:var(--gold-deep)}#ptapp .live .nowel{font-size:.82rem;color:var(--faded)}#ptapp /* ---------- bars ---------- */
.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin-bottom:14px;box-shadow:0 1px 3px rgba(80,70,40,0.06)}#ptapp .lbl{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}#ptapp .bar input[type=number]{width:108px;background:#FFF;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:6px 8px;font:inherit;font-variant-numeric:tabular-nums}#ptapp .bar input[type=date]{background:#FFF;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:6px 8px;font:inherit;color-scheme:light}#ptapp .btn{background:var(--surface2);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:6px 12px;font-weight:500;transition:background .15s,border-color .15s}#ptapp .btn:hover{background:#ECE5D2;border-color:var(--gold)}#ptapp .btn.gold{background:linear-gradient(180deg,var(--gold-bright),var(--gold));border-color:#9A7522;color:#2A2007;font-weight:700}#ptapp .btn.gold:hover{filter:brightness(1.06)}#ptapp .btn.small{padding:4px 9px;font-size:.85rem}#ptapp .coords{color:var(--faded);font-size:.88rem;font-variant-numeric:tabular-nums}#ptapp .navdate{font-size:1rem;font-weight:600;color:var(--green);min-width:230px;text-align:center}#ptapp .spacer{flex:1}#ptapp /* ---------- day arc (signature) ---------- */
.arcbox{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px 18px 6px;margin-bottom:16px;overflow:hidden;box-shadow:0 1px 3px rgba(80,70,40,0.06)}#ptapp .eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:4px}#ptapp .arc-title{font-size:1.3rem;font-weight:650;letter-spacing:-.01em}#ptapp .arcsvg{width:100%;height:auto;display:block}#ptapp .arcnote{color:var(--faded);font-size:.84rem;text-align:center;padding:4px 0 10px}#ptapp /* ---------- cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:18px}#ptapp .card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;box-shadow:0 1px 3px rgba(80,70,40,0.06)}#ptapp .card h2{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin-bottom:10px;display:flex;align-items:center;gap:8px}#ptapp .card h2 .dot{width:9px;height:9px;border-radius:50%;display:inline-block}#ptapp .dot.gold{background:var(--gold)}#ptapp .dot.silver{background:var(--moon)}#ptapp .dot.red{background:var(--blood)}#ptapp .row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px dotted #E4DECB;font-variant-numeric:tabular-nums}#ptapp .row:last-child{border-bottom:none}#ptapp .row .k{color:var(--faded)}#ptapp .row .v{text-align:right}#ptapp .row .v small{color:var(--faded)}#ptapp .big{font-size:1.45rem;font-weight:650;color:var(--gold-deep);font-variant-numeric:tabular-nums}#ptapp /* prayer hours */
.hours{display:grid;gap:10px}#ptapp .hour{border:1px solid var(--line);border-left:4px solid var(--blood);border-radius:9px;padding:10px 13px;background:#FFFDF7}#ptapp .hour .top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}#ptapp .hour .name{font-size:1rem;font-weight:600;letter-spacing:.01em}#ptapp .hour .name small{color:var(--faded);font-weight:400}#ptapp .hour .t{font-size:1.3rem;font-weight:650;color:var(--gold-deep);font-variant-numeric:tabular-nums}#ptapp .hour .remember{margin-top:4px;color:var(--blood);font-size:.93rem}#ptapp .hour .ref{color:var(--faded);font-size:.78rem}#ptapp .hour.now{border-left-color:var(--gold);box-shadow:0 0 0 1px var(--gold-bright) inset;background:#FCF6E3}#ptapp .hour.past{opacity:.62}#ptapp .nextup{margin-top:10px;color:var(--faded);font-size:.9rem}#ptapp .nextup b{color:var(--gold-deep);font-variant-numeric:tabular-nums}#ptapp /* crescent */
.sight{border:1px solid #D9C27E;background:linear-gradient(180deg,#FBF3DC,#FFFDF7);border-radius:9px;padding:10px 13px;margin-bottom:10px}#ptapp .sight .when{font-size:1.12rem;font-weight:650;color:var(--gold-deep)}#ptapp .badge{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border-radius:5px;padding:2px 7px;vertical-align:middle}#ptapp .badge.ecl{background:#F6E3E0;border:1px solid #C98279;color:#8E3B30}#ptapp /* month view */
.month{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin-bottom:18px;box-shadow:0 1px 3px rgba(80,70,40,0.06)}#ptapp .mhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}#ptapp .mtitle{font-size:1.15rem;font-weight:650;color:var(--green);min-width:200px;text-align:center}#ptapp .mgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}#ptapp .dow{font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--faded);text-align:center;padding:4px 0}#ptapp .cell{min-height:74px;background:#FFFDF7;border:1px solid #E4DECB;border-radius:8px;padding:6px 7px;font-size:.78rem;cursor:pointer;position:relative;transition:border-color .15s}#ptapp .cell:hover{border-color:var(--gold)}#ptapp .cell .d{color:var(--faded)}#ptapp .cell .e{font-variant-numeric:tabular-nums;font-weight:600;font-size:.88rem;color:var(--text)}#ptapp .cell .w{color:var(--faded);font-size:.7rem}#ptapp .cell.blank{background:transparent;border-color:transparent;cursor:default;box-shadow:none}#ptapp .cell.today{border-color:var(--gold);border-width:1.5px}#ptapp .cell.sel{box-shadow:0 0 0 2px var(--gold-bright) inset}#ptapp .cell.sight{background:#FBF3DC;border-color:#C9A93E}#ptapp .cell.sight .e{color:var(--gold-deep)}#ptapp .cell .mark{position:absolute;top:5px;right:6px;font-size:.78rem}#ptapp .legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:var(--faded);font-size:.8rem}#ptapp .legend span{display:flex;align-items:center;gap:6px}#ptapp .swatch{width:13px;height:13px;border-radius:4px;display:inline-block}#ptapp /* visibility map + day slider */
.viscanvas{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:8px;background:#EDF1F4}#ptapp .maptitle{font-size:1.05rem;font-weight:600;color:var(--green);margin-bottom:8px}#ptapp .sliderwrap{position:relative;margin-top:14px}#ptapp .needle{position:absolute;top:0;height:58px;width:2px;background:var(--gold);pointer-events:none;opacity:.95}#ptapp #timeSlider{width:100%;margin-top:6px;accent-color:var(--gold);cursor:pointer}#ptapp .readout{margin-top:8px;font-size:1rem;color:var(--gold-deep);font-variant-numeric:tabular-nums;font-weight:600}#ptapp .skyflex{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-top:8px}#ptapp .readout2{flex:1;min-width:240px}#ptapp summary.lbl{cursor:pointer;list-style-position:outside}#ptapp .yrow{display:grid;grid-template-columns:44px 1fr 1fr 90px;gap:8px;padding:6px 4px;border-bottom:1px dotted #E4DECB;font-variant-numeric:tabular-nums;font-size:.9rem;align-items:center}#ptapp .yrow.head{color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}#ptapp .yrow .golink{background:none;border:none;color:var(--gold-deep);padding:0;text-align:left;text-decoration:underline dotted}#ptapp .yrow .golink:hover{color:var(--green)}
@media (max-width:640px){#ptapp .yrow{grid-template-columns:30px 1fr 1fr 70px;font-size:.78rem}}#ptapp /* moon phase icons */
.micon{vertical-align:-2.5px}#ptapp /* month elongation chart */
.chartwrap{margin-top:14px;border-top:1px dotted #E4DECB;padding-top:12px}#ptapp /* all-twelve-hours panel */
details.hours12{margin-top:10px;border:1px solid var(--line);border-radius:9px;background:#FAF7EE}#ptapp details.hours12 summary{cursor:pointer;padding:8px 13px;color:var(--faded);font-size:.85rem;font-weight:600;letter-spacing:.03em}#ptapp details.hours12 summary:hover{color:var(--text)}#ptapp details.hours12 .inner{padding:2px 13px 10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:2px 16px}#ptapp details.hours12 .h12{display:flex;justify-content:space-between;border-bottom:1px dotted #E4DECB;padding:3px 0;font-size:.85rem;color:var(--faded)}#ptapp details.hours12 .h12 b{color:var(--gold-deep);font-weight:600}#ptapp /* preset location chips */
.chip{background:#FFF;border:1px solid var(--line);color:var(--faded);border-radius:999px;padding:3px 11px;font-size:.8rem;font-weight:500}#ptapp .chip:hover{border-color:var(--gold);color:var(--text)}

@media print{#ptapp{background:#fff;color:#000}#ptapp .bar, #ptapp button, #ptapp .live, #ptapp .legend, #ptapp .mark{display:none!important}#ptapp .card, #ptapp .arcbox, #ptapp .month, #ptapp .hour, #ptapp details.hours12{background:#fff;border-color:#bbb;color:#000;box-shadow:none}#ptapp .cell{background:#fff;border-color:#ccc;color:#000;break-inside:avoid}#ptapp .cell .e, #ptapp .hour .t, #ptapp .big, #ptapp .mtitle, #ptapp .arc-title, #ptapp .sight .when{color:#000}#ptapp .row .k, #ptapp .cell .d, #ptapp .cell .w, #ptapp .tagline, #ptapp .eyebrow, #ptapp .coords, #ptapp .nextup, #ptapp .arcnote, #ptapp footer{color:#444}#ptapp .hour .remember{color:#333}#ptapp .sight{background:#fff;border-color:#bbb}#ptapp a{color:#000}
}#ptapp footer{color:var(--faded);font-size:.84rem;border-top:1px solid var(--line);padding-top:14px}#ptapp footer p{margin-bottom:6px}

@media (max-width:640px){#ptapp .live{margin-left:0;text-align:left}#ptapp .navdate{min-width:0;flex:1}#ptapp .cell{min-height:64px;font-size:.7rem}
}
@media (prefers-reduced-motion: reduce){#ptapp, #ptapp *{transition:none!important;animation:none!important} }#ptapp /* CSP-safe utility classes (no inline style attributes anywhere) */
.fullrow{grid-column:1/-1}#ptapp .mb16{margin-bottom:16px}#ptapp .mt6{margin-top:6px}#ptapp .mt8{margin-top:8px}#ptapp .mt10{margin-top:10px}#ptapp .m0{margin:0}#ptapp .pv4{padding:4px 0}#ptapp .pad30v{padding:30px 0}#ptapp .muted{color:var(--faded)}#ptapp .strong{color:var(--text)}#ptapp .goldb{color:var(--gold-deep)}#ptapp .helptext{margin-top:10px;font-size:.9rem;color:var(--faded);line-height:1.6}#ptapp .chartsvg, #ptapp .stripsvg{width:100%;height:auto;display:block}#ptapp .sw-z1{background:#E3B23C}#ptapp .sw-z2{background:#4C9A57}#ptapp .sw-z3{background:#CBD3E0;border:1px solid #AAB4C4}#ptapp .sw-sight{background:#FBF3DC;border:1px solid #C9A93E}#ptapp .sw-today{border:1.5px solid var(--gold)}#ptapp .needle{left:50%}#ptapp /* place search */
.placeinput{flex:1;min-width:210px;background:#FFF;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:6px 10px;font:inherit}#ptapp .placeinput:focus{border-color:var(--gold)}#ptapp .placeresults{flex-direction:column;align-items:stretch;gap:6px}#ptapp .placeresults .btn{text-align:left;font-variant-numeric:tabular-nums}#ptapp .placeresults .phead{font-size:.78rem;color:var(--faded)}#ptapp /* free-typing date field */
.dateinput{width:120px;background:#FFF;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:6px 8px;font:inherit;font-variant-numeric:tabular-nums;text-align:center}#ptapp .dateinput:focus{border-color:var(--gold)}#ptapp .dateinput.bad{border-color:var(--blood);background:#FBECEA}#ptapp #dateMsg{color:var(--blood)}/* auto-hide the mouse cursor after idle (re-appears on any movement) */
#ptapp.cursor-idle, #ptapp.cursor-idle *{cursor:none !important}#ptapp /* time-zone toggle + era buttons + M/D/Y fields */
.archead{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}#ptapp .tzswitch{display:flex;gap:6px}#ptapp #tzNote{margin-bottom:4px}#ptapp .erabtns{display:flex;gap:4px}#ptapp .ymd{width:58px;background:#FFF;border:1px solid var(--line);border-radius:6px;color:var(--text);padding:6px 6px;font:inherit;font-variant-numeric:tabular-nums;text-align:center}#ptapp .ymd.yr{width:74px}#ptapp .ymd:focus{border-color:var(--gold)}#ptapp #dateMsg{color:var(--blood)}#ptapp #amYear{flex-basis:100%;text-align:center}#ptapp /* tool toolbar + sections */
.toolsec.tool-hidden{display:none}#ptapp .toolbar{position:sticky;top:0;z-index:30}#ptapp .orbsvg{width:100%;max-width:640px;height:auto;display:block;margin:0 auto}#ptapp .phrow{display:grid;grid-template-columns:120px 1fr 130px;gap:8px;padding:5px 4px;border-bottom:1px dotted #E4DECB;font-variant-numeric:tabular-nums;font-size:.9rem}#ptapp .phrow.head{color:var(--green);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}#ptapp .omergrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-top:10px}#ptapp .omercell{background:#FFFDF7;border:1px solid #E4DECB;border-radius:8px;padding:6px 8px;font-size:.8rem}#ptapp .omercell b{color:var(--gold-deep)}#ptapp .omercell.shav{background:#FBF3DC;border-color:#C9A93E}#ptapp .omercell.sab{border-left:3px solid var(--green)}#ptapp .cycbar{display:flex;gap:3px;margin:6px 0 10px;flex-wrap:wrap}#ptapp .cycseg{width:26px;height:18px;border-radius:4px;background:#EFEAD9;border:1px solid #DDD6C3;font-size:.65rem;text-align:center;line-height:18px;color:var(--faded)}#ptapp .cycseg.cur{background:var(--gold-bright);border-color:#9A7522;color:#2A2007;font-weight:700}#ptapp .cycseg.sab{background:#DDEBD9;border-color:#9DBE93}
@media (max-width:640px){#ptapp .phrow{grid-template-columns:90px 1fr 100px;font-size:.78rem}}#ptapp .bigmoon{float:right;margin:0 0 6px 10px}#ptapp .chkwrap{display:flex;align-items:center;gap:6px;cursor:pointer}#ptapp .chkwrap input{accent-color:var(--gold);width:15px;height:15px;cursor:pointer}#ptapp /* visibility-threshold explainer above the month grid */
.threshinfo{background:#FAF7EE;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:9px;padding:9px 13px;margin-bottom:10px;font-size:.88rem;color:var(--faded);line-height:1.55}#ptapp .threshinfo b{color:var(--text)}#ptapp .threshinfo .th1{color:var(--gold-deep);font-weight:700;font-variant-numeric:tabular-nums}#ptapp .threshinfo .th2{color:#8A6A1D;font-weight:600;font-variant-numeric:tabular-nums}#ptapp .threshinfo .th3{color:var(--faded);font-weight:600;font-variant-numeric:tabular-nums}

/* REMEMBER banner in the prayer-hours card */
#ptapp .remembanner{text-align:center;font-weight:800;letter-spacing:.06em;color:var(--blood);background:#FBEFEA;border:1px solid #D8A79E;border-radius:9px;padding:8px 10px;margin-bottom:10px;font-size:.95rem}
/* side arrows on the month view */
#ptapp .monthnavwrap{position:relative}
#ptapp .sidearrow{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:34px;height:56px;border-radius:10px;border:1px solid #9A7522;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#2A2007;font-size:1.5rem;font-weight:800;line-height:1;opacity:.85;cursor:pointer}
#ptapp .sidearrow:hover{opacity:1}
#ptapp .sidearrow.left{left:-2px}
#ptapp .sidearrow.right{right:-2px}
@media (max-width:760px){#ptapp .sidearrow{width:26px;height:44px;font-size:1.2rem}}

/* year slider */
#ptapp .ysdate{text-align:center;font-size:1.18rem;font-weight:700;color:var(--green);margin-bottom:6px;font-variant-numeric:tabular-nums}
#ptapp .ysdate small{color:var(--faded);font-weight:500}
#ptapp .yssvg{width:100%;height:auto;display:block;border:1px solid var(--line);border-radius:9px;background:#FFFDF7}
#ptapp #yearSlider{width:100%;margin-top:6px;accent-color:var(--gold)}
#ptapp .yslegend{margin-top:6px;text-align:center}

/* the app's ivory panel runs edge to edge of the site content area */
#ptapp{max-width:none;margin:0;border-radius:0}

/* FINAL RULE — wins over the universal reset above: breathing room inside the app panel.
   Background stays edge-to-edge; this padding is inside it (matches the site's ~1em gutters). */
#ptapp{padding:18px 18px 36px}
@media (max-width:640px){#ptapp{padding:12px 10px 28px}}

/* clicked tool scrolls into view; keep it clear of the sticky toolbar */
#ptapp .toolsec{scroll-margin-top:64px}

/* draggable sun on the arc */
#ptapp .sunhandle{cursor:grab;touch-action:none;outline:none}
#ptapp .sunhandle:active{cursor:grabbing}
#ptapp .sunhandle:focus-visible circle:nth-child(2){stroke-width:3.5}
