body.artifact-modal-open{overflow:hidden}
body.artifact-modal-open::before{content:"";position:fixed;inset:0;z-index:1298;background:rgba(7,25,45,.78);backdrop-filter:blur(4px)}
.artifact-workspace.artifact-modal-active{position:fixed;inset:2.5vh 1.5vw;z-index:1299;width:auto;height:95dvh;margin:0;padding:14px;border:1px solid var(--line);border-radius:22px;background:#f8fbfd;box-shadow:0 28px 80px rgba(0,0,0,.34);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"head" "cases" "viewer";gap:10px;overflow:hidden}
.artifact-workspace.artifact-modal-active>.section-head{grid-area:head;margin:0;padding-right:48px;align-items:center}
.artifact-status-panel{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.artifact-status-chip{min-width:88px;padding:7px 9px;border:1px solid #c9dce5;border-radius:11px;background:#fff}
.artifact-status-chip small,.artifact-status-chip strong{display:block}.artifact-status-chip small{color:var(--muted);font-size:.6rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.artifact-status-chip strong{margin-top:2px;color:var(--navy);font-size:.76rem;white-space:nowrap}
.artifact-status-panel .btn{min-height:40px;padding:7px 11px}
.artifact-case-nav{grid-area:cases;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0}
.artifact-case-button{position:relative;min-height:52px;padding:8px 10px;border:1px solid #bfd4df;border-radius:12px;background:#f8fbfc;color:var(--navy);text-align:left;font:inherit;font-weight:800;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}
.artifact-case-button:hover,.artifact-case-button:focus-visible{transform:translateY(-1px);border-color:var(--blue);outline:none}.artifact-case-button small{display:block;margin-top:3px;color:var(--muted);font-size:.68rem}.artifact-case-button.current{border-color:var(--teal);background:#eaf7f6;box-shadow:inset 0 0 0 2px rgba(15,138,155,.28)}
.artifact-case-button.complete:not(.needs-review){padding-right:36px;border-color:#68a98d;background:#e7f5ed;color:#1d6244;box-shadow:inset 0 0 0 1px #68a98d}.artifact-case-button.complete:not(.needs-review)::after{content:"✓";position:absolute;top:50%;right:10px;transform:translateY(-50%);width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:.76rem;font-weight:900}.artifact-case-button.next-step{border-color:var(--gold);background:#fff8e8;box-shadow:0 0 0 3px rgba(168,118,22,.16)}.artifact-case-button.next-step::before{content:"Next";position:absolute;top:-8px;right:7px;padding:2px 6px;border-radius:999px;background:var(--gold);color:#fff;font-size:.58rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.artifact-case-button.needs-review{border-color:#d3a348;background:#fff8e8;color:#704b05;box-shadow:inset 0 0 0 1px #d3a348}.artifact-case-button:disabled{cursor:not-allowed;opacity:.58}
.artifact-workspace.artifact-modal-active>.artifact-viewer{grid-area:viewer;min-height:0;height:100%;display:flex;flex-direction:column;margin:0;border-radius:16px}.artifact-workspace.artifact-modal-active .artifact-viewer-head{flex:0 0 auto;padding:8px 12px}.artifact-workspace.artifact-modal-active .artifact-scroll{flex:1 1 auto;min-height:0;overflow:auto;padding:8px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.artifact-modal-close{position:absolute;top:12px;right:14px;z-index:32;width:40px;height:40px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--navy);font-size:1.5rem;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.12)}.artifact-modal-close:hover,.artifact-modal-close:focus-visible{border-color:var(--blue);background:var(--sky);outline:3px solid rgba(7,95,168,.15)}
.artifact-rotate{display:none}
.artifact-question-layer{position:absolute;inset:0;z-index:20;display:grid;place-items:center;padding:clamp(16px,4vw,48px);background:#f6fafc;overflow:auto}
.artifact-question-shell{width:min(1000px,100%);max-height:100%;overflow:auto;padding:clamp(18px,3vw,34px);border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:0 18px 55px rgba(8,43,87,.14)}
.artifact-question-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.artifact-question-header h2{margin:.25rem 0 0;font-size:clamp(1.35rem,3vw,2.25rem)}.artifact-question-count{white-space:nowrap;border-radius:999px;background:var(--sky);color:var(--blue);padding:7px 11px;font-size:.78rem;font-weight:850}
.artifact-question-layer .artifact-options{margin-top:20px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.artifact-question-layer .artifact-choice{min-height:76px;font-size:1rem;padding:15px 16px}.artifact-question-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.artifact-question-footer .actions{margin:0}
.artifact-confirm-backdrop,.artifact-outcome-backdrop{position:absolute;inset:0;z-index:28;display:grid;place-items:center;padding:18px;background:rgba(7,25,45,.72);backdrop-filter:blur(3px)}
.artifact-dialog{width:min(620px,94%);max-height:88dvh;overflow:auto;display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.3)}.artifact-dialog-icon{width:48px;height:48px;border-radius:999px;display:grid;place-items:center;background:#eaf6fb;color:var(--blue);font-size:1.55rem;font-weight:900}.artifact-dialog.correct{border-color:#9ecfbf}.artifact-dialog.correct .artifact-dialog-icon{background:#edf7f2;color:#146348}.artifact-dialog.incorrect{border-color:#e6a29d}.artifact-dialog.incorrect .artifact-dialog-icon{background:#fff0ee;color:#9e3028}.artifact-dialog h2{margin:4px 0 8px;font-size:1.35rem}.artifact-dialog p{margin:0;color:var(--muted);line-height:1.5}.artifact-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.artifact-dialog-actions .btn{min-height:44px}.artifact-hint{margin-top:14px;padding:11px 12px;border:1px solid #b7d5e8;border-radius:12px;background:#f2f9fd}.artifact-hint strong,.artifact-hint span{display:block}.artifact-hint span{margin-top:3px;line-height:1.45}
.artifact-retry-banner{margin:0 0 16px;padding:11px 13px;border:1px solid #e7bd68;border-radius:12px;background:#fff8e8;color:#5f4308}.artifact-retry-banner strong,.artifact-retry-banner span{display:block}.artifact-retry-banner span{margin-top:3px}
.artifact-result.artifact-result-modal{align-self:center;justify-self:center;width:min(760px,100%);max-height:88dvh;overflow:auto;margin:0}
@media(max-width:1100px){.artifact-status-chip:nth-child(3){display:none}.artifact-question-layer .artifact-options{grid-template-columns:1fr}}
@media(max-width:900px) and (orientation:landscape){.artifact-workspace.artifact-modal-active{inset:0;width:100vw;height:100dvh;border:0;border-radius:0;padding:7px 8px;grid-template-rows:auto auto minmax(0,1fr);gap:6px}.artifact-workspace.artifact-modal-active>.section-head{padding-right:40px}.artifact-workspace.artifact-modal-active>.section-head h2{font-size:1.02rem;margin-bottom:0}.artifact-status-chip{min-width:0;padding:4px 6px}.artifact-status-chip small{font-size:.5rem}.artifact-status-chip strong{font-size:.64rem}.artifact-status-panel{gap:4px}.artifact-status-panel .btn{min-height:34px;padding:5px 8px;font-size:.7rem}.artifact-case-nav{display:flex;overflow-x:auto;gap:5px}.artifact-case-button{flex:0 0 120px;min-height:42px;padding:5px 7px;font-size:.72rem}.artifact-case-button small{display:none}.artifact-workspace.artifact-modal-active .artifact-viewer-head{padding:5px 8px}.artifact-workspace.artifact-modal-active .artifact-viewer-head small{display:none}.artifact-modal-close{top:6px;right:7px;width:34px;height:34px;font-size:1.2rem}.artifact-question-layer{padding:8px}.artifact-question-shell{width:100%;height:100%;max-height:none;border-radius:14px;padding:14px}.artifact-question-header h2{font-size:1.1rem}.artifact-question-layer .artifact-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:12px}.artifact-question-layer .artifact-choice{min-height:52px;font-size:.78rem;padding:8px 10px}.artifact-question-footer{margin-top:12px;padding-top:10px}.artifact-dialog{width:min(760px,96vw);max-height:92dvh;padding:14px;grid-template-columns:42px minmax(0,1fr);gap:11px}.artifact-dialog-icon{width:42px;height:42px}.artifact-dialog h2{font-size:1.05rem;margin:2px 0 5px}.artifact-dialog p,.artifact-hint span{font-size:.78rem}.artifact-dialog-actions{margin-top:10px;gap:6px}.artifact-dialog-actions .btn{min-height:36px;padding:7px 9px;font-size:.76rem}.artifact-hint{margin-top:9px;padding:8px 9px}}
@media(max-width:900px) and (orientation:portrait){.artifact-workspace.artifact-modal-active{inset:0;width:100vw;height:100dvh;border:0;border-radius:0;display:block;padding:0}.artifact-workspace.artifact-modal-active>*:not(.artifact-rotate):not(.artifact-modal-close){visibility:hidden;pointer-events:none}.artifact-workspace.artifact-modal-active .artifact-rotate{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:36px;text-align:center;background:#f7fbfd;color:var(--ink)}.artifact-rotate strong{font-size:1.35rem}.artifact-rotate span{max-width:30rem;color:var(--muted);font-weight:700;line-height:1.5}.artifact-rotate-icon{font-size:3rem;line-height:1}.artifact-modal-close{z-index:31}.artifact-dialog{grid-template-columns:1fr}.artifact-dialog-actions{display:grid}.artifact-dialog-actions .btn{width:100%}}
@media(min-width:1500px){.artifact-workspace.artifact-modal-active{inset:2vh 1vw;height:96dvh}}
