.subw,.subw-dialog{--subw-ink:#eff5ff;--subw-muted:#b7c7df;--subw-line:#3c557d;color:var(--subw-ink);font-family:inherit;line-height:1.65;box-sizing:border-box;overflow-wrap:anywhere}.subw *,.subw-dialog *{box-sizing:border-box;min-width:0}
.subw{margin-top:30px;padding:clamp(20px,3.3vw,36px);border:1px solid #536da3;border-radius:24px;background:radial-gradient(ellipse at 100% 0%,#4b3a7f66 0%,transparent 55%),linear-gradient(135deg,#10213b,#12334b);box-shadow:0 20px 60px #02081755}
.subw h3,.subw-dialog h3{color:#f5f7ff;font-size:clamp(22px,3vw,30px);line-height:1.3;margin:7px 0 10px}.subw-eyebrow{color:#8fe5ed;font-size:11px;font-weight:800;letter-spacing:.13em}.subw-intro,.subw-muted,.subw-privacy{color:var(--subw-muted);font-size:14px}.subw-privacy{margin:14px 0 0;padding:12px 15px;border-left:3px solid #72dfe9;background:#102941;border-radius:7px;font-size:12px}
.subw-entries{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:24px 0}.subw-entry,.subw-dialog button{font:inherit;color:#eef5ff;border:1px solid #6079a6;background:#1a3150;border-radius:12px;min-height:44px;padding:10px 15px;cursor:pointer;transition:background .16s,border-color .16s,transform .16s}.subw-entry{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:16px;background:linear-gradient(145deg,#243a5c,#1c2b4b)}.subw-entry-primary{background:linear-gradient(145deg,#6647a0,#3f4f9c);border-color:#c6aaff;box-shadow:0 9px 26px #7653c333}.subw-entry strong{font-size:17px}.subw-entry>span:last-child{font-size:11px;color:#c3d2e9}.subw-number{color:#8ee3eb;font-size:11px;letter-spacing:.1em;margin-bottom:8px}.subw-entry:hover,.subw-dialog button:hover{background:#304d78;border-color:#a8e1ef}.subw-entry:focus-visible,.subw-dialog :is(button,input,textarea,select,a):focus-visible{outline:3px solid #7fe4eb;outline-offset:3px}.subw-teacher{display:inline-block;margin-top:14px;color:#b9a9f5;font-size:13px;text-decoration:none}.subw-teacher:hover{text-decoration:underline}
.subw-dialog{position:fixed;inset:0;margin:auto;width:min(1040px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:90dvh;overflow:auto;padding:clamp(16px,3vw,28px);border:1px solid #6378aa;border-radius:22px;background:#0e1d34;box-shadow:0 28px 100px #000a}.subw-dialog::backdrop{background:#020714d9;backdrop-filter:blur(8px)}.subw-dialog-top{position:sticky;top:-1px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0 14px;border-bottom:1px solid var(--subw-line);background:#0e1d34}.subw-dialog-top h3{margin:0}.subw-nav{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.subw-nav [aria-current=page],.subw-primary{background:#5b4a9b!important;border-color:#c3b1ff!important;font-weight:750}.subw-status{position:sticky;bottom:-1px;z-index:3;margin:18px -4px -4px;padding:12px 15px;border:1px solid #395d82;border-radius:10px;background:#102b45;color:#9de6ed;font-size:13px;white-space:pre-wrap}.subw-status:empty{display:none}.subw-status[data-type=error],.subw-error{color:#ffd2d2;background:#4c2737;border-color:#a5576e}
.subw-task-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.subw-task,.subw-draft,.subw-submission,.subw-example{padding:17px;border:1px solid var(--subw-line);border-radius:14px;background:linear-gradient(145deg,#172c49,#13223b);margin:0}.subw-task{display:flex;flex-direction:column;align-items:flex-start}.subw-task h4,.subw-draft h4,.subw-submission h4,.subw-success h4{color:#fff;font-size:18px;margin:7px 0 13px}.subw-task strong{color:#92e1e8;font-size:12px}.subw-task p{color:#c3d2e7;font-size:13px;margin:4px 0 13px}.subw-task button{margin-top:auto}.subw-form{max-width:900px;margin:auto}.subw-field{display:flex;flex-direction:column;gap:7px;margin:15px 0;color:#e5edfb;font-size:14px}.subw-field :is(input,textarea,select){width:100%;padding:11px 12px;border:1px solid #6380aa;border-radius:10px;background:#081629;color:#f4f7ff;font:inherit;font-size:16px}.subw-field ::placeholder{color:#91a6c4;opacity:1}.subw-field textarea{resize:vertical;min-height:90px}.subw-identity{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.subw-upload{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.75fr);align-items:center;gap:12px 20px;margin:16px 0 20px;padding:18px;border:1px solid #8d7de0;border-radius:15px;background:linear-gradient(135deg,#1c3150,#292953);box-shadow:0 10px 26px #070d2038}.subw-upload h4{font-size:19px;margin:0 0 5px;color:#fff}.subw-upload-copy p{margin:0}.subw-upload>input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.subw-drop{display:flex;min-height:84px;align-items:center;justify-content:center;flex-direction:column;gap:3px;padding:14px 18px;border:2px dashed #96b8df;border-radius:13px;background:#0e1d33;color:#f7f4ff;text-align:center;cursor:pointer}.subw-drop-title{font-size:18px}.subw-drop-help{color:#b9cae1;font-size:12px}.subw-drop:hover,.subw-drop.is-dragging{border-color:#c4adff;background:#302e5d}.subw-file-list{display:grid;grid-column:1/-1;gap:7px}.subw-file{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 11px;border:1px solid #354e73;border-radius:9px;background:#0b1a30}.subw-file span{font-size:12px;color:#c6d5e9}.subw-file button{min-height:36px;padding:6px 10px;font-size:12px}.subw-checks{margin:18px 0;padding:13px 16px;border:1px solid var(--subw-line);border-radius:13px}.subw-checks legend{padding:0 6px;color:#90e1e8;font-size:13px}.subw-checks label{display:flex;align-items:flex-start;gap:9px;padding:7px 0;font-size:13px}.subw-checks input{width:18px;height:18px;accent-color:#a68cff}.subw-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.subw-consent{color:#9fb1ca;font-size:11px;line-height:1.7}.subw-progress{display:grid;grid-template-columns:1fr 52px;align-items:center;gap:10px;margin:15px 0}.subw-progress progress{width:100%;height:12px;accent-color:#8d77ed}.subw-progress span{font-size:12px;color:#9de6ed;text-align:right}
.subw-success{text-align:center;max-width:680px;margin:30px auto;padding:34px;border:1px solid #557ba6;border-radius:20px;background:linear-gradient(145deg,#162f4d,#14223d)}.subw-success-mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;background:#2d956e;color:#fff;font-size:32px}.subw-receipt{display:block;margin:22px auto;padding:14px;border:1px dashed #9fe4ed;border-radius:10px;background:#0a1a2f;color:#fff;font-size:clamp(18px,3vw,26px);letter-spacing:.08em}.subw-success .subw-actions{justify-content:center}.subw-submission-list{display:grid;gap:12px}.subw-badge{display:inline-block;padding:5px 10px;border-radius:30px;background:#26506a;color:#aee9ef;font-size:12px}.subw-comment{padding:12px;border-left:3px solid #ad94ed;background:#2b3154;color:#f0eaff}.subw-draft{margin-bottom:12px}.subw-example-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.subw-example img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:9px}.subw-example figcaption{margin-top:10px;color:#a8e4ea;font-size:13px}
@media(max-width:900px){.subw-entries{grid-template-columns:repeat(3,minmax(0,1fr))}.subw-identity{grid-template-columns:1fr}.subw-example-grid{grid-template-columns:1fr}}
@media(max-width:650px){.subw-entries{grid-template-columns:repeat(2,minmax(0,1fr))}.subw-entry-primary{grid-column:1/-1;order:-1}.subw-task-grid{grid-template-columns:1fr}.subw-dialog{max-height:94dvh;border-radius:16px}.subw-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.subw-upload{grid-template-columns:1fr;padding:15px}.subw-file-list{grid-column:auto}.subw-actions button{flex:1 1 135px}}
@media(prefers-reduced-motion:reduce){.subw-entry,.subw-dialog button{transition:none}}
