:root{--mg-ink:#1d1b33;--mg-snow:#f8fbff;--mg-pine:#265e43;--mg-pine-4:#173f30;--mg-night:#2c2a4a;--mg-border:4px solid var(--mg-ink);--mg-shadow:0 4px 0 var(--mg-pine-4), 0 8px 0 var(--mg-ink)}.mg-catalog{--ink:#1d1b33;--snow:#f8fbff;--snow-2:#dde8f6;--snow-4:#8ea6c9;--ice:#c4effa;--ice-2:#78c6e8;--ice-3:#3c86c2;--pine:#265e43;--pine-4:#173f30;--red:#e8484d;--red-3:#b22a3e;--gold-1:#fff4b8;--gold:#ffd25a;--gold-3:#eaa33c;--wood:#9c623b;box-sizing:border-box;max-width:480px;color:var(--ink);margin:8px auto;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.35}.mg-catalog *,.mg-catalog :before,.mg-catalog :after{box-sizing:border-box}.mg-catalog-panel{background:var(--mg-pine);border:var(--mg-border);box-shadow:var(--mg-shadow);color:var(--snow);padding:12px;position:relative;overflow:hidden}.mg-catalog-title{color:var(--gold);text-shadow:2px 2px 0 var(--ink);margin:0 0 8px;font-size:18px}.mg-catalog-text{margin:0 0 8px}.mg-catalog-row,.mg-catalog-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.mg-catalog-progress{background:var(--gold-1);border:3px solid var(--ink);color:var(--ink);padding:2px 8px;font-weight:700}.mg-catalog-btn{font:inherit;color:var(--ink);background:var(--snow-2);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer;padding:6px 10px;font-weight:700}.mg-catalog-btn:hover,.mg-catalog-btn:focus-visible{background:var(--snow);outline:3px solid var(--gold);outline-offset:1px}.mg-catalog-btn:active,.mg-catalog-dbtn:active{box-shadow:none;transform:translateY(3px)}.mg-catalog-primary{background:var(--gold)}.mg-catalog-depts{grid-template-columns:1fr 1fr;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:grid}.mg-catalog-dept{background:var(--ice);border:3px solid var(--ink);color:var(--ink);align-items:center;gap:6px;padding:4px;display:flex}.mg-catalog-key{text-align:center;min-width:24px;color:var(--ink);background:var(--gold);border:2px solid var(--ink);padding:1px 6px;font-weight:700;display:inline-block}.mg-catalog-track{background:var(--pine-4);border:3px solid var(--ink);height:14px;margin:8px 0}.mg-catalog-bar{background:var(--gold);width:100%;height:100%}.mg-catalog-bar-low{background:var(--red);background-image:repeating-linear-gradient(45deg, transparent 0 4px, var(--gold-1) 4px 8px)}.mg-catalog-desk{flex-direction:column;justify-content:center;min-height:150px;margin:8px 0 12px;padding:10px 0;display:flex;position:relative}.mg-catalog-card{background:var(--snow);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink);padding:14px 12px 12px;position:relative;transform:rotate(-1deg)}.mg-catalog-clip{font-size:20px;position:absolute;top:-12px;right:10px}.mg-catalog-cardname{margin:0 0 6px;font-size:20px}.mg-catalog-carddesc{color:#3b4a6b;margin:0}.mg-catalog-ghost{background:var(--ice);border:3px solid var(--ink);color:var(--ink);pointer-events:none;margin-bottom:8px;padding:4px 8px;font-size:12px}.mg-catalog-ghost-late{background:var(--gold-1)}.mg-catalog-buttons{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mg-catalog-dbtn{min-height:48px;font:inherit;text-align:left;color:var(--ink);background:var(--ice);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ice-3), 0 7px 0 var(--ink);cursor:pointer;align-items:center;gap:8px;padding:6px 8px;font-weight:700;display:flex}.mg-catalog-dbtn:hover,.mg-catalog-dbtn:focus-visible{background:var(--snow);outline:3px solid var(--gold);outline-offset:1px}.mg-catalog-wait{text-align:center;background:var(--pine);border:4px solid var(--ink);color:var(--snow);margin:0;padding:24px 12px}.mg-catalog-result{text-align:center}.mg-catalog-badge{color:var(--ink);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);margin:4px 0 8px;padding:6px 16px;font-size:24px;display:inline-block}.mg-catalog-win .mg-catalog-badge{background:var(--gold)}.mg-catalog-lose .mg-catalog-badge{background:var(--snow-2)}.mg-catalog-score{color:var(--gold);margin:0 0 8px;font-size:18px;font-weight:700}.mg-catalog-confetti{pointer-events:none;display:none;position:absolute;inset:0}.mg-catalog-bit{top:-10px;left:var(--x);border:2px solid var(--ink);width:8px;height:8px;position:absolute}.mg-catalog-bit-red{background:var(--red)}.mg-catalog-bit-gold{background:var(--gold)}.mg-catalog-bit-ice{background:var(--ice-2)}.mg-catalog-bit-pine{background:#9ad46e}@keyframes mg-catalog-in{0%{opacity:0;transform:translate(-30px)rotate(-4deg)}}@keyframes mg-catalog-fly{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(150px)scale(.8)}}@keyframes mg-catalog-slam{0%{opacity:0;transform:scale(2.2)rotate(-8deg)}}@keyframes mg-catalog-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes mg-catalog-fall{to{opacity:0;transform:translateY(260px)rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.mg-catalog:not(.mg-catalog-still) .mg-catalog-bar{transition:width .1s linear}.mg-catalog:not(.mg-catalog-still) .mg-catalog-card{animation:.22s ease-out mg-catalog-in}.mg-catalog:not(.mg-catalog-still) .mg-catalog-ghost{z-index:2;margin-bottom:0;animation:.7s ease-in forwards mg-catalog-fly;position:absolute;top:0;left:8px;right:8px}.mg-catalog:not(.mg-catalog-still) .mg-catalog-win .mg-catalog-badge{animation:.36s cubic-bezier(.3,1.6,.5,1) mg-catalog-slam}.mg-catalog:not(.mg-catalog-still) .mg-catalog-lose .mg-catalog-badge{animation:.42s linear mg-catalog-shake}.mg-catalog:not(.mg-catalog-still) .mg-catalog-confetti{display:block}.mg-catalog:not(.mg-catalog-still) .mg-catalog-bit{animation:mg-catalog-fall 1.4s var(--d) ease-in forwards}}@media (width<=420px){.mg-catalog-buttons,.mg-catalog-depts{grid-template-columns:1fr}}.mg-catalog-close{margin-top:8px}.cv{--cv-ink:#1d1b33;--cv-ink-warm:#3b1f2b;--cv-snow:#f8fbff;--cv-snow-2:#b9cbe4;--cv-gold:#ffd25a;--cv-gold-dark:#b06d2c;--cv-red:#e8484d;--cv-pine:#5fae57;--cv-stone:#464a5f;--cv-ice:#78c6e8;--cv-tile:48px;border:3px solid var(--cv-snow);box-shadow:0 0 0 3px var(--cv-ink);color:var(--cv-snow);background:#2c2a4a;flex-direction:column;gap:12px;padding:16px;font:16px/1.4 monospace;display:inline-flex;position:relative}.cv-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.cv-header h2{letter-spacing:.02em;margin:0;font-size:1.05rem}.cv button{font:inherit;color:var(--cv-ink);background-color:var(--cv-snow);border:2px solid var(--cv-ink);box-shadow:inset -2px -2px 0 var(--cv-snow-2);cursor:pointer;padding:6px 12px}.cv button:focus-visible{outline:3px solid var(--cv-gold);outline-offset:2px}.cv button:disabled{opacity:.55;cursor:default}.cv .cv-primary{background-color:var(--cv-gold);box-shadow:inset -2px -2px 0 var(--cv-gold-dark)}.cv-help{min-width:36px}.cv-board{grid-template-columns:repeat(var(--cv-cols), var(--cv-tile));grid-auto-rows:var(--cv-tile);background:var(--cv-ink);justify-content:center;padding:8px;display:grid}.cv-rows,.cv-row{display:contents}.cv-sprite,.cv-tile,.cv-pipe,.cv-spark,.cv-cursor{background-image:var(--cv-sheet);image-rendering:pixelated;background-repeat:no-repeat}.cv-sprite{width:var(--cv-tile);height:var(--cv-tile)}.cv .cv-tile{width:var(--cv-tile);height:var(--cv-tile);box-shadow:none;background-color:#0000;background-image:var(--cv-sheet);cursor:pointer;background-repeat:no-repeat;border:0;padding:0;position:relative}.cv .cv-tile:focus-visible{outline:none}.cv .cv-tile[data-piece=\.]{cursor:default}.cv-pipe,.cv-spark,.cv-cursor{pointer-events:none;position:absolute;inset:0}.cv:not([data-reduced=true]) .cv-pipe{transition:transform .12s steps(3,end)}.cv-spark,.cv-cursor{visibility:hidden}.cv-tile[data-lit=true] .cv-spark,.cv-tile[data-cursor=true] .cv-cursor{visibility:visible}.cv-legend{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:0;font-size:.9rem;display:flex}.cv-legend span{align-items:center;gap:6px;display:inline-flex}.cv-legend .cv-sprite{--cv-tile:32px}.cv-status{max-width:34ch;min-height:2.8em;margin:0}.cv-actions{gap:10px;display:flex}.cv-overlay{background:#1d1b33db;justify-content:center;align-items:center;padding:12px;display:flex;position:absolute;inset:0}.cv-overlay[hidden]{display:none}.cv-card{border:3px solid var(--cv-snow);max-width:34ch;box-shadow:0 0 0 3px var(--cv-ink);background:#3c3a66;padding:14px 16px}.cv-card h3{margin:0 0 8px;font-size:1rem}.cv-card ol{margin:0 0 12px;padding-left:1.4em}.cv-card li{margin-bottom:6px}.cv-card li .cv-sprite{--cv-tile:32px;vertical-align:middle;display:inline-block}.cv-result{border:3px solid var(--cv-ink);color:var(--cv-ink);align-items:center;gap:10px;padding:8px 10px;display:flex}.cv-result[hidden]{display:none}.cv-result[data-kind=success]{background:var(--cv-pine)}.cv-result[data-kind=failure],.cv-result[data-kind=retry]{background:var(--cv-red);color:var(--cv-snow)}.cv-result-icon{border:2px solid;flex:none;place-items:center;width:28px;height:28px;font-weight:700;display:inline-grid}.cv-result p{margin:0}.cv-result strong{display:block}.cv:not([data-reduced=true])[data-phase=success] .cv-tile[data-lit=true] .cv-pipe{animation:.42s steps(4,end) both cv-sweep;animation-delay:calc(var(--cv-depth) * 70ms)}.cv:not([data-reduced=true])[data-phase=success] .cv-result{animation:.36s steps(3,end) both cv-pop}@keyframes cv-sweep{0%{filter:brightness()}50%{filter:brightness(1.6)}to{filter:brightness()}}@keyframes cv-pop{0%{transform:scale(.8)}60%{transform:scale(1.06)}to{transform:scale(1)}}.cv:not([data-reduced=true]) .cv-board[data-shake=true]{animation:.36s steps(6,end) cv-shake}@keyframes cv-shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}50%{transform:translate(6px)}75%{transform:translate(-3px)}}.mg-stamp{--ink:#1d1b33;--snow:#f8fbff;--snow-2:#dde8f6;--ice:#c4effa;--ice-2:#78c6e8;--pine-1:#9ad46e;--pine-3:#3a8150;--pine:#265e43;--pine-4:#173f30;--red-1:#ff9b8c;--red:#e8484d;--red-3:#b22a3e;--gold-1:#fff4b8;--gold:#ffd25a;--gold-3:#eaa33c;--wood-1:#cf9461;--wood:#9c623b;--wood-3:#6c3e26;box-sizing:border-box;max-width:600px;color:var(--ink);margin:8px auto;padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.35}.mg-stamp *,.mg-stamp :before,.mg-stamp :after{box-sizing:border-box}.mg-stamp-panel{background:var(--mg-pine);border:var(--mg-border);box-shadow:var(--mg-shadow);color:var(--snow);padding:12px;position:relative;overflow:hidden}.mg-stamp-title{color:var(--gold);text-shadow:2px 2px 0 var(--ink);margin:0 0 8px;font-size:18px}.mg-stamp-text{margin:0 0 8px}.mg-stamp-row,.mg-stamp-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.mg-stamp-progress{background:var(--gold-1);border:3px solid var(--ink);color:var(--ink);padding:2px 8px;font-weight:700}.mg-stamp-btn{font:inherit;color:var(--ink);background:var(--snow-2);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer;padding:6px 10px;font-weight:700}.mg-stamp-btn:hover,.mg-stamp-btn:focus-visible,.mg-stamp-dbtn:hover,.mg-stamp-dbtn:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.mg-stamp-btn:active,.mg-stamp-dbtn:active{box-shadow:none;transform:translateY(3px)}.mg-stamp-primary{background:var(--gold)}.mg-stamp-call{min-height:1.4em;color:var(--gold-1);margin:8px 0 0;font-weight:700}.mg-stamp-ghost{background:var(--snow);border:3px solid var(--ink);color:var(--ink);align-items:center;gap:8px;margin-top:8px;padding:4px 8px;font-size:12px;display:flex}.mg-stamp-ghost-stamp{letter-spacing:1px;border:3px double;padding:1px 6px;font-weight:700;transform:rotate(-4deg)}.mg-stamp-ghost-yes .mg-stamp-ghost-stamp{color:var(--pine-3)}.mg-stamp-ghost-no .mg-stamp-ghost-stamp{color:var(--red-3)}.mg-stamp-desk{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:12px;margin:12px 0;display:grid}.mg-stamp-doc{background:var(--snow);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink);padding:10px 12px 12px;position:relative}.mg-stamp-form{letter-spacing:1px;text-transform:uppercase;border-bottom:3px dashed var(--ice-2);margin:0 0 8px;padding-bottom:4px;font-size:12px}.mg-stamp-name{margin:0;font-size:18px;font-weight:700}.mg-stamp-meta{color:#3b4a6b;margin:0 0 4px}.mg-stamp-flavor{color:#3b4a6b;margin:0 0 8px;font-size:12px;font-style:italic}.mg-stamp-fields{grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0;display:grid}.mg-stamp-label{color:#3b4a6b}.mg-stamp-value{text-align:right;margin:0;font-size:16px;font-weight:700}.mg-stamp-note{background:var(--gold);border:3px solid var(--ink);margin:8px 0 0;padding:6px 8px;font-size:12px;transform:rotate(1deg)}.mg-stamp-rules{background:var(--gold-1);border:4px solid var(--ink);box-shadow:4px 4px 0 var(--wood-3);color:var(--ink);padding:8px 10px}.mg-stamp-rules-title{text-align:center;letter-spacing:2px;color:var(--gold-1);background:var(--red-3);border:3px solid var(--ink);margin:0 0 6px;padding:2px 6px;font-size:14px}.mg-stamp-rule-list{margin:0;padding-left:22px;font-size:15px;font-weight:700}.mg-stamp-rule{margin-bottom:8px}.mg-stamp-rules-foot{border-top:3px dashed var(--wood);margin:0;padding-top:6px;font-size:12px}.mg-stamp-buttons{grid-template-columns:1fr 1fr;gap:12px;display:grid}.mg-stamp-dbtn{min-height:56px;font:inherit;color:var(--ink);border:4px solid var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.mg-stamp-approve{background:var(--pine-1);box-shadow:0 4px 0 var(--pine-3), 0 8px 0 var(--ink)}.mg-stamp-reject{background:var(--red-1);box-shadow:0 4px 0 var(--red-3), 0 8px 0 var(--ink)}.mg-stamp-key{background:var(--gold-1);border:3px solid var(--ink);padding:0 8px}.mg-stamp-wait,.mg-stamp-result{text-align:center}.mg-stamp-badge{color:var(--ink);border:4px double var(--ink);box-shadow:4px 4px 0 var(--ink);margin:4px 0 8px;padding:6px 16px;font-size:24px;display:inline-block}.mg-stamp-win .mg-stamp-badge{background:var(--pine-1)}.mg-stamp-lose .mg-stamp-badge{background:var(--red-1)}.mg-stamp-score{color:var(--gold);margin:0 0 8px;font-size:18px;font-weight:700}.mg-stamp-confetti{pointer-events:none;display:none;position:absolute;inset:0}.mg-stamp-bit{top:-10px;left:var(--x);border:2px solid var(--ink);width:8px;height:8px;position:absolute}.mg-stamp-bit-red{background:var(--red)}.mg-stamp-bit-gold{background:var(--gold)}.mg-stamp-bit-ice{background:var(--ice-2)}.mg-stamp-bit-pine{background:var(--pine-1)}@keyframes mg-stamp-slam{0%{opacity:0;transform:scale(2.4)rotate(-12deg)}}@keyframes mg-stamp-in{0%{opacity:0;transform:translate(-24px)}}@keyframes mg-stamp-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes mg-stamp-fall{to{opacity:0;transform:translateY(300px)rotate(360deg)}}@media (prefers-reduced-motion:no-preference){.mg-stamp:not(.mg-stamp-still) .mg-stamp-ghost-stamp{animation:.3s cubic-bezier(.3,1.6,.5,1) mg-stamp-slam}.mg-stamp:not(.mg-stamp-still) .mg-stamp-doc{animation:.2s ease-out mg-stamp-in}.mg-stamp:not(.mg-stamp-still) .mg-stamp-call-bad{animation:.38s linear mg-stamp-shake}.mg-stamp:not(.mg-stamp-still) .mg-stamp-win .mg-stamp-badge{animation:.36s cubic-bezier(.3,1.6,.5,1) mg-stamp-slam}.mg-stamp:not(.mg-stamp-still) .mg-stamp-lose .mg-stamp-badge{animation:.42s linear mg-stamp-shake}.mg-stamp:not(.mg-stamp-still) .mg-stamp-confetti{display:block}.mg-stamp:not(.mg-stamp-still) .mg-stamp-bit{animation:mg-stamp-fall 1.4s var(--d) ease-in forwards}}@media (width<=460px){.mg-stamp-desk{grid-template-columns:1fr}.mg-stamp-rules{order:-1}}.mg-stamp-close{margin-top:8px}.mg-stamp-panel>.mg-stamp-rules{margin-bottom:14px}
