/* xi-xiao — базовые стили учебника */
:root {
  --bg: #f5f6fa; --card: #fff; --ink: #202124; --mut: #5f6368;
  --acc: #1a73e8; --ok: #188038; --bad: #d93025; --line: #e0e0e0;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, "Segoe UI", sans-serif; background: var(--bg); color: var(--ink); }
.hidden { display: none !important; }
header { background: var(--card); border-bottom: 1px solid var(--line); padding: .6rem 1rem; display: flex; gap: 1rem; align-items: center; }
header .brand { font-weight: 600; }
header .brand small { color: var(--mut); font-weight: 400; }
header .spacer { flex: 1; }
header button { padding: .35rem .8rem; }
main { max-width: 960px; margin: 0 auto; padding: 1rem; }
.card { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 1rem 1.2rem; margin-bottom: 1rem; }
.pair { display: block; text-decoration: none; color: inherit; }
.pair.closed { opacity: .55; cursor: default; }
.badge { display: inline-block; font-size: .75rem; padding: .1rem .5rem; border-radius: 999px; border: 1px solid var(--line); color: var(--mut); margin-left: .5rem; }
.badge.lecture { border-color: #c5c9f0; color: #3c40a0; }
.badge.practice { border-color: #b9e2c2; color: #137333; }
.badge.exam { border-color: #f0d3a0; color: #8a5a00; }
.badge.homework { border-color: #dcc8f0; color: #6a1b9a; }
.badge.test { border-color: #f6c1c0; color: #c5221f; }
tr.test td { background: #fef7f7; }
.sched { color: var(--mut); font-size: .85rem; margin-top: .35rem; }
.day-sep { display: flex; align-items: center; gap: .8rem; margin: 1.2rem 0 .6rem;
          color: var(--acc); font-weight: 600; font-size: .95rem; }
.day-sep::after { content: ""; flex: 1; border-top: 1px solid var(--line); }
input[type=text], input[type=password], input[type=number] { padding: .45rem .6rem; border: 1px solid var(--line); border-radius: 8px; font-size: 1rem; width: 100%; }
button { background: var(--acc); border: none; color: #fff; border-radius: 8px; padding: .55rem 1.1rem; font-size: .95rem; cursor: pointer; }
button.ghost { background: transparent; color: var(--acc); border: 1px solid var(--acc); }
button:disabled { opacity: .5; cursor: default; }
.field { margin: .6rem 0; }
.field label { display: block; font-size: .9rem; color: var(--mut); margin-bottom: .2rem; }
.field .fb { font-size: .85rem; margin-left: .6rem; }
.field .fb.ok { color: var(--ok); } .field .fb.bad { color: var(--bad); }
.task { border-left: 4px solid var(--acc); }
.task .stmt { white-space: pre-wrap; }
.task .hint { color: var(--mut); font-size: .85rem; }
.task .state { float: right; font-size: .85rem; }
.task .state.solved { color: var(--ok); }
.opts label { display: block; padding: .25rem 0; cursor: pointer; }
.back { margin-bottom: 1rem; }
.simlink { display: inline-block; margin: 0 .5rem .5rem 0; padding: .5rem .9rem;
           border: 1px solid var(--acc); border-radius: 8px; color: var(--acc); text-decoration: none; }
table { border-collapse: collapse; width: 100%; font-size: .85rem; background: var(--card); }
th, td { border: 1px solid var(--line); padding: .3rem .5rem; text-align: left; }
th { background: #f1f3f4; }
.tabs { display: flex; gap: .5rem; margin-bottom: 1rem; }
.tabs button { background: transparent; color: var(--ink); border: 1px solid var(--line); }
.tabs button.active { background: var(--acc); color: #fff; border-color: var(--acc); }
.msg { padding: .6rem .9rem; border-radius: 8px; margin: .6rem 0; }
.msg.err { background: #fce8e6; color: var(--bad); }
.msg.ok { background: #e6f4ea; color: var(--ok); }
.slides .slide { padding: 1rem; }
.slides .slide h3 { margin-top: 0; }
.slides .slide ul { padding-left: 1.2rem; }
.progressbar { height: 6px; background: var(--line); border-radius: 3px; overflow: hidden; }
.progressbar i { display: block; height: 100%; background: var(--ok); }

/* ---- защита от копирования ---- */
.slides, .task, .pair, header .brand { user-select: none; -webkit-user-select: none; }
.slides input, .task input { user-select: text; -webkit-user-select: text; }
#no-copy { position: fixed; top: 12px; left: 50%; transform: translateX(-50%);
           background: #d93025; color: #fff; padding: .5rem .95rem; border-radius: 8px;
           z-index: 10000; opacity: 0; transition: opacity .25s; font-size: .9rem; }
#net-badge { position: fixed; left: 50%; transform: translateX(-50%); bottom: 10px;
             background: #b06000; color: #fff; padding: .45rem .9rem; border-radius: 8px;
             font-size: .85rem; z-index: 10001; display: none; }
#net-badge.off { display: block; }

@media print {
  body * { display: none !important; }
  body::after { content: "Печать материалов учебника запрещена"; display: block;
                padding: 2rem; font-family: sans-serif; }
}
