/* Mission and Focus components share the platform's theme and typography. */
.mission-command{border:1px solid var(--op-border);background:linear-gradient(130deg,var(--op-surface),var(--op-surface-2,var(--op-surface)));padding:clamp(20px,3vw,32px);border-radius:18px;margin:24px 0}
.mission-command.completed{border-color:#68aa86;background:color-mix(in srgb,#438569 12%,var(--op-surface))}
.mission-command-heading{display:flex;justify-content:space-between;align-items:center;gap:24px}.mission-command-heading h2{margin:10px 0!important}.mission-command-heading p{margin:0!important}
.mission-percentage{font:600 clamp(36px,4vw,54px) var(--tg-font-title);color:var(--op-accent);white-space:nowrap}.mission-percentage small{font-size:20px}
.mission-meter{margin:24px 0;height:6px;border-radius:6px;background:var(--op-border);overflow:hidden}.mission-meter i{display:block;height:100%;background:var(--op-accent);border-radius:6px}
.mission-numbers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.mission-numbers span{display:block;font-size:11px;color:var(--op-muted);margin-bottom:8px}.mission-numbers b{font:600 21px var(--tg-font-title)}
html body.tg-ui .mission-note{font-size:12px!important;line-height:1.6!important;color:var(--op-muted);margin-bottom:0!important}
.mission-next,.mission-adjustment{display:flex;align-items:start;flex-direction:column;gap:10px;padding:20px;margin-top:24px;border:1px solid var(--op-border);border-radius:12px}.mission-next>span{font-size:10px;letter-spacing:.1em;color:var(--op-accent)}.mission-next>strong{font:600 20px var(--tg-font-title)}.mission-next p,.mission-adjustment p{margin:0!important}
.objective-card{display:grid;grid-template-columns:36px minmax(0,1fr) 180px;align-items:center;gap:20px;padding:22px;border:1px solid var(--op-border);border-radius:12px;margin-bottom:12px;background:var(--op-surface)}
.objective-card.completed{background:color-mix(in srgb,#398069 12%,var(--op-surface));border-color:color-mix(in srgb,#77ad94 45%,var(--op-border))}.objective-card.blocked{opacity:.7}
.objective-order{align-self:start;color:var(--op-muted);font:500 22px var(--tg-font-title)}
.objective-tags{display:flex;gap:8px;flex-wrap:wrap}.objective-tags span{font-size:10px;padding:4px 7px;border-radius:5px;background:color-mix(in srgb,var(--op-accent) 9%,transparent);color:var(--op-text)}
html body.tg-ui .objective-copy h3{font-size:17px!important;margin:10px 0!important}.objective-copy h3 a{color:var(--op-text);text-decoration:none}.objective-copy h3 a:hover{text-decoration:underline}.objective-copy small{display:block;color:var(--op-muted);font-size:12px;line-height:1.6}.objective-copy p{font-size:13px!important;line-height:1.5!important;margin:0 0 8px!important}
.objective-action{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.objective-action>span{font-size:11px;color:var(--op-muted)}html body.tg-ui .objective-action a{font-size:12px!important;padding:10px!important;min-height:40px!important;text-align:center}.objective-action small{font-size:12px}
html body.tg-ui .focus-layout{display:block!important;margin:0;min-height:100dvh}
html body.tg-ui .focus-main{max-width:980px;margin:0 auto!important;width:100%;box-sizing:border-box;padding:28px clamp(18px,4vw,48px) 140px!important}
.focus-nav{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:24px;border-bottom:1px solid var(--op-border);margin-bottom:32px;flex-wrap:wrap}.focus-nav span{font:600 11px var(--tg-font-title);letter-spacing:.15em;color:var(--op-muted)}.focus-heading h1{max-width:800px}.focus-heading>small{color:var(--op-muted);font-size:12px}
.focus-controls{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:24px 0;padding:18px;border:1px solid var(--op-border);border-radius:12px;background:var(--op-surface)}html body.tg-ui #focus-status{width:100%;font-size:12px!important;line-height:1.5!important;margin:0!important;color:var(--op-muted)}
.focus-materials{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.objective-resource{display:block;padding:16px;border:1px solid var(--op-border);border-radius:10px;max-width:100%;overflow-wrap:anywhere}.objective-resource small{display:block;font-size:11px;margin-top:6px;color:var(--op-muted)}
.focus-instructions{padding:clamp(18px,3vw,28px);border:1px solid var(--op-border);border-radius:14px;background:var(--op-surface)}.focus-instructions p{white-space:pre-line;overflow-wrap:anywhere;line-height:1.85!important}.focus-result{padding:24px;margin:24px 0;background:var(--op-surface);border:1px solid var(--op-border);border-radius:14px}.focus-result>strong{font:600 40px var(--tg-font-title);color:var(--op-accent)}.focus-result>span{font-size:11px}
.planning-panel,.planning-objective{padding:22px;border:1px solid var(--op-border);border-radius:12px;margin:18px 0;background:var(--op-surface)}.planning-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.planning-panel form,.planning-objective form{display:grid;gap:16px;margin:16px 0}.planning-fields label,.planning-panel form>label{display:grid;gap:8px}.planning-panel input,.planning-fields input,.planning-panel select,.planning-fields select,.planning-objective textarea{width:100%;box-sizing:border-box;max-width:100%}.planning-objective summary{cursor:pointer;line-height:1.6}.record-captured{display:block;padding:16px;border:1px solid var(--op-accent);border-radius:10px;margin:20px 0;font-size:14px!important}.record-captured input{width:auto!important;margin-right:8px}.record-origin{font-size:12px!important;line-height:1.6!important}
@media(max-width:900px){.objective-card{grid-template-columns:26px minmax(0,1fr);gap:12px}.objective-action{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between}.mission-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.mission-command-heading{align-items:start;gap:12px}.mission-command-heading h2{font-size:22px!important}.mission-percentage{font-size:34px}.planning-fields{grid-template-columns:1fr}.objective-card{padding:16px}.focus-nav a{font-size:12px}.focus-nav>span{order:3;width:100%}.mission-numbers{gap:18px}.mission-numbers b{font-size:19px}.mission-next{padding:16px}}
/* Prompt 03 continuation: local integration, current themes/fonts preserved. */
.focus-attempts{margin-top:28px;padding:24px;border:1px solid var(--op-line,#39505f);border-radius:18px}.focus-attempts ol{padding-left:24px}.focus-attempts li{padding:12px}.focus-attempts li span{display:block;margin-top:6px;font-size:.9rem}.focus-time-summary{margin:22px 0}.planning-panel pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:.8rem}.attempt-page{max-width:850px;padding:28px;margin:auto}.attempt-page label{display:grid;gap:8px}#objective-saved-notice{position:fixed;right:18px;bottom:22px;z-index:70;max-width:min(380px,calc(100vw - 36px));padding:18px;border-radius:14px;background:var(--op-panel,#15283a);color:var(--op-text,#eaf3fa);border:1px solid var(--op-line,#547182);box-shadow:0 10px 35px #0006}#objective-saved-notice a{display:block;margin-top:8px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--op-accent,#72d7e6);outline-offset:4px}.focus-layout{min-height:0}.focus-layout .focus-main{margin-left:240px;width:calc(100% - 240px);max-width:1050px;padding-bottom:50px}.focus-heading h1{overflow-wrap:anywhere}.focus-materials a{overflow-wrap:anywhere}.focus-time-summary h2{font-size:1.1rem}
@media(max-width:760px){.focus-layout{height:calc(100dvh - 95px - var(--focus-clock-height,85px));overflow:hidden}.focus-layout .focus-main{height:100%;overflow:auto;margin:0;width:100%;padding:18px 18px 32px;overscroll-behavior:contain}.focus-controls{display:flex;flex-wrap:wrap;gap:12px}.focus-controls>*{max-width:100%}.focus-nav{flex-wrap:wrap}.focus-attempts{padding:14px}.focus-layout~#study-clock{max-width:calc(100vw - 16px)}.planning-fields{grid-template-columns:minmax(0,1fr)}}
