:root{--bg:#f6efe4;--bg2:#e6d5bf;--card:rgba(255,250,243,.86);--ink:#2a211b;--muted:#67584d;--line:rgba(42,33,27,.12);--a:#d85f38;--b:#2f6c63;--c:#d7a83c;--shadow:0 24px 60px rgba(70,46,26,.12)}
    *{box-sizing:border-box}html,body{margin:0;min-width:320px;background:radial-gradient(circle at 18% 16%,rgba(255,255,255,.72),transparent 22%),radial-gradient(circle at 82% 10%,rgba(255,236,204,.6),transparent 18%),linear-gradient(180deg,var(--bg),var(--bg2));color:var(--ink);font-family:Georgia,"Noto Serif SC","Songti SC",serif}
    body::before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.45;background-image:linear-gradient(rgba(42,33,27,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(42,33,27,.025) 1px,transparent 1px);background-size:32px 32px}
    .page{width:min(calc(100% - 24px),1180px);margin:0 auto;padding:24px 0 44px;position:relative;z-index:1}.hero,.panel,.result,.q{background:var(--card);border:1px solid rgba(255,255,255,.72);box-shadow:var(--shadow);border-radius:28px;backdrop-filter:blur(10px)}
    .hero,.panel,.result{padding:24px}.hero{position:relative;overflow:hidden}.hero::after{content:"NoBTI";position:absolute;right:20px;top:8px;font-size:clamp(3rem,12vw,8rem);line-height:1;color:rgba(216,95,56,.08);font-weight:700;letter-spacing:.08em}
    .eyebrow{margin:0;color:var(--b);letter-spacing:.28em;font-size:.82rem;text-transform:uppercase}.title{margin:10px 0;font-size:clamp(2.6rem,7vw,5.6rem);line-height:.95}.title span{color:var(--a)}.subtitle,.muted,.rule p,.note,.desc,.reason,.type small{color:var(--muted);line-height:1.8}
    .hero-grid,.rules,.types,.dims,.meta,.result-grid{display:grid;gap:14px}.hero-grid{grid-template-columns:1.45fr .95fr}.rules,.meta,.types{grid-template-columns:repeat(3,minmax(0,1fr))}.dims{grid-template-columns:repeat(4,minmax(0,1fr))}.result-grid{grid-template-columns:1.15fr .85fr}
    .box,.rule,.type,.dim,.meta-card,.side{padding:16px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.52)}h2{margin:0 0 12px;font-size:1.08rem}.list{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:320px;overflow:auto}.list li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed var(--line);padding-bottom:7px;font-size:.95rem}
    .actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}button{border:0;cursor:pointer;border-radius:999px;padding:13px 20px;font:inherit;transition:.2s}button:hover{transform:translateY(-2px)}.primary{background:var(--a);color:#fff8f3;box-shadow:0 14px 32px rgba(216,95,56,.26)}.secondary{background:rgba(47,108,99,.12);color:var(--b);border:1px solid rgba(47,108,99,.18)}
    .panel,.result{margin-top:22px}.head{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:18px}.progress{min-width:min(100%,300px);flex:1}.pmeta{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px;color:var(--muted);font-size:.92rem}.bar{height:12px;border-radius:999px;background:rgba(42,33,27,.08);overflow:hidden}.bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--a),var(--c));transition:width .25s}
    .questions{display:grid;gap:14px}.q{padding:18px;border:1px solid var(--line);box-shadow:none;background:rgba(255,255,255,.52)}.qtop{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.idx{font-size:.9rem;color:var(--b);letter-spacing:.12em;text-transform:uppercase}.badge,.rate,.algo{display:inline-flex;align-items:center;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:rgba(255,255,255,.62);font-size:.92rem}
    .qtype{font-size:.84rem;padding:6px 10px;border-radius:999px;background:rgba(216,95,56,.1);color:var(--a)}.qt{margin:0;font-size:1.16rem;line-height:1.6}.ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.opt{display:block;position:relative}.opt input{position:absolute;opacity:0}.opt span{display:flex;min-height:70px;align-items:center;justify-content:center;text-align:center;padding:12px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.72);transition:.2s}.opt span:hover{transform:translateY(-1px);border-color:rgba(216,95,56,.28)}.opt input:checked+span{border-color:var(--a);background:rgba(216,95,56,.12);box-shadow:0 12px 24px rgba(216,95,56,.12)}
    .hidden{display:none}.name{margin:0;font-size:clamp(2rem,5vw,3.5rem);line-height:1}.badge-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}.reason{margin-top:16px;padding:14px 16px;border-radius:18px;background:rgba(47,108,99,.08);border:1px solid rgba(47,108,99,.16);color:#304e49}.dim strong{display:flex;justify-content:space-between;gap:8px}.dimbar{height:8px;border-radius:999px;background:rgba(42,33,27,.08);overflow:hidden;margin:10px 0 8px}.dimbar span{display:block;height:100%;background:linear-gradient(90deg,var(--b),var(--a))}
    .cat{position:fixed;left:-120px;bottom:18px;z-index:5;border:0;background:rgba(255,250,243,.92);color:var(--ink);border-radius:999px;padding:10px 16px;box-shadow:0 10px 24px rgba(70,46,26,.16);font:inherit;cursor:pointer;animation:catWalk 18s linear infinite;white-space:nowrap}
    .cat:hover{transform:translateY(-2px)}
    .cat-note{position:fixed;right:14px;bottom:20px;z-index:5;padding:8px 12px;border-radius:999px;background:rgba(47,108,99,.12);border:1px solid rgba(47,108,99,.18);color:var(--b);font-size:.88rem}
    .q.special-hidden{display:none}
    @keyframes catWalk{0%{transform:translateX(0)}100%{transform:translateX(calc(100vw + 180px))}}
    @media (max-width:980px){.hero-grid,.result-grid,.rules,.types,.meta,.dims{grid-template-columns:1fr 1fr}}@media (max-width:720px){.page{width:min(calc(100% - 16px),1180px);padding-top:16px}.hero,.panel,.result{padding:18px;border-radius:24px}.hero-grid,.result-grid,.rules,.types,.meta,.dims,.ops{grid-template-columns:1fr}.qt{font-size:1.05rem}}
