/* DEOS BBS visual vocabulary, adapted without copying connection/configuration files. */
:root{color-scheme:light;--blue:#287ac8;--dark:#155e9f;--text:#243449;--muted:#607185;--border:#dbe3ec;--soft:#f3f7fb;--danger:#a82e39}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#f5f7fa;color:var(--text);font:15px/1.5 Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #80b8ed;outline-offset:2px}[hidden]{display:none!important}
header{display:flex;justify-content:space-between;align-items:center;gap:12px;background:white;border-bottom:1px solid var(--border);padding:13px clamp(14px,3vw,32px)}.brand{display:flex;align-items:center;gap:12px}.brand strong{display:block;font-size:18px;line-height:1.3}.brandmark{background:var(--blue);color:white;border-radius:9px;width:38px;height:38px;display:grid;place-items:center;font:bold 22px Georgia,serif;flex-shrink:0}small,.muted{color:var(--muted);font-size:13px}small{display:block}.brand small{font-size:12px}main{max-width:1540px;padding:0 clamp(14px,3vw,32px) 28px;margin:auto}nav{display:flex;flex-wrap:wrap;gap:5px;padding:18px 0 0}nav a{padding:7px 11px;border:1px solid var(--border);border-radius:7px;background:white;font-size:13px;font-weight:600;text-decoration:none;color:#315472}.toolbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0 16px}.toolbar h1{font-size:24px;line-height:1.2;margin:0}a{color:var(--dark)}a:hover{text-decoration:underline}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:20px;align-items:start}section{background:white;border:1px solid var(--border);border-radius:8px;padding:20px;margin:0 0 20px;min-width:0}h2{font-size:18px;margin:0 0 12px}h3{font-size:16px;margin:18px 0 10px}p{margin:8px 0 14px}label{display:block;font-weight:600;font-size:13px;margin-bottom:13px}input:not([type=checkbox]),select,textarea{display:block;width:100%;min-width:0;background:white;border:1px solid #bfcbd7;border-radius:7px;color:var(--text);padding:10px 11px;margin-top:5px}textarea{resize:vertical}input[type=file]{font-size:13px}button,.button{min-height:39px;border-radius:7px;padding:9px 13px;border:1px solid #bdcad9;font-weight:600;font-size:13px;line-height:1.25;background:white;color:#315472}button:hover{background:#f0f6fb}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:var(--dark)}.secondary{background:white}.inline{display:flex;gap:8px;align-items:center}.inline input{margin:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid label{margin:0}.grid textarea{min-height:100px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;background:var(--soft);font-size:12px;color:var(--muted)}td,th{padding:12px;border-bottom:1px solid #e8eef4;vertical-align:top}tr:hover td{background:#f3f8fd}.tag{display:inline-flex;border-radius:5px;background:#eaf2fb;color:#236aaa;padding:2px 7px;font-size:11px;font-weight:bold;letter-spacing:.025em;white-space:nowrap}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 20px}.stats div{display:flex;gap:10px;align-items:center;border:1px solid var(--border);border-radius:7px;background:white;padding:10px 16px}.stats strong{font-size:22px;color:var(--dark)}.stats span{font-size:13px;color:var(--muted)}.notice{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:12px 0 0;padding:7px 12px;border:1px solid #d4e1d9;border-radius:7px;font-size:13px;background:#f3f8f5;color:#355b43}.notice.error{border-color:#e2c8cb;background:#fcf7f7;color:#82434a}.notice button{border:0;background:transparent;color:inherit;min-height:24px;padding:1px 6px;font-size:18px}.demo{font-size:12px;color:#6b624d;padding:9px 0;border-bottom:1px solid #e8e0ce}article{border-bottom:1px solid var(--border);padding:12px 0}article:last-child{border:0}.answer{padding:12px 0;border-bottom:1px solid #e8eef4}.answer strong{display:block}.answer p{white-space:pre-wrap}.check{display:flex;gap:9px;align-items:center;font-weight:400}.check input{width:17px;height:17px;flex-shrink:0}.app-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:20px}.app-heading h2{font-size:22px;margin-bottom:2px}.app-heading p{color:var(--muted);margin:3px 0}details{padding:12px 0;border-top:1px solid var(--border)}summary{cursor:pointer;font-weight:600;color:#315472;margin-bottom:12px}.ordered-item{display:flex;align-items:center;gap:12px;border:1px solid var(--border);padding:12px;border-radius:7px;margin:8px 0;background:#fff}.ordered-item>.check{flex:1;margin:0}.ordered-item select{max-width:150px}.ordered-item>label:not(.check){font-size:11px;margin:0}.ordered-list{margin-bottom:16px}.contract-content{background:#fff;border:1px solid #d6dfe8;padding:24px;margin:16px 0;overflow-wrap:anywhere}.contract-content img{max-width:180px;max-height:90px}.contract-content table{table-layout:fixed}.question{max-width:850px;margin-bottom:23px}.question>label{margin-bottom:3px;font-size:14px}.instructions{font-size:13px;color:var(--muted);margin:4px 0}.counter{text-align:right;font-size:11px}.narrow{max-width:600px;margin-left:auto;margin-right:auto}fieldset{border:0;padding:0;margin:0}.signature-pad{display:block;width:100%;max-width:900px;background:#fff;border:1px solid #bfcbd7;border-radius:7px;touch-action:none;aspect-ratio:3}.signature-form{max-width:850px}.signature-form>button{margin:5px 6px 10px 0}.invitation{border-color:#a9bfd6;overflow-wrap:anywhere}footer{padding:10px 32px 25px;text-align:center;color:#7b8b9d;font-size:12px}.note-editor{font-weight:400}.note-editable{min-height:220px}#save-status{font-size:12px;color:var(--muted)}hr{border:0;border-top:1px solid var(--border);margin:20px 0}
.wordmark{display:inline-flex;align-items:center;gap:1px;flex-shrink:0;color:#111;font:400 28px/1 'Open Sans',Arial,Helvetica,sans-serif;letter-spacing:.2px}.wordmark img{display:block;width:35px;height:35px}.brand>div{border-left:1px solid var(--border);padding-left:13px}
@media(max-width:950px){.layout{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.ordered-item{flex-wrap:wrap}header>span{font-size:12px}section{padding:16px}.contract-content{padding:16px}.stats{gap:7px}.stats div{padding:8px 12px}}
@media(max-width:430px){header{flex-wrap:wrap}.brand{gap:10px}.brand strong{font-size:16px}.wordmark{font-size:24px}.wordmark img{width:30px;height:30px}}
