:root{--ink:#173b55;--green:#236b5d;--rust:#bc7257;--muted:#536f82;--line:#d8e5e0;--paper:#fffdf8;--new:#bc7257;--wait:#b58a1f;--done:#236b5d}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:#faf8f2;color:var(--ink);font:17px/1.6 "Trebuchet MS",Arial,sans-serif}
header{max-width:1120px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 16px}
.brand img{display:block;max-width:100%;height:auto;width:260px}
a{color:var(--green)}
main{max-width:860px;margin:20px auto;padding:28px;background:var(--paper);border-radius:30px 12px 30px 12px;box-shadow:0 8px 35px #173b5508}
h1{font:400 36px/1.2 Georgia,serif;margin:0 0 10px}h2{font:400 24px/1.3 Georgia,serif;margin:22px 0 8px}h3{font-size:18px;margin:0}
p{color:var(--muted);margin:6px 0 12px}
label{display:block;font-weight:600;margin:14px 0 4px}
input,select,textarea{display:block;width:100%;padding:12px;border:1px solid #cfdbd3;border-radius:12px;background:#fff;font:inherit;color:var(--ink)}
textarea{min-height:130px;resize:vertical}
button,.button{font:inherit;cursor:pointer;display:inline-block;text-decoration:none;padding:10px 18px;border:1px solid var(--line);border-radius:24px;background:#fff;color:var(--green)}
.primary{background:var(--green);color:#fff;border-color:var(--green)}
button:disabled{opacity:.6;cursor:wait}
:focus-visible{outline:3px solid #8fb9ab;outline-offset:2px}
.tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.tabs button[aria-selected=true]{background:var(--green);color:#fff;border-color:var(--green)}
.notice{padding:12px 14px;border-radius:12px;background:#e8f3ee;color:#17483d;margin:12px 0}
.notice.error{background:#fbe9e3;color:#7a2e1a}
.practice{background:#fff4d6;color:#6a4b00;padding:10px 14px;border-radius:12px;font-size:15px;margin:0 0 14px}
.small{font-size:15px}.hint{font-size:14px;color:var(--muted);margin:4px 0 0}
.badge{display:inline-block;font-size:13px;font-weight:700;padding:2px 10px;border-radius:12px;color:#fff;white-space:nowrap}
.badge.new{background:var(--new)}.badge.waiting{background:var(--wait)}.badge.resolved{background:var(--done)}
.ticket{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;width:100%;text-align:left;border:1px solid var(--line);border-radius:16px;padding:14px 16px;margin:10px 0;background:#fff;color:var(--ink)}
.ticket:hover,.ticket[aria-current=true]{border-color:var(--green);background:#f3faf7}
.ticket b{display:block}.ticket span.meta{font-size:14px;color:var(--muted)}
.thread{margin:14px 0}
.msg{max-width:92%;padding:12px 14px;border-radius:16px;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.customer{background:#eef3f6;margin-right:auto}.msg.admin{background:#e8f3ee;margin-left:auto}
.msg .who{display:block;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:2px}
.msg img{max-width:100%;border-radius:10px;margin-top:8px;border:1px solid var(--line)}
.row{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
details.qa{border:1px solid var(--line);border-radius:14px;padding:4px 16px;margin:10px 0;background:#fff}
details.qa summary{cursor:pointer;font-weight:600;padding:10px 0}
.stats{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.stat{flex:1 1 90px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:10px 14px;text-align:center}
.stat b{display:block;font-size:28px;font-family:Georgia,serif}
.back{margin-bottom:8px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:20px}
@media(max-width:760px){main{margin:10px;padding:20px 16px}.split{grid-template-columns:1fr}h1{font-size:30px}.msg{max-width:100%}}
footer{max-width:860px;margin:10px auto 40px;padding:0 16px;font-size:14px;color:var(--muted)}

/* ---- Fun and uplifting look (uses the site's own mascots and colors) ---- */
body{background:linear-gradient(180deg,#fff7e6 0,#eaf6f1 340px,#faf8f2 700px) no-repeat,#faf8f2}
main{border:3px solid #cfe9df;border-radius:34px 16px 34px 16px;box-shadow:0 10px 0 #cfe9df66,0 14px 34px #173b5512}
h1,h2{font-family:"Nunito","Trebuchet MS",Arial,sans-serif;font-weight:800;color:#1d4a63}
h2{font-size:23px}
.hero{display:flex;align-items:center;gap:14px;margin:0 0 6px}
.hero h1{margin:0;font-size:30px;line-height:1.15}
.hero-sub{margin:4px 0 0;font-size:17px}
.hero-m{flex:none}.hero-m .mpl-m{width:96px;height:96px}
button,.button{border-width:2px;font-weight:700;transition:transform .12s ease,box-shadow .12s ease}
button:hover:not(:disabled),.button:hover{transform:translateY(-2px);box-shadow:0 4px 0 #cfe9df}
.primary{background:linear-gradient(180deg,#2f8f7b,#236b5d);box-shadow:0 3px 0 #17483d}
.primary:hover:not(:disabled){box-shadow:0 5px 0 #17483d!important}
.tabs button[aria-selected=true]{box-shadow:0 3px 0 #17483d}
.ticket{border-width:2px;border-radius:20px}
.ticket:hover,.ticket[aria-current=true]{background:#fff8e8;border-color:#f0b84b}
.badge{font-size:13px;padding:3px 12px;border-radius:14px}
.badge.new{background:#f08a5d}.badge.waiting{background:#e0a21a}.badge.resolved{background:#2f9e6e}
.stat{border-width:2px;border-radius:20px}.stat:nth-child(1){background:#fff0e8}.stat:nth-child(2){background:#fff8e0}.stat:nth-child(3){background:#e8f7ef}
.notice{border-radius:16px;font-weight:600}
.msg{border-radius:20px}.msg.customer{background:#eaf1fb}.msg.admin{background:#e6f6ee}
details.qa{border-width:2px;border-radius:18px}
.acct{border-width:2px;border-radius:20px}
.soon{background:#ffe9a8}
@media(max-width:560px){.hero-m .mpl-m{width:72px;height:72px}.hero h1{font-size:25px}}
@media (prefers-reduced-motion:reduce){button,.button{transition:none}button:hover:not(:disabled),.button:hover{transform:none}}

/* Mascot animations (same as the site's characters; the shared mascot file is not changed) */
.mpl-m{display:inline-block;width:132px;height:132px;flex:none}.mpl-m svg{width:100%;height:100%;overflow:visible}
.mpl-bob{animation:mplBob 2.2s ease-in-out infinite;transform-origin:50% 90%}@keyframes mplBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-7px) rotate(2deg)}}
.mpl-blink{animation:mplBlink 4s infinite;transform-origin:center;transform-box:fill-box}@keyframes mplBlink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.1)}}
.mpl-wag{animation:mplWag .5s ease-in-out infinite alternate;transform-origin:50% 100%;transform-box:fill-box}@keyframes mplWag{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
.mpl-glow{animation:mplGlow 1.6s ease-in-out infinite}@keyframes mplGlow{0%,100%{opacity:.55}50%{opacity:1}}
.mpl-hat{animation:mplHat 1.4s ease-in-out infinite;transform-origin:50% 100%;transform-box:fill-box}@keyframes mplHat{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@media (prefers-reduced-motion:reduce){.mpl-bob,.mpl-blink,.mpl-wag,.mpl-glow,.mpl-hat{animation:none}}
.ticket>div{flex:1;min-width:0}.ticket .badge{flex:none}

.sitenav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.sitenav .button{padding:8px 14px;font-size:14px}
