.lab-ph{--l-bg:#0b0e14;--l-bg2:#11151d;--l-bg3:#171c26;--l-fg:#f4f3ef;--l-fg2:#c9c7c0;--l-fg3:#8f8d86;--l-line:#ffffff1a;--l-line2:#fff3;--l-alert:#ff6a3d;--l-alert-soft:#ff6a3d24;--l-ok:#3ccf8e;--l-ok-soft:#3ccf8e24;--l-warn:#ffb547;--l-paper:#f4f3ef;--l-ink:#12151b;--l-ink2:#4a4e57;--l-mono:"JetBrains Mono Variable",ui-monospace,Consolas,monospace;--l-sans:"Inter Variable",system-ui,sans-serif;background:var(--l-bg);color:var(--l-fg);font-family:var(--l-sans);font-size:1rem;line-height:1.6}.lab-ph .concept-notice{color:#b8bec7;font:.64rem var(--l-mono);background:#07090d;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 3vw;display:flex}.lab-ph .concept-notice a{color:#eceeea;text-decoration:none}.lab-ph .concept-notice span{text-align:right}.lab-ph .lab-head{border-bottom:1px solid var(--l-line);font:.68rem var(--l-mono);letter-spacing:.08em;color:#9ea9b8;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 3vw;display:flex}.lab-ph .lab-brand{color:var(--l-fg);align-items:center;gap:.6rem;display:flex}.lab-ph .lab-brand i{background:var(--l-alert);width:6px;height:6px;box-shadow:0 0 12px var(--l-alert);border-radius:50%}.lab-ph .lab-wrap{width:min(100% - 2*clamp(1rem,4vw,2rem),76rem);margin-inline:auto}.lab-ph .lab-intro{gap:.6rem;padding:3.2rem 0 2rem;display:grid}.lab-ph .lab-eyebrow{font:.66rem var(--l-mono);letter-spacing:.16em;color:var(--l-alert);margin:0}.lab-ph h1{font-family:var(--l-sans);letter-spacing:-.045em;color:var(--l-fg);margin:0;font-size:clamp(2.3rem,5.2vw,4.4rem);font-weight:700;line-height:1.02}.lab-ph h2{font-family:var(--l-sans);letter-spacing:-.025em;color:var(--l-fg);margin:0 0 .6em;font-size:1.35rem;font-weight:650}.lab-ph .lab-lead{color:var(--l-fg2);max-width:62ch;margin:.4rem 0 0;font-size:1.02rem}.lab-ph .lab-score{border:1px solid var(--l-line2);background:var(--l-bg2);font:.68rem var(--l-mono);letter-spacing:.06em;color:var(--l-fg3);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.2rem;width:max-content;max-width:100%;margin-top:1rem;padding:.75rem 1.1rem;display:inline-flex}.lab-ph .lab-score strong{font:600 1.35rem var(--l-mono);color:var(--l-fg);letter-spacing:0}.lab-ph .ph-board{grid-template-columns:minmax(16rem,20rem) 1fr;align-items:start;gap:1.5rem;padding-bottom:3rem;display:grid}.lab-ph .ph-inbox{border:1px solid var(--l-line);background:linear-gradient(130deg,#151c25,#0d1219);border-radius:12px;min-width:0;padding:1.1rem}.lab-ph .ph-inbox h2{font:.68rem var(--l-mono);letter-spacing:.14em;text-transform:uppercase;color:#9ea9b8;margin:0 0 .8rem}.lab-ph .ph-inbox ul{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.lab-ph .ph-inbox li{margin:0}.lab-ph [data-mail]{text-align:left;background:var(--l-bg2);border:1px solid var(--l-line);width:100%;color:var(--l-fg2);cursor:pointer;font-family:var(--l-sans);touch-action:manipulation;border-radius:9px;gap:.15rem;padding:.75rem .85rem;transition:border-color .2s,background .2s;display:grid}.lab-ph [data-mail]:hover{border-color:var(--l-line2);background:var(--l-bg3)}.lab-ph [data-mail][aria-pressed=true]{border-color:var(--l-alert);background:var(--l-bg3);color:var(--l-fg)}.lab-ph [data-mail].is-ok{border-left:3px solid var(--l-ok)}.lab-ph [data-mail].is-bad{border-left:3px solid var(--l-alert)}.lab-ph .ib-tag{font:.6rem var(--l-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--l-alert)}.lab-ph [data-mail].is-ok .ib-tag{color:var(--l-ok)}.lab-ph .ib-from{color:var(--l-fg);overflow-wrap:anywhere;font-size:.86rem;font-weight:600}.lab-ph .ib-subject{overflow-wrap:anywhere;font-size:.82rem;line-height:1.35}.lab-ph .ib-meta{font:.62rem var(--l-mono);color:var(--l-fg3);margin-top:.2rem}.lab-ph .ph-hint{color:var(--l-fg3);margin:1rem 0 0;font-size:.74rem;line-height:1.5}.lab-ph .ph-stage{perspective:1500px;min-width:0}.lab-ph .ph-env{min-height:420px;transform-style:preserve-3d;transform:rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg));transition:transform .4s;position:relative}.lab-ph .ph-flap{clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;z-index:4;filter:drop-shadow(0 8px 10px #00000059);background:linear-gradient(#232c3a,#161d28);height:170px;transition:transform .6s cubic-bezier(.2,.7,.2,1);position:absolute;top:0;left:0;right:0;transform:translateZ(24px)rotateX(0)}.lab-ph .ph-flap:after{content:"";background:var(--l-line2);height:1px;position:absolute;top:0;left:0;right:0}.lab-ph .ph-env.is-open .ph-flap{transform:translateZ(2px)rotateX(-176deg)}.lab-ph .ph-pocket{border:1px solid var(--l-line2);background:linear-gradient(135deg,#101620 50%,#141b26 50.2%),#101620;border-radius:12px;place-items:end center;min-height:420px;padding:1.5rem;display:grid;position:absolute;top:0;left:0;right:0;transform:translateZ(0);box-shadow:0 30px 60px #00000073}.lab-ph .ph-pocket:before{content:"";background:linear-gradient(to bottom right,#0000 49.6%,#ffffff0d 50%) 0 0/50% 100% no-repeat,linear-gradient(to bottom left,#0000 49.6%,#ffffff0d 50%) 100% 0/50% 100% no-repeat;border-radius:12px;position:absolute;inset:0}.lab-ph .ph-pocket span{font:.72rem var(--l-mono);letter-spacing:.08em;color:#9ea9b8;text-align:center;transition:opacity .3s}.lab-ph .ph-env.is-open .ph-pocket span{opacity:0}.lab-ph .ph-letter{background:var(--l-paper);color:var(--l-ink);opacity:0;clip-path:inset(0 0 100% round 8px);pointer-events:none;border-radius:8px;outline:none;margin:2.2rem 1.3rem 1.6rem;transition:transform .55s cubic-bezier(.2,.7,.2,1) .2s,opacity .35s .2s,clip-path .55s .2s;position:relative;transform:translateY(14%)translateZ(40px);box-shadow:0 20px 50px #00000080}.lab-ph .ph-env.is-open .ph-letter{opacity:1;clip-path:inset(0 round 8px);pointer-events:auto;transform:translateY(0)translateZ(40px)}.lab-ph .ph-letter:focus-visible{box-shadow:0 0 0 3px var(--l-bg),0 0 0 6px var(--l-alert)}.lab-ph .m-head{border-bottom:1px solid #12151b24;gap:.3rem;padding:1.1rem 1.3rem .9rem;font-size:.84rem;display:grid}.lab-ph .m-row{grid-template-columns:3.4rem 1fr;align-items:baseline;gap:.6rem;display:grid}.lab-ph .m-row>span{font:.62rem var(--l-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--l-ink2)}.lab-ph .m-row>div{overflow-wrap:anywhere;min-width:0}.lab-ph .m-row code{font:.78rem var(--l-mono);color:var(--l-ink2)}.lab-ph .m-body{padding:1.1rem 1.3rem .5rem;font-size:.93rem;line-height:1.65}.lab-ph .m-body p{max-width:60ch;color:var(--l-ink);margin:0 0 .8em}.lab-ph .m-link{font:inherit;color:#1a4fd6;text-underline-offset:.18em;cursor:pointer;touch-action:manipulation;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline}.lab-ph .m-link.is-seen{color:#b4421a}.lab-ph .m-att{font:.78rem var(--l-mono);color:var(--l-ink);cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #12151b40;border-radius:6px;align-items:center;gap:.5rem;margin-bottom:.9rem;padding:.45rem .7rem;display:inline-flex}.lab-ph .m-att svg{width:1rem;height:1rem}.lab-ph .m-sign{color:var(--l-ink2);font-size:.86rem}.lab-ph .m-status{font:.72rem var(--l-mono);color:var(--l-ink2);overflow-wrap:anywhere;background:#fff;border:1px dashed #12151b4d;border-radius:6px;min-height:2.6em;margin:0 1.3rem;padding:.6rem .8rem}.lab-ph .m-status.is-on{color:var(--l-ink);background:#fff4ef;border-style:solid;border-color:#b4421a}.lab-ph .m-status code{font:inherit}.lab-ph .m-status strong{color:#b4421a}.lab-ph .m-clues{padding:1rem 1.3rem 1.2rem}.lab-ph .m-clues>p{color:var(--l-ink2);margin:0 0 .6rem;font-size:.82rem}.lab-ph .m-clue-row{flex-wrap:wrap;gap:.45rem;display:flex}.lab-ph [data-clue]{font:500 .8rem var(--l-sans);min-height:2.4rem;color:var(--l-ink);cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #12151b4d;border-radius:999px;padding:.5rem .85rem;transition:background .2s,border-color .2s,color .2s}.lab-ph [data-clue][aria-pressed=true]{background:var(--l-alert);border-color:var(--l-alert);color:#1a0d08}.lab-ph [data-clue]:disabled{opacity:.6;cursor:not-allowed}.lab-ph .m-verdict{border-top:1px solid #12151b24;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;padding-top:1rem;display:flex}.lab-ph .m-verdict>span{font:.72rem var(--l-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--l-ink2);margin-right:.3rem}.lab-ph [data-verdict]{font:600 .86rem var(--l-sans);border:1px solid var(--l-ink);background:var(--l-ink);min-height:2.6rem;color:var(--l-paper);cursor:pointer;touch-action:manipulation;border-radius:999px;padding:.6rem 1.1rem;transition:background .2s,color .2s}.lab-ph [data-verdict=phish]{color:var(--l-ink);background:0 0}.lab-ph [data-verdict]:hover:not(:disabled){color:#fff;background:#b4421a;border-color:#b4421a}.lab-ph [data-verdict]:disabled{opacity:.55;cursor:not-allowed}.lab-ph [data-verdict].is-chosen{opacity:1;color:#fff;background:#b4421a;border-color:#b4421a}.lab-ph .m-result{background:#eceae3;border-top:1px solid #12151b24;border-radius:0 0 8px 8px;padding:1.2rem 1.3rem 1.4rem}.lab-ph .m-result-head{border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.6rem;padding:.7rem .9rem;display:flex}.lab-ph .m-result-head.is-ok{color:#0f5f3b;background:#3ccf8e2e}.lab-ph .m-result-head.is-bad{color:#8a2f10;background:#ff6a3d2e}.lab-ph .m-result-head span{font:.7rem var(--l-mono)}.lab-ph .m-result>p{color:var(--l-ink);max-width:62ch;font-size:.88rem}.lab-ph .m-explain{gap:.5rem;margin:.8rem 0 1.2rem;padding:0;list-style:none;display:grid}.lab-ph .m-explain li{background:#fff;border-left:3px solid #9a9e9a;border-radius:6px;grid-template-columns:7.2rem 1fr;gap:.2rem .8rem;margin:0;padding:.65rem .8rem;font-size:.82rem;display:grid}.lab-ph .m-explain li span{color:var(--l-ink);font-weight:600}.lab-ph .m-explain li em{font:.66rem var(--l-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--l-ink2);grid-column:2}.lab-ph .m-explain li p{color:var(--l-ink2);grid-column:1/-1;max-width:none;margin:0}.lab-ph .m-explain li.is-hit{border-left-color:var(--l-ok)}.lab-ph .m-explain li.is-hit em{color:#0f5f3b}.lab-ph .m-explain li.is-miss{border-left-color:var(--l-alert)}.lab-ph .m-explain li.is-miss em{color:#b4421a}.lab-ph .m-explain li.is-false{border-left-color:var(--l-warn)}.lab-ph .m-explain li.is-false em{color:#8a5a00}.lab-ph .lab-btn{border:1px solid var(--l-alert);background:var(--l-alert);color:#1a0d08;min-height:2.9rem;font:600 .9rem var(--l-sans);cursor:pointer;touch-action:manipulation;border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.75em 1.4em;transition:background .2s,color .2s;display:inline-flex}.lab-ph .lab-btn:hover{color:#fff;background:#d8552a}.lab-ph .ph-final{border-top:1px solid var(--l-line);padding:2.5rem 0 3rem}.lab-ph .ph-final h2{outline:none;font-size:clamp(1.6rem,3vw,2.4rem)}.lab-ph .ph-final-score{font:600 2.4rem var(--l-mono);color:var(--l-fg);margin:.2rem 0 .8rem}.lab-ph .ph-final-score strong{color:var(--l-ok)}.lab-ph .ph-final>p:not(.ph-final-score){color:var(--l-fg2);max-width:62ch}.lab-ph .lab-learn{border-top:1px solid var(--l-line);padding:3rem 0 3.5rem}.lab-ph .lab-learn ol{max-width:68ch;color:var(--l-fg2);margin:0 0 1.5rem;padding-left:1.2em}.lab-ph .lab-learn li+li{margin-top:.5em}.lab-ph .lab-notice{font:.76rem var(--l-mono);color:var(--l-fg3);border-left:3px solid var(--l-alert);background:var(--l-bg2);border-radius:0 8px 8px 0;max-width:70ch;padding:.5rem .9rem;line-height:1.6}.lab-ph .lab-links{flex-wrap:wrap;gap:1rem 2rem;margin-top:1.4rem;display:flex}.lab-ph .lab-links a{color:var(--l-fg);border-bottom:1px solid var(--l-alert);padding-bottom:.2rem;font-weight:600;text-decoration:none}.lab-ph .lab-links a:hover{color:var(--l-alert)}.lab-ph .lab-foot{border-top:1px solid var(--l-line);color:var(--l-fg3);background:#07090d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:2rem 3vw;font-size:.74rem;display:flex}.lab-ph .lab-foot strong{color:var(--l-fg)}.lab-ph .lab-foot a{color:var(--l-alert);text-decoration:none}@media (width<=56em){.lab-ph .ph-board,.lab-ph .ph-inbox ul,.lab-ph .m-explain li{grid-template-columns:1fr}.lab-ph .m-explain li em{grid-column:1}}@media (width<=40em){.lab-ph .concept-notice{padding:.65rem 1rem;font-size:.5rem}.lab-ph .concept-notice span{max-width:26ch}.lab-ph .lab-head{font-size:.58rem}.lab-ph .lab-intro{padding-top:2.2rem}.lab-ph .ph-env,.lab-ph .ph-pocket{min-height:380px}.lab-ph .ph-letter{margin:1.8rem .7rem 1rem}.lab-ph .m-head,.lab-ph .m-body,.lab-ph .m-clues,.lab-ph .m-result{padding-left:.9rem;padding-right:.9rem}.lab-ph .m-status{margin:0 .9rem}.lab-ph .m-row{grid-template-columns:1fr;gap:.1rem}.lab-ph .lab-foot{font-size:.68rem}.lab-ph .lab-foot a{width:100%}}@media (prefers-reduced-motion:reduce){.lab-ph .ph-env,.lab-ph .ph-flap,.lab-ph .ph-letter,.lab-ph .ph-pocket span{transition:none}}
