@font-face{font-family:Ritesh Serif;font-weight:300 800;src:url(/games/lamplighter/play/fonts/RiteshSerif-VF.woff2)format("woff2");font-display:swap}@font-face{font-family:Ritesh Serif;font-style:italic;font-weight:300 800;src:url(/games/lamplighter/play/fonts/RiteshSerif-Italic-VF.woff2)format("woff2");font-display:swap}@font-face{font-family:Vedu Sans;font-weight:300 900;src:url(/games/lamplighter/play/fonts/VeduSans-VF.woff2)format("woff2");font-display:swap}:root{--page:#0f0d12;--page-deep:#08070a;--ink:#f1e6d2;--muted:#a6a49c;--accent:#f2a93b;--accent-ink:#1c1307;--panel:#1b1612;--line:#4a3826;--copper:#c8773f;--copper-deep:#6e3a1a;--brass:#c9a24a;--stone:#2a3140;--ruby:#ff5a73;--jade:#3fd9a0;--kerb:0 0 0 1px #000, 0 0 0 5px #23262c, 0 0 0 6px #3a3e46, 0 22px 44px #000000b3;--grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .95 0 0 0 0 .85 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");--display:"Ritesh Serif", Georgia, serif;--ui:"Vedu Sans", system-ui, sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}body{background:var(--grain), radial-gradient(90% 40% at 50% 0%, #f2a93b12, transparent 70%), linear-gradient(180deg, var(--page), var(--page-deep));color:var(--ink);font:500 16px/1.45 var(--ui);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background-attachment:fixed}:root{--sat:var(--safe-area-inset-top,env(safe-area-inset-top,0px));--sab:var(--safe-area-inset-bottom,env(safe-area-inset-bottom,0px))}body{overflow:hidden}#app{max-width:520px;height:100dvh;padding:var(--sat) 0 var(--sab);flex-direction:column;margin:0 auto;display:flex;overflow:hidden auto}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:0}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--accent);outline-offset:2px}h1,h2,h3{font-family:var(--display);margin:0;font-weight:800}.home{flex-direction:column;flex:1 0 auto;align-items:center;gap:10px;padding:30px 20px 22px;display:flex}.mast{text-align:center}.mast h1{color:var(--accent);letter-spacing:.01em;text-shadow:0 0 22px #f2a93b4d,0 2px #3a2208;font-size:50px;line-height:1}.tag{color:var(--muted);letter-spacing:.02em;margin:10px 0 0;font-style:italic;font-weight:500}.hero{width:clamp(150px, calc(100dvh - var(--sat) - var(--sab) - 540px), 290px);aspect-ratio:1;flex:none;margin:2px 0 0}.hero-board{width:min(84vw,320px);height:clamp(96px, calc((100dvh - var(--sat) - var(--sab)) * .17), 150px);opacity:.9;flex:none;margin:-34px 0 0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000 0,#000 38% 52%,#0000 100%);mask-image:linear-gradient(#0000 0,#000 38% 52%,#0000 100%)}.hero-board>*{aspect-ratio:6/7;width:100%;position:absolute;top:50%;left:0;transform:translateY(-46%)}.hero img{object-fit:cover;width:100%;height:100%;display:block;-webkit-mask-image:radial-gradient(52% 50% at 50% 48%,#000 55%,#0000 100%);mask-image:radial-gradient(52% 50% at 50% 48%,#000 55%,#0000 100%)}.home-actions{flex-direction:column;gap:12px;width:100%;margin-top:auto;display:flex}.daily{text-align:left;background:var(--grain), linear-gradient(180deg, #f8c25f, #e29a2c);color:var(--accent-ink);border-radius:12px;grid-template-columns:1fr auto;align-items:center;padding:16px 18px;display:grid;box-shadow:inset 0 2px #fff1cd99,inset 0 0 0 1.5px #4626068c,0 5px #7a4710,0 10px 22px #00000080}.daily .kicker{font-family:var(--display);grid-column:1;font-size:22px;font-weight:800}.daily .daily-status{grid-column:1;font-size:14px;font-weight:700}.daily .go,.daily .flames{grid-area:1/2/3}.daily .go{background:var(--accent-ink);color:var(--accent);font-weight:700;font-family:var(--display);border-radius:8px;padding:9px 16px}.daily .flames i{background:#0003}.daily .flames i.on{box-shadow:none;background:radial-gradient(circle at 50% 45%,#fff 0 18%,#3a2205 24%)}.big{background:var(--grain), var(--panel);box-shadow:inset 0 1px 0 #ffe2aa1f, inset 0 0 0 1.5px var(--line), 0 4px 0 #050403, 0 8px 18px #0006;font-family:var(--display);color:var(--ink);border:0;border-radius:12px;justify-content:space-between;align-items:center;padding:16px 18px;font-size:20px;font-weight:800;display:flex}.big .count{font:700 14px var(--ui);color:var(--muted)}.home-nav{justify-content:center;gap:28px;display:flex}.home-nav button{color:var(--muted);font-family:var(--display);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);padding:8px;font-weight:700}.flames{gap:6px;display:inline-flex}.flames i{background:var(--line);border-radius:50%;width:16px;height:16px;display:block}.flames i.on{background:radial-gradient(circle at 50% 45%, #fffaf0 0 15%, var(--accent) 45%, #c46d12 100%);box-shadow:0 0 10px #ffb43cb3}.bar{grid-template-columns:44px 1fr 44px;align-items:center;gap:8px;padding:10px 12px 6px;display:grid}.bar h2{text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--ink);font-size:21px;line-height:1.15;overflow:hidden}.bar h2 small{font:700 12px var(--ui);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;display:block}.icon{border:1px solid var(--line);width:44px;height:44px;color:var(--ink);background:0 0;border-radius:4px;font-size:19px;font-weight:700}.bar-note{color:var(--muted);text-align:right;min-width:44px;font-weight:700}.streets{flex:1 0 auto}.list{padding:0 14px 28px}.street{border-top:1px solid var(--line);background:0 0;border-radius:0;margin:14px 0 0;padding:16px 12px 12px}.street-head{justify-content:space-between;align-items:baseline;gap:8px;padding:0 4px;display:flex}.street h3{color:var(--accent);font-size:22px}.street .note{color:var(--muted);font-size:13px;font-weight:700}.street-about{color:var(--muted);margin:2px 4px 10px;font-size:14px}.posts{grid-template-columns:repeat(4,1fr);gap:10px;padding-top:4px;display:grid}.post{background:var(--grain), var(--panel);border:2px solid var(--line);min-height:72px;color:var(--ink);touch-action:manipulation;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:8px 4px;display:flex;position:relative;box-shadow:inset 0 1px #ffe2aa1f,0 3px #050403}.post .head{font:700 24px/1 var(--ui);place-items:center;display:grid}.post.lit{background:radial-gradient(circle at 50% 38%, #fffaf0 0 8%, var(--accent) 48%, #c46d12 100%);color:var(--accent-ink);box-shadow:0 0 16px #ffb43c73}.post.next{border-color:var(--accent);animation:1.6s ease-in-out infinite beckon;box-shadow:0 0 0 3px #ffb43c4d}.post.locked{background:var(--page-deep);border-color:var(--line);color:var(--muted);opacity:.75}.post.locked .head:after{content:"🔒";filter:grayscale();font-size:13px;position:absolute;top:6px;right:7px}.streets-note{max-width:520px;padding:14px 16px calc(14px + var(--sab));text-align:center;background:var(--page-deep);border-top:1px solid var(--line);color:var(--accent);opacity:0;visibility:hidden;pointer-events:none;z-index:20;margin:0 auto;font-weight:700;transition:opacity .2s;position:fixed;bottom:0;left:0;right:0}.streets-note.show{opacity:1;visibility:visible}.post .flames{gap:3px;min-height:9px}.post .flames i{width:9px;height:9px}.post .flames i.on{box-shadow:none}@keyframes beckon{50%{box-shadow:0 0 0 6px #ffb43c1f}}.play{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.chain{justify-content:center;align-items:center;gap:0;margin:0 0 8px;display:flex}.chain i{background:var(--page-deep);border:1.5px solid var(--copper-deep);border-radius:50%;width:10px;height:10px;margin:0 7px;display:block;position:relative}.chain i+i:before{content:"";background:var(--copper-deep);width:14px;height:1.5px;margin-right:1px;position:absolute;top:3px;right:100%}.chain i.lit{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px #ffb43cb3}.chain i.here{background:var(--page);border-color:var(--accent);width:14px;height:14px}.tally{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,1fr);margin:0 18px;padding:6px 0;display:grid}.tally .count+.count{border-left:1px solid var(--line)}.count{flex-direction:column;align-items:center;display:flex}.count b{font:800 22px/1.15 var(--display);color:var(--ink)}.count span{color:var(--muted);font-size:12px;font-weight:700}.count.over b{color:var(--ruby)}.stage{flex:1;min-height:0;margin:20px 21px 10px;position:relative}.board{touch-action:none;place-items:center;display:grid;position:absolute;inset:0}.board canvas{box-shadow:var(--kerb);touch-action:none;border-radius:2px;display:block}.hero .board canvas{box-shadow:none;border-radius:0}.say{text-align:center;min-height:2.9em;color:var(--ink);margin:8px 18px 0;font-size:15px;font-weight:500}.tools{grid-template-columns:1fr 1.25fr 1.75fr;gap:8px;padding:6px 12px 14px;display:grid}.tools button,.actions button{background:var(--grain), var(--panel);box-shadow:inset 0 1px 0 #ffe2aa1f, inset 0 0 0 1.5px var(--line), 0 3px 0 #050403;font-family:var(--display);color:var(--ink);border:0;border-radius:10px;padding:13px 10px;font-weight:700}.tools button:active,.actions button:active{box-shadow:inset 0 0 0 1.5px var(--line), 0 1px 0 #050403;transform:translateY(2px)}.tools .primary,.actions .primary{background:var(--grain), linear-gradient(180deg, #f8c25f, #e29a2c);color:var(--accent-ink);box-shadow:inset 0 2px #fff1cd99,inset 0 0 0 1.5px #4626068c,0 3px #7a4710}.tools .primary:active,.actions .primary:active{box-shadow:inset 0 0 0 1.5px #4626068c,0 1px #7a4710}.tools button{white-space:nowrap;padding-left:6px;padding-right:6px;font-size:15px}.tools small,.actions small{background:#0000002e;border-radius:4px;margin-left:3px;padding:1px 5px;font-size:11px}.sheet{z-index:10;background:#03060e9e;justify-content:center;align-items:flex-end;animation:.18s ease-out fade;display:flex;position:fixed;inset:0}.sheet-card{background:var(--grain), var(--panel);width:min(100%,520px);padding:24px 22px calc(22px + env(safe-area-inset-bottom));text-align:center;border-top:1px solid var(--line);border-radius:6px 6px 0 0;max-height:92dvh;animation:.24s cubic-bezier(.2,.9,.3,1.1) rise;overflow:auto;box-shadow:0 -10px 40px #00000080}.sheet-card h2{color:var(--accent);margin:8px 0 6px;font-size:28px}.sheet-card .flames i{width:26px;height:26px}.sub{color:var(--muted);margin:0 0 14px}.stats{justify-content:center;gap:28px;margin:4px 0 18px;display:flex}.stats div{flex-direction:column;display:flex}.stats b{font:800 24px var(--display)}.stats span{color:var(--muted);font-size:12px;font-weight:700}.actions{flex-direction:column;gap:10px;display:flex}.actions .plain{box-shadow:none;color:var(--muted);text-underline-offset:3px;background:0 0;border:0;text-decoration:underline}.howto{text-align:left;margin:6px 0 18px;padding-left:22px}.howto li{margin:7px 0}.howto b{color:var(--ink)}.g{font-weight:700}.g.ruby{color:var(--ruby)}.g.jade{color:var(--jade)}.toggle{border-bottom:1.5px solid var(--line);justify-content:space-between;align-items:center;padding:12px 4px;font-weight:700;display:flex}.toggle input{width:22px;height:22px;accent-color:var(--accent)}.link{color:var(--accent);margin:12px 0 0;font-weight:700;text-decoration:underline}.fine{color:var(--muted);margin:16px 0;font-size:12px}.fine a{color:inherit}[data-look=fog] body{background:radial-gradient(120% 60% at 50% 0%, #a0c8c81a, transparent 70%), linear-gradient(180deg, var(--page), var(--page-deep))}[data-look=fog] .mast h1{text-shadow:0 0 26px #ffcf738c}[data-look=ink] .mast h1{text-shadow:3px 3px 0 var(--copper-deep)}[data-look=ink] .board canvas,[data-look=ink] .hero{box-shadow:0 0 0 3px var(--accent), 6px 6px 0 3px var(--copper-deep)}[data-look=ink] .daily{background:var(--accent);box-shadow:5px 5px 0 var(--copper-deep)}@keyframes fade{0%{opacity:0}}@keyframes rise{0%{opacity:.6;transform:translateY(40px)}}@media (prefers-reduced-motion:reduce){.sheet,.sheet-card,.post.next .head{animation:none}}@media (height<=700px){.mast h1{font-size:40px}.home{padding-top:18px}}.tale{--muted:#a99d86;--ink:#f1e6cc;background:radial-gradient(110% 50% at 50% 0%, #f2a93b1a, transparent 70%), linear-gradient(180deg, var(--page), var(--page-deep))}.map{flex-direction:column;flex:1 0 auto;display:flex}.map-wrap{box-shadow:0 0 0 1px var(--line), 0 10px 30px #00000073;border-radius:6px;margin:0 8px 12px;position:relative;overflow:hidden}.map-img{width:100%;height:auto;display:block}.node{touch-action:manipulation;background:0 0;border:0;align-items:center;gap:8px;min-width:48px;min-height:48px;padding:6px;display:flex;position:absolute;transform:translate(-50%,-50%)}.node.left{flex-direction:row-reverse}.node .pin{background:#1b1712;border-radius:50%;flex:none;width:22px;height:22px;box-shadow:0 0 0 2px #7a6a52,0 0 0 4px #00000059}.node.open .pin{background:#8d7a58;box-shadow:0 0 0 2px #f2a93b,0 0 0 4px #00000059}.node.here .pin,.node.lit .pin{background:radial-gradient(circle at 50% 45%,#fffaf0 0 18%,#f2a93b 50%,#c46d12 100%);box-shadow:0 0 0 2px #fff0c8,0 0 18px 6px #ffb43c8c}.node.here .pin{animation:1.6s ease-in-out infinite beckon}.node .tag-label{text-align:left;color:#f6ead0;background:#0e0b08cc;border-radius:6px;padding:4px 9px 5px;line-height:1.15;display:grid;box-shadow:0 0 0 1px #f2a93b59}.node.left .tag-label{text-align:right}.node .tag-label b{font:800 16px var(--display)}.node .tag-label small{font:700 12px var(--ui);color:#f2c97a}.node.locked .tag-label{opacity:.6}.node:focus-visible .pin{outline:3px solid var(--accent);outline-offset:3px}.town{flex:1 0 auto;min-height:100%}.town-art{max-width:420px;margin:0 auto;padding:0 14px}.town-art img{object-fit:cover;object-position:50% 62%;width:100%;height:auto;max-height:34vh;display:block;-webkit-mask-image:radial-gradient(54% 52% at 50% 48%,#000 55%,#0000 100%);mask-image:radial-gradient(54% 52% at 50% 48%,#000 55%,#0000 100%)}.town-body{margin-top:-8px;padding:0 18px 28px}.town-body h3{text-align:center;color:var(--accent);text-shadow:0 0 18px #f2a93b59;font-size:26px}.town-line{text-align:center;color:var(--muted);margin:2px 0 14px;font-style:italic}.story{z-index:60;padding:var(--sat) 0 var(--sab);flex-direction:column;align-items:center;animation:.35s both storyIn;display:flex;position:fixed;inset:0;overflow-y:auto}.story-art{flex:none;place-items:center;width:100%;max-width:440px;height:min(50dvh,560px);margin:0;padding:8px 12px 0;display:grid;overflow:hidden}.story-art img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;animation:.6s both artIn;display:block;-webkit-mask-image:radial-gradient(53% 51% at 50% 48%,#000 55%,#0000 100%);mask-image:radial-gradient(53% 51% at 50% 48%,#000 55%,#0000 100%)}.story-art img.still{animation:none}.story-text{flex:auto;width:100%;max-width:440px;padding:4px 26px 8px;font:500 19px/1.5 Ritesh Serif,Georgia,serif}.story-text p{margin:0 0 .7em}.story-text .coda{color:var(--accent);margin-top:1em;font-style:italic;font-weight:700}.story-foot{grid-template-columns:1fr auto auto;align-items:center;gap:10px;width:100%;max-width:440px;padding:8px 20px 18px;display:grid}.story-foot .dots{gap:6px;display:flex}.story-foot .dots i{background:var(--line);border-radius:50%;width:8px;height:8px}.story-foot .dots i.on{background:var(--accent)}.story-foot button{touch-action:manipulation;border:0;border-radius:6px;padding:13px 18px;font-weight:700}.story-foot .plain{color:var(--muted);text-underline-offset:3px;text-decoration:underline}.story-foot .primary{background:var(--grain), linear-gradient(180deg, #f8c25f, #e29a2c);color:var(--accent-ink);font-family:var(--display);border-radius:10px;min-width:130px;font-weight:800;box-shadow:inset 0 2px #fff1cd99,inset 0 0 0 1.5px #4626068c,0 3px #7a4710}.story-foot .primary:active{transform:translateY(2px);box-shadow:inset 0 0 0 1.5px #4626068c,0 1px #7a4710}@keyframes storyIn{0%{opacity:0}}@keyframes artIn{0%{opacity:0;transform:scale(1.02)}}@media (prefers-reduced-motion:reduce){.story,.story-art img{animation:none}}@media (height<=640px){.story-text{font-size:17px}.story-art{height:40dvh}}
