:root{--ink:#0A0E1A;--spark:#00D4A4;--paper:#F5F1E8;--signal:#FFB81C;--white:#fff;--muted:#5a606c;--line:#d7d2c8}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Geist,Inter,system-ui,sans-serif;line-height:1.55}.wrap{width:min(1080px,calc(100% - 32px));margin:auto}.top{background:var(--ink);padding:18px 0}.top .wrap{display:flex;justify-content:space-between;align-items:center}.brand{color:#fff;font-size:1.2rem;font-weight:800}.brand span,.lang{color:var(--spark)}.lang{font-weight:800}.hero{padding:64px 0 30px}.hero h1{font-family:"Instrument Serif",Georgia,serif;font-size:clamp(2.8rem,7vw,5.3rem);line-height:.96;max-width:900px;margin:8px 0 22px;font-weight:400}.lead{font-size:1.15rem;max-width:800px;color:#3f4550}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:#08775f}.promo,.panel{background:var(--white);border:1px solid var(--line);border-radius:24px;padding:24px;margin:24px 0;box-shadow:0 14px 38px rgba(10,14,26,.07)}.promo{display:grid;grid-template-columns:minmax(280px,1.15fr) 1fr;gap:28px;align-items:center;border-top:5px solid var(--spark)}.promo h2{font-family:Georgia,serif;font-size:2rem;line-height:1.08;margin:8px 0;font-weight:400}.video{position:relative;padding-top:56.25%;overflow:hidden;border-radius:15px;background:var(--ink)}.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.panel h2{margin-top:0}.hint{color:var(--muted);font-size:.93rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.full{grid-column:1/-1}label{display:grid;gap:7px;font-weight:750}label span{font-weight:400;color:var(--muted)}input,textarea,select{width:100%;border:1px solid #aaa69e;border-radius:12px;padding:12px;background:#fff;color:var(--ink);font:inherit}textarea{min-height:94px;resize:vertical}input:focus,textarea:focus,select:focus{outline:3px solid rgba(0,212,164,.25);border-color:#08775f}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.compact{margin:0}.btn{border:1px solid var(--ink);border-radius:999px;padding:10px 16px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.btn.primary{background:var(--ink);color:#fff}.btn.ghost{border-color:transparent;background:#eeeae2}.btn:hover{transform:translateY(-1px)}.status{min-height:1.5em;color:#08775f;font-weight:700}.result{display:none;border-top:5px solid var(--signal)}.result.show{display:block}.result-head{display:flex;justify-content:space-between;gap:20px;align-items:start}.ladder{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:16px 0 26px}.hint-card{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fcfbf8}.hint-card .level{display:inline-block;background:var(--ink);color:#fff;border-radius:999px;padding:4px 9px;font-size:.76rem;font-weight:800}.hint-card:nth-child(4){border-color:#d79600;background:#fff8e8}.error-block{border-left:5px solid var(--spark);padding:4px 0 4px 18px;margin:28px 0}.routine,.decision,.record{border-radius:16px;padding:19px;margin:20px 0}.routine{background:#e8fbf6}.decision{background:#fff4d9}.record{background:#f0eee8}.record-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:12px}.record-grid div{background:#fff;padding:10px;min-height:46px}.record-grid .head{background:var(--ink);color:#fff;font-weight:800}.tag{display:inline-block;border-radius:999px;background:#e8fbf6;padding:4px 9px;font-size:.8rem;font-weight:800}h3{margin-top:30px}footer{padding:20px 0 48px;color:var(--muted)}footer a{color:#08775f;font-weight:800}@media(max-width:760px){.promo,.grid,.ladder{grid-template-columns:1fr}.full{grid-column:auto}.hero{padding-top:42px}.result-head{display:block}.compact{margin-top:14px}.record-grid{grid-template-columns:1fr 1fr}.record-grid .head{display:none}}@media print{.top,.hero,.promo,form,.result-head .actions,footer{display:none!important}body{background:#fff}.panel,.hint-card{box-shadow:none;break-inside:avoid}.result{display:block;border:0;margin:0;padding:0}.error-block{break-inside:avoid}.wrap{width:100%}}
