:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#e9edf3;background:#0c1018;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{background:#24334a;border:1px solid #455a75;color:#edf3ff;border-radius:9px;padding:.7rem 1rem;cursor:pointer;text-align:left}button:hover{background:#314766}button:disabled{opacity:.45;cursor:wait}input,select{background:#111a28;color:#f5f8fe;border:1px solid #4a5c72;border-radius:8px;padding:.65rem;width:100%;min-height:42px}input[type=checkbox]{width:auto;min-height:auto;accent-color:#cf6951}label{display:block;margin:.7rem 0;color:#b9c6d5;font-size:.91rem}label input,label select{margin-top:.3rem}h1{font-size:clamp(1.9rem,4vw,3.1rem);line-height:1.08;margin:.3rem 0 1rem}h2{margin:.3rem 0 1rem}h3{margin:1.6rem 0 .8rem}h4{margin:1.3rem 0 .5rem}p{line-height:1.55;color:#b7c3d2}small,.hint{color:#8d9eb4}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #26384d;padding:1rem clamp(1rem,3vw,2rem);background:#111925;gap:1rem}header button{font-size:.85rem}.brand{display:flex;align-items:center;gap:.9rem;letter-spacing:.13em}.brand strong,.brand small{display:block}.brand small{font-size:.62rem;margin-top:.3rem}.sigil{color:#e4775c;font-size:2rem}.landing{max-width:1120px;margin:8vh auto;padding:1rem;display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}.hero{padding:2rem}.hero h1{font-size:clamp(2.5rem,6vw,5rem)}.eyebrow{font-size:.72rem;letter-spacing:.17em;color:#e68b6f;text-transform:uppercase}.panel,.form,.upload,.review{padding:1.3rem;background:#172230;border:1px solid #304159;border-radius:15px;margin:1rem 0}.upload{border:2px solid #df785b;background:#241d25}.upload h3{margin-top:0}.shell{display:grid;grid-template-columns:255px minmax(0,1fr);min-height:calc(100vh - 75px)}aside{background:#121c29;padding:1.6rem;border-right:1px solid #304159}aside h2{overflow-wrap:anywhere}aside nav{margin:2rem 0}aside button{width:100%;border:none;background:transparent;margin:.15rem 0;border-radius:6px;line-height:1.3}aside button.active{background:#923e36}article{max-width:1150px;width:100%;padding:2rem clamp(1rem,4vw,3rem);margin:auto}.grid,.checkgrid,.cards,.petgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.8rem}.row{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap}.row>label{flex:1 1 130px}.stat{padding:.5rem;background:#111a28;border-radius:8px}.card{border:1px solid #374e66;border-radius:12px;padding:1rem;background:#15202e;display:flex;flex-direction:column;gap:.5rem}.card img{width:72px;height:72px;object-fit:contain}.card button{align-self:start}.portrait{width:32px;height:32px;vertical-align:middle;object-fit:contain;margin:.25rem}.petcard{display:flex;flex-direction:column;align-items:start;gap:.4rem;width:100%;white-space:normal}.petcard img{width:64px;height:64px}.petcard span{font-size:.75rem;color:#bdd0e0}.petcard.selected{border-color:#ff9b69;background:#533b3d}.error{color:#ffb3a2;background:#4b2529;padding:.8rem;border-radius:9px}.job{padding:.7rem;border-bottom:1px solid #3b4c63;color:#c9d6e5}.secret{display:block;background:#081019;border:1px solid #7292aa;border-radius:7px;padding:1rem;overflow-wrap:anywhere}footer{display:flex;justify-content:space-between;padding:2rem 0}fieldset{border:1px solid #3e546b;border-radius:8px;margin:.8rem 0}.modal{position:fixed;inset:0;background:#000c;z-index:20;overflow:auto;padding:1rem}.modalbody{background:#101925;max-width:900px;margin:auto;padding:1rem;border-radius:14px}.modalbody>.form{margin-top:.5rem}.checkgrid label{background:#101a28;border-radius:8px;padding:.7rem}@media(max-width:800px){.landing{grid-template-columns:1fr;margin:1rem auto;gap:0}.hero{padding:1rem}.shell{display:block}aside{border-right:0;border-bottom:1px solid #304159;padding:1rem}aside nav{display:flex;overflow-x:auto;gap:.3rem;margin:.8rem 0}aside button{white-space:nowrap;width:auto;min-width:140px}article{padding:1.3rem}header{padding:.7rem}.brand strong{font-size:.8rem}.brand small{font-size:.5rem}}@media(max-width:480px){.grid,.cards,.petgrid{grid-template-columns:1fr}.panel,.form,.upload{padding:.9rem}.hero h1{font-size:2.7rem}.row button{width:auto}}.evidence{display:block;max-width:100%;max-height:460px;object-fit:contain;margin:12px 0;border-radius:8px}
