/* App controls extend the existing aydogana.com template. Source: manifest/site-home.html. */
.hero h1{font-size:clamp(32px,5vw,46px)}.hero #subtitle{font-size:18px;color:var(--muted);margin-bottom:0}
section,.panel{border:1px solid var(--line);border-top:3px solid #6f4f2c;background:rgba(255,255,255,.42);box-shadow:var(--shadow);padding:26px;margin-bottom:22px}
#login{max-width:500px;margin:0 auto 30px;border-top-color:#3a6989;background:linear-gradient(rgba(96,150,214,.10),rgba(96,150,214,.10)),rgba(255,255,255,.38)}
h2{font:400 16px/1.4 var(--mono);text-transform:uppercase;letter-spacing:.1em;margin:0 0 18px;color:var(--ink)}h3{font:600 20px/1.4 var(--serif);color:var(--ink);margin:20px 0 8px}
label{display:block;font:14px/1.5 var(--mono);color:var(--muted);margin:16px 0}input,textarea,select{display:block;width:100%;border:1px solid var(--line-strong);padding:11px 12px;margin-top:7px;font:16px/1.5 var(--sans);color:var(--ink);background:rgba(255,255,255,.64);border-radius:0}textarea{min-height:110px;resize:vertical}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
button{display:inline-block;border:1px solid var(--accent);border-radius:0;background:var(--accent);color:#fff;padding:12px 16px;cursor:pointer;margin:7px 7px 7px 0;font:13px/1.3 var(--mono);text-transform:uppercase;letter-spacing:.055em}button:hover{background:var(--accent-strong)}button:disabled{opacity:.55;cursor:wait}button.secondary{background:rgba(255,255,255,.45);color:var(--accent)}
pre{white-space:pre-wrap;word-break:break-word;max-height:400px;overflow:auto;font:13px/1.65 var(--code);border-left:3px solid #3a6989;background:rgba(96,150,214,.10);padding:16px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid section:first-child{border-top-color:#3a6989;background:rgba(96,150,214,.08)}.grid section:nth-child(2){border-top-color:#367050;background:rgba(92,172,122,.08)}.muted{color:var(--muted);font-size:15px}.badge{display:inline-block;background:rgba(92,172,122,.17);padding:5px 10px;border-radius:20px;font:12px/1.5 var(--mono);color:#285a3d}#notice{color:#774717;white-space:pre-wrap;margin:15px 0;font-size:16px}details{border:1px solid var(--line);padding:12px;margin:12px 0}summary{cursor:pointer;font:14px var(--mono)}[hidden]{display:none!important}footer{max-width:880px}.site-footer{font-size:11px;letter-spacing:.03em}@media(max-width:700px){.grid{grid-template-columns:1fr;gap:0}section,.panel{padding:20px 16px}.hero h1{font-size:32px}}

/* keep the line breaks of answers (commands on separate lines) */
#workspace section p{white-space:pre-line}
/* student lab list: course -> Slides / Labs groups, pastel buttons (instructor 2026-09-28) */
#workspace h4{margin:1rem 0 .4rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
#workspace .lab-row{display:flex;flex-wrap:wrap;gap:.5rem}
#workspace button.lab-btn{color:#2b2b2b;border:1px solid rgba(0,0,0,.12)}
#workspace button.lab-btn:hover{filter:brightness(.95)}
/* ---- course panels (like aydogana.com/labs) and the lab terminal (2026-09-28) ---- */
.course-list{text-align:center}
.course-list .course-panel{margin:14px auto;max-width:46rem;text-align:left}
.course-list .course-panel summary strong{font-size:1.25rem}
.lab-btn:hover{filter:brightness(.95)}
#workspace section.terminal{padding:0;max-width:56rem;margin:0 auto;background:#16181d;border:1px solid #2c3038;border-radius:10px;box-shadow:0 18px 40px rgba(0,0,0,.25);overflow:hidden;text-align:left}
#workspace .term-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;background:#22252c;border-bottom:1px solid #2c3038}
#workspace .term-bar .dot{width:11px;height:11px;border-radius:50%;display:inline-block}.dot.r{background:#ff5f57}.dot.y{background:#febc2e}.dot.g{background:#28c840}
#workspace .term-title{margin-left:10px;color:#aeb4bf;font:12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
#workspace .term-log{max-height:62vh;min-height:40vh;overflow:auto;padding:16px 18px;color:#d8dde6;font:14px/1.6 var(--mono)}
#workspace .term-hint{color:#7f8795;margin:0 0 12px}
#workspace .term-you{margin:14px 0 6px;color:#e8ecf2;white-space:pre-wrap;word-break:break-word}
#workspace .term-you .prompt{color:#5fd38d}
#workspace .term-log .answer{margin:0 0 4px;padding-left:14px;border-left:2px solid #3a4150;text-align:justify;text-align-last:left}
#workspace .term-log .answer p{margin:6px 0;white-space:pre-line;color:#c9d0db}
#workspace .term-log .answer code{background:#262a33;color:#f1c27d;padding:1px 5px;border-radius:4px}
#workspace .term-log .answer pre{background:#0f1115;color:#e6edf3;padding:10px 12px;border-radius:6px;overflow:auto;white-space:pre}
#workspace .term-log .badge{display:inline-block;margin:4px 0 8px 14px;font:11px/1.4 var(--mono);color:#8fbf9f;background:#1e2a22;padding:2px 8px;border-radius:10px}
#workspace .term-wait{color:#febc2e}
.hero p#subtitle{text-align:justify;text-align-last:center}


/* ---- Claude-style composer, AI warning, PDF export (2026-09-28) ---- */
.ai-warning{max-width:56rem;margin:0 auto 14px;padding:10px 14px;border:1px solid #e7c98a;border-left:4px solid #d9a441;background:#fff8e6;color:#5b4a22;font:14px/1.5 var(--sans);text-align:left;border-radius:6px}
#workspace section.terminal .term-bar{position:relative}
#workspace section.terminal .term-pdf{margin-left:auto}
#workspace section.terminal .term-input{border-top:1px solid #2c3038;padding:14px;background:#16181d}
#workspace section.terminal .composer{background:#1f2229;border:1px solid #373c47;border-radius:14px;padding:10px 12px 8px;transition:border-color .15s}
#workspace section.terminal .composer:focus-within{border-color:#6b7385}
#workspace section.terminal .composer textarea{display:block;width:100%;margin:0;background:transparent;border:0;outline:0;box-shadow:none;color:#e6edf3;font:15px/1.55 var(--sans);resize:none;padding:4px 2px;min-height:26px;max-height:240px}
#workspace section.terminal .composer textarea::placeholder{color:#7a8190}
#workspace section.terminal .composer-tools{display:flex;align-items:center;gap:8px;margin-top:6px}
#workspace section.terminal .composer-status{flex:1;color:#9aa3b2;font:12px/1.4 var(--sans)}
#workspace section.terminal button.term-icon{display:inline-flex;align-items:center;gap:6px;margin:0;padding:6px 8px;background:transparent;border:1px solid transparent;border-radius:8px;color:#aeb4bf;font:12px/1 var(--mono);letter-spacing:.06em;cursor:pointer;min-height:0}
#workspace section.terminal button.term-icon:hover{background:#2a2e37;color:#e6edf3;border-color:#3a404c}
#workspace section.terminal button.term-send{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;margin:0;padding:0;border:0;border-radius:50%;background:#e8e3d8;color:#16181d;cursor:pointer;min-height:0}
#workspace section.terminal button.term-send:hover{background:#fff}
#workspace section.terminal button.term-send:disabled{opacity:.4;cursor:wait}
@media print{
 .site-nav,.site-footer,.hero,#notice,#workspace>button,.term-input,.term-bar .dot,.term-pdf,.term-hint{display:none!important}
 body,main{background:#fff!important}
 #workspace section.terminal{background:#fff!important;border:0!important;box-shadow:none!important;max-width:none}
 #workspace section.terminal .term-bar{background:#fff!important;border-bottom:2px solid #000}
 #workspace section.terminal .term-title{color:#000!important;font-size:14px}
 #workspace section.terminal .term-bar::after{content:"Exported " attr(data-printed);}
 #workspace .term-log{max-height:none!important;overflow:visible!important;color:#000!important;min-height:0}
 #workspace .term-you{color:#000!important;font-weight:600}
 #workspace .term-you .prompt{color:#555!important}
 #workspace .term-log .answer p{color:#111!important}
 #workspace .term-log .answer{border-left-color:#999!important}
 #workspace .term-log .answer code,#workspace .term-log .answer pre{background:#f2f2f2!important;color:#000!important}
 #workspace .term-log .badge{background:#eee!important;color:#333!important}
 .ai-warning{border-color:#999;background:#fff;color:#333}
}

/* ---- lab tab fits the window; the conversation scrolls inside the terminal (2026-09-28) ---- */
body.lab-mode .site-footer{display:none}
body.lab-mode .portal-main{padding-bottom:0}
body.lab-mode #workspace section.terminal{display:flex;flex-direction:column;margin-bottom:0}
body.lab-mode #workspace .term-log{flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto}
body.lab-mode #workspace section.terminal .term-input{flex:0 0 auto}
#workspace section.terminal .composer textarea{max-height:160px;overflow-y:auto}
#workspace .term-log .hl{color:#ff6b6b;font-weight:600}
#workspace .term-log strong.hl{color:#ff8a80}
#workspace .term-log::-webkit-scrollbar{width:10px}#workspace .term-log::-webkit-scrollbar-thumb{background:#3a404c;border-radius:6px}
@media print{body.lab-mode #workspace section.terminal{height:auto!important;display:block}#workspace .term-log .hl{color:#b00020!important}}

/* ---- readable answers: proportional text, real lists, no justify (2026-09-28) ---- */
#workspace .term-log .answer{text-align:left;text-align-last:auto;font:15px/1.6 var(--sans);color:#d6dbe3;padding-left:14px}
#workspace .term-log .answer.md p{white-space:normal;margin:8px 0;color:#d6dbe3}
#workspace .term-log .answer ul,#workspace .term-log .answer ol{margin:6px 0 6px 1.3rem;padding:0}
#workspace .term-log .answer li{margin:3px 0}
#workspace .term-log .answer li::marker{color:#8fa0b8}
#workspace .term-log .answer strong{color:#f3f5f8}
#workspace .term-log .answer h1,#workspace .term-log .answer h2,#workspace .term-log .answer h3,#workspace .term-log .answer h4{font:600 15px/1.4 var(--sans);color:#f3f5f8;margin:12px 0 4px}
#workspace .term-log .answer blockquote{margin:6px 0;padding-left:10px;border-left:2px solid #4a5263;color:#b8c0cc}
#workspace .term-log .answer table{border-collapse:collapse;margin:8px 0;font-size:14px}
#workspace .term-log .answer th,#workspace .term-log .answer td{border:1px solid #3a404c;padding:4px 8px}
#workspace .term-log .answer a{color:#8ab4ff}
#workspace .term-log .answer pre code{background:transparent;color:inherit;padding:0}
#workspace .term-you{font:14px/1.6 var(--mono)}
@media print{#workspace .term-log .answer,#workspace .term-log .answer p,#workspace .term-log .answer strong{color:#111!important}}

/* quick answers (2026-09-28) */
#workspace .quick-row{display:flex;align-items:center;gap:8px;margin:2px 0 12px 14px;flex-wrap:wrap}
#workspace .quick-q{color:#aeb4bf;font:13px/1.4 var(--sans)}
#workspace section.terminal .quick-row button{margin:0;padding:5px 10px;border-radius:8px;font:12px/1.2 var(--sans);letter-spacing:0;text-transform:none;cursor:pointer;min-height:0}
#workspace section.terminal .quick-row .quick-yes{background:#233a2b;color:#bfe9cc;border:1px solid #2f5a3d}
#workspace section.terminal .quick-row .quick-no{background:transparent;color:#e6c07b;border:1px solid #5a4a2a}
#workspace .term-log .badge.badge-warn{background:#3a2a1a;color:#f1c27d}
@media print{#workspace .quick-row{display:none}}
/* 'Did this solve it?' replaces the composer until answered (2026-09-28) */
#workspace section.terminal .quick-panel{background:#1f2229;border:1px solid #4a5162;border-radius:14px;padding:16px 18px;text-align:center}
#workspace section.terminal .quick-title{margin:0 0 12px;color:#f0f3f7;font:600 22px/1.3 var(--sans);letter-spacing:0;text-transform:none}
#workspace section.terminal .quick-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
#workspace section.terminal .quick-btns button{margin:0;padding:12px 22px;border-radius:10px;font:600 16px/1.2 var(--sans);letter-spacing:0;text-transform:none;cursor:pointer;min-height:0}
#workspace section.terminal .quick-btns .quick-yes{background:#233a2b;color:#c9f0d5;border:1px solid #3a7050}
#workspace section.terminal .quick-btns .quick-no{background:#3a2f1c;color:#f3d49a;border:1px solid #7a6235}
#workspace section.terminal .quick-btns button:hover{filter:brightness(1.2)}
#workspace section.terminal .quick-wait{margin:0;color:#febc2e;font:15px/1.4 var(--sans)}
@media print{#workspace .quick-panel{display:none}}
/* answer colours + first-visit legend (2026-09-30) */
#workspace .badge.badge-ok{background:rgba(92,172,122,.22);color:#9fe0b7}
#workspace .badge.badge-bank{background:rgba(96,150,214,.22);color:#a9c9f0}
#workspace .badge.badge-warn{background:rgba(254,188,46,.20);color:#f3cf7a}
#workspace .badge.badge-muted{background:rgba(160,160,170,.18);color:#c3c7cf}
#workspace section.terminal .term-legend{border:1px solid #3a4150;border-radius:10px;padding:12px 14px;margin:6px 0 14px;background:#1b1e24}
#workspace section.terminal .legend-title{margin:0 0 8px;color:#f0f3f7;font:600 15px/1.4 var(--sans)}
#workspace section.terminal .legend-row{margin:6px 0;color:#d5dae2;font:14px/1.5 var(--sans)}
#workspace section.terminal .legend-row .badge{margin-right:6px}
#workspace section.terminal .legend-note{margin:10px 0 0;color:#aeb4bf;font:13px/1.4 var(--sans)}
