*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1F2A44;background:#FBF7F2;line-height:1.55}
header{background:#1F2A44;color:#fff;padding:14px 18px}header a{color:#fff;text-decoration:none;font-weight:700}nav{margin-top:6px;font-size:14px}nav a{color:#FBD9D2;margin-right:12px;font-weight:500}
main{max-width:760px;margin:0 auto;padding:18px}h1{font-size:1.7rem;line-height:1.2;margin:.3em 0}h2{font-size:1.2rem;margin-top:1.6em}
.card{background:#fff;border:1px solid #EADFD6;border-radius:12px;padding:16px;margin:14px 0}
label{display:block;font-weight:600;margin:10px 0 4px}select,input{width:100%;padding:10px;font-size:16px;border:1px solid #D9C9BD;border-radius:8px;background:#fff}
button{background:#C94A38;color:#fff;border:0;border-radius:8px;padding:12px 16px;font-size:16px;margin-top:12px;cursor:pointer}
.result{background:#FDEEEA;border-left:4px solid #C94A38;padding:12px;border-radius:8px;margin-top:14px}
.slot{border:2px dashed #c9a227;background:#fffbea;color:#7a6200;padding:14px;border-radius:10px;text-align:center;font-size:14px;margin:16px 0}
table{width:100%;border-collapse:collapse;font-size:14px}td,th{border-bottom:1px solid #EADFD6;padding:6px;text-align:left}
.src{font-size:13px;color:#565D70}.grid{display:grid;gap:12px}@media(min-width:640px){.grid{grid-template-columns:1fr 1fr}}
footer{max-width:760px;margin:20px auto;padding:18px;font-size:13px;color:#565D70}
.tile{display:block;background:#fff;border:1px solid #EADFD6;border-radius:12px;padding:16px;text-decoration:none;color:inherit}.tile b{color:#1F2A44}

/* hamburger menu */
header.has-menu{position:relative;display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
header.has-menu>a:first-child{margin-right:auto}
header.has-menu .tag,header.has-menu>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.menu-btn{flex:none;margin-left:auto;background:transparent;border:1px solid rgba(255,255,255,.45);color:#fff;border-radius:8px;width:42px;height:42px;font-size:22px;line-height:1;cursor:pointer}
.menu-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}
header.has-menu nav{display:none;position:absolute;top:100%;right:8px;left:auto;z-index:50;margin:4px 0 0;min-width:220px;max-width:calc(100vw - 16px);max-height:75vh;overflow:auto;background:#fff;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.22);padding:6px 0;font-size:16px}
header.has-menu.menu-open nav{display:block}
header.has-menu nav a{display:block;margin:0;padding:11px 18px;color:#1F2A44;font-weight:600}
header.has-menu nav a:hover,header.has-menu nav a:focus{background:#FDEEEA}
@media print{.menu-btn{display:none}}
@media(max-width:480px){header.has-menu>span{display:none}header.has-menu>a:first-child{white-space:nowrap}}
/* coral + navy palette */
header{border-bottom:4px solid #E8604C}a{color:#B8412F}h1,h2,h3{color:#1F2A44}
button:hover{background:#A83A2B}.menu-btn:hover{background:rgba(232,96,76,.25)}
