/* Build a snowman for Prickly */
.sm-main{max-width:1120px;margin:0 auto;padding:30px 24px 90px;color:var(--text)}
.sm-head{text-align:center;margin-bottom:30px}
.sm-kick{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin:0 0 10px}
.sm-head h1{font-family:var(--display);font-weight:400;font-size:clamp(36px,6vw,62px);line-height:1.05;margin:0 0 12px;color:#FFF6DC}
.sm-sub{max-width:580px;margin:0 auto;font-family:var(--sans);font-size:17px;line-height:1.7;color:var(--mist)}
.sm-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:28px;align-items:start}
@media(max-width:900px){.sm-grid{grid-template-columns:1fr}}
.sm-stage{padding:20px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.03);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.sm-scene{position:relative;border-radius:14px;overflow:hidden;background:radial-gradient(ellipse 60% 40% at 50% 20%,rgba(190,225,255,.16),transparent 70%),linear-gradient(180deg,#12303A 0%,#0F2430 55%,#0E1F17 100%)}
.sm-scene svg{display:block;width:100%;height:auto}
.sm-prickly{position:absolute;left:1%;bottom:2%;width:25%;height:auto;pointer-events:none;filter:drop-shadow(0 6px 10px rgba(0,0,0,.45))}
.sm-bubble{position:absolute;left:3%;bottom:44%;max-width:44%;margin:0;padding:10px 14px;border-radius:16px;background:#5C312D;border:1px solid rgba(232,200,136,.55);font-family:var(--hand);font-size:clamp(18px,2.6vw,25px);line-height:1.15;color:#FFF6DC;opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s;pointer-events:none}
.sm-bubble.show{opacity:1;transform:none}
.sm-bubble::after{content:'';position:absolute;left:26px;bottom:-9px;border:9px solid transparent;border-bottom:0;border-top-color:#5C312D}
.sm-namebar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;align-items:center;margin:16px 0 4px;font-family:var(--sans);font-size:14px;color:var(--mist)}
.sm-namebar input{width:min(240px,100%);padding:11px 16px;border-radius:999px;border:1px solid rgba(232,200,136,.5);background:rgba(0,0,0,.3);color:var(--text);font-family:var(--sans);font-size:15px;text-align:center}
.sm-namebar input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(232,200,136,.22)}
.sm-meet{min-height:34px;margin:6px 0 0;text-align:center;font-family:var(--hand);font-size:28px;color:var(--honey)}
.sm-tools{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:10px}
.sm-btn,.sm-go{padding:12px 22px;border:0;border-radius:999px;background:linear-gradient(160deg,#F7DE6B,#EFC53C);color:#3F3208;font-family:var(--sans);font-size:13px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;box-shadow:0 6px 20px rgba(240,200,60,.22);transition:transform .18s,box-shadow .2s}
.sm-btn:hover,.sm-go:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(240,200,60,.42)}
.sm-ghost{background:transparent!important;color:var(--gold)!important;border:1px solid rgba(232,200,136,.55)!important;box-shadow:none!important}
.sm-ghost:hover{background:rgba(232,200,136,.1)!important}
.sm-panel{padding:22px;border-radius:20px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.sm-group h3{margin:0 0 4px;font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--gold)}
.sm-count{margin:0 0 10px;font-family:var(--sans);font-size:12px;color:var(--mist)}
.sm-opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:22px}
.sm-opt{position:relative;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 5px 7px;border:1px solid rgba(232,200,136,.3);border-radius:12px;background:linear-gradient(165deg,#173A4A,#10242F);color:var(--text);font-family:var(--sans);cursor:pointer;transition:border-color .2s,box-shadow .2s,transform .15s}
.sm-opt:hover{transform:translateY(-2px);border-color:rgba(232,200,136,.7)}
.sm-opt svg{display:block;width:100%;height:50px}
.sm-opt-name{font-size:11px;line-height:1.2;text-align:center;color:var(--text)}
.sm-opt[aria-pressed="true"]{border-color:#F2C45A;box-shadow:0 0 0 2px rgba(242,196,90,.35),0 0 18px rgba(242,196,90,.25)}
.sm-opt.locked{cursor:not-allowed}
.sm-opt.locked svg{filter:brightness(.38) grayscale(.55);opacity:.8}
.sm-opt.locked .sm-opt-name{color:var(--mist)}
.sm-opt.locked:hover{transform:none;border-color:rgba(232,200,136,.3)}
.sm-when{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--honey)}
.sm-none{justify-content:center;min-height:77px;font-size:12px;color:var(--mist)}
.sm-opt:focus-visible,.sm-btn:focus-visible,.sm-go:focus-visible{outline:2px dashed #E8C888;outline-offset:3px}
.sm-save{display:flex;flex-direction:column;gap:10px;margin-top:2px;padding-top:20px;border-top:1px dashed rgba(232,200,136,.25)}
.sm-note{min-height:20px;margin:2px 0 0;text-align:center;font-family:var(--sans);font-size:13px;color:var(--gold)}
.sm-after{margin-top:18px;padding:18px;border:1px solid rgba(232,200,136,.4);border-radius:16px;text-align:center;background:linear-gradient(165deg,rgba(92,49,45,.55),rgba(24,52,37,.7))}
.sm-after[hidden]{display:none}
.sm-after-t{font-family:var(--display);font-style:italic;font-size:22px;color:#FFF6DC;margin:0 0 6px}
.sm-after-s{font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--mist);margin:0 0 14px}
.sm-advent{margin-top:14px;text-align:center;font-family:var(--sans);font-size:13.5px;color:var(--mist)}
.sm-advent a{color:var(--gold)}

#smSheet{display:none}
@media print{
  @page{margin:12mm}
  html,body{background:#fff!important;color:#000!important}
  body>*:not(#smSheet):not(#dltSnowDefs){display:none!important}
  html{color-scheme:light!important}
  #smSheet{display:block!important;color:#000;font-family:Georgia,serif;text-align:center;padding-top:4mm}
  #smSheet h2{margin:0 0 3mm;font-size:24pt;line-height:1.2;font-style:italic;font-weight:400;color:#000;text-shadow:none}
  #smSheet p{margin:0 0 4mm;font-size:12pt;color:#000;opacity:1}
  #smSheet svg{display:block;width:auto;height:190mm;max-width:100%;margin:2mm auto 6mm}
  #smSheet .sm-sheet-name{font-size:14pt;text-align:left;margin:0 10mm 6mm}
  #smSheet .sm-sheet-name span{display:inline-block;width:95mm;border-bottom:1.5pt solid #000;margin-left:3mm}
  #smSheet .sm-sheet-foot{font-size:9pt;color:#555;margin:0}
}
@media(prefers-reduced-motion:reduce){.sm-bubble{transition:none}}

/* fallback: show the snowman big when a browser won't save the picture */
.sm-keep{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(5,12,9,.82)}
.sm-keep-card{width:min(460px,100%);max-height:100%;overflow:auto;padding:18px 18px 14px;border-radius:18px;text-align:center;background:linear-gradient(180deg,#12303A,#0E1F17);border:1px solid rgba(232,200,136,.5)}
.sm-keep-name{margin:0 0 6px;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:30px;color:#F2C45A}
.sm-keep-art svg{display:block;width:100%;height:auto}
.sm-keep-tip{margin:10px 0 12px;color:#C8D8C0;font-size:15px;line-height:1.5}
.sm-keep-x{padding:10px 22px;border-radius:999px;border:0;background:linear-gradient(160deg,#F7DE6B,#EFC53C);color:#3F3208;font-weight:700;cursor:pointer}
.sm-keep-code{margin:8px 0 0;font-size:11px;color:#6E8476}
@media print{body>*{display:none!important}body>.sm-keep{display:flex!important;position:static;background:#fff}.sm-keep-x,.sm-keep-tip,.sm-keep-code{display:none}}
