:root{--forest:#1F5FAE;--cream:#F4F7FB;--gold:#F4A261;--ink:#1B2733;--line:#D5DEE9;--soft:#FFFFFF}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--forest)}
h1,h2,legend{font-family:Georgia,serif}
h1{color:var(--forest);font-size:2.1rem;margin:.6rem 0 .3rem;line-height:1.15}
h2{color:var(--forest);font-size:1.3rem;margin:0 0 .4rem}
.top{background:var(--forest);color:var(--cream);display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:center;justify-content:space-between;padding:.5rem 1rem}
.brand{display:flex;align-items:center;gap:.6rem;color:var(--cream);text-decoration:none;font:700 1.05rem Georgia,serif}
.brand img{height:44px;width:44px;object-fit:cover}
nav{display:flex;flex-wrap:wrap;gap:.1rem .9rem}
nav a{color:var(--cream);text-decoration:none;padding:.35rem 0;font-weight:600}
nav a:hover{text-decoration:underline}
nav a.help{color:var(--gold)}
.wrap{max-width:46rem;margin:0 auto;padding:1rem 1rem 3rem}
.lead{font-size:1.1rem;margin:.2rem 0 1rem}
.foot{text-align:center;padding:1.2rem 1rem 2rem;font-size:.95rem;border-top:1px solid var(--line)}
.next{display:block;background:var(--forest);color:var(--cream);padding:1rem 1.2rem;border-radius:12px;text-decoration:none;font:700 1.25rem Georgia,serif;margin:1rem 0}
.next small{display:block;color:var(--gold);font:700 .85rem system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:.8rem;margin:1rem 0}
.card{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:1rem;text-decoration:none;color:var(--ink)}
.card p{margin:.1rem 0 .5rem}
progress{width:100%;height:10px;accent-color:var(--forest)}
.tips{background:#E6EEF8;border-radius:12px;padding:.9rem 1.1rem;margin:1rem 0}
.tips ul{margin:.3rem 0 0;padding-left:1.2rem}
.tips li{margin:.25rem 0}
.sticky{position:sticky;top:0;z-index:5;background:var(--cream);padding:.5rem 0;font-weight:600;font-size:.95rem;border-bottom:1px solid var(--line)}
.section{font-size:1.5rem;margin:1.8rem 0 .3rem}
.q,.req{background:var(--soft);border:1px solid var(--line);border-radius:12px;padding:1rem 1.1rem;margin:.9rem 0;min-width:0}
.q legend{float:left;width:100%;font-size:1.2rem;font-weight:700;margin-bottom:.4rem;padding:0;line-height:1.3}
.q legend+*{clear:both}
.n{display:inline-block;min-width:1.7rem;height:1.7rem;line-height:1.7rem;text-align:center;background:var(--forest);color:var(--cream);border-radius:50%;font:700 .85rem system-ui,sans-serif;margin-right:.5rem;vertical-align:.1rem}
.hint{color:#4b574a;margin:.1rem 0 .5rem;font-size:1rem}
.opt{display:flex;gap:.6rem;align-items:flex-start;padding:.6rem .7rem;border:1px solid var(--line);border-radius:8px;margin:.35rem 0;background:#fff;cursor:pointer}
.opt:has(input:checked){border-color:var(--forest);background:#eef4e6}
.opt input{margin-top:.3rem;width:1.1rem;height:1.1rem;accent-color:var(--forest);flex:none}
input[type=text],textarea,#key{width:100%;font:inherit;padding:.65rem;border:1px solid #bdb48f;border-radius:8px;background:#fff;color:var(--ink)}
.under{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem 1.2rem;margin-top:.6rem;font-size:.95rem}
.unsure{display:flex;gap:.4rem;align-items:center}
.note{flex:1 1 100%}
.note summary,.why summary{cursor:pointer;color:var(--forest);font-weight:600;font-size:.95rem}
.why{margin-top:.5rem}
.why p{margin:.3rem 0;font-size:1rem}
.status{font-size:.9rem;color:#3e6b2e;font-weight:600;min-height:1.2em}
.status.bad{color:#a02b1c}
.primary,.btn{display:inline-block;font:700 1.05rem system-ui,sans-serif;border-radius:10px;padding:.7rem 1.2rem;cursor:pointer;text-decoration:none;border:0}
.primary{background:var(--forest);color:var(--cream)}
.btn{background:var(--gold);color:var(--ink);margin:.2rem}
.link{background:none;border:0;color:#a02b1c;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:underline}
.finish{margin-top:1.6rem;padding:1rem 1.1rem;background:#E6EEF8;border-radius:12px}
.allset{font-weight:600;color:var(--forest)}
.error{background:#fbe4dd;color:#7c1e10;border-radius:8px;padding:.6rem .8rem}
.drop{border:2px dashed #bdb48f;border-radius:10px;padding:.9rem;text-align:center;margin:.6rem 0;background:#fff}
.drop p{margin:0 0 .3rem}
.drop.over{border-color:var(--forest);background:#eef4e6}
.bar{margin:.4rem 0;font-size:.95rem}
.done-files{list-style:none;padding:0;margin:.4rem 0}
.done-files li{padding:.3rem 0;border-top:1px solid var(--line);overflow-wrap:anywhere}
.tick{color:#3e6b2e}
.ex{margin:.2rem 0 .4rem;padding-left:1.2rem}
.preview{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff}
iframe.preview{height:26rem}
img.preview{max-height:32rem;object-fit:contain}
.lab{display:block;font-weight:600;margin:.6rem 0 .2rem}
.faq{background:var(--soft);border:1px solid var(--line);border-radius:10px;padding:.7rem 1rem;margin:.5rem 0}
.faq summary{font-weight:700;cursor:pointer}
.faq p{margin:.5rem 0 .2rem}
.signin{background:var(--forest);color:var(--cream);min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}
.signin main{max-width:24rem;width:100%;text-align:center}
.signin img{width:200px;margin:0 auto}
.signin h1{color:var(--gold)}
.signin label{display:block;text-align:left;font-weight:600;margin-bottom:.3rem}
.signin .primary{background:var(--gold);color:var(--ink);width:100%;margin-top:.8rem}
[hidden]{display:none!important}
.aimed{font-size:.9rem;color:#566577;margin:.1rem 0 .5rem;font-style:italic}
