:root{--paper:#fff;--surface:#f3f6fa;--ink:#243247;--blue:#245bb2;--green:#24724d;--red:#b73737;--muted:#61738c;--line:#dbe3ed;background:var(--surface);color:var(--ink);font-family:Noto Sans TC,Microsoft JhengHei,sans-serif;font-synthesis:none;line-height:1.6}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}.button,button{background:var(--blue);border:1px solid var(--blue);border-radius:6px;color:var(--paper);cursor:pointer;display:inline-block;line-height:1.4;min-height:44px;padding:.65rem 1rem;text-decoration:none}.button:hover,button:hover{filter:brightness(.94)}button:disabled{cursor:default;opacity:.55}fieldset:disabled{opacity:.7}button.quiet{background:var(--paper);border-color:#c6d3e4;color:var(--blue)}:focus-visible{outline:3px solid #4385e6;outline-offset:3px}header{background:var(--paper);border-bottom:1px solid var(--line);font-size:15px;gap:1rem;justify-content:space-between;min-height:56px;padding:5px 2rem}.account,.brand,header{align-items:center;display:flex}.account,.brand{gap:.9rem;min-width:0}.brand strong{font-size:1.15rem}.account span{overflow-wrap:anywhere}.account button{background:transparent;border-color:transparent;flex-shrink:0}.workspace{display:grid;grid-template-columns:216px minmax(0,1fr);min-height:calc(100vh - 56px)}.workspace>nav{background:#e9eff7;display:flex;flex-direction:column;font-size:15px;gap:.25rem;padding:1rem .75rem}.workspace>nav button{background:transparent;border:none;border-radius:0;color:#384e6a;text-align:left}.workspace>nav button[aria-current=page]{background:var(--paper);box-shadow:inset 3px 0 var(--blue);color:var(--blue);font-weight:700}main{max-width:1400px;min-width:0;padding:2rem 2.5rem 4rem;width:100%}h1{font-size:2rem;font-weight:700;line-height:1.35;margin:0 0 1.8rem}h2{font-size:1.25rem;line-height:1.4;margin:0 0 1rem}h3{font-size:1.05rem;margin:0 0 .8rem}h4{font-size:1rem;margin:0 0 .5rem}p{overflow-wrap:anywhere}.section-title{align-items:center;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.section-title h1,.section-title h2,.section-title h3{margin:0}.actions{align-items:end;display:flex;flex-wrap:wrap;gap:.75rem}.actions>input,.actions>select{flex:1 1 220px;max-width:100%;min-width:0}.form-footer{align-items:center;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem;padding-top:1.25rem}.back-button,.list-toolbar{margin-bottom:1.5rem}.list-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between}.list-toolbar p{margin:0}.work-list{list-style:none;margin:0;padding:0}.account-dialog,.bot-accounts{font-size:15px}.account-dialog button.quiet,.bot-accounts button.quiet{background:#fff;border:1px solid #245bb2;color:#245bb2;text-align:center}.bot-accounts h1{font-size:24px;line-height:1.4;margin:0;overflow-wrap:anywhere}.bot-accounts .account-title-name{color:var(--blue)}.accounts-overview{min-width:0}.accounts-heading{align-items:end;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:20px}.accounts-title{flex:1 1 280px;min-width:0}.accounts-title .accounts-back{margin-bottom:8px}.accounts-data{background:var(--paper);border:1px solid var(--line);border-radius:6px}.account-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;padding:12px 16px}.account-toolbar input.account-filter[type=search]{flex:0 0 280px;height:44px;margin:0;max-width:100%;width:280px}.role-tabs{display:flex;gap:8px}.role-tabs button.quiet{background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;color:var(--muted);padding:10px 12px}.role-tabs button[aria-pressed=true]{border-bottom-color:var(--blue);color:var(--blue);font-weight:700}.role-tabs span{font-size:13px;font-variant-numeric:tabular-nums;margin-left:6px}.accounts-table{min-width:0;table-layout:fixed}.accounts-table .account-status-column{width:104px}.accounts-table .account-login-column{width:130px}.accounts-table .account-actions-column{width:168px}.accounts-table th{background:var(--surface);border-top:1px solid var(--line);color:var(--muted);font-size:13px;font-weight:500;line-height:20px;padding:12px 16px}.accounts-table td{border-color:var(--line);padding:12px 16px;vertical-align:middle}.accounts-table tbody tr{height:76px}.accounts-table tbody tr:hover{background:#f8fafc}.account-name>strong{display:block;font-weight:600;overflow-wrap:anywhere}.account-cell-label{display:none}.account-work-status{color:var(--muted)}.account-work-status[data-status=Running]{color:var(--blue)}.account-work-status[data-status=Succeeded]{color:var(--green)}.account-work-status[data-status=Failed],.account-work-status[data-status=Interrupted]{color:var(--red)}.login-state{align-items:center;color:var(--green);display:inline-flex;gap:8px}.login-state:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.login-state[data-valid=false]{color:var(--red)}.account-actions button{padding:.65rem .5rem;width:100%}.account-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.account-action-buttons>button{flex:1;white-space:nowrap;width:auto}.class-table .account-actions-column,.teacher-table .account-actions-column{width:240px}.class-table .grade-column{width:100px}.student-table .seat-column{width:120px}.student-table .account-actions-column{width:140px}.class-data-warning{color:var(--red);padding:0 16px}.accounts-empty{margin:0;padding:24px 16px}.accounts-empty p{margin:0}.accounts-empty p+p{margin-top:8px}.account-form,.settings-section{max-width:760px}.account-dialog .account-fields,.bot-accounts .account-fields{background:transparent;border:0;border-radius:0;display:grid;gap:20px;margin:0;padding:0}.account-fields>label{font-size:15px;font-weight:500;margin:0}.account-fields>p{margin:0}.account-fields input,.account-fields select{font-weight:400}.account-dialog .setup-context,.bot-accounts .setup-context{border-bottom:1px solid var(--line);margin:0 0 24px;padding:0 0 20px}.account-subject{display:flex;flex-direction:column;gap:4px;margin:0 0 24px}.account-subject strong{font-size:15px;font-weight:600}.account-help,.account-subject span{color:var(--muted);font-size:13px}.account-help{margin:12px 0 0}.account-loading{color:var(--muted);margin:0}.account-notice,.account-success{color:var(--green)}.account-notice{margin:0 0 16px}.account-failure{color:var(--red)}.account-search-actions{margin-top:16px}.account-dialog .account-search-results,.bot-accounts .account-search-results{background:transparent;border:0;border-radius:0;border-top:1px solid var(--line);margin:24px 0 0;padding:20px 0 0}.account-search-results legend{font-size:15px;padding:0 12px 0 0}.account-choice{align-items:center;border-bottom:1px solid var(--line);display:flex;font-size:15px;gap:12px;margin:0;min-height:64px;padding:12px 0}.account-choice input{accent-color:var(--blue);flex-shrink:0;height:18px;width:18px}.account-choice>span{flex:1;min-width:0;overflow-wrap:anywhere}.account-choice strong{font-weight:600}.account-choice small{color:var(--muted);display:block;font-size:13px;overflow-wrap:anywhere}.account-pagination{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-top:16px}.account-selection{margin:20px 0 0;overflow-wrap:anywhere}.account-result{margin-top:24px}.account-result:first-child{margin-top:0}.account-result h2,.account-result h3{font-size:15px;font-weight:600;margin:0 0 12px;overflow-wrap:anywhere}.account-result p{margin:8px 0 0}.account-result[data-status=Succeeded]>p:first-of-type{color:var(--green)}.account-result .setup-context{border:0;margin:20px 0 0;padding:0}.account-credentials{margin:24px 0 0}.account-credentials,.account-error{border-top:1px solid var(--line);padding-top:20px}.account-error{margin-top:24px}.account-error h2,.account-error h3{color:var(--red);font-size:13px;font-weight:600;margin:0 0 8px}.account-error p{color:var(--red);font-size:13px;margin:0;overflow-wrap:anywhere;white-space:pre-wrap}.account-error button{margin-top:12px}.account-diagnostics{font-size:13px;margin:20px 0 0}.account-dialog-footer{border-top:1px solid var(--line);display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:20px 24px}.form-grid{display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}fieldset{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin:0 0 1.5rem;min-width:0;padding:1.6rem}legend{font-weight:700;padding:0 .4rem}label{display:block;font-size:.95rem;margin-bottom:1.2rem}input:not([type=checkbox]):not([type=radio]),select,textarea{background:var(--paper);border:1px solid #aebed1;border-radius:5px;color:var(--ink);margin-top:.35rem;min-height:44px;min-width:0;padding:.65rem;width:100%}textarea{min-height:6rem;resize:vertical}input:disabled,select:disabled{color:var(--muted)}.check{align-items:center;display:flex;gap:.75rem;margin:0;padding:.55rem 0}.check input{accent-color:var(--blue);flex-shrink:0;height:18px;width:18px}.check span{min-width:0;overflow-wrap:anywhere}.check small{color:var(--muted);display:block;font-size:.85rem}.check .muted{margin-left:auto}.run-section{max-width:980px}.run-mode-row{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;padding:1.25rem 0}.run-mode-row button{min-width:150px}.run-mode-row p{color:var(--muted);margin:0}.run-mode-heading{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.run-class{border-bottom:1px solid var(--line)}.run-class-toggle{align-items:center;background:transparent;border:0;border-radius:0;color:var(--ink);display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.85rem 0;text-align:left;width:100%}.run-class-toggle strong{min-width:0;overflow-wrap:anywhere}.run-class-toggle .muted{font-size:13px;margin-left:auto}.run-students{padding:0 0 .75rem 1.5rem}.run-selection-count{margin:1rem 0}.dispatch-steps{border-bottom:1px solid #c6d3e4;display:grid;gap:.75rem;grid-template-columns:1fr 1fr 1fr;list-style:none;margin:0 0 1.75rem;padding:0}.dispatch-steps li{align-items:center;border-bottom:3px solid transparent;color:var(--muted);display:flex;font-size:.9rem;gap:.6rem;padding:.75rem 0}.dispatch-steps li>span{align-items:center;border:1px solid #c6d3e4;border-radius:50%;display:inline-flex;flex-shrink:0;height:1.7rem;justify-content:center;width:1.7rem}.dispatch-steps li[aria-current=step]{border-bottom-color:var(--blue);color:var(--blue);font-weight:700}.dispatch-steps li[aria-current=step]>span{background:var(--blue);border-color:var(--blue);color:var(--paper)}.dispatch-steps li.completed{color:var(--green)}.target-selection{margin-top:1.25rem}.mission-options{border-bottom:1px solid var(--line);margin-bottom:1rem;min-width:0;padding:1rem 0}.mission-options>summary{color:var(--ink);font-size:1.05rem;font-weight:600}.mission-options>summary small{color:var(--muted);font-size:.85rem;font-weight:400;margin-left:1rem}.mission-choice{overflow-wrap:anywhere;padding:.5rem 0}.assigned-posts{border-left:2px solid var(--line);margin:.75rem 0 .75rem 2rem;padding:.75rem 1rem}.assigned-posts .actions input{margin:0}.option-panel{border-top:1px solid var(--line);margin-top:1rem;padding:.25rem 0}.option-panel>summary{display:flex;flex-wrap:wrap;gap:.35rem 1rem;justify-content:space-between;padding:.9rem 0}.option-panel>summary:before{content:"+"}.option-panel[open]>summary:before{content:"−"}.option-panel summary>span{margin-right:auto}.option-panel summary small{color:var(--muted);font-weight:400}.run-section .option-panel[open]>summary>small{display:none}.option-panel .browser-fields,.option-panel .form-grid{padding-top:.5rem}.confirmation-section{border-bottom:1px solid var(--line);padding:1rem 0}.confirmation-section:first-of-type{padding-top:0}.confirmation-targets{list-style:none;margin:1rem 0 0;padding:0}.confirmation-targets p{margin:.2rem 0 .8rem}.confirmation-missions{padding-top:1rem}.confirmation-missions ul{padding-left:1.3rem}.settings-section .settings-toolbar{justify-content:flex-end}.settings-section .settings-fields{padding-bottom:1rem}.settings-section .settings-savebar{background:var(--surface);border-top:1px solid var(--line);bottom:0;display:flex;justify-content:flex-end;padding:1rem 0;position:sticky;z-index:1}.status{background:#e9eef5;border-radius:4px;display:inline-block;font-size:.85rem;padding:.2rem .65rem;white-space:nowrap}.status[data-status=Running]{background:#dbeafe;color:#164b97}.status[data-status=Succeeded]{background:#e1f0e8;color:var(--green)}.status[data-status=Failed],.status[data-status=Interrupted]{background:#fbe9e8;color:var(--red)}.work-group{background:var(--paper);border:1px solid var(--line);border-radius:8px;margin-bottom:1.25rem}.work-group-heading{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;padding:1rem 1.25rem}.work-group-heading h2{font-size:1rem;margin:0}.work-group-heading time{font-size:.85rem}.work-group>.muted{margin:1rem}.work-row{align-items:start;border-bottom:1px solid var(--line);display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr) 180px auto;padding:1.25rem}.work-row:last-child{border-bottom:0}.work-row.dependent{border-left:2px solid #c6d3e4;margin-left:1.5rem}.work-name{min-width:0}.work-name strong{overflow-wrap:anywhere}.work-name p{font-size:.9rem;margin:.3rem 0 0}.work-error{color:var(--red)}.work-state{align-items:start;display:flex;flex-direction:column;gap:.5rem}time{color:var(--muted);font-size:.85rem}.error{background:#fbe9e8;border-left:3px solid var(--red);color:#922f2f;overflow-wrap:anywhere;padding:1rem}.notice{background:#e1f0e8;color:var(--green);padding:1rem}.field-hint{background:#eef4fc;border-left:3px solid #c6d3e4;color:#384e6a;font-size:.9rem;padding:.75rem 1rem}.muted{color:var(--muted);font-size:.9rem}.empty{border:1px dashed #aebed1;color:#526681;padding:1.75rem}.login{margin:auto;max-width:650px;padding-top:12vh}dl{display:grid;gap:.5rem 1rem;grid-template-columns:7rem minmax(0,1fr)}dt{color:var(--muted)}dd{margin:0;white-space:pre-wrap}code,dd{overflow-wrap:anywhere}summary{color:var(--blue);cursor:pointer;font-size:.9rem;padding:.35rem 0}summary:hover{text-decoration:underline;text-underline-offset:3px}.table-scroll{background:var(--paper);border:1px solid var(--line);border-radius:6px;overflow-x:auto;position:relative}table{border-collapse:collapse;min-width:950px;text-align:left;width:100%}th{background:#f8fafc;color:#526681;font-size:.85rem;padding:.8rem 1rem}td{border-top:1px solid #e3e9f1;overflow-wrap:anywhere;padding:1rem;vertical-align:top}.name{font-weight:700}.work-detail{max-width:1100px;overflow-wrap:anywhere}.work-detail h1{font-size:1.7rem}.work-kind{color:#526681;margin:.35rem 0 0}.map-title{font-size:1.1rem;font-weight:600}.detail-toolbar{flex-wrap:wrap;margin-bottom:2rem}.result-section{border-top:1px solid #c6d3e4;padding:1.5rem 0}.result-section>p{max-width:75ch;white-space:pre-line}.work-summary .result-source{margin-top:1.25rem}.work-summary .result-source h3{font-size:1rem;margin-bottom:.5rem}.work-summary .result-source>p{margin:.5rem 0;white-space:pre-line}.work-goal{margin-bottom:1rem}.work-goal pre{background:var(--paper);border-left:3px solid #c6d3e4;font:inherit;padding:1rem}.mission-progress{list-style:none;margin:0;padding:0}.mission-progress li{border-bottom:1px solid var(--line);display:flex;gap:1.5rem;justify-content:space-between;padding:.85rem 0}.mission-progress li>div:last-child{display:flex;flex-shrink:0;gap:1rem}.bonus-label{color:#526681;display:inline-block;font-weight:700;margin-right:.5rem}.agent-timeline{background:var(--paper);border:1px solid var(--line);border-radius:8px;list-style:none;margin:0;padding:0}.agent-step{border-bottom:1px solid #e3e9f1;display:grid;gap:1rem;grid-template-columns:5.5rem minmax(0,1fr);padding:1.25rem}.agent-step:last-child{border-bottom:0}.step-number{color:#526681;font-variant-numeric:tabular-nums;font-weight:700}.tool-line{display:grid;gap:.5rem 1.25rem;grid-template-columns:minmax(0,1fr) auto}.tool-line+.tool-line{margin-top:.7rem}.tool-line strong{font-weight:500}.tool-line small{color:var(--muted);display:block}.tool-evidence,.tool-line .error{grid-column:1/-1}.tool-evidence{font-size:.9rem;margin:.25rem 0;min-width:0;overflow-wrap:anywhere}.work-detail pre{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.tool-result{color:var(--muted);font-size:.85rem;white-space:nowrap}.tool-result[data-result=success]{color:var(--green)}.tool-result[data-result=failure]{color:var(--red)}.step-content>.tool-result{margin:.5rem 0}.step-evidence{font-size:.9rem;margin:.75rem 0 0}.step-evidence .screenshot{display:block;margin-top:.75rem}.usage-totals{border-bottom:1px solid var(--line);border-top:1px solid var(--line);display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));padding:1rem 0}.usage-totals>div{min-width:0}.usage-totals dt{font-size:.85rem}.usage-totals dd{font-size:1.3rem;font-variant-numeric:tabular-nums;font-weight:700}.failure-screen{border-top:1px solid #c6d3e4;padding:.5rem 0}.screenshot{border:1px solid var(--line);max-width:1000px;width:100%}.sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}.account-dialog{background:var(--paper);border:0;border-radius:8px;box-shadow:0 25px 50px -12px #00000040;color:var(--ink);max-height:90vh;max-width:640px;padding:0;width:calc(100% - 2rem)}.account-dialog[open]{display:flex;flex-direction:column}.account-dialog::backdrop{background:#00000080}.account-dialog .modal-header{align-items:center;border-bottom:1px solid var(--line);display:flex;flex-shrink:0;gap:16px;justify-content:space-between;padding:20px 24px}.account-dialog .modal-header h2{font-size:20px;margin:0}.account-dialog .modal-body{min-height:0;overflow-y:auto;padding:24px}.browser-fields{min-width:0}.flow{align-items:center;color:#526681;display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}@media(max-width:1023px){.workspace{grid-template-columns:1fr;grid-template-rows:auto 1fr}.workspace>nav{background:var(--paper);border-bottom:1px solid var(--line);display:grid;gap:.25rem;grid-template-columns:repeat(4,minmax(0,1fr));padding:4px 1rem}.workspace>nav button{padding:.65rem .35rem;text-align:center}.workspace>nav button[aria-current=page]{background:transparent;box-shadow:inset 0 -2px 0 var(--blue)}main{padding:1.75rem 2rem 3rem}.work-row{gap:1rem;grid-template-columns:minmax(0,1fr) 155px auto}}@media(max-width:640px){header{flex-wrap:wrap;padding:5px 1rem}.brand strong{font-size:1.1rem}.account{font-size:13px;gap:.5rem;margin-left:auto;max-width:100%}.workspace>nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:4px .75rem}main{padding:1.5rem 1rem 2rem}h1{font-size:1.6rem;margin-bottom:1.25rem}fieldset{padding:1.1rem}.form-grid{gap:0;grid-template-columns:1fr}.accounts-heading{align-items:flex-start;gap:12px}.bot-accounts .accounts-heading>.account-action-buttons{width:100%}.account-dialog .modal-body,.account-dialog .modal-header,.account-dialog-footer{padding:20px 16px}.account-choice{align-items:flex-start}.account-choice input{margin-top:4px}.account-toolbar{gap:.5rem;padding:8px 12px}.account-toolbar input.account-filter[type=search]{flex-basis:100%;max-width:none;width:100%}.role-tabs{gap:.25rem}.role-tabs button.quiet{padding:10px 8px}.account-toolbar>button{padding:.65rem .75rem}.accounts-table{display:block}.accounts-table colgroup{display:none}.accounts-table thead{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}.accounts-table tbody{display:block}.accounts-table tbody tr{border-top:1px solid var(--line);display:grid;gap:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);height:auto;padding:16px}.accounts-table td{border:0;display:block;padding:0}.accounts-table .account-actions,.accounts-table .account-name{grid-column:1/-1}.account-cell-label{color:var(--muted);display:block;font-size:13px;margin-bottom:4px}.work-row{gap:.75rem;grid-template-columns:1fr;padding:1.1rem}.work-row>button{justify-self:start}.work-state{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.75rem}.work-row.dependent{margin-left:.75rem}.section-title{align-items:flex-start;flex-wrap:wrap}.dispatch-steps{gap:.5rem}.dispatch-steps li{align-items:flex-start;flex-direction:column;font-size:.8rem;gap:.35rem}.assigned-posts{margin-left:0;padding-left:.75rem}.agent-step{gap:.5rem;padding:1rem}.agent-step,.tool-line{grid-template-columns:1fr}.tool-line{gap:.25rem}.mission-progress li{flex-direction:column;gap:.4rem}.usage-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.account-dialog{max-height:calc(100dvh - 1rem);width:calc(100% - 1rem)}dl{gap:.5rem .75rem;grid-template-columns:6rem minmax(0,1fr)}.actions>input,.actions>select{flex-basis:100%}}
