.c5-app-screen { background:#081827; }
.c5-app-desk { width:min(1240px,calc(100% - 64px)); margin:auto; padding:28px 0 36px; }
.c5-app-heading { margin-bottom:24px; }
.c5-app-heading > span { color:#a9c0ce; }
.c5-app-heading h1 { font:30px/1.4 var(--font-title); margin:8px 0 12px; }
.c5-app-heading p { margin:0; }
.c5-app-tools { position:sticky; top:0; z-index:3; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:12px 0; margin-bottom:20px; background:#081827; }
.c5-app-tools button { min-height:48px; border:1px solid #a9c0ce; background:#112b45; color:#f4f1e8; padding:12px; font:18px/1.4 var(--font-body); cursor:pointer; }
.c5-app-tools button[aria-pressed="true"] { background:#f1b43c; color:#192b3c; border:3px double #192b3c; padding:10px; }
.c5-app-tools p { grid-column:1/-1; margin:0; color:#f1b43c; font-size:15px; }
.c5-app-materials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; align-items:start; }
.c5-app-paper { min-width:0; padding:24px; background:#f4f1e8; color:#192b3c; box-shadow:4px 6px 12px #0003; }
.c5-app-paper header { border-bottom:2px solid #08746e; padding-bottom:16px; }
.c5-app-paper h2 { margin:0 0 12px; font:24px/1.4 var(--font-title); }
.c5-app-source { color:#08645f; font-size:15px; margin:0; }
.c5-app-open { min-height:48px; padding:10px 16px; background:transparent; color:#08645f; border:1px solid #08645f; font:16px/1.5 var(--font-body); cursor:pointer; }
.c5-app-field { margin-top:16px; }
.c5-app-field button { display:flex; flex-direction:column; gap:8px; align-items:flex-start; text-align:left; width:100%; min-height:48px; padding:14px; background:transparent; color:#192b3c; border:1px solid #91856d; font:17px/1.6 var(--font-body); cursor:pointer; }
.c5-app-desk button { scroll-margin-top:150px; scroll-margin-bottom:24px; }
.c5-app-label { font-weight:800; }
.c5-app-stamp { border:1px dashed #776c57; font-size:14px; padding:2px 8px; }
.c5-app-field button[data-marked="true"] { background:#f5df9d; border-color:#9b6206; }
[data-marked="true"] .c5-app-stamp { border:3px double #895508; }
.c5-app-support { border-top:1px dashed #91856d; margin-top:24px; padding-top:16px; }
.c5-app-support > span { font-weight:800; }
.c5-app-support p { margin:8px 0 0; }
.c5-app-error { color:#9d2520; margin:8px 0 0; font-size:16px; }
.c5-app-field[data-error="true"] button { border:2px solid #9d2520; }
.c5-app-desk button:focus-visible { outline:3px solid #9b6206; outline-offset:4px; }
.c5-app-tools button:focus-visible,.c5-app-footer button:focus-visible { outline-color:#f1b43c; }
.c5-app-field button:hover,.c5-app-open:hover { box-shadow:inset 0 0 0 1px #895508; }
.c5-app-footer { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:24px; }
.c5-app-footer p { margin:0 0 8px; }
.c5-app-footer .action-button { flex-shrink:0; }
.c5-app-count { color:#69ded1; }
.c5-app-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); background:#f4f1e8; color:#192b3c; margin-bottom:24px; }
.c5-app-summary section { padding:20px 24px; }
.c5-app-summary h2 { margin:0 0 8px; color:#08645f; font:21px/1.4 var(--font-title); }
.c5-app-summary p { margin:0; }
.c5-app-boundaries { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; background:#f4f1e8; color:#192b3c; padding:28px; }
.c5-app-boundaries fieldset { min-width:0; margin:0; padding:16px; border:1px solid #91856d; }
.c5-app-boundaries legend { padding:0 8px; font:24px/1.4 var(--font-title); }
.c5-app-boundaries fieldset > p { margin:0 0 20px; }
.c5-app-boundaries fieldset > div { display:grid; gap:12px; }
.c5-app-boundaries button { width:100%; min-height:52px; padding:14px; border:1px solid #192b3c; background:transparent; color:#192b3c; font:18px/1.5 var(--font-body); cursor:pointer; }
.c5-app-boundaries button[aria-pressed="true"] { background:#f1b43c; border:3px double #192b3c; padding:12px; }
.c5-app-boundaries fieldset[data-error="true"] { border:2px solid #9d2520; }
.c5-app-limit { background:#f4f1e8; color:#192b3c; padding:20px 24px; margin:24px 0 0; }
@media(max-width:1000px) { .c5-app-materials { grid-template-columns:1fr; } }
@media(max-width:680px) {
  .c5-app-desk { width:calc(100% - 32px); padding:20px 0 28px; }
  .c5-app-heading h1 { font-size:25px; }
  .c5-app-tools { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .c5-app-desk button { scroll-margin-top:220px; }
  .c5-app-paper { padding:20px; }
  .c5-app-summary,.c5-app-boundaries { grid-template-columns:1fr; }
  .c5-app-summary section + section { border-top:1px dashed #91856d; }
  .c5-app-boundaries { padding:20px; gap:24px; }
  .c5-app-boundaries fieldset { padding:12px; }
  .c5-app-footer { flex-direction:column; align-items:stretch; gap:12px; }
}
@media(forced-colors:active) {
  .c5-app-paper,.c5-app-tools,.c5-app-summary,.c5-app-boundaries,.c5-app-limit { background:Canvas; color:CanvasText; }
  .c5-app-tools button[aria-pressed="true"],.c5-app-field button[data-marked="true"],.c5-app-boundaries button[aria-pressed="true"] { border:3px double Highlight; }
  .c5-app-desk button:focus-visible { outline-color:Highlight; }
}
