:root{--blue:#2227cc;--ink:#18181c;--paper:#f5f4f0;--line:#e5e4e0;--muted:#747478;--white:#fff;--radius:24px;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8588ff;outline-offset:4px}button:focus:not(:focus-visible){outline:none}[hidden]{display:none!important}.skip{position:fixed;top:-70px;left:12px;background:white;z-index:50;padding:12px}.skip:focus{top:12px}.header{max-width:1080px;margin:auto;padding:30px 32px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:8px;font-weight:900;font-size:30px;text-decoration:none;letter-spacing:-2px}.brand span{font-size:9px;letter-spacing:.5px;line-height:1.1;max-width:38px;border-left:1px solid var(--ink);padding-left:8px}.quiet-link{font-size:13px;text-decoration:none;color:var(--muted)}.quiet-link span{margin-left:8px}.shell{max-width:760px;margin:0 auto;padding:0 24px}.floor-picker{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 2px 20px;font-size:14px}.floor-picker nav{display:flex;gap:6px}.floor-picker a{border:1px solid var(--line);border-radius:99px;padding:10px 18px;text-decoration:none;background:white}.floor-picker a[aria-current]{background:var(--ink);color:white;border-color:var(--ink)}.hero{border-radius:var(--radius);background:var(--blue);color:white;position:relative;overflow:hidden;padding:38px 36px 34px;min-height:318px;isolation:isolate}.eyebrow{font-weight:700;letter-spacing:1.5px;font-size:10px;line-height:1.5;margin:0 0 20px}.hero h1{font-size:74px;line-height:.94;letter-spacing:-4px;margin:0;font-weight:800}.hero-sub{font-size:16px;margin:20px 0 24px;opacity:.85}.hero-copy{position:relative;z-index:2}.hero-cat{position:absolute;width:245px;right:14px;bottom:16px;z-index:1;transform:rotate(-7deg)}.floor-pill{border-radius:100px;background:white;color:var(--ink);display:inline-flex;gap:12px;align-items:center;padding:10px 18px;font-size:14px;font-weight:700}.pin{font-size:20px;line-height:1}.service-card{background:white;border:1px solid var(--line);padding:30px 32px;margin-top:16px;border-radius:var(--radius)}h2{font-size:24px;letter-spacing:-.7px;margin:0;line-height:1.15}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.tiny{font-size:12px;color:var(--muted)}.muted{font-size:14px;line-height:1.5;color:var(--muted)}#card-message{font-size:13px;margin:16px 0 0;min-height:20px}.warning{color:#a85d10!important}.service-dates{display:grid;grid-template-columns:1fr 1fr;margin:24px 0 20px}.service-dates>div{display:flex;flex-direction:column;gap:10px;padding-right:10px}.service-dates>div+div{border-left:1px solid var(--line);padding-left:24px}.service-dates span{font-size:12px;color:var(--muted)}.service-dates strong{font-size:21px;font-weight:700;line-height:1.25;letter-spacing:-.6px}.service-caption{font-size:12px;line-height:1.6;max-width:430px;color:var(--muted);margin:0 0 26px}.button{border-radius:100px;border:1px solid transparent;min-height:52px;padding:15px 24px;font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-decoration:none;transition:background .16s,transform .16s}.button:active{transform:translateY(1px)}.button-black{background:var(--ink);color:white;width:100%}.button-blue{background:var(--blue);color:white;width:100%}.button-outline{border-color:var(--ink);background:transparent;color:var(--ink)}.micro{font-size:11px;color:var(--muted);line-height:1.55;margin:12px 0 0}.text-button{background:none;border:0;font-size:13px;color:var(--blue);padding:12px 0;text-decoration:underline;text-underline-offset:4px}.game-teaser{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:36px 24px 28px}.game-teaser .eyebrow{color:var(--muted);margin-bottom:12px}.game-teaser h2{font-size:36px;line-height:1.05;letter-spacing:-1.5px}.game-teaser p:not(.eyebrow){font-size:13px;line-height:1.6;color:var(--muted);margin:14px 0 0}.game-caption{text-align:center;font-size:11px;color:var(--muted);line-height:1.5;max-width:350px;margin:24px auto}.footer{display:flex;justify-content:space-between;gap:16px;max-width:760px;margin:44px auto 0;padding:26px 26px 32px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}dialog{border:0;border-radius:24px;padding:28px;width:calc(100% - 32px);max-width:480px;max-height:calc(100dvh - 32px);color:var(--ink);box-shadow:0 20px 100px #0003}dialog::backdrop{background:#11134db3;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.dialog-heading h2{font-size:24px;max-width:280px}.close-button{background:var(--paper);border:0;border-radius:100%;width:36px;height:36px;font-size:26px;flex-shrink:0}label{display:block;font-size:13px;font-weight:700;margin:20px 0}.optional{font-weight:400;font-size:11px;color:var(--muted);margin-left:4px}input,select,textarea{width:100%;margin-top:8px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:13px;color:var(--ink);font-size:16px;line-height:1.3;min-height:48px}textarea{resize:vertical}.honeypot{position:absolute;left:-10000px}.form-message{font-size:13px;line-height:1.5;min-height:18px;color:#ad362e;margin:12px 0}.form-message.good{color:#277249}.success-state{text-align:center;padding:10px 0}.success-state img{height:150px;width:190px;object-fit:contain}.success-state h3{font-size:26px;letter-spacing:-.7px;margin:14px 0}.success-state p{font-size:14px;line-height:1.5}.success-state button{margin-top:24px}.admin-heading{padding:24px 0 30px}.admin-heading .eyebrow{color:var(--blue);margin-bottom:18px}.admin-heading h1,.empty-card h1{font-size:48px;letter-spacing:-2px;line-height:1.05;margin:0}.login-card{max-width:430px;background:white;border-radius:var(--radius);padding:28px;border:1px solid var(--line)}.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 20px}.tabs{display:flex;padding:5px;background:#eae9e4;border-radius:100px;gap:2px}.tabs button{border:0;border-radius:100px;background:none;min-height:42px;padding:10px 18px;font-size:13px;font-weight:700}.tabs button[aria-pressed=true]{background:white;box-shadow:0 2px 5px #0001}#new-count{color:var(--blue);padding-left:4px}.admin-device,.issue-card{background:white;border:1px solid var(--line);border-radius:20px;padding:26px;margin:16px 0}.admin-device-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.public-link{font-size:12px;color:var(--blue);text-decoration:none}.device-meta{display:flex;gap:30px;padding:22px 0;border-bottom:1px solid var(--line);margin-bottom:10px}.device-meta div{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.device-meta strong{font-size:16px;color:var(--ink)}details{border-top:1px solid var(--line);padding:18px 0 6px}details:first-of-type{border-top:0}summary{cursor:pointer;font-size:14px;font-weight:700;min-height:28px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.form-grid .full{grid-column:1/-1}.form-grid label{margin:12px 0}.secondary-button{background:var(--paper);color:var(--ink);width:100%;border-color:var(--line)}.small-history{padding:0;list-style:none;font-size:12px}.small-history li{padding:12px 0;border-bottom:1px solid var(--line);line-height:1.6}.small-history li:last-child{border-bottom:0}.small-history span{color:var(--muted);display:block;white-space:pre-wrap;overflow-wrap:anywhere}.issue-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.issue-toolbar label{margin:0;max-width:240px;width:100%;font-size:12px}.issue-card h3{font-size:18px;margin:14px 0}.issue-top{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);gap:10px}.badge{background:#f3e5cc;color:#8a5911;border-radius:99px;padding:5px 9px;font-weight:700}.badge.done{background:#e8f2e8;color:#367049}.issue-comment,.issue-contact{font-size:13px;line-height:1.6;overflow-wrap:anywhere;white-space:pre-wrap}.issue-contact{color:var(--muted)}.empty-card{padding:36px 12px}.empty-card p{color:var(--muted);line-height:1.6}.empty-card .button{max-width:250px}.preview-note{background:#ffed9f;text-align:center;padding:8px;font-size:12px}.saved-flash{color:#277249}.sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
@media(max-width:600px){.header{padding:22px 24px}.shell{padding:0 16px;max-width:470px}.hero{padding:28px 24px 26px;min-height:310px}.hero h1{font-size:64px;letter-spacing:-3px}.hero .eyebrow{font-size:9px;max-width:205px;margin-bottom:22px}.hero-sub{font-size:14px;margin:18px 0 26px}.hero-cat{width:190px;right:-24px;bottom:18px}.floor-pill{font-size:13px;position:relative}.service-card{padding:24px 22px}.section-heading{align-items:flex-start}.section-heading h2{font-size:22px}.section-heading .tiny{max-width:110px;text-align:right;line-height:1.4}.service-dates strong{font-size:18px;letter-spacing:-.4px}.service-dates>div+div{padding-left:18px}.service-dates{margin-top:22px}.button{padding:15px 20px}.game-teaser{padding:32px 10px 24px;gap:14px;flex-wrap:wrap}.game-teaser h2{font-size:34px}.game-teaser .button{min-width:160px;margin-left:auto}.game-teaser p:not(.eyebrow){font-size:12px}.footer{max-width:470px;padding:24px 20px;gap:24px;line-height:1.5}.admin-heading h1,.empty-card h1{font-size:39px}.tabs button{padding:10px 12px;font-size:12px}.admin-device,.issue-card{padding:22px 18px}.form-grid{grid-template-columns:minmax(0,1fr)}.form-grid .full{grid-column:auto}.admin-device-top{align-items:flex-start}.admin-device-top h2{font-size:22px}.device-meta{gap:20px}.device-meta strong{font-size:14px}.login-card{padding:24px}.floor-picker{font-size:12px}.floor-picker a{padding:9px 14px}.game-teaser .eyebrow{font-size:9px}}
@media(max-width:359px){.hero h1{font-size:56px}.hero-cat{width:164px;right:-24px;bottom:26px}.hero{padding:26px 20px}.hero .eyebrow{font-size:8px}.service-card{padding:22px 18px}.service-dates strong{font-size:16px}.service-dates>div+div{padding-left:13px}.service-dates span{font-size:11px}.button{font-size:13px}.section-heading .tiny{max-width:86px}.tabs button{padding:10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}


    #ris-water-pixels{padding:18px 12px}
    #ris-water-pixels *{box-sizing:border-box}
    #ris-water-pixels .ris-console{--ris-frame:#37d8ed;--ris-blue:#2227cc;--ris-night:#101064;--ris-ink:#14152d;--ris-paper:#fff7d2;--ris-yellow:#ffcf55;--ris-mint:#99efa4;--ris-coral:#ff8a91;width:100%;max-width:430px;margin:auto;background:var(--ris-frame);color:var(--ris-ink);padding:12px;border:4px solid var(--ris-ink);box-shadow:6px 6px 0 var(--ris-ink);font-family:'Courier New',monospace;font-size:14px;line-height:1.4}
    #ris-water-pixels .ris-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 2px 10px;font-weight:700}
    #ris-water-pixels .ris-tag{font-size:11px;letter-spacing:1px}
    #ris-water-pixels .ris-lights{display:flex;gap:5px}
    #ris-water-pixels .ris-lights i{display:block;width:7px;height:7px;background:var(--ris-ink)}
    #ris-water-pixels .ris-scoreboard{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;margin-bottom:10px}
    #ris-water-pixels .ris-counter{background:var(--ris-yellow);border:3px solid var(--ris-ink);padding:6px 5px;text-align:center;font-size:11px}
    #ris-water-pixels .ris-counter strong{display:block;font-size:23px;line-height:1.1;font-weight:700;font-variant-numeric:tabular-nums}
    #ris-water-pixels .ris-stage{position:relative;background:var(--ris-night);border:4px solid var(--ris-ink)}
    #ris-water-pixels canvas{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges}
    #ris-water-pixels .ris-screen-label{position:absolute;top:10px;left:50%;transform:translateX(-50%);padding:4px 9px;background:var(--ris-yellow);color:var(--ris-ink);border:2px solid var(--ris-ink);white-space:nowrap;font-size:12px;font-weight:700}
    #ris-water-pixels .ris-result{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#101064b8;padding:16px}
    #ris-water-pixels .ris-result[hidden]{display:none}
    #ris-water-pixels .ris-result-box{max-width:100%;background:var(--ris-paper);border:4px solid var(--ris-ink);padding:20px 16px;text-align:center;box-shadow:5px 5px 0 var(--ris-ink)}
    #ris-water-pixels .ris-result-box strong{display:block;font-size:23px;line-height:1.15;margin-bottom:10px}
    #ris-water-pixels .ris-result-box span{display:block;font-size:13px}
    #ris-water-pixels .ris-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:10px}
    #ris-water-pixels .ris-control,#ris-water-pixels .ris-play{min-width:0;min-height:46px;padding:8px;border:3px solid var(--ris-ink);background:var(--ris-paper);color:var(--ris-ink);font-family:inherit;font-size:13px;font-weight:700;box-shadow:2px 2px 0 var(--ris-ink);touch-action:manipulation}
    #ris-water-pixels .ris-control[aria-pressed="true"]{background:var(--ris-coral);transform:translate(1px,1px);box-shadow:1px 1px 0 var(--ris-ink)}
    #ris-water-pixels .ris-play{grid-column:1/-1;background:var(--ris-mint);font-size:15px}
    #ris-water-pixels .ris-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;padding:11px 2px 1px;font-size:11px;font-weight:700}
    #ris-water-pixels .ris-a11y{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
    @media(max-width:360px){#ris-water-pixels{padding:12px 6px}#ris-water-pixels .ris-console{padding:9px}#ris-water-pixels .ris-control{font-size:12px}#ris-water-pixels .ris-counter strong{font-size:21px}}
  

/* Water illustration and shared interface icons. */
.icon{display:block;flex:none;width:20px;height:20px;pointer-events:none}
.quiet-link,.public-link{display:inline-flex;align-items:center;gap:8px}
.quiet-link .icon,.public-link .icon{width:16px;height:16px}
.hero-water-art{position:absolute;top:24px;right:30px;width:240px;height:130px;z-index:0;pointer-events:none}
.hero-cat{pointer-events:none}
.floor-pill .icon{width:18px;height:18px}
.button-blue:hover{background:#191eab}
.button-blue:disabled:hover{background:var(--blue)}
/* A visible invitation to the optional game. */
.game-teaser{margin-top:16px;padding:30px 32px;display:grid;grid-template-columns:minmax(0,1fr) 232px;align-items:center;gap:24px;background:#eaeafd;border:1px solid #dbdcf4;border-radius:var(--radius);overflow:hidden}
.game-teaser-copy{min-width:0}
.game-teaser p.game-badge{display:inline-flex;align-items:center;gap:8px;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:1px;margin:0 0 16px}
.game-badge span{width:8px;height:8px;flex:none;background:var(--blue);box-shadow:3px 3px 0 #aaaef0}
.game-teaser h2{font-size:36px}
.game-teaser p:not(.eyebrow):not(.game-badge){font-size:13px;line-height:1.6;color:#5d5d75;margin:14px 0 20px;max-width:310px}
.game-teaser .button{width:100%;max-width:275px;min-width:0;margin:0;justify-content:space-between}
.game-teaser-art{align-self:center;text-align:center;min-width:0;transform:rotate(4deg)}
.game-teaser-art img{display:block;max-width:100%;height:auto}
.game-teaser-art span{display:inline-block;background:#ffcf55;box-shadow:3px 3px 0 #151540;border:2px solid #151540;color:#151540;font:700 11px/1.4 'Courier New',monospace;letter-spacing:.4px;padding:5px 12px;margin-top:10px}
/* Grid tracks and native date controls must fit their cards, including Safari. */
form,.form-grid,.form-grid>label,.admin-device,.issue-card{min-width:0;max-width:100%}
input,select,textarea{display:block;width:100%;min-width:0;max-width:100%}
input[type=date]{appearance:none;-webkit-appearance:none;min-width:0}
input::-webkit-date-and-time-value{text-align:left;min-width:0}
input::-webkit-datetime-edit{padding:0;min-width:0}
.form-grid label,.device-meta div{overflow-wrap:anywhere}
.device-meta>div{min-width:0}
#telegram-groups-list code{overflow-wrap:anywhere}
@media(max-width:600px){
  .hero-water-art{top:12px;right:3px;width:128px;height:86px;opacity:.75}
  .hero-cat{right:-12px;width:176px;bottom:18px}
  .game-teaser{padding:26px 22px;display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:0 10px}
  .game-teaser-copy{display:contents}
  .game-teaser p.game-badge{grid-column:1/-1;font-size:8px;letter-spacing:.7px;margin:0 0 18px}
  .game-teaser h2{grid-column:1;grid-row:2;align-self:center;font-size:34px;max-width:190px}
  .game-teaser p:not(.eyebrow):not(.game-badge){grid-column:1/-1;max-width:none;margin:20px 0;font-size:13px;padding-top:0}
  .game-teaser-art{grid-column:2;grid-row:2;position:static;width:135px;transform:rotate(5deg);pointer-events:none}
  .game-teaser-art span{font-size:8px;padding:3px 8px;margin-top:4px}
  .game-teaser .button{grid-column:1/-1;max-width:none;margin:0;min-height:52px}
  .admin-device-top{flex-wrap:wrap;gap:8px}
  .device-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
  .admin-bar{flex-wrap:wrap}
}
@media(max-width:374px){
  .floor-pill{font-size:11px;gap:8px;padding:9px 12px}
  .floor-pill .icon{width:16px;height:16px}
  .hero-cat{width:154px;right:-18px;bottom:21px}
  .hero-water-art{width:108px;right:2px;top:18px}
  .game-teaser{padding:24px 18px;grid-template-columns:minmax(0,1fr) 112px}
  .game-teaser h2{font-size:30px;max-width:165px}
  .game-teaser-art{width:112px}
  .game-teaser p.game-badge{font-size:7px;gap:6px;letter-spacing:.6px}
  .service-dates{gap:0;grid-template-columns:repeat(2,minmax(0,1fr))}
}
