.password-card{border-top-color:#d92f70;background:linear-gradient(145deg,#fff,#fff1f7)}.pw-lesson{--pink:#d92f70}.pw-lesson .ds-kicker{color:#b92361}.pw-lesson .ds-progress b{background:linear-gradient(90deg,#d92f70,#7d55d9)}.password-rank{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.rank-card{padding:1.1rem;border:2px solid #e2dce5;border-radius:18px;background:#fff}.rank-card:nth-child(1){background:#e7f6ff}.rank-card:nth-child(2){background:#ffe5f0}.rank-card:nth-child(3){background:#eaf9e3}.rank-card:nth-child(4){background:#fff3d8}.rank-card strong{display:block;margin-bottom:.75rem;font-size:1.18rem;overflow-wrap:anywhere}.rank-card label{font-size:.82rem;font-weight:800}.rank-card select{width:100%;margin-top:.3rem;padding:.55rem;border:1px solid #bbc7d8;border-radius:9px;background:#fff}.reason-label{display:block;margin-top:1rem;font-weight:850}.reason-label textarea,.passphrase-box textarea{width:100%;min-height:72px;margin-top:.35rem;padding:.7rem;border:1px solid #cbd4e4;border-radius:10px}.model-box{padding:1rem;border-radius:12px;background:#f0edff}.attack-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.attack-grid article{padding:1.3rem;border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(16,33,60,.07)}.attack-grid article:nth-child(1){background:#e6f4ff}.attack-grid article:nth-child(2){background:#ffe7ef}.attack-grid article:nth-child(3){background:#fff1ce}.attack-grid article>span{font-size:2rem}.attack-grid h2{margin:.3rem 0}.attack-grid article>div{margin-top:.8rem;padding:.8rem;border-radius:10px;background:rgba(255,255,255,.72)}.attack-grid [hidden],.procon[hidden],#rankModel[hidden]{display:none!important}.lab-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:1rem}.length-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.calculator{padding:1.25rem;border-radius:20px;color:#fff;background:linear-gradient(145deg,#172033,#3f275f)}.calculator label{display:block;font-weight:850}.calculator input{width:100%;margin-top:.35rem;padding:.7rem;border:0;border-radius:9px}.calc-result{display:grid;gap:.25rem;margin:1rem 0;padding:1rem;border-radius:12px;background:rgba(255,255,255,.1)}.calc-result small{color:#d9d3e8}.calc-result strong{font-size:1.25rem}.crack-tasks{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:1rem}.crack-tasks label{padding:1rem;border-radius:14px;background:#ffe7ef;font-weight:850}.crack-tasks input{width:100%;margin-top:.35rem;padding:.65rem;border:1px solid #e5bbca;border-radius:9px}.password-table input[type=radio],.myth-wrap input[type=radio]{width:22px;height:22px;accent-color:var(--pink)}.password-table input[type=text]{width:100%;padding:.45rem;border:1px solid #cbd4e4;border-radius:8px}.rules-title{margin:1.2rem 0 .7rem}.rules-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:.55rem}.rule-card{padding:.8rem;border-radius:12px;background:#e8f5ff}.rule-card select{width:100%;margin-top:.45rem;padding:.5rem;border:1px solid #b9cddd;border-radius:8px}.protection-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.protection-grid article{padding:1.5rem;border-radius:22px}.protection-grid article:first-child{background:#e5f8df}.protection-grid article:last-child{background:#ffe3ed}.protection-icon{font-size:2.5rem}.protection-grid h2{margin:.2rem 0}.protection-grid li+li{margin-top:.45rem}.procon{margin-top:.8rem;padding:.9rem;border-radius:12px;background:rgba(255,255,255,.72)}.passphrase-box{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;padding:1rem;border-radius:18px;background:#e5f6ff}.passphrase-box label{font-weight:850}.passphrase-box input{width:100%;margin-top:.35rem;padding:.7rem;border:1px solid #bcd7e8;border-radius:9px}.myth-wrap td:first-child{width:70%}@media(max-width:900px){.password-rank,.rules-grid{grid-template-columns:repeat(2,1fr)}.attack-grid{grid-template-columns:1fr}.lab-layout,.protection-grid,.passphrase-box{grid-template-columns:1fr}.crack-tasks{grid-template-columns:1fr}}@media(max-width:520px){.password-rank,.rules-grid{grid-template-columns:1fr}}
/* Refined ranking alignment and a fully manual calculator */
.rank-card{display:flex;min-width:0;flex-direction:column}.rank-card strong{margin:.35rem 0 .9rem;font-size:clamp(.78rem,1.35vw,1rem);letter-spacing:-.025em;white-space:nowrap}.rank-card label{margin-top:auto}.attack-grid article{display:flex;flex-direction:column}.attack-grid .example-toggle{align-self:flex-start;margin-top:auto}.calc-display{display:block;min-height:58px;margin:.45rem 0 .7rem;padding:.65rem .75rem;overflow-x:auto;border-radius:10px;color:#172033;background:#fff;font-size:1.35rem;font-weight:850;text-align:right;white-space:nowrap}.calc-keys{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.calc-keys button{min-height:39px;border:1px solid rgba(255,255,255,.18);border-radius:8px;color:#fff;background:rgba(255,255,255,.12);cursor:pointer;font-weight:850}.calc-keys button:hover{background:rgba(255,255,255,.22)}.calc-keys .equals{grid-row:span 2;color:#281634;background:#f0b7df}.calc-keys .zero{grid-column:span 2}.calc-hint{margin:.7rem 0 0;color:#d9d3e8;font-size:.72rem}.crack-tasks input.is-valid{border-color:#44a55c;background:#f0fbf3}.crack-tasks input.is-invalid{border-color:#d75a70;background:#fff2f4}
/* Full-width experiment table with calculator and unit answers below */
.length-table-wrap{width:100%;overflow:visible}.length-table-wrap .protection-matrix{min-width:0}.lower-lab{display:grid;grid-template-columns:330px minmax(0,1fr);align-items:start;gap:1rem;margin-top:1rem}.lower-lab .calculator{width:100%}.answer-panel{min-width:0}.answer-panel .crack-tasks{grid-template-columns:1fr;margin-top:0}.crack-tasks article{padding:.8rem 1rem;border-radius:14px;background:#ffe7ef}.crack-tasks article>strong{display:block;margin-bottom:.45rem}.unit-inputs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.crack-tasks article:nth-child(2) .unit-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.crack-tasks label{display:block;padding:0;background:transparent;font-size:.75rem}.crack-tasks input{margin-top:.2rem;padding:.5rem}.answer-panel .action-row{margin-top:.7rem}@media(max-width:900px){.lower-lab{grid-template-columns:1fr}.unit-inputs,.crack-tasks article:nth-child(2) .unit-inputs{grid-template-columns:1fr}}
