:root{color-scheme:dark;--bg:#101d33;--table:#192d49;--line:#304965;--paper:#fafcff;--blue:#83c7ff;--muted:#9eafc5;--red:#d8394b;--text:#edf4ff;--success:#8cd8b8;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);min-width:320px}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.38}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:4px}button{border:0}svg{display:block}.site-header{max-width:1440px;margin:auto;padding:27px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid #233751}.brand{color:var(--text);display:flex;align-items:center;gap:11px;font-weight:650;font-size:20px;white-space:nowrap}.brand small{font-size:10px;font-weight:400;color:var(--muted);letter-spacing:3px;display:block;margin-top:3px}.site-header nav{display:flex;align-items:center;gap:10px}.nav-button{background:none;color:var(--muted);min-height:44px;padding:10px 16px;font-size:14px}.nav-button.active{color:var(--blue)}.install-button{background:none;border:1px solid var(--line);border-radius:6px;min-height:40px;padding:8px 14px;font-size:13px;margin-left:14px}.site-header.training .nav-button{display:none}.site-header.training .nav-button[data-action=help]{display:block}#app{max-width:1344px;margin:auto;padding:40px 48px 24px;min-height:calc(100svh - 183px)}.site-footer{max-width:1440px;padding:25px 48px;margin:auto;display:flex;justify-content:space-between;gap:16px;color:#8095b1;font-size:12px}.notice{background:#583b1f;color:#ffdbb2;text-align:center;padding:12px;font-size:13px}.muted{color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;letter-spacing:-.8px;font-weight:600;line-height:1.35;margin-bottom:14px}h2{font-size:21px;font-weight:550}h3{font-size:16px;font-weight:550}.primary,.secondary,.text-button{min-height:44px;padding:12px 22px;border-radius:6px;font-weight:550;line-height:1.25}.primary{background:var(--blue);color:#10213a}.primary:hover{background:#a7d7ff}.secondary{border:1px solid var(--line);background:#203956}.secondary:hover{background:#2a4565}.text-button{background:none;color:var(--muted);padding:10px 12px}.text-button:hover{color:var(--text)}.button-row{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.home-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:52px}.intro{padding-top:11px}.intro p{color:var(--muted);font-size:14px;line-height:1.9}.home-table{margin-top:27px;min-height:360px;position:relative;border-radius:18px;border:1px solid #2d4664;background:var(--table);display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.home-table:before{content:'';position:absolute;inset:15px;border:1px solid #304965;border-radius:12px;pointer-events:none}.sample-hand{height:222px;width:300px;position:relative;margin-top:24px}.sample-card{width:130px;position:absolute;top:0;left:85px;filter:drop-shadow(0 8px 9px #09132355);transform-origin:50% 100%}.sample-card:nth-child(1){transform:rotate(-20deg) translateX(-34px);top:11px}.sample-card:nth-child(2){transform:rotate(-7deg) translateX(-12px)}.sample-card:nth-child(3){transform:rotate(8deg) translateX(12px)}.sample-card:nth-child(4){transform:rotate(22deg) translateX(37px);top:12px}.table-caption{font-size:12px;letter-spacing:2px;color:#9eb5d0;margin:0 0 22px;z-index:1}.rules-strip{display:flex;gap:0;border-bottom:1px solid #2a3e58;margin-top:22px;padding-bottom:24px}.rule{flex:1;text-align:center;border-right:1px solid #2a3e58}.rule:last-child{border:0}.rule strong{font-size:23px;font-weight:500;display:block;font-variant-numeric:tabular-nums}.rule strong small{font-size:12px;margin-left:5px;color:var(--muted)}.rule span{font-size:12px;color:var(--muted);display:block;margin-top:7px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field label{font-size:13px;color:#b3c3d8}.field input,.field select{width:100%;min-height:44px;padding:10px 12px;color:var(--paper);background:#14243d;border:1px solid var(--line);border-radius:5px;outline-offset:2px;font-size:14px}.field input:disabled{color:var(--muted);opacity:.65}.field-hint{font-size:11px;color:#8b9fba;line-height:1.6}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 14px}.field.wide{grid-column:1/-1}.configuration{padding-top:13px}.mode-switch{background:#0d192c;padding:4px;border-radius:7px;display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:25px}.mode-switch button{min-height:42px;background:transparent;border-radius:4px;font-size:14px;color:var(--muted)}.mode-switch button.selected{background:#284360;color:var(--paper)}.configuration .standard-note{font-size:12px;line-height:1.8;color:var(--muted);margin-bottom:23px}.preferences{margin:23px 0;border-top:1px solid #2a3e58;padding-top:18px}.preferences summary{font-size:13px;color:#bdcce0;cursor:pointer;padding:6px 0;min-height:36px}.preferences .field-grid{margin-top:15px}.start-button{width:100%;margin-top:9px;min-height:50px;font-size:16px}.start-hint{text-align:center;font-size:11px;color:#8b9fba;margin-top:12px}.form-error{color:#ffb0b5;font-size:13px;line-height:1.7;margin:12px 0 0}.recent{margin-top:34px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-title h2{font-size:15px;margin:0;color:#b7c9df}.empty-history{font-size:13px;color:#8297b1;padding:18px 0;line-height:1.8}.history-row{display:grid;grid-template-columns:1.1fr .8fr .9fr auto;align-items:center;gap:15px;border-top:1px solid #263c57;padding:18px 0;width:100%;background:none;text-align:left;font-size:13px}.history-row:hover{background:#1b3049}.history-row time{color:var(--muted);font-size:12px}.history-score{font-size:20px;font-variant-numeric:tabular-nums}.history-score small{font-size:12px;color:var(--muted)}.history-row .review-link{color:var(--blue)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-heading p{font-size:13px;color:var(--muted);line-height:1.7;margin:0}.session-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.session-label{display:flex;align-items:center;gap:12px}.phase-tag{font-size:14px;color:var(--blue);border-left:3px solid var(--blue);padding-left:12px;line-height:1.6}.session-label .muted{font-size:12px}.timer-area{display:flex;align-items:center;gap:28px}.timer-block{display:flex;align-items:baseline;gap:9px}.timer-block .timer-label{font-size:12px;color:var(--muted)}.timer{font-size:30px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.5px;white-space:nowrap}.timer.danger{color:#ffb0b5}.session-actions{display:flex;gap:10px;align-items:center}.session-actions button{min-height:44px}.memory-table{position:relative;min-height:390px;background:var(--table);border:1px solid var(--line);border-radius:12px;padding:30px;display:flex;flex-direction:column;justify-content:center;align-items:center}.group-heading{font-size:12px;color:#a5b9d2;margin-bottom:20px}.memory-hand{display:flex;align-items:center;justify-content:center;max-width:100%;gap:14px;animation:group-in .16s ease-out}.memory-hand.rtl{flex-direction:row-reverse}.memory-card{width:min(230px,22vw);position:relative;filter:drop-shadow(0 9px 13px #08152450)}.memory-hand.many{gap:0}.memory-hand.many .memory-card{width:clamp(80px,15vw,166px);margin-left:-22px}.memory-hand.many .memory-card:first-child{margin-left:0}.memory-hand.many.rtl .memory-card{margin-left:0;margin-right:-22px}.memory-hand.many.rtl .memory-card:first-child{margin-right:0}.memory-card .card-number{position:absolute;bottom:-23px;left:0;right:0;text-align:center;font-size:12px;color:#aabbd0}.memory-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px}.memory-controls .group-status{color:var(--muted);font-size:13px}.group-navigation{display:flex;gap:8px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#4c6b8c transparent;margin-top:25px;padding:7px 2px 13px}.group-navigation.rtl{flex-direction:row-reverse}.group-preview{flex:0 0 auto;border:1px solid transparent;background:transparent;padding:6px 6px 8px;border-radius:6px;min-width:54px;min-height:80px}.group-preview.active{border-color:var(--blue);background:#28496a}.mini-hand{display:flex;justify-content:center;pointer-events:none}.mini-hand.rtl{flex-direction:row-reverse}.mini-hand .card-svg{width:32px;margin-left:-12px}.mini-hand .card-svg:first-child{margin-left:0}.group-preview span{font-size:10px;color:#aabed6;display:block;margin-top:8px}.keyboard-hint{font-size:12px;color:#8198b4;text-align:center;line-height:1.8;margin-top:16px}.key{display:inline-block;border:1px solid #344c69;padding:0 5px;border-radius:3px;line-height:19px;font-size:11px;margin:0 3px}.prep-table{min-height:490px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--table);border:1px solid var(--line);border-radius:12px}.prep-count{font-size:100px;font-weight:300;line-height:1.2;font-variant-numeric:tabular-nums;color:var(--blue)}.prep-table h1{margin:16px 0 10px;font-size:24px}.prep-table p{font-size:13px;color:var(--muted);margin:0}.prep-table .card-svg{width:62px;margin-bottom:10px}.recall-table{padding:22px 20px 26px;background:var(--table);border:1px solid var(--line);border-radius:12px}.answer-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px;color:#a5bad3;margin-bottom:18px}.answer-heading strong{font-weight:500;color:var(--blue)}.desktop-answers{display:flex;flex-direction:column;gap:26px}.answer-row{display:flex;isolation:isolate;padding-bottom:2px}.answer-item{flex:1;min-width:0;position:relative;height:175px}.answer-item:last-child{flex:0 0 115px}.answer-slot{position:absolute;top:22px;left:0;width:100%;height:153px;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #516986;border-right:0;border-radius:5px 0 0 5px;background:#223b5b;overflow:hidden}.answer-item:last-child .answer-slot{border-right:1px solid #516986;border-radius:5px}.answer-slot .card-svg{position:absolute;left:0;top:0;width:108px;height:153px;max-width:none;pointer-events:none}.answer-slot.filled{background:var(--paper)}.answer-slot.active{background:#345d80;box-shadow:inset 0 0 0 2px var(--blue);border-color:var(--blue)}.answer-slot.filled.active:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 2px var(--blue);pointer-events:none}.slot-number{position:absolute;top:0;left:2px;font-size:11px;color:#93aac5;height:20px;line-height:16px;pointer-events:none}.answer-item:has(.active) .slot-number{color:var(--blue);font-weight:600}.slot-placeholder{font-size:16px;color:#607c9c;pointer-events:none;font-family:Georgia,serif}.answer-slot.active .slot-placeholder{color:var(--blue)}.slot-preview{position:absolute;width:132px;left:50%;top:38px;transform:translateX(-50%) translateY(-12px);opacity:0;pointer-events:none;z-index:100;filter:drop-shadow(0 8px 8px #08162766)}.answer-item:hover{z-index:30}.answer-item:hover .slot-preview{opacity:1}.answer-slot.just-filled{animation:place-in .2s ease-out}.mobile-answers,.mobile-pager{display:none}.edit-toolbar{display:flex;align-items:center;gap:8px;margin:18px 0 22px;flex-wrap:wrap}.edit-toolbar button{min-height:44px;font-size:12px;padding:9px 13px}.edit-toolbar .toolbar-note{font-size:11px;color:var(--muted);margin-left:auto}.pool-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;gap:10px}.pool-heading h2{font-size:13px;margin:0;color:#b8cae0;font-weight:500}.pool-heading span{font-size:11px;color:#8da4bf}.candidate-pool{display:flex;gap:0;isolation:isolate}.suit-row{display:flex;flex:1;min-width:0;position:relative}.suit-row .suit-label{display:none}.pool-card{flex:1;min-width:0;height:128px;padding:0;position:relative;border:0;border-right:1px solid #cdd8e4;border-radius:4px 0 0 4px;background:#fafcff;color:#152238;overflow:hidden}.pool-card:last-child{border-radius:4px}.pool-card .pool-head{position:absolute;top:7px;left:3px;line-height:1;display:flex;align-items:center;flex-direction:column;gap:2px;font-family:Georgia,serif;font-weight:bold;pointer-events:none}.pool-card .pool-head b{font-size:19px}.pool-card .pool-head span{font-size:16px}.pool-card.red{color:var(--red)}.pool-card.used{background:#243b55;border-color:#405872;color:#748ba5;opacity:1}.pool-card.used.red{color:#a47985}.pool-card.used:after{content:'';position:absolute;top:66px;left:5px;right:3px;height:1px;background:#60748c;transform:rotate(-30deg)}.pool-card:not(.used):hover{background:#d9edff}.pool-card:focus-visible{z-index:5;outline-offset:0}.pool-preview{position:fixed;width:130px;z-index:50;pointer-events:none;filter:drop-shadow(0 10px 12px #04101a88)}.recall-footer{font-size:12px;color:var(--muted);margin:15px 0 0;line-height:1.7;text-align:center}.result-summary{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-bottom:1px solid var(--line);padding-bottom:32px;margin-bottom:30px}.score-display{display:flex;align-items:baseline;gap:8px}.score-display strong{font-size:78px;line-height:1.1;font-weight:350;font-variant-numeric:tabular-nums;letter-spacing:-3px;color:var(--blue)}.score-display span{font-size:22px;color:#9fb4ce}.score-copy{font-size:13px;line-height:1.9;color:var(--muted);margin:12px 0 0}.result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:center}.result-stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:10px}.result-stats strong{font-size:23px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.result-stats small{font-size:11px;color:var(--muted);font-weight:400}.review-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.review-header h2{font-size:17px;margin:0}.filter-switch{display:flex;border:1px solid var(--line);border-radius:5px;padding:3px}.filter-switch button{min-height:38px;padding:8px 14px;background:none;border-radius:3px;color:var(--muted);font-size:12px}.filter-switch button.active{background:#2b4868;color:var(--text)}.review-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:15px 12px}.review-item{min-width:0}.review-item-header{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:9px}.review-item.wrong .review-status{color:#ffacb4}.review-item.correct .review-status{color:var(--success)}.review-pair{display:flex;gap:4px}.review-pair>div{width:50%;min-width:0}.review-pair small{font-size:9px;color:#8299b6;display:block;text-align:center;margin-top:5px}.review-empty{aspect-ratio:120/170;border:1px dashed #49627f;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#8aa0bb}.result-actions{display:flex;gap:12px;margin-top:35px;justify-content:center}.history-page .history-row{grid-template-columns:1.1fr 1fr 1fr 1fr auto}.history-page .history-head{font-size:11px;color:#8ca1bc;pointer-events:none}.help-copy{font-size:13px;line-height:1.9;color:#a9bbd3}.help-copy h3{color:var(--text);margin-top:22px;margin-bottom:8px}.help-copy p{margin-bottom:9px}.help-copy ul{padding-left:20px}.help-copy a{color:var(--blue)}dialog{max-width:540px;width:calc(100% - 32px);max-height:85svh;border:1px solid #4a6582;background:#15283f;color:var(--text);border-radius:12px;padding:28px;box-shadow:0 20px 60px #0008}dialog::backdrop{background:#05101ecc;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.dialog-heading h2{margin:0;font-size:19px}.dialog-close{background:none;color:var(--muted);font-size:24px;min-width:44px;min-height:44px}.dialog-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#345471;color:var(--paper);border:1px solid #6889ac;padding:12px 20px;border-radius:7px;z-index:200;font-size:13px;max-width:calc(100% - 30px);box-shadow:0 8px 25px #0003}.card-svg{width:100%;height:auto;pointer-events:none}.card-back>rect:first-child{fill:#183657;stroke:#6b8caf;stroke-width:1.5}.no-errors{padding:50px;text-align:center;color:var(--success);font-size:14px}.offline-badge{color:var(--success)}.pool-options{display:flex;gap:14px;align-items:flex-start}.pool-options .field{flex:1}.overflow-info{color:#b8d9f7!important}.resume-message{font-size:12px;color:var(--blue);margin-top:15px}.desktop-only{display:inline}
@keyframes group-in{from{opacity:.75;transform:translateX(6px)}to{opacity:1;transform:none}}@keyframes place-in{from{filter:brightness(1.4)}to{filter:brightness(1)}}
@media(min-width:1450px){.memory-table{min-height:460px}.memory-card{width:260px}.answer-item{height:193px}.answer-slot{height:171px}.answer-slot .card-svg{width:121px;height:171px}.answer-item:last-child{flex-basis:121px}}
@media(max-width:1100px){.site-header{padding:22px 28px}#app{padding:30px 28px 20px}.site-footer{padding:24px 28px}.home-layout{gap:30px;grid-template-columns:minmax(0,1fr) 320px}.home-table{min-height:330px}.answer-item:last-child{flex-basis:95px}.answer-item{height:157px}.answer-slot{height:135px}.answer-slot .card-svg{width:95px;height:135px}.pool-card .pool-head{left:2px}.pool-card .pool-head b{font-size:16px}.pool-card .pool-head span{font-size:14px}.review-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.timer-area{gap:17px}.timer{font-size:26px}.timer-block{gap:6px}}
@media(max-width:800px){.home-layout{grid-template-columns:1fr;gap:30px}.intro{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}.intro h1{font-size:27px;align-self:end}.intro>p{grid-column:1;align-self:start}.home-table{grid-column:2;grid-row:1/4;margin:0;min-height:275px}.sample-hand{width:230px;height:180px}.sample-card{width:104px;left:60px}.table-caption{font-size:10px;letter-spacing:1px}.rules-strip{grid-column:1;margin-top:0}.recent{grid-column:1/-1;margin-top:20px}.configuration{padding-top:0}.configuration .mode-switch{margin-bottom:18px}.configuration>.field-grid{grid-template-columns:repeat(4,1fr)}.configuration>.field-grid .wide{grid-column:auto}.configuration .preferences .field-grid{grid-template-columns:repeat(3,1fr)}.session-top{flex-wrap:wrap}.session-label{flex:1}.timer-area{order:3;width:100%;justify-content:space-between}.session-actions{margin-left:auto}.memory-table{min-height:350px}.memory-card{width:210px}.result-summary{gap:20px}.review-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.result-stats{gap:10px}.result-stats strong{font-size:20px}.recall-table{padding:20px 14px}.desktop-answers{display:none}.mobile-answers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.mobile-slot{min-height:85px;min-width:44px;aspect-ratio:120/170;background:#233d5c;border:1px solid #527090;border-radius:6px;padding:0;position:relative;overflow:hidden}.mobile-slot.active{border:2px solid var(--blue);background:#345d80}.mobile-slot .slot-placeholder{font-size:22px}.mobile-slot .slot-number{position:static;font-size:13px;color:#9bb5d2}.mobile-slot.filled .slot-number{position:absolute;inset:auto 4px 4px auto;top:auto;left:auto;height:auto;line-height:1.5;background:#172c49;color:white;min-width:20px;border-radius:3px;font-size:10px}.mobile-slot .card-svg{width:100%;height:100%}.mobile-slot.just-filled{animation:place-in .2s ease-out}.mobile-pager{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:15px}.mobile-pager span{font-size:12px;color:var(--muted)}.mobile-pager button{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:5px;background:#203957;font-size:18px}.candidate-pool{flex-direction:column;gap:9px}.suit-row{flex:auto;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#536c8a transparent;padding-bottom:5px;gap:5px;min-height:90px}.suit-row .suit-label{display:flex;align-items:center;justify-content:center;font-size:22px;flex:0 0 26px;position:sticky;left:0;z-index:4;background:var(--table)}.suit-row .suit-label.red{color:#ee7c87}.pool-card{flex:0 0 49px;height:80px;border-radius:5px;border:1px solid #d7e2ee}.pool-card .pool-head{left:7px;top:8px;gap:4px}.pool-card .pool-head b{font-size:22px}.pool-card .pool-head span{font-size:21px}.pool-card:not(.used):after{content:'';position:absolute;bottom:8px;right:7px;width:10px;height:1px;background:currentColor;opacity:.25}.pool-card.used:after{top:52px;left:7px;right:7px}.pool-preview{display:none}.edit-toolbar{margin:15px 0 19px;gap:7px}.edit-toolbar .toolbar-note{width:100%;margin:2px 0 0}.pool-heading span{display:none}.keyboard-hint{display:none}.history-page .history-row{grid-template-columns:1.3fr 1fr 1fr auto}.history-page .recall-column{display:none}.site-header nav{gap:0}.install-button{margin-left:5px}}
@media(max-width:520px){.site-header{padding:17px 18px;gap:10px}.brand{font-size:17px;gap:8px}.brand img{width:29px;height:29px}.brand small{font-size:8px;letter-spacing:2px}.nav-button{padding:10px 9px;font-size:12px}.install-button{display:none}.site-header.training .nav-button[data-action=help]{display:none}#app{padding:25px 18px 18px;min-height:calc(100svh - 155px)}.site-footer{padding:18px;flex-direction:column;gap:5px;font-size:10px}.intro{display:block;padding:0}.intro h1{font-size:26px;margin-bottom:9px}.intro>p{font-size:12px;margin-bottom:20px}.home-table{min-height:263px;border-radius:13px}.sample-hand{height:185px}.table-caption{margin-bottom:17px}.rules-strip{margin-top:20px;padding-bottom:20px}.rule strong{font-size:22px}.recent{margin-top:24px}.configuration>.field-grid{grid-template-columns:1fr 1fr}.configuration>.field-grid .wide{grid-column:1/-1}.configuration .preferences .field-grid{grid-template-columns:1fr 1fr}.home-layout{gap:30px}.configuration .standard-note{margin-bottom:19px}.field-grid{gap:15px 12px}.history-row{gap:10px;grid-template-columns:1.2fr .7fr .8fr auto}.history-row time{font-size:10px}.history-row .review-link{font-size:11px}.history-score{font-size:18px}.page-heading h1{font-size:25px}.page-heading .secondary{font-size:12px;padding:11px 13px}.page-heading{margin-bottom:22px}.session-top{margin-bottom:17px;gap:15px}.phase-tag{font-size:13px}.session-label{gap:9px}.session-label .muted{font-size:11px}.session-actions{gap:5px}.session-actions .primary{font-size:12px;padding:11px 13px}.session-actions .text-button{font-size:11px;padding:10px 8px}.timer-area{padding-top:13px;border-top:1px solid #2a3e58;gap:12px}.timer{font-size:26px}.timer-block .timer-label{font-size:11px}.timer-block{gap:8px}.memory-table{padding:25px 14px 39px;min-height:318px}.group-heading{margin-bottom:20px}.memory-hand{gap:12px}.memory-card{width:135px}.memory-hand.many .memory-card{width:clamp(63px,20vw,108px);margin-left:-27px}.memory-hand.many.rtl .memory-card{margin-left:0;margin-right:-27px}.memory-hand.many.rtl .memory-card:first-child{margin-right:0}.memory-card .card-number{font-size:10px;bottom:-20px}.memory-controls{gap:8px;flex-wrap:wrap}.memory-controls button{font-size:12px;padding:11px 14px}.memory-controls .group-status{font-size:11px}.group-navigation{margin-top:18px}.prep-table{min-height:390px}.prep-count{font-size:90px}.prep-table h1{font-size:21px}.recall-table{padding:16px 11px 18px}.answer-heading{font-size:11px;margin-bottom:14px}.answer-heading .text-button{font-size:11px;padding:6px 7px;min-height:35px}.mobile-answers{gap:4px}.mobile-slot{min-width:0;min-height:70px}.mobile-slot:focus-visible{outline-offset:0}.mobile-pager{gap:13px;margin-top:12px}.edit-toolbar button{padding:10px 11px;font-size:11px}.pool-card{flex-basis:47px;height:76px}.pool-card .pool-head{left:6px}.suit-row{min-height:86px;gap:5px}.suit-row .suit-label{flex-basis:23px;font-size:20px}.pool-heading h2{font-size:12px}.pool-heading .text-button{font-size:11px;padding:7px}.recall-footer{font-size:11px;text-align:left}.result-summary{grid-template-columns:1fr;gap:24px;padding-bottom:25px}.score-display strong{font-size:70px}.score-display span{font-size:20px}.result-stats{grid-template-columns:repeat(3,1fr)}.result-stats strong{font-size:22px}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 12px}.review-header h2{font-size:15px}.filter-switch button{padding:8px 10px;font-size:11px}.review-item-header{font-size:10px}.review-pair small{font-size:9px}.history-page .history-row{grid-template-columns:1.1fr .8fr .9fr auto;gap:8px}.history-page .history-head{font-size:10px}.history-page .history-row time{line-height:1.6}.no-errors{padding:30px 0}.result-actions button{font-size:13px;padding:12px 17px}.toast{bottom:18px;font-size:12px}.help-copy{font-size:12px}dialog{padding:22px}.dialog-heading{margin-bottom:10px}}
.answer-row.short{gap:8px;justify-content:flex-start}.answer-row.short.rtl{justify-content:flex-end}.answer-row.short .answer-item{flex:0 0 108px}.answer-row.short .answer-slot{border-right:1px solid #516986;border-radius:6px}.pool-card .card-svg{position:absolute;left:0;top:0;width:90px;height:128px}.pool-card .pool-head{display:none}.pool-card.used .card-svg{opacity:.15}.candidate-pool>.suit-row:last-child>.pool-card:last-child{flex:0 0 90px}
@media(max-width:800px){.pool-card .card-svg{display:none}.pool-card .pool-head{display:flex}.candidate-pool>.suit-row:last-child>.pool-card:last-child{flex:0 0 49px}}
@media(max-width:520px){.candidate-pool>.suit-row:last-child>.pool-card:last-child{flex-basis:47px}}
@media(max-width:520px){.memory-card{width:min(135px,calc((100vw - 86px)/2))}html{scrollbar-width:none}html::-webkit-scrollbar{display:none}}
@media(max-width:360px){#app{padding-left:10px;padding-right:10px}.recall-table{padding-left:8px;padding-right:8px}.mobile-answers{gap:3px}.mobile-slot{min-width:44px}.site-header{padding-left:12px;padding-right:12px}}
.mobile-slot{width:100%}.session-top{position:sticky;top:0;z-index:70;background:var(--bg);padding:12px 0;margin-top:-12px}.candidate-pool>.suit-row:last-child{flex:0 0 calc((100% - 90px) / 51 * 12 + 90px)}.pool-card .card-svg{clip-path:inset(46px 0 0 0)}.pool-card .pool-head{display:flex;left:2px;top:7px}.pool-card .pool-head b{font-size:17px}.pool-card .pool-head span{font-size:15px}.pool-card[data-card$="10"] .pool-head b{font-size:15px}
@media(max-width:800px){.candidate-pool>.suit-row:last-child{flex:auto}.pool-card .pool-head{left:7px;top:8px;gap:4px}.pool-card .pool-head b{font-size:22px}.pool-card .pool-head span{font-size:21px}.pool-card[data-card$="10"] .pool-head b{font-size:21px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
