:root{--subject-word:#185abd;--subject-excel:#107c41;--subject-powerpoint:#c43e1c;--ink:#141414;--ink-soft:#3d3d3d;--paper:#f6f3ea;--paper-deep:#ece7d8;--white:#fff;--muted:#5c5a55;--grid-line:#e3ddcc;--grid-head:#ebe5d4;--highlight:#ffe14d;--highlight-soft:#fff3b0;--blue:#0f6cbd;--blue-hover:#0b5aa0;--on-ink:#f6f3ea;--on-ink-muted:#a9a59a;--on-ink-line:#3a3a3a;--pass:#107c41;--fail:#c4314b;--border:2px solid var(--ink);--shadow-sm:3px 3px 0 var(--ink);--shadow:5px 5px 0 var(--ink);--shadow-lg:8px 8px 0 var(--ink);--radius:10px;--radius-lg:16px;--container:1200px;--gutter:16px;--header-height:64px}@media (min-width:768px){:root{--gutter:32px}}*,:before,:after{box-sizing:border-box}*{margin:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 16px);-webkit-text-size-adjust:100%}body{font-family:var(--font-body), system-ui, sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.6}img,svg{max-width:100%;display:block}img{height:auto}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{font-family:var(--font-display), var(--font-body), system-ui, sans-serif;letter-spacing:-.02em;font-weight:800;line-height:1.1}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:4px}::selection{background:var(--highlight);color:var(--ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.container{width:100%;max-width:calc(var(--container) + 2 * var(--gutter));padding-inline:var(--gutter);margin-inline:auto}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grid-paper{background-color:var(--paper);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:96px 32px}.section{padding-block:72px}@media (min-width:768px){.section{padding-block:104px}}.section-head{max-width:760px;margin-bottom:40px}.section-head h2{font-size:clamp(2rem,1.3rem + 2.6vw,3.25rem)}.section-head p{color:var(--muted);max-width:620px;margin-top:14px;font-size:1.08rem}.cellref{font-family:var(--font-mono), monospace;letter-spacing:.04em;text-transform:uppercase;border:var(--border);background:var(--white);border-radius:6px;align-items:stretch;margin-bottom:18px;font-size:.78rem;font-weight:700;display:inline-flex;overflow:hidden}.cellref b{background:var(--ink);color:var(--on-ink);padding:3px 9px}.cellref span{padding:3px 10px}.btn{border-radius:var(--radius);border:var(--border);cursor:pointer;min-height:46px;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.98rem;font-weight:700;line-height:1.2;text-decoration:none;transition:transform .12s,box-shadow .12s,background-color .15s;display:inline-flex}.btn:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.btn:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}.btn-primary{background:var(--blue);color:var(--white)}.btn-primary:hover{background:var(--blue-hover)}.btn-secondary{background:var(--white);color:var(--ink)}.btn-highlight{background:var(--highlight);color:var(--ink)}.btn-ghost-light{color:var(--on-ink);border-color:var(--on-ink);box-shadow:3px 3px 0 var(--on-ink);background:0 0}.btn-ghost-light:hover{box-shadow:4px 4px 0 var(--on-ink)}.btn-block{width:100%}.btn-sm{min-height:38px;padding:6px 14px;font-size:.9rem}.note-chip{background:var(--highlight-soft);color:var(--ink);border:1.5px solid var(--ink);font-family:var(--font-mono), monospace;letter-spacing:.02em;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.office-band{background:linear-gradient(90deg, var(--subject-word) 0 33.33%, var(--subject-excel) 33.33% 66.66%, var(--subject-powerpoint) 66.66%);height:8px}.card{background:var(--white);border:var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.field{gap:6px;display:grid}.field label{font-size:.95rem;font-weight:700}.field input,.field select{border:var(--border);border-radius:var(--radius);background:var(--white);min-height:48px;padding:10px 14px}.field input:focus{box-shadow:var(--shadow-sm);background:var(--highlight-soft);outline:none}.field .hint{color:var(--muted);font-size:.85rem}
