/* miellekartta-ohje: sivun omat sisältötyylit (pienoismallit). Poistuvat, kun pienoismallit korvataan kaappauksilla. */
:root{--pk:#db2777; --pk-dark:#be185d; --pk-soft:#f9a8d4; --pk-deep:#831843; --ink:#1e293b; --muted:#475569; --soft:#64748b; --faint:#94a3b8; --line:#e2e8f0; --line2:#cbd5e1; --help-bg:#fdf2f8; --help-line:#f9a8d4; --help-ink:#9d174d; --warn-bg:#fef3c7; --warn-line:#f59e0b; --warn-ink:#92400e}
h3.sub{font-size:1.12em; margin:24px 0 8px; color:var(--ink)}
.callout{background:var(--help-bg); border-left:4px solid var(--help-line); color:var(--help-ink); padding:12px 16px; border-radius:8px; margin:16px 0; font-size:.95em;}
.callout.warn{background:var(--warn-bg); border-left-color:var(--warn-line); color:var(--warn-ink)}
.stud{background:#eff6ff; border-left:4px solid #60a5fa; color:#1e40af; padding:12px 16px; border-radius:8px; margin:16px 0; font-size:.95em}
.stud b{color:#1e3a8a}
ul.clean{margin:10px 0; padding-left:22px}
ul.clean li{margin:6px 0}
.path{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:14px 0; font-size:.92em}
.path .crumb{background:#fff; border:1px solid var(--line2); border-radius:8px; padding:6px 12px; font-weight:600; color:var(--muted)}
.path .arr{color:var(--faint); font-weight:700}
.mock{margin:20px 0 8px; border-radius:12px; overflow:hidden; box-shadow:0 14px 34px rgba(15,23,42,.16); border:1px solid var(--line)}
.mock .bar{background:#e9eef5; padding:9px 12px; display:flex; align-items:center; gap:7px; border-bottom:1px solid var(--line)}
.mock .dot{width:11px;height:11px;border-radius:50%}
.mock .dot.r{background:#f87171}
.mock .dot.y{background:#fbbf24}
.mock .dot.g{background:#34d399}
.mock .bar .ttl{margin-left:10px; font-size:.8em; color:var(--soft); font-weight:600}
.app{font-size:14px; color:var(--ink)}
.screen{background:#f4f6fb; padding:16px 18px}
.btn{border:1px solid transparent; border-radius:7px; padding:6px 13px; font-weight:600; font-size:.82em; display:inline-flex; align-items:center; gap:6px; cursor:default; white-space:nowrap}
.btn.pk{background:var(--pk); color:#fff}
.btn.ghost{background:#fff; border:1px solid var(--line2); color:#334155}
.btn.dng{background:#fef2f2; border:1px solid #fca5a5; color:#b91c1c}
.btn.sm{padding:4px 10px; font-size:.78em}
.taskcard{display:inline-flex; flex-direction:column; gap:4px; width:150px; border-radius:12px; padding:14px; color:#fff; background:linear-gradient(180deg,#ec4899,#be185d); box-shadow:0 6px 16px rgba(190,24,93,.3)}
.taskcard .ic{font-size:1.6em}
.taskcard .nm{font-weight:700}
.fg{margin-bottom:11px}
.fg label{display:block; font-size:.8em; font-weight:600; color:var(--muted); margin-bottom:4px}
.inp{width:100%; padding:7px 10px; border:1px solid var(--line2); border-radius:7px; font-size:.86em; background:#fff; color:var(--ink)}
.inp.ph{color:var(--faint)}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:10px}
@media(max-width:540px){
.row2{grid-template-columns:1fr}
}
.chk{display:flex; align-items:center; gap:7px; font-size:.86em; color:var(--muted)}
.box{width:15px;height:15px;border:1.5px solid var(--line2); border-radius:4px}
.ed{background:#0f1726; border-radius:10px; overflow:hidden; color:#e7eefb; font-size:.84em}
.edhead{display:flex; align-items:center; gap:9px; background:#16223a; border-bottom:1px solid #2c3e63; padding:9px 12px}
.edhead .ttl{font-weight:700; flex:1}
.edtimer{color:#ffcc66; font-weight:700; font-size:.92em}
.edbtn{background:#1d2c4a; color:#e7eefb; border-radius:6px; padding:4px 10px; font-size:.8em; font-weight:600}
.edbtn.green{background:#2bd4a0; color:#06281f}
.edbody{display:grid; grid-template-columns:1fr 230px}
@media(max-width:620px){
.edbody{grid-template-columns:1fr}
}
.canvas{position:relative; min-height:280px; background:#0f1726;
    background-image:radial-gradient(circle, rgba(255,255,255,.05) 1px, transparent 1px); background-size:22px 22px}
.edhint{position:absolute; left:10px; bottom:8px; font-size:.72em; color:#9fb3d6}
.side{background:#16223a; border-left:1px solid #2c3e63; padding:11px}
.side .sl{font-size:.74em; color:#9fb3d6; margin:8px 0 4px; font-weight:600}
.side .si{width:100%; background:#0f1726; border:1px solid #2c3e63; border-radius:6px; padding:6px 8px; color:#e7eefb; font-size:.82em}
.swatches{display:flex; gap:6px; flex-wrap:wrap; margin:6px 0}
.sw{width:18px;height:18px;border-radius:5px; border:1px solid rgba(255,255,255,.2)}
.sw.sel{outline:2px solid #fff; outline-offset:1px}
.side .srow{display:flex; gap:6px; margin-top:7px}
.stat-line{font-size:.78em; color:#9fb3d6; margin-top:5px}
.edfoot{display:flex; align-items:center; gap:9px; background:#16223a; border-top:1px solid #2c3e63; padding:9px 12px}
.savestate{font-size:.78em; color:#9fb3d6; flex:1}
.gtable{width:100%; border-collapse:collapse; font-size:.86em; background:#fff; border:1px solid var(--line); border-radius:10px; overflow:hidden}
.gtable th{background:#fdf2f8; color:var(--pk-dark); text-align:left; padding:8px 11px; font-weight:700; font-size:.82em}
.gtable td{padding:8px 11px; border-top:1px solid var(--line)}
.stt{font-size:.74em; font-weight:700; border-radius:8px; padding:2px 8px}
.s-ok{background:#dcfce7; color:#166534}
.s-ret{background:#fef3c7; color:#92400e}
.s-wait{background:#e0e7ff; color:#3730a3}
.kbd{font-family:ui-monospace,Menlo,Consolas,monospace; background:#eef2f7; border:1px solid var(--line2); border-radius:5px; padding:1px 7px; font-size:.86em}
