/* Uni-Kalender v0.1: 90s desktop-window look, system fonts only, no images. */
*{box-sizing:border-box}
:root{--face:#c0c0c0;--ink:#111;--hi:#fff;--lo:#555;--blue:#000080}
body{margin:0;padding:20px;background:#326666;color:var(--ink);font:16px system-ui,sans-serif}
main{max-width:1400px;margin:auto;background:var(--face);padding:5px;border:3px solid;border-color:var(--hi) #333 #333 var(--hi);box-shadow:4px 4px 0 #183636}
header{background:var(--blue);color:#fff;padding:10px}
h1{font-size:20px;margin:0}header p{margin:5px 0 0;font-size:14px}
nav{display:flex;flex-wrap:wrap;gap:6px;padding:8px 6px}
button{font:inherit;min-height:44px;min-width:44px;padding:0 14px;background:var(--face);color:var(--ink);border:2px solid;border-color:var(--hi) #333 #333 var(--hi);cursor:pointer}
button:active,button[aria-pressed=true]{border-color:#333 var(--hi) var(--hi) #333;background:#d8d8d8;font-weight:bold}
button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:1px}
nav button[data-v]:first-of-type{margin-left:auto}
aside{margin:6px;padding:12px;background:#fff;border:2px solid;border-color:var(--lo) var(--hi) var(--hi) var(--lo)}
ul{margin:8px 0 0;padding-left:22px}li{margin:6px 0}
a{color:inherit}
h2,h3{margin:0}
.week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:6px}
.day,.cell{min-width:0;background:#fff;border:2px solid;border-color:var(--lo) var(--hi) var(--hi) var(--lo)}
.day h2{font-size:15px;padding:10px 6px;background:#dedede;border-bottom:1px solid var(--lo)}
.today{outline:3px solid var(--ink);outline-offset:-3px}
.day.today h2{background:var(--blue);color:#fff}
article{padding:12px 8px;border-bottom:1px solid #999;overflow-wrap:anywhere;border-left:6px solid var(--c,#777)}
article.soft{border-left-style:dashed;background:#f2f2f2}
time{display:block;font:bold 15px ui-monospace,Consolas,monospace}
article p{margin:6px 0}small{font-size:14px}
.code,.chip{font:bold 15px ui-monospace,Consolas,monospace}
.code{color:var(--c,#444)}
.chip{background:var(--ink);color:#fff;padding:1px 5px}
.k-deadline .chip{background:#fff;color:var(--ink);outline:2px solid var(--ink);outline-offset:-2px}
[data-c=aut]{--c:#174a78}[data-c=wa]{--c:#644477}[data-c=dm]{--c:#8a4a00}[data-c=fv]{--c:#1b6b3a}[data-c=zss]{--c:#8c1c1c}
.empty{padding:12px 8px;font-size:14px;color:var(--lo)}
.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding:6px}
.month .wd{font-size:14px;text-align:center;padding:6px;background:#dedede}
.cell{display:block;min-height:112px;padding:4px;text-decoration:none}
.cell.out{background:#e4e4e4;color:var(--lo)}
.cell h3{font-size:14px;font-family:ui-monospace,Consolas,monospace}
.cell article{padding:2px 4px;margin-top:3px;border-bottom:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cell article time{display:inline;font-size:13px}
.cell article p{display:inline;margin:0}
.cell .more{margin:3px 0 0;font-size:13px}
footer{margin:6px;padding:6px;border:1px solid;border-color:#777 var(--hi) var(--hi) #777;font-size:14px}
@media(max-width:850px){
body{padding:8px}
.week{grid-template-columns:1fr}
.month{grid-template-columns:1fr}.month .wd,.cell.none,.cell.out{display:none}
.cell{min-height:0}.cell article{white-space:normal}
}
.cell article.span{border-left-style:dotted;color:var(--lo);background:#f2f2f2}
