@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/oswald-latin-700-normal-vy6hmKSr.woff2)format("woff2"),url(/assets/oswald-latin-700-normal-UmC9Ev9x.woff)format("woff")}@font-face{font-family:Minecraft UI;src:url(/assets/minecraft-DW8JYFbi.woff)format("woff");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Unifont;src:url(/assets/unifont-latin-400-normal-CsmNS33N.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+2E80-9FFF,U+F900-FAFF,U+FF00-FFEF}.public-app{isolation:isolate;color:#363b31;background:#77766e;height:100dvh;font-family:Minecraft UI,Unifont,Microsoft YaHei,sans-serif;font-size:16px;line-height:1.5;position:relative;overflow:hidden}:where(.public-app) :where(h1,h2,p){margin-top:0}:where(.public-app) h1{line-height:1.22}:where(.public-app) code{overflow-wrap:anywhere;font-family:SFMono-Regular,Consolas,monospace;font-size:12px}:where(.public-app) label{font-weight:550;display:block}:where(.public-app) button{cursor:pointer}:where(.public-app) button:disabled{cursor:not-allowed;opacity:.5}.public-app :is(input,button,a,summary):focus-visible{outline-offset:3px;outline:2px solid #9bbd6a}.terrain-background{z-index:-1;pointer-events:none;width:100%;height:100%;image-rendering:pixelated;filter:contrast(.78)saturate(.72)brightness(1.02);position:absolute;inset:0}.public-main{overscroll-behavior:contain;flex-direction:column;justify-content:safe center;align-items:center;width:100%;height:100%;padding:66px 24px 70px;display:flex;overflow:auto}.public-header{z-index:2;justify-content:space-between;align-items:center;gap:24px;padding:10px 26px;display:flex;position:absolute;inset:0 0 auto}.headerTitle{font-family:Oswald,Arial,Helvetica,sans-serif;font-size:48px;font-weight:700;line-height:1.3}.brand-link{color:#f0f3ff;text-shadow:3px 3px #3f3f3f;letter-spacing:.5px;text-decoration:none;display:inline-block}.brand-link:hover{color:#ff5}.brand-link:active{text-shadow:1px 1px #3f3f3f;transform:translate(1px,1px)}.help-link,.social-links a,.social-links button{color:#f0f3ff;min-height:34px;font:inherit;text-shadow:1px 2px #334126;text-underline-offset:6px;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;padding:7px 0;font-size:16px;line-height:20px;text-decoration:none;display:inline-flex}.help-link:hover,.help-link:focus-visible,.social-links a:hover,.social-links a:focus-visible{color:#d4e99b;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration:underline;text-decoration-thickness:2px}.social-links{z-index:2;align-items:center;gap:26px;display:flex;position:absolute;bottom:18px;right:24px}.social-links button:disabled{opacity:.9;cursor:default}.pixel-icon{image-rendering:pixelated;filter:drop-shadow(1px 2px #334126);flex:none}.redeem-panel,.character-page,.result-card,.help-page{background:#f6f4eb;border:2px solid #7b856d;outline:1px solid #48523d;flex-shrink:0;box-shadow:inset 2px 2px #fffdf5,inset -2px -2px #e0e2d2,0 3px #a3ac92,0 16px 45px #202b1b3d}.text-input{width:100%;min-height:46px;color:inherit;background:#fffef9;border:2px solid #989f8d;border-radius:0;padding:12px 13px;font-size:16px;transition:border-color .15s,box-shadow .15s;box-shadow:inset 2px 2px #e2e5d9}.text-input::placeholder{color:#9a9f90;font-size:16px}.field-feedback{color:#985c45;text-overflow:ellipsis;white-space:nowrap;min-height:24px;margin:7px 0 0;font-size:14px;line-height:24px;overflow:hidden}.field-feedback .text-button{font-size:inherit;margin-left:9px;padding:0}.text-button{color:#64893a;background:0 0;border:0;padding:8px 0;font-size:13px}.button{border-radius:0;justify-content:center;align-items:center;gap:12px;min-height:44px;padding:11px 17px;font-size:16px;font-weight:600;line-height:1.5;transition:background .15s,transform .15s,box-shadow .15s;display:inline-flex}.button.full{width:100%}.button.primary{background-color:#8caf5c;background-image:var(--tex-stone);background-blend-mode:soft-light;color:#fff;text-shadow:1px 1px #4a642a;background-size:64px;border:2px solid #46612d;box-shadow:inset 2px 2px #b9d78a,inset -2px -2px #6b8f41,0 3px #3b5327}.button.primary:hover:not(:disabled){background-color:#a1bf74}.button.primary:active:not(:disabled){transform:translateY(2px);box-shadow:inset 2px 2px #b9d78a,inset -2px -2px #6b8f41,0 1px #3b5327}.button.primary:disabled{opacity:.82;background-color:#92a77b}.button.secondary{color:inherit;background:#e4e7dc;border:2px solid #9ba48d;box-shadow:inset 2px 2px #fff,inset -2px -2px #cbd2bf}.button[aria-busy=true]{cursor:progress}.button[aria-busy=true]:active{transform:none}.arrow-right{background:currentColor;width:15px;height:2px;position:relative}.arrow-right:after{content:"";border-top:2px solid;border-right:2px solid;width:7px;height:7px;position:absolute;top:-3px;right:0;transform:rotate(45deg)}.redeem-panel{width:min(448px,100%);padding:34px 35px 36px;position:relative}.redeem-panel:before{content:"";background:#9db775;height:4px;position:absolute;top:0;left:0;right:0;box-shadow:inset 0 1px #c5d8a5}.panel-heading{align-items:center;gap:16px;margin-bottom:30px;display:flex}.panel-heading h1{margin:0;font-size:28px;font-weight:400;line-height:1.3}.pixel-item{object-fit:contain;width:36px;height:36px;image-rendering:pixelated;filter:drop-shadow(2px 2px #3f3f3f55);flex-shrink:0}.redeem-card>label,.character-search>label{margin-bottom:10px}.redeem-card>label{color:#6f7a60}.redeem-card>.button{justify-content:space-between;min-height:48px;margin-top:9px;padding-inline:18px}.help-page{width:min(570px,100%);padding:30px}.help-page h1{margin-bottom:26px;font-size:28px;font-weight:400}.help-list{margin:0}.help-list>div+div{border-top:1px solid #dce3cf;margin-top:19px;padding-top:17px}.help-list dt{color:#3f5230;margin-bottom:7px;font-weight:600}.help-list dd{color:#56644a;margin:0}.character-page{width:min(810px,100%);padding:23px}.character-heading{border-bottom:1px solid #d5ddc8;justify-content:space-between;align-items:center;gap:18px;margin-bottom:21px;padding-bottom:17px;display:flex}.character-heading h1{margin:0;font-size:24px;font-weight:400}.character-heading>span{color:#71805f;text-align:right;min-width:48px}.character-heading .text-button{color:#53743a;text-align:left;min-width:48px;padding:0;font-size:16px}.character-layout{grid-template:"search preview""info preview"1fr"actions preview"/1fr 1.06fr;gap:20px 25px;display:grid}.character-search{grid-area:search;align-self:start;min-width:0}.character-preview-card{background:#dfe5d4;border:2px solid #8f987f;grid-area:preview;align-self:stretch;min-width:0;box-shadow:inset 2px 2px #f4f6ee,inset -2px -2px #bfc7b1}.character-actions{grid-area:actions;padding-bottom:3px}.player-info{background:#eef0e7;border:2px solid #aeb5a2;grid-area:info;align-self:start;min-width:0;min-height:88px;padding:11px 13px;box-shadow:inset 2px 2px #fff,inset -2px -2px #d4d8ca}.player-info:empty{visibility:hidden}.player-info>div{flex-wrap:wrap;align-items:center;gap:10px;padding:7px 0;font-size:12px;display:flex}.player-info>div>span,.player-info small{color:#6e7d61;font-size:14px}.player-info small{margin-left:auto}.viewer-stage{background:#e9efdf;height:clamp(250px,40dvh,350px);position:relative;overflow:hidden}.viewer-stage canvas{z-index:1;touch-action:none;max-width:100%;display:block;position:relative}.viewer-stage canvas.is-loading{visibility:hidden}.viewer-grid{background-color:#89947b;background-image:var(--tex-stone-bricks);background-blend-mode:screen;background-size:64px;border-top:3px solid #adb99c;height:145px;position:absolute;bottom:-65px;left:-20%;right:-20%;transform:perspective(170px)rotateX(53deg)}.viewer-unavailable{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:17px;font-size:12px;line-height:1.8;display:flex;position:absolute;inset:0}.viewer-unavailable small{color:#8a9c75;margin-top:12px;font-size:10px}.player-skeleton{z-index:2;justify-content:center;align-items:center;padding-bottom:34px;display:flex;position:absolute;inset:0}.skeleton-hint{color:#6e7d61;font-size:14px}.skeleton-line{width:100%;height:14px;display:block}.skeleton-line.short{width:48%}.player-skeleton.animated,.skeleton-line{background:linear-gradient(100deg,#d9dfcd 35%,#e9eddf 50%,#d9dfcd 65%) 0 0/300% 100%;animation:1.4s linear infinite skeleton-sweep}@keyframes skeleton-sweep{0%{background-position:100% 0}to{background-position:0 0}}.modal{width:min(660px,100% - 32px);max-width:520px;max-height:90dvh;color:inherit;background:#f5f6ee;border:3px solid #869575;border-radius:0;padding:0;box-shadow:0 0 0 1px #34422b,inset 2px 2px #fff,5px 5px #15221166}.modal::backdrop{background:#142010a8}.modal-body{max-height:88dvh;padding:28px;overflow:auto}.modal-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;display:flex}.modal-heading h2{letter-spacing:-.03em;margin:0;font-size:20px}.icon-button{color:#67725f;background:#e2e8d8;border:1px solid #b6bfa8;border-radius:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:25px;display:flex}.modal-warning{margin-bottom:16px}.modal .field-feedback{font-size:16px}.checkbox-label{align-items:flex-start;gap:10px;margin:20px 0;font-weight:400;display:flex}.checkbox-label input{accent-color:#64893a;cursor:pointer;flex-shrink:0;width:17px;height:17px;margin-top:3px}.modal-actions{justify-content:flex-end;align-items:center;gap:12px;margin-top:27px;display:flex}.confirmation-player{background:#ecf2e3;border:2px solid #b9c7a8;align-items:center;gap:15px;margin-bottom:20px;padding:16px;display:flex}.confirmation-player strong{margin-bottom:6px;font-size:18px;display:block}.confirmation-player code{color:#8b9d77;font-size:10px}.player-head{width:48px;height:48px;image-rendering:pixelated;background:#a2b789;outline:1px solid #7f9367;flex-shrink:0}.result-card{text-align:center;width:min(500px,100%);padding:29px}.result-symbol{color:#68a83e;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 19px;font-size:24px;display:flex}.result-mark{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;width:80px;height:80px;display:block;overflow:visible}.success-ring-track{stroke:#e0e9d8}.success-ring,.success-check{stroke-dasharray:1}.success-ring{stroke-dashoffset:.76px}.success-check{stroke-width:2.5px;stroke-dashoffset:1px;opacity:0}.succeeded .success-ring,.succeeded .success-check{stroke-dashoffset:0;opacity:1}.confirmation-orbit{transform-box:fill-box;transform-origin:50%}.result-spinning .confirmation-orbit{animation:1s linear infinite spin}.success-enter .success-ring{animation:.24s ease-out both success-ring-close}.success-enter .success-check{animation:.3s cubic-bezier(.25,.8,.25,1) .18s both success-check-draw}@keyframes success-ring-close{0%{stroke-dashoffset:.76px}to{stroke-dashoffset:0}}@keyframes success-check-draw{0%{stroke-dashoffset:1px;opacity:0}25%{opacity:1}to{stroke-dashoffset:0;opacity:1}}.result-symbol.failed,.result-symbol.review{color:#a07242}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.result-card h1{margin-bottom:14px;font-size:26px}.result-message{color:#7a8071;min-height:3.7em;margin-bottom:20px;font-size:12px;line-height:1.85}.result-feedback{margin-bottom:16px;font-size:12px}.order-details{text-align:left;background:#eef0e7;border:2px solid #aeb5a2;margin:0 0 21px;padding:12px 15px;box-shadow:inset 2px 2px #fff,inset -2px -2px #d4d8ca}.order-details>div{justify-content:space-between;align-items:center;gap:14px;padding:8px 0;font-size:12px;display:flex}.order-details>div>span:first-child{color:#82926c;white-space:nowrap}.order-details code{font-size:10px}.result-help-slot{min-height:40px}.result-help{color:#879574;text-align:left;margin-bottom:19px;font-size:11px}.result-help summary{cursor:pointer}.result-help p{margin:12px 0 0;line-height:1.8}@media (prefers-reduced-motion:reduce){.player-skeleton.animated,.skeleton-line,.result-spinning .confirmation-orbit,.success-enter .success-ring,.success-enter .success-check{animation:none}}@media (width<=600px){.public-main{padding:58px 18px 64px}.public-header{padding:10px 18px}.headerTitle{font-size:32px}.social-links{gap:18px;bottom:13px;right:16px}.redeem-panel{max-width:375px;padding:28px 25px 23px}.panel-heading{gap:14px;margin-bottom:25px}.panel-heading h1{font-size:24px}.help-page{padding:24px}.character-page{max-width:420px;padding:16px}.character-heading{gap:12px;margin-bottom:14px;padding-bottom:11px}.character-heading h1{font-size:20px}.character-layout{grid-template:"search""preview""info""actions"/minmax(0,1fr);gap:12px}.character-search>label{margin-bottom:7px}.character-search>.text-input{min-height:42px;padding:9px 11px}.viewer-stage{height:clamp(170px,30dvh,250px)}.player-skeleton{padding-bottom:24px}.skeleton-hint{font-size:13px}.player-info{padding:6px 10px}.player-info>div{gap:8px;padding:5px 0;font-size:11px}.player-info code,.player-info small{font-size:9px}.character-actions>.button{min-height:41px;padding:9px 12px;font-size:13px}.modal-body{padding:21px}.modal-heading{align-items:flex-start}.modal-actions{gap:9px}.confirmation-player{gap:12px;padding:13px}.confirmation-player strong{font-size:16px}.confirmation-player code{font-size:9px}.result-card{padding:26px 20px}.result-card h1{font-size:23px}.order-details{padding:9px 12px}.order-details>div{flex-wrap:wrap;gap:7px;font-size:11px}.order-details code{font-size:9px}}@media (height<=550px) and (width>=601px){.public-main{padding-block:20px}.character-page{padding:17px}.character-heading{margin-bottom:13px;padding-bottom:10px}.character-layout{gap:14px 20px}.viewer-stage{height:240px}}:root{color:#25342a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f7f1;font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}.boot-screen{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:30px;display:flex}.boot-screen p{color:#778174;line-height:1.85}.boot-screen button{cursor:pointer}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
