.spark{font-family:var(--serif);letter-spacing:-.02em;text-align:center;text-wrap:balance;max-width:17ch;font-size:clamp(2.1rem,5.3vw,5.1rem);font-weight:360;line-height:1.06}.spark .line{display:block}.spark .w{font-variation-settings:"SOFT" var(--soft,100), "WONK" 1, "opsz" 144;display:inline-block}.spark .accent .w{color:var(--game);font-style:italic}.spark-sub{font-family:var(--serif);color:var(--paper-dim);text-align:center;margin-top:.85em;font-size:clamp(1.05rem,1.9vw,1.55rem);font-style:italic;font-weight:340;line-height:1.35}.spark-sub .w{font-variation-settings:"SOFT" var(--soft,100), "WONK" 1, "opsz" 24;display:inline-block}.holdable{cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.2em;margin:0 -.08em;padding:0 .08em;transition:background .25s,box-shadow .25s}.holdable:hover{background:color-mix(in srgb, var(--game) 16%, transparent)}.holdable.held{background:color-mix(in srgb, var(--game) 26%, transparent);box-shadow:inset 0 -.07em 0 var(--game)}[data-wing=build] .spark{font-family:var(--sans);letter-spacing:-.035em;max-width:21ch;font-size:clamp(1.7rem,3.9vw,3.4rem);font-weight:650;line-height:1.04}[data-wing=build] .spark .w{font-variation-settings:normal}[data-wing=build] .spark .accent .w{color:var(--game);font-style:normal}[data-wing=build] .spark-sub{font-family:var(--mono);letter-spacing:.13em;text-transform:uppercase;color:var(--box-dim);max-width:70ch;margin-inline-start:auto;margin-inline-end:auto;font-size:.74rem;font-style:normal;line-height:1.7}[data-wing=build] .holdable{border-radius:0}.library{z-index:50;width:min(440px,94vw);color:var(--paper);border-left:1px solid var(--line);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:transform .5s var(--ease);background:#100e16f2;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;transform:translate(105%)}.library.open{transform:none;box-shadow:-30px 0 80px #0006}.lib-head{justify-content:space-between;align-items:center;padding:1.3rem 1.3rem .9rem;display:flex}.lib-title{font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 72;font-size:1.7rem;font-weight:380}.lib-title small{font-family:var(--mono);letter-spacing:.16em;color:var(--paper-faint);margin-left:.5rem;font-size:.62rem}.lib-filters{flex-wrap:wrap;gap:.3rem;padding:0 1.3rem .8rem;display:flex}.chip{border-radius:var(--radius);border:1px solid var(--line);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-dim);padding:.45rem .75rem;font-size:.58rem}.chip[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}.lib-search{border-radius:var(--radius);border:1px solid var(--line);background:#ffffff0d;outline:none;margin:0 1.3rem .8rem;padding:.7rem 1rem;font-size:.9rem}.lib-search:focus{border-color:var(--paper-dim)}.lib-banner{color:var(--paper-dim);background:#ffc53d17;border:1px solid #ffc53d3d;border-radius:16px;justify-content:space-between;align-items:center;gap:.8rem;margin:0 1.3rem .9rem;padding:.85rem 1rem;font-size:.82rem;line-height:1.45;display:flex}.lib-banner .btn{flex:none;padding:.55rem .85rem}.lib-list{flex-direction:column;flex:1;gap:.7rem;padding:0 1.3rem 2rem;display:flex;overflow-y:auto}.lib-sect{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--paper-faint);margin:.6rem 0 .1rem;font-size:.58rem}.lib-card{border:1px solid var(--line);animation:cardin .45s var(--spring) both;background:#ffffff0a;border-radius:16px;padding:.95rem 1rem .7rem 1.2rem;position:relative;overflow:hidden}.lib-card:before{content:"";background:var(--c);width:4px;position:absolute;top:0;bottom:0;left:0}@keyframes cardin{0%{opacity:0;transform:translateY(8px)scale(.98)}}.lib-meta{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--paper-faint);justify-content:space-between;margin-bottom:.45rem;font-size:.56rem;display:flex}.lib-meta b{color:var(--c);font-weight:500}.lib-text{font-family:var(--serif);white-space:pre-line;-webkit-user-select:text;user-select:text;font-variation-settings:"SOFT" 100, "opsz" 18;font-size:1.02rem;line-height:1.42}.lib-card.build .lib-text{font-family:var(--sans);font-variation-settings:normal;font-size:.92rem}.lib-thumbs{gap:.45rem;margin-top:.65rem;display:flex}.lib-thumbs img{object-fit:cover;border-radius:42% 58% 55% 45%/50% 45% 55% 50%;width:58px;height:58px}.lib-acts{flex-wrap:wrap;gap:.15rem;margin-top:.6rem;display:flex}.lib-acts button{border-radius:var(--radius);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--paper-faint);padding:.35rem .55rem;font-size:.56rem}.lib-acts button:hover{color:var(--paper);background:#ffffff12}.lib-empty{text-align:center;font-family:var(--serif);color:var(--paper-faint);padding:2.4rem .6rem;font-size:1.02rem;font-style:italic;line-height:1.5}.auth-glow{aspect-ratio:1;pointer-events:none;background:radial-gradient(closest-side,#ff5a3642,#5b72ff1f 55%,#0000);width:130%;position:absolute;top:-55%;left:50%;transform:translate(-50%)}.auth-h{font-family:var(--serif);font-variation-settings:"SOFT" 100, "WONK" 1, "opsz" 72;font-size:2.1rem;font-weight:380;line-height:1.05;position:relative}.auth-p{color:var(--paper-dim);margin:.7rem 0 1.4rem;font-size:.92rem;line-height:1.5;position:relative}.auth-btns{flex-direction:column;gap:.55rem;display:flex;position:relative}.prov{border-radius:var(--radius);background:var(--paper);color:var(--ink);transition:transform .25s var(--spring), opacity .25s;justify-content:center;align-items:center;gap:.7rem;padding:.88rem 1rem;font-size:.94rem;font-weight:560;display:flex}.prov:hover{transform:translateY(-1px)}.prov.dark{color:#fff;background:#000;border:1px solid #fff3}.prov svg{flex:none;width:18px;height:18px}.or{font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--paper-faint);align-items:center;gap:.8rem;margin:1.1rem 0;font-size:.58rem;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.email-row{gap:.4rem;display:flex;position:relative}.email-row input{border-radius:var(--radius);border:1px solid var(--line);background:#ffffff0f;outline:none;flex:1;min-width:0;padding:.85rem 1.1rem}.email-row input:focus{border-color:var(--paper-dim)}.auth-msg{min-height:1.2em;margin-top:.9rem;font-size:.86rem;line-height:1.45;position:relative}.auth-msg.err{color:#ff9a85}.auth-msg.ok{color:var(--mint)}.auth-fine{color:var(--paper-faint);margin-top:1.1rem;font-size:.74rem;line-height:1.45;position:relative}.auth-soon{border:1px solid var(--line);color:var(--paper-dim);background:#ffffff0d;border-radius:16px;margin-bottom:1rem;padding:.9rem 1rem;font-size:.86rem;line-height:1.5;position:relative}.mapwrap{z-index:60;background:var(--ink);color:var(--paper);flex-direction:column;display:none;position:fixed;top:0;bottom:0;left:0;right:0}.mapwrap.open{display:flex}.map-bar{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.95rem 1.3rem;display:flex}.map-title{min-width:0;font-family:var(--serif);white-space:nowrap;text-overflow:ellipsis;font-variation-settings:"SOFT" 100, "opsz" 18;flex:1;font-size:1.08rem;overflow:hidden}.map-view{cursor:grab;touch-action:none;background-image:radial-gradient(#f4efe614 1px,#0000 1px);background-size:26px 26px;flex:1;position:relative;overflow:hidden}.map-view.panning{cursor:grabbing}.map-inner{transform-origin:0 0;position:absolute;top:0;left:0}.map-svg{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.map-svg path{fill:none;stroke-width:2px;stroke-linecap:round;opacity:.75}.mn{border:1px solid var(--line);width:max-content;min-width:3ch;max-width:240px;font-family:var(--serif);white-space:pre-wrap;cursor:pointer;font-variation-settings:"SOFT" 100, "opsz" 18;background:#ffffff0d;border-radius:16px;padding:.5rem .85rem .5rem 1.55rem;font-size:.98rem;line-height:1.32;transition:border-color .2s,box-shadow .2s;position:absolute}.mn:before{content:"";background:var(--c);border-radius:50%;width:7px;height:7px;position:absolute;top:.95rem;left:.7rem}.mn.root{background:color-mix(in srgb, var(--c) 16%, transparent);border-color:color-mix(in srgb, var(--c) 60%, transparent);padding:.8rem 1.1rem .8rem 1.9rem;font-size:1.22rem}.mn.root:before{width:9px;height:9px;top:1.3rem}.mn.sel{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb, var(--c) 30%, transparent)}.mn.fresh{animation:mnpop .45s var(--spring)}@keyframes mnpop{0%{opacity:0;transform:scale(.6)}}.mn[contenteditable=true]{cursor:text;-webkit-user-select:text;user-select:text;background:#ffffff1a;outline:none}.map-hint{text-align:center;pointer-events:none;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;color:var(--paper-faint);font-size:.58rem;position:absolute;bottom:1.1rem;left:0;right:0}.mapwrap[data-wing=build]{background:var(--box-bg);color:var(--box-ink)}.mapwrap[data-wing=build] .map-bar{border-bottom-color:var(--box-ink)}.mapwrap[data-wing=build] .map-view{background-image:linear-gradient(var(--box-grid) 1px, transparent 1px), linear-gradient(90deg, var(--box-grid) 1px, transparent 1px);background-size:32px 32px}.mapwrap[data-wing=build] .mn{border-color:var(--box-line);font-family:var(--sans);font-variation-settings:normal;background:#fff;border-radius:0;font-size:.9rem}.mapwrap[data-wing=build] .mn:before{border-radius:0}.mapwrap[data-wing=build] .map-title{font-family:var(--sans);font-variation-settings:normal;font-weight:600}.mapwrap[data-wing=build] .map-hint{color:var(--box-dim)}.acct-pop{z-index:85;border:1px solid var(--line);min-width:220px;color:var(--paper);opacity:0;pointer-events:none;transition:opacity .2s, transform .3s var(--spring);background:#16141ff7;border-radius:18px;padding:1rem;position:fixed;top:4rem;right:1.5rem;transform:translateY(-6px)scale(.98);box-shadow:0 24px 70px #00000080}.acct-pop.open{opacity:1;pointer-events:auto;transform:none}.acct-pop .who{color:var(--paper-dim);word-break:break-all;margin-bottom:.8rem;font-size:.84rem}.acct-pop button{justify-content:flex-start;width:100%}.auth-check{position:relative}.auth-check iframe{margin-top:.7rem}.email-row input.auth-code{font-family:var(--mono);letter-spacing:.42em;text-align:center;padding-left:1.4rem;font-size:1.25rem}.email-row input.auth-code::placeholder{color:var(--paper-faint);opacity:.55}.auth-links{flex-wrap:wrap;gap:.4rem 1.1rem;margin-top:.85rem;font-size:.8rem;display:flex;position:relative}.auth-links button{color:var(--paper-dim);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);transition:color .2s}.auth-links button:hover{color:var(--paper)}.auth-links button:disabled{color:var(--paper-faint);cursor:default;text-decoration:none}.auth-fine a{color:var(--paper-dim);text-underline-offset:2px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line)}.auth-fine a:hover{color:var(--paper)}.acct-pop .acct-del{width:auto;color:var(--paper-faint);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);margin-top:.65rem;font-size:.74rem}.acct-pop .acct-del:hover{color:#ff9a85}.acct-confirm p{color:var(--paper-dim);max-width:15rem;margin-bottom:.8rem;font-size:.82rem;line-height:1.45}.acct-row{gap:.4rem;display:flex}.acct-pop .acct-row button{white-space:nowrap;flex:1;justify-content:center;width:auto;padding-left:.6rem;padding-right:.6rem;font-size:.8rem}.acct-pop .acct-yes{color:var(--ink);background:#ff9a85}@media (max-width:440px){.email-row{flex-wrap:wrap}.email-row input{flex-basis:100%}.email-row .btn{flex:1;justify-content:center}}
