.ws-desktop{color:#e5edf6;background:#0a1422;border:1px solid #283b51;border-radius:15px;overflow:hidden;box-shadow:0 24px 65px #0208133b;font-size:.9rem}.ws-windowbar{display:flex;align-items:center;gap:14px;background:linear-gradient(#223348,#162539);border-bottom:1px solid #31445a;padding:14px 18px;color:#cad8e6;font-size:.76rem;font-weight:600}.ws-windowbar>span:nth-child(2){flex:1}.ws-window-dots{display:flex;gap:5px}.ws-window-dots i{width:7px;height:7px;background:#5c6f83;border-radius:50%}.ws-window-dots i:first-child{background:#f2a65e}.ws-window-dots i:nth-child(2){background:#d8c46c}.ws-window-dots i:last-child{background:#45c8ac}.ws-local-badge{font:600 .58rem ui-monospace,monospace;letter-spacing:.1em;color:#66d8c1;background:#0c3a3a;border:1px solid #266257;border-radius:4px;padding:4px 7px;white-space:nowrap}.ws-body{padding:22px}.ws-two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}.ws-panel{background:linear-gradient(135deg,#172438,#111e30);border:1px solid #2c3d51;border-radius:10px;padding:22px;min-width:0}.ws-panel h3,.ws-test-results h3{font-size:1rem;line-height:1.35;margin:0 0 17px;color:#fff;letter-spacing:-.01em}.ws-panel p{line-height:1.65}.ws-section-label{font:600 .62rem ui-monospace,monospace;letter-spacing:.13em;color:#5cd4c1;margin-bottom:10px}.ws-muted{font-size:.79rem;color:#a5b9cc;line-height:1.6}.ws-field{display:flex;flex-direction:column;gap:7px;margin-bottom:15px;min-width:0}.ws-field>span{font-size:.75rem;font-weight:600;color:#b6c7d9}.ws-field input,.ws-field select,.ws-field textarea{box-sizing:border-box;width:100%;min-height:42px;border:1px solid #3b516b;border-radius:6px;background:#0b1728;color:#eaf2fb;padding:10px 11px;font:inherit;font-size:.8rem;line-height:1.45;color-scheme:dark}.ws-field input:focus,.ws-field select:focus,.ws-field textarea:focus{outline:2px solid #5dd8c4;outline-offset:2px}.ws-field textarea{resize:vertical;min-height:180px}.ws-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 13px}.ws-button{appearance:none;border:1px solid #36bfa9;background:#167f75;color:white;font:600 .75rem inherit;font-family:inherit;font-size:.76rem;font-weight:600;border-radius:6px;min-height:42px;padding:10px 13px;cursor:pointer;line-height:1.35;text-align:left;transition:background .15s,transform .15s;margin:4px 6px 4px 0}.ws-button:hover{background:#21988b}.ws-button:focus-visible,.ws-mail:focus-visible{outline:2px solid #8cebd9;outline-offset:3px}.ws-button:disabled{opacity:.45;cursor:not-allowed}.ws-button-test{border-color:#71839b;background:#23364e}.ws-button-test:hover{background:#304a69}.ws-button-test span{margin-left:9px;color:#76dbca}.ws-button-secondary{background:#1b2b42;border-color:#506981}.ws-terminal{font:.68rem/1.85 ui-monospace,SFMono-Regular,Consolas,monospace;background:#070e18;color:#a1c8bc;border:1px solid #26364b;border-radius:7px;padding:15px;margin-top:17px;overflow-wrap:anywhere;max-height:240px;overflow:auto;box-shadow:inset 0 2px 10px #0004}.ws-console-heading{color:#7892a9;letter-spacing:.1em;font-size:.55rem;border-bottom:1px solid #253345;padding-bottom:8px;margin-bottom:8px}.ws-topology{display:grid;grid-template-columns:1fr 45px 1fr 45px 1fr 1fr;align-items:center;gap:8px;background:radial-gradient(ellipse at top,#173e4a44,transparent 75%);border:1px solid #284054;border-radius:10px;padding:20px 14px;margin-bottom:19px}.ws-topology>div{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;background:linear-gradient(135deg,#24374a,#101e2e);border:1px solid #48627b;border-bottom:4px solid #345265;border-radius:8px;padding:14px 8px;box-shadow:0 5px 0 #07111c,0 10px 20px #0003;min-width:0}.ws-topology>div>span{font-size:1.9rem;color:#6bdfcb;text-shadow:0 0 20px #4be7c333}.ws-topology b{font:600 .6rem ui-monospace,monospace;letter-spacing:.02em}.ws-topology small{color:#8da8bf;font:.62rem ui-monospace,monospace;overflow-wrap:anywhere}.ws-topology>i{height:2px;background:#4cd5b6;box-shadow:0 0 9px #4cd5b657}.ws-dns-node{margin-left:6px}.ws-key-values{display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:.76rem;margin:0 0 20px}.ws-key-values dt{color:#9cb0c7}.ws-key-values dd{margin:0;color:#eef6ff;font-family:ui-monospace,monospace;font-size:.72rem}.ws-folder{font-size:4rem;line-height:1;color:#ecc16c;text-shadow:0 9px 20px #0004}.ws-test-placeholder{display:flex;gap:10px;align-items:center;background:#101f30;border:1px dashed #3b5065;color:#9db4c9;font-size:.75rem;line-height:1.6;padding:16px;border-radius:7px;margin-top:20px}.ws-status-dot{width:7px;height:7px;min-width:7px;border-radius:50%;background:#64d4bf;box-shadow:0 0 8px #64d4bf77}.ws-test-results{border:1px solid #3b5065;background:#0d1b2b;border-radius:9px;margin-top:20px;padding:20px}.ws-test-results ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.ws-test-results li{display:flex;gap:12px;align-items:start;font-size:.78rem;line-height:1.6}.ws-test-results li>span{font:600 .57rem ui-monospace,monospace;min-width:47px;border-radius:3px;padding:4px 6px;margin-top:2px;letter-spacing:.06em}.ws-pass>span{color:#83ead4;background:#123f39}.ws-fail>span{color:#ffd09b;background:#503823}.ws-note ul{padding-left:19px;line-height:1.8;font-size:.82rem;color:#c3d4e5}.ws-source-card{padding:18px 22px;margin-bottom:18px;background:#1b3043;border-left:3px solid #72d4c0;border-radius:6px;color:#d1e3ed}.ws-source-card b{font:.62rem ui-monospace,monospace;letter-spacing:.14em;color:#7fe0cc}.ws-source-card p{margin:9px 0;font-size:.95rem;line-height:1.5}.ws-source-card small{font-size:.75rem;color:#9db9cd}.ws-claim-list{padding:0 0 0 22px;margin:0}.ws-claim-list li{padding-left:7px;margin-bottom:18px}.ws-claim-list blockquote{margin:0 0 10px;font-size:.82rem;line-height:1.6;color:#dce8f5}.ws-ticket-pair{padding:14px;background:#0e1b2c;border:1px solid #30455c;border-radius:7px;margin-bottom:14px}.ws-ticket-pair>b{color:#7fdac9;font-size:.77rem}.ws-ticket-pair p{font-size:.8rem;margin:8px 0 12px}.ws-ticket-pair .ws-field{margin:0}.ws-code{font:.7rem/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;background:#080f1a;color:#94dcc8;padding:17px;border:1px solid #2f4057;border-radius:6px;overflow:auto;tab-size:4;white-space:pre-wrap;overflow-wrap:anywhere}.ws-inbox{display:grid;gap:7px;margin-bottom:20px}.ws-mail{appearance:none;display:grid;gap:5px;text-align:left;border:1px solid #33465f;border-radius:6px;background:#0f1b2c;color:#d5e3f2;padding:12px;font:inherit;cursor:pointer}.ws-mail b{font-size:.75rem}.ws-mail small{font: .62rem ui-monospace,monospace;color:#8ba3bd;overflow-wrap:anywhere}.ws-mail-active{background:#153b40;border-color:#42ae9f;box-shadow:inset 3px 0 #58ceb9}.ws-email h3{font-size:.9rem;margin-bottom:12px}.ws-email p{font-size:.8rem}.ws-email-meta{font-family:ui-monospace,monospace;font-size:.65rem!important;color:#a6bdce;overflow-wrap:anywhere;border-bottom:1px solid #304257;padding-bottom:14px}.ws-link-preview{background:#0b1726;border:1px solid #344a63;border-radius:6px;padding:13px;margin:18px 0 11px;display:grid;gap:9px}.ws-link-preview b{color:#ecc28e;font-size:.65rem}.ws-link-preview code{font-size:.65rem;overflow-wrap:anywhere;color:#c7dbea}.ws-email>small{color:#809cb5;font-size:.65rem}.ws-fieldset{border:1px solid #33475d;border-radius:7px;margin:17px 0;padding:13px}.ws-fieldset legend{font-size:.71rem;color:#b1c9db;padding:0 6px}.ws-check{display:flex;gap:10px;align-items:flex-start;font-size:.76rem;line-height:1.6;color:#c6d8e8;margin:10px 0;cursor:pointer}.ws-check input{accent-color:#39c4aa;margin:4px 0 0;width:16px;height:16px;flex:0 0 16px}.ws-table-scroll{overflow:auto}.ws-log-table{border-collapse:collapse;width:100%;text-align:left;font-size:.72rem;line-height:1.6;min-width:590px}.ws-log-table caption{text-align:left;color:#91acc0;margin-bottom:14px;font-size:.7rem}.ws-log-table th,.ws-log-table td{padding:12px 9px;border-bottom:1px solid #2b3b50}.ws-log-table thead th{font-size:.6rem;text-transform:uppercase;letter-spacing:.07em;color:#85a6bb;background:#0c1828}.ws-log-table tbody th{color:#b6d6e4;font: .65rem ui-monospace,monospace}.ws-log-table input{width:16px;height:16px;accent-color:#49d1b7}.ws-log-alert{background:#c88e2421}.ws-log-alert td:last-child{color:#f0cd95}.ws-log-info td:last-child{color:#a5bbcf}.ws-log-table code{font-size:.66rem}.ws-margin-top{margin-top:18px}.ws-scope{background:#163132;border:1px solid #3c706b;border-radius:8px;padding:18px 21px;margin-bottom:18px;display:grid;grid-template-columns:1.4fr 1fr;gap:20px;align-items:center}.ws-scope b{font:.65rem ui-monospace,monospace;letter-spacing:.11em;color:#8ce2cc}.ws-scope p{color:#a7c8cb;font-size:.75rem;line-height:1.65;margin:7px 0 0}.ws-scope .ws-check{color:#e1f6ef}.ws-identity{font-size:.76rem;padding:10px 12px;background:#0a192a;border:1px solid #2a415c;border-radius:5px}.ws-identity code{margin-left:8px;color:#80dcca}.ws-request-controls{display:grid;gap:7px;margin:16px 0}.ws-request-controls .ws-button{margin:0}.ws-response{border:1px solid #405a72;border-radius:7px;background:#0c1c2a;padding:16px;margin:20px 0}.ws-http-code{display:inline-block;color:#a5eed2;background:#174535;padding:5px 8px;border-radius:4px;font:600 .63rem ui-monospace,monospace}.ws-http-denied{color:#ffcfac;background:#563b2d}.ws-response pre{font:.72rem/1.8 ui-monospace,monospace;color:#a9c6d8;white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:0}@media(max-width:900px){.ws-body{padding:16px}.ws-two-col{grid-template-columns:1fr}.ws-scope{grid-template-columns:1fr;gap:8px}.ws-topology{grid-template-columns:1fr 18px 1fr 18px 1fr}.ws-dns-node{grid-column:3;margin:10px 0 0}.ws-panel{padding:18px}.ws-local-badge{display:none}}@media(max-width:520px){.ws-windowbar{padding:12px;font-size:.66rem;gap:9px}.ws-window-dots{display:none}.ws-body{padding:11px}.ws-fields{grid-template-columns:1fr}.ws-topology{padding:12px 6px;gap:4px;grid-template-columns:1fr 10px 1fr 10px 1fr}.ws-topology>div{padding:10px 3px}.ws-topology b{font-size:.48rem}.ws-topology small{font-size:.47rem}.ws-topology>div>span{font-size:1.4rem}.ws-panel{padding:15px}.ws-key-values{font-size:.7rem;gap:9px}.ws-key-values dd{font-size:.65rem}.ws-scope{padding:15px}.ws-test-results{padding:15px}.ws-test-results li{font-size:.72rem;gap:8px}.ws-button{width:100%;margin:4px 0}.ws-code{font-size:.62rem}.ws-test-results li>span{min-width:41px;font-size:.52rem}}

/* Use the available bench width: a Chromebook may also show an intake sidebar. */
.ws-desktop{container-type:inline-size;container-name:workspace;min-width:0}
.ws-body{min-width:0}
.ws-two-col{grid-template-columns:repeat(2,minmax(0,1fr))}
.ws-windowbar>span:nth-child(2){min-width:0;overflow-wrap:anywhere;line-height:1.6}
.ws-field>span{font-size:.85rem;line-height:1.5}
.ws-field input,.ws-field select,.ws-field textarea{min-height:46px;font-size:1rem;line-height:1.55;padding:11px 12px}
.ws-field select{padding-right:28px;text-overflow:ellipsis}
.ws-field textarea{min-height:200px}
.ws-button{font-size:.85rem;min-height:46px;padding:12px 14px;touch-action:manipulation;max-width:100%;overflow-wrap:anywhere}
.ws-check{min-height:44px;padding:8px 2px;margin:4px 0;align-items:center;font-size:.85rem}
.ws-check input{height:20px;width:20px;flex-basis:20px;margin:0}
.ws-check input:focus-visible,.ws-log-select input:focus-visible{outline:2px solid #8cebd9;outline-offset:4px}
.ws-fieldset{min-width:0}
.ws-fieldset legend{font-size:.8rem;line-height:1.5;max-width:100%}
.ws-mail{min-height:64px;padding:14px;touch-action:manipulation}
.ws-mail b{font-size:.85rem;line-height:1.5}
.ws-mail small{font-size:.75rem;line-height:1.6}
.ws-email p{font-size:.9rem}
.ws-email-meta{font-size:.75rem!important;line-height:1.7}
.ws-link-preview code{font-size:.76rem;line-height:1.7}
.ws-link-preview b,.ws-email>small{font-size:.73rem;line-height:1.6}
.ws-muted,.ws-note ul,.ws-ticket-pair p,.ws-claim-list blockquote{font-size:.87rem}
.ws-ticket-pair>b{font-size:.85rem}
.ws-source-card small{font-size:.83rem;line-height:1.6;display:block}
.ws-terminal{font-size:.77rem;line-height:1.85;max-height:300px;overscroll-behavior:contain}
.ws-console-heading{font-size:.65rem}
.ws-code{font-size:.79rem;line-height:1.85}
.ws-test-results li,.ws-test-placeholder{font-size:.85rem;overflow-wrap:anywhere}
.ws-test-results li>span{font-size:.62rem;flex:0 0 auto}
.ws-topology b{font-size:.7rem;line-height:1.5}
.ws-topology small{font-size:.72rem;line-height:1.6}
.ws-key-values{font-size:.85rem;line-height:1.6;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
.ws-key-values dd{font-size:.8rem;overflow-wrap:anywhere}
.ws-key-values dt{overflow-wrap:anywhere}
.ws-table-scroll{max-width:100%;overscroll-behavior-inline:contain;border-radius:6px}
.ws-table-scroll:focus-visible{outline:2px solid #8cebd9;outline-offset:4px}
.ws-log-table{font-size:.82rem;min-width:670px}
.ws-log-table caption{font-size:.8rem;line-height:1.6}
.ws-log-table thead th{font-size:.68rem}
.ws-log-table tbody th,.ws-log-table code{font-size:.76rem;line-height:1.7}
.ws-log-table th,.ws-log-table td{padding:10px 9px;vertical-align:middle}
.ws-log-select{display:flex;min-height:44px;min-width:44px;align-items:center;justify-content:center;cursor:pointer}
.ws-log-select input{height:20px;width:20px;margin:0;cursor:pointer}
.ws-table-help{font-size:.8rem;line-height:1.6;color:#a1bdcf;margin:10px 0 0}
.ws-scope p,.ws-identity{font-size:.84rem}
.ws-scope b{font-size:.72rem;line-height:1.6}
.ws-response pre{font-size:.82rem;line-height:1.8}
.ws-http-code{font-size:.74rem}
.ws-request-controls .ws-button{width:100%}
.larger-reading .ws-panel p,.larger-reading .ws-field>span,.larger-reading .ws-check,.larger-reading .ws-muted,.larger-reading .ws-note ul,.larger-reading .ws-claim-list blockquote,.larger-reading .ws-test-results li{font-size:1rem}
.larger-reading .ws-field input,.larger-reading .ws-field select,.larger-reading .ws-field textarea,.larger-reading .ws-button{font-size:1rem}
.larger-reading .ws-code,.larger-reading .ws-terminal{font-size:.9rem}

@container workspace (max-width:780px){
  .ws-body{padding:16px}
  .ws-two-col{grid-template-columns:minmax(0,1fr);gap:16px}
  .ws-panel{padding:20px}
  .ws-scope{grid-template-columns:minmax(0,1fr);gap:10px}
  .ws-local-badge{display:none}
  .ws-topology{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr) 24px minmax(0,1fr);gap:7px;padding:18px 12px}
  .ws-topology>div{padding:14px 6px}
  .ws-dns-node{position:relative;grid-column:3;margin:17px 0 0}
  .ws-dns-node:before{content:"";position:absolute;width:2px;height:18px;background:#4cd5b6;top:-19px;left:50%}
  .ws-section-label{font-size:.7rem;line-height:1.7}
  .ws-button{margin-top:7px;margin-bottom:7px}
}
@container workspace (max-width:520px){
  .ws-body{padding:12px}
  .ws-panel{padding:16px}
  .ws-fields{grid-template-columns:minmax(0,1fr)}
  .ws-topology{grid-template-columns:minmax(0,1fr);gap:5px;padding:16px}
  .ws-topology>div{flex-direction:row;justify-content:flex-start;gap:14px;padding:12px 16px;text-align:left}
  .ws-topology>div>span{font-size:1.6rem;min-width:26px}
  .ws-topology b{font-size:.69rem;flex:1}
  .ws-topology small{font-size:.7rem;max-width:40%}
  .ws-topology>i{width:2px;height:16px;justify-self:center}
  .ws-dns-node{grid-column:auto;margin-top:16px}
  .ws-dns-node:before{top:-20px;height:19px}
  .ws-code{padding:13px;font-size:.76rem}
  .ws-terminal{padding:13px;font-size:.74rem}
  .ws-button{width:100%;margin-left:0;margin-right:0}
  .ws-windowbar{padding:11px 13px;font-size:.75rem}
  .ws-window-dots{display:none}
  .ws-claim-list{padding-left:18px}
  .ws-claim-list li{padding-left:2px}
  .ws-test-results{padding:16px}
  .ws-test-results li{gap:8px;font-size:.83rem}
  .ws-scope{padding:16px}
}
@media (pointer:coarse){
  .ws-button,.ws-field input,.ws-field select{min-height:48px}
  .ws-mail{min-height:72px}
  .ws-check,.ws-log-select{min-height:48px}
}

/* Progress reflects the current test, while written clues stay optional. */
.ws-mission{background:linear-gradient(120deg,#123a40,#152b3e);border:1px solid #38606b;border-radius:10px;padding:20px;margin:0 0 20px;min-width:0}
.ws-mission-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0}
.ws-mission-top .ws-section-label{display:block;font-size:.64rem;margin:0 0 7px;color:#7edbca;line-height:1.5}
.ws-mission h3{margin:0;color:#f1fcfb;font-size:1.15rem;line-height:1.4}
.ws-mission-count{color:#b9e1dc;font:600 .73rem/1.6 ui-monospace,monospace;text-align:right;max-width:48%;overflow-wrap:anywhere}
.ws-mission-progress{display:block;appearance:none;width:100%;height:7px;margin:15px 0;background:#091d2b;border:0;border-radius:5px;overflow:hidden;accent-color:#65d3b8}
.ws-mission-progress::-webkit-progress-bar{background:#091d2b;border-radius:5px}
.ws-mission-progress::-webkit-progress-value{background:#65d3b8;border-radius:5px}
.ws-mission-progress::-moz-progress-bar{background:#65d3b8;border-radius:5px}
.ws-mission-next{font-size:.86rem;line-height:1.75;color:#bfd7df;margin:0}
.ws-mission-next b{color:#e6f8f5}
.ws-coach{border-top:1px solid #355663;margin-top:15px;padding-top:4px}
.ws-coach summary{display:list-item;list-style-position:inside;color:#b9eddf;cursor:pointer;font-size:.84rem;line-height:1.65;min-height:46px;padding:12px 1px;touch-action:manipulation;box-sizing:border-box}
.ws-coach summary:focus-visible{outline:2px solid #8cebd9;outline-offset:3px;border-radius:3px}
.ws-coach>summary>span{font-size:.66rem;color:#8caeb9;margin-left:9px;white-space:nowrap}
.ws-coach-content{padding:0 0 5px 16px;border-left:2px solid #3e9a8a;margin:8px 0 10px 3px}
.ws-coach-content p{font-size:.87rem;line-height:1.8;color:#bfdae0;margin:6px 0 16px}
.ws-coach-content p>b{display:block;color:#7ddcc3;font-size:.75rem;line-height:1.6;margin-bottom:5px}
.ws-coach-content details{border-top:1px solid #31515b}
.ws-coach-content details details{margin-left:12px}
.ws-coach-content>small{display:block;border-top:1px solid #31515b;padding-top:12px;margin-top:10px;font-size:.73rem;line-height:1.7;color:#92b5c0}
.larger-reading .ws-mission-next,.larger-reading .ws-coach summary,.larger-reading .ws-coach-content p{font-size:1rem}
@container workspace (max-width:520px){
  .ws-mission{padding:16px;margin-bottom:16px}
  .ws-mission-top{gap:12px}
  .ws-mission h3{font-size:1.05rem}
  .ws-mission-count{font-size:.7rem}
  .ws-coach>summary>span{display:block;margin-left:20px;margin-top:2px}
  .ws-coach-content{padding-left:12px}
  .ws-coach-content details details{margin-left:8px}
}
@media (pointer:coarse){.ws-coach summary{min-height:48px}}
