.sc-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:12px}
.sc{position:relative;width:392px;padding:16px;border-radius:48px;background:radial-gradient(rgba(255,255,255,.04) 1px,transparent 1.3px) 0 0/3px 3px,linear-gradient(160deg,#4b5159 0%,#2c3137 36%,#16191c 100%);box-shadow:0 46px 90px -24px rgba(0,0,0,.95),0 0 0 1px #07080a,inset 0 2px 0 rgba(255,255,255,.14),inset 0 -4px 0 rgba(0,0,0,.55),inset 3px 0 0 rgba(255,255,255,.04);animation:scIn .22s ease-out}
@keyframes scIn{from{opacity:0;transform:translateY(18px) rotate(2deg)}to{opacity:1;transform:none}}
.sc::before,.sc::after{content:'';position:absolute;top:170px;width:5px;height:220px;border-radius:3px;background:repeating-linear-gradient(180deg,#0b0d0f 0 3px,rgba(255,255,255,.06) 3px 4px,transparent 4px 10px)}
.sc::before{left:5px}.sc::after{right:5px}
.sc-cap{position:absolute;left:64px;right:64px;top:-7px;height:22px;border-radius:18px 18px 7px 7px;background:linear-gradient(180deg,#ffd75a 0%,#e7a916 48%,#9a6b06 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.45),inset 0 -2px 0 rgba(0,0,0,.25),0 3px 6px rgba(0,0,0,.5)}
.sc-face{position:relative;padding:18px 18px 14px;border-radius:34px;background:linear-gradient(170deg,#1f2328 0%,#111316 55%,#08090b 100%);box-shadow:0 0 0 1px #050607,inset 0 1px 0 rgba(255,255,255,.09),inset 0 -2px 6px rgba(0,0,0,.6)}
.sc-screw{position:absolute;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#99a2ac,#4a5058 60%,#2a2e33);box-shadow:0 1px 1px rgba(0,0,0,.8)}
.sc-screw::after{content:'';position:absolute;left:1.5px;right:1.5px;top:4px;height:1px;background:#15181b;transform:rotate(35deg)}
.sc-screw.s1{left:10px;top:10px}.sc-screw.s2{right:10px;top:10px}.sc-screw.s3{left:10px;bottom:10px}.sc-screw.s4{right:10px;bottom:10px}
.sc-bezel{position:relative;padding:8px;border-radius:13px;background:#030405;box-shadow:inset 0 3px 8px rgba(0,0,0,.95),0 1px 0 rgba(255,255,255,.07)}
.sc-lcd{position:relative;overflow:hidden;border-radius:5px;background:linear-gradient(175deg,#f5f8f9 0%,#dbe3e6 100%);color:#1c2328;font-family:var(--x-font)}
.sc-bar{display:flex;align-items:center;gap:8px;height:26px;padding:0 10px;background:#17222c;color:#e8eef4;font:700 9.5px/1 var(--x-mono);letter-spacing:.14em;text-transform:uppercase}
.sc-bar b{flex:1}
.sc-bar span{font-weight:600;letter-spacing:.06em;opacity:.85}
.sc-batt{position:relative;width:18px;height:9px;border:1px solid #e8eef4;border-radius:2px}
.sc-batt::after{content:'';position:absolute;right:-3px;top:2px;width:2px;height:3px;background:#e8eef4}
.sc-batt i{position:absolute;left:1px;top:1px;bottom:1px;width:11px;background:#56d68c}
.sc-banner{display:flex;align-items:center;gap:8px;padding:8px 11px;background:linear-gradient(90deg,#14924f,#1aa860);color:#fff}
.sc-banner i{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(255,255,255,.18)}
.sc-banner b{font:900 15px/1 var(--x-font);letter-spacing:.06em;text-transform:uppercase}
.sc-banner span{margin-left:auto;font:700 9px/1 var(--x-mono);letter-spacing:.16em;text-transform:uppercase;opacity:.85}
.sc-banner.bad{background:linear-gradient(90deg,#b8202f,#d6303f);animation:scWarn 1.1s ease-in-out infinite alternate}
@keyframes scWarn{from{filter:brightness(1)}to{filter:brightness(1.18)}}
.sc-main{display:flex;gap:12px;padding:11px 11px 6px}
.sc-print{position:relative;flex:none;width:92px;height:116px;border:1px solid #9aa6ac;border-radius:4px;overflow:hidden;background:#ecf0f1;box-shadow:inset 0 0 0 2px #fff}
.sc-print canvas{display:block;width:100%;height:100%}
.sc-sweep{position:absolute;left:0;right:0;top:-12px;height:12px;background:linear-gradient(180deg,transparent,rgba(38,180,106,.55),transparent);animation:scSweep 1.4s ease-in-out 1 forwards}
@keyframes scSweep{0%{top:-12px;opacity:1}90%{opacity:1}100%{top:116px;opacity:0}}
.sc-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:7px}
.sc-name{color:#141b20;font:800 17px/1.15 var(--x-font);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.sc-cid small,.sc-code small,.sc-list small{display:block;color:#5e6a72;font:700 8.5px/1 var(--x-font);letter-spacing:.14em;text-transform:uppercase}
.sc-cid code{display:block;margin-top:3px;color:#1f272d;font:700 12px/1 var(--x-mono);letter-spacing:.04em}
.sc-rec{display:flex;flex-wrap:wrap;gap:4px}
.sc-rec span{padding:3px 6px 2px;border-radius:3px;background:rgba(31,39,45,.1);color:#1f272d;font:800 8.5px/1.2 var(--x-font);letter-spacing:.05em;text-transform:uppercase}
.sc-rec span.warn{background:rgba(214,138,0,.18);color:#8a5600}
.sc-rec span.bad{background:#c42b39;color:#fff}
.sc-codes{display:flex;flex-direction:column;gap:5px;padding:4px 11px 9px}
.sc-code{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:7px 8px 7px 10px;border:1px solid rgba(31,39,45,.14);border-radius:5px;background:rgba(255,255,255,.65)}
.sc-code small{grid-column:1}
.sc-code code{grid-column:1;margin-top:3px;color:#141b20;font:700 13px/1.1 var(--x-mono);letter-spacing:.05em;word-break:break-all}
.sc-copy{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border:1px solid #9fb0bb;border-radius:5px;background:linear-gradient(180deg,#fff,#e3eaee);color:#22303a;font:800 10px/1 var(--x-font);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .12s,border-color .12s,color .12s}
.sc-copy:hover{border-color:#5b7385;background:#fff}
.sc-copy.done{border-color:#14924f;background:#14924f;color:#fff}
.sc-list{padding:8px 11px 10px;border-top:1px solid rgba(0,0,0,.1)}
.sc-m{display:flex;align-items:flex-start;gap:8px;margin-top:6px}
.sc-m em{flex:none;padding:3px 5px 2px;border-radius:2px;background:#14924f;color:#fff;font:800 8.5px/1 var(--x-font);font-style:normal;letter-spacing:.1em;text-transform:uppercase}
.sc-m div{min-width:0}
.sc-m b{display:block;color:#1f272d;font:700 11.5px/1.2 var(--x-font)}
.sc-m span{display:block;color:#5e6a72;font:500 10px/1.3 var(--x-font)}
.sc-none{margin-top:6px;color:#5e6a72;font:500 11px/1.35 var(--x-font)}
.sc-soft{display:grid;grid-template-columns:repeat(3,1fr);background:#17222c}
.sc-soft span{padding:6px 0 5px;color:#e8eef4;font:800 9.5px/1 var(--x-mono);letter-spacing:.14em;text-align:center;text-transform:uppercase}
.sc-soft span + span{border-left:1px solid rgba(255,255,255,.12)}
.sc-soft span.off{color:rgba(232,238,244,.35)}
.sc-glare{position:absolute;left:8px;top:8px;right:8px;bottom:8px;border-radius:5px;background:linear-gradient(118deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,.05) 30%,rgba(255,255,255,0) 50%);pointer-events:none}
.sc-keys{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 6px 14px}
.sc-key{display:flex;align-items:center;justify-content:center;height:36px;border:none;border-radius:13px;background:linear-gradient(180deg,#4b5159,#1d2024);color:#d7dde3;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 2px 3px rgba(0,0,0,.7);transition:filter .12s}
.sc-key:hover:not(:disabled){filter:brightness(1.18)}
.sc-key:active:not(:disabled){transform:translateY(1px)}
.sc-key.mdt{background:linear-gradient(180deg,#4f8ff7,#1d4fb8);color:#eef4ff}
.sc-key.go{background:linear-gradient(180deg,#43d684,#13803f);color:#effff5}
.sc-key:disabled{opacity:.4;cursor:not-allowed}
.sc-led{position:absolute;right:-8px;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:#7dffb0;box-shadow:0 0 6px 2px rgba(77,255,152,.55)}
.sc-platen{padding:10px;border-radius:18px;background:#020303;box-shadow:inset 0 3px 9px rgba(0,0,0,.95),0 1px 0 rgba(255,255,255,.06)}
.sc-glass{position:relative;height:96px;border-radius:11px;overflow:hidden;background:linear-gradient(170deg,#155646 0%,#0a2c24 55%,#041411 100%);box-shadow:inset 0 0 32px rgba(43,255,168,.2),inset 0 0 0 1px rgba(27,42,38,.9)}
.sc-glass canvas{position:absolute;left:50%;top:50%;width:70px;height:88px;margin:-44px 0 0 -35px;opacity:.5;transform:rotate(8deg)}
.sc-glass::after{content:'';position:absolute;inset:0;background:linear-gradient(112deg,rgba(255,255,255,.14) 0%,rgba(255,255,255,.02) 34%,transparent 50%)}
.sc-line{position:absolute;left:0;right:0;top:50%;height:2px;background:#c4ffe6;box-shadow:0 0 8px 3px rgba(77,255,181,.55);animation:scLine 2.6s ease-in-out infinite alternate}
@keyframes scLine{from{top:12%}to{top:86%}}
.sc-brand{margin-top:12px;text-align:center;color:#6c7580;font:800 10.5px/1 var(--x-font);letter-spacing:.34em;text-shadow:0 -1px 0 rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.05)}
.sc-hint{display:flex;align-items:center;gap:6px;color:#bdbdc4;font:600 11px/1 var(--x-font);text-shadow:0 1px 6px rgba(0,0,0,.9)}
#xsp-fieldnote{position:fixed;left:50%;bottom:calc(150px * var(--xsp-s,1));transform:translateX(-50%) scale(var(--xsp-s,1));transform-origin:center bottom;pointer-events:none}
.fn{width:320px;border-radius:8px;overflow:hidden;background:rgba(12,13,16,.94);border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 50px -14px rgba(0,0,0,.85);animation:fnIn .16s ease-out}
@keyframes fnIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.fn-tape{height:20px;background:repeating-linear-gradient(-45deg,#f5c518 0 14px,#16140c 14px 24px);display:flex;align-items:center;justify-content:center}
.fn-tape span{padding:0 8px;background:#f5c518;color:#16140c;font:900 9px/1 var(--x-mono);letter-spacing:.18em}
.fn-body{display:flex;gap:12px;padding:12px 14px 10px}
.fn-ico{display:flex;align-items:center;justify-content:center;width:40px;height:40px;flex:none;border-radius:9px;background:rgba(245,197,24,.12);color:#f5c518}
.fn-blood .fn-ico{background:rgba(255,77,94,.14);color:#ff8a95}
.fn-print .fn-ico{background:rgba(112,192,255,.14);color:#8fcaff}
.fn-main{flex:1;min-width:0}
.fn-main small{display:block;color:var(--x-faint);font:700 9.5px/1 var(--x-mono);letter-spacing:.16em;text-transform:uppercase}
.fn-main b{display:block;margin-top:4px;color:#fff;font:700 14.5px/1.2 var(--x-font)}
.fn-main ul{list-style:none;margin-top:8px;display:flex;flex-direction:column;gap:5px}
.fn-main li{display:flex;align-items:center;gap:7px;color:var(--x-text);font:600 12px/1.25 var(--x-font)}
.fn-main li .xp-ico{flex:none;color:var(--x-dim)}
.fn-main li.fresh,.fn-main li.hit{color:#7ee2b0}
.fn-main li.fresh .xp-ico,.fn-main li.hit .xp-ico{color:#3ddc97}
.fn-main li.mid{color:#ffcf6b}
.fn-main li.old,.fn-main li.dim{color:var(--x-faint)}
.fn-key{display:flex;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid rgba(255,255,255,.06);color:var(--x-text);font:700 12px/1 var(--x-font)}
.fn-key.dim{color:var(--x-faint);font-weight:600}
