:root{--accent: #ffbf00;--accent-hover: #e6ac00;--accent-ink: #8a6400;--ink: #292929;--ink-2: #5e5a52;--muted: #7a7466;--border: #e2e5ed;--panel: #f4f5f7;--paper: #fffdf8;--paper-rule: #d9d3c4}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Roboto,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);background:linear-gradient(180deg,#eef1f5,#e7ebf0);background-attachment:fixed}.app{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none}.brand__home{display:inline-flex;align-items:center}.brand__logo-img{height:30px;width:auto;display:block}.topbar__actions{display:flex;gap:8px;flex-wrap:wrap}.btn{font-family:Roboto,system-ui,-apple-system,sans-serif;font-weight:600;font-size:14px;border:1px solid var(--border);background:#fff;color:var(--ink);border-radius:8px;padding:8px 14px;cursor:pointer;transition:background .15s,border-color .15s}.btn:hover{background:#edf2f7}.btn--primary{background:var(--accent);border-color:var(--accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn--ghost:hover{background:#edf2f7;color:var(--ink)}.btn--danger{background:#e53e3e;border-color:#e53e3e;color:#fff}.btn--danger:hover{background:#c53030}.btn--icon{display:inline-flex;align-items:center;justify-content:center;padding:7px 9px;color:var(--muted)}.btn--icon:hover{color:var(--ink)}.linkbtn{background:none;border:none;padding:0;color:var(--ink);font:inherit;cursor:pointer;text-decoration:underline}.lessonplan{position:relative;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;color:var(--ink);background:#fff8e1;border-bottom:1px solid #f3e3a8;padding:12px 44px;font-size:15px;text-align:center}.lessonplan strong{font-family:Oswald,sans-serif;font-weight:500}.lessonplan__btn{white-space:nowrap;background:var(--accent);color:var(--ink);font-family:Roboto,sans-serif;font-weight:700;font-size:14px;text-decoration:none;padding:9px 16px;border-radius:8px;border:1px solid var(--accent-hover)}.lessonplan__btn:hover{background:var(--accent-hover)}.lessonplan__close{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:22px;line-height:1;color:#b08900;cursor:pointer;padding:2px 8px;border-radius:6px}.lessonplan__close:hover{background:#0000000f;color:#6b5500}.work{flex:1;width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:18px;padding:28px 24px 48px}.intro{margin:0 0 18px}.intro__title{font-family:Oswald,sans-serif;font-weight:500;font-size:30px;line-height:1.15;margin:0 0 8px;letter-spacing:.01em}.intro__lead{margin:0;color:var(--ink-2);font-size:16px;max-width:62ch}.intro__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 0;font-size:14px;color:var(--muted)}.intro__sep{color:#b8b2a3}.progress{display:inline-block;width:120px;height:8px;background:#dfe3ea;border-radius:4px;overflow:hidden}.progress i{display:block;height:100%;background:var(--accent);border-radius:4px;transition:width .25s}.questions{display:flex;flex-direction:column;gap:14px}.q[data-step]{animation:q-in .4s cubic-bezier(.2,.7,.2,1) both}@keyframes q-in{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.q__group{font-family:Oswald,sans-serif;font-weight:500;font-size:15px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin:14px 0 0;padding-bottom:6px;border-bottom:2px solid var(--accent)}.q{background:#fff;border:1px solid var(--border);border-radius:10px;padding:16px 18px 14px;box-shadow:0 2px 10px #0f172a0d}.q--name{padding-bottom:16px}.q__label{display:flex;align-items:flex-start;gap:10px;margin:0 0 8px;font-family:Oswald,sans-serif;font-weight:500;font-size:19px;line-height:1.3;color:var(--ink)}.q__optional{font-family:Roboto,sans-serif;font-weight:400;font-size:14px;color:var(--muted)}.q__label b{font-weight:500;background:linear-gradient(transparent 74%,#ffbf008c 74%);padding:0 2px}.q__skip{margin:8px 0 0;display:flex;justify-content:flex-end}.q__skip button{background:none;border:none;padding:2px 4px;font:14px Roboto,sans-serif;color:var(--muted);cursor:pointer;text-decoration:underline}.q__skip button:hover{color:var(--ink)}.q__other{display:flex;align-items:center;gap:10px;margin-top:12px;font-size:15px;color:var(--ink-2)}.q__other .q__input{flex:1}.q__num{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:center;width:26px;height:26px;border-radius:50%;background:var(--accent);color:var(--ink);font-family:Roboto,sans-serif;font-weight:700;font-size:13px}.q__help{margin:-4px 0 10px;font-size:14px;color:var(--muted)}.q__text,.q__input{width:100%;font-family:Roboto,sans-serif;font-size:16px;line-height:1.5;color:var(--ink);border:1px solid #d5d9e2;border-radius:8px;padding:10px 12px;background:#fff}.q__text{resize:vertical;min-height:84px}.q__text:focus,.q__input:focus,.check__fill:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #ffbf0040}.q__text::placeholder,.q__input::placeholder,.check__fill::placeholder{color:#9aa3ad}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.chip{font:14px Roboto,sans-serif;color:var(--ink-2);background:var(--panel);border:1px solid var(--border);border-radius:999px;padding:6px 12px;cursor:pointer}.chip:hover{border-color:var(--accent-hover);color:var(--ink)}.chip--on{background:var(--accent);border-color:var(--accent);color:var(--ink);font-weight:600}.checks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.check{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;font-size:16px}.check input[type=checkbox]{width:20px;height:20px;margin:0;accent-color:var(--accent);cursor:pointer}.check label{cursor:pointer;white-space:nowrap}.check__fill{font:15px Roboto,sans-serif;color:var(--ink);border:none;border-bottom:1.5px solid #c9cfd9;background:transparent;padding:4px 6px;min-width:0;width:100%;max-width:320px}.check__fill:focus{box-shadow:none;border-bottom-color:var(--accent)}.check--on label{font-weight:500}.build{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0 4px;animation:q-in .4s cubic-bezier(.2,.7,.2,1) both}.build__btn{font:700 18px Roboto,sans-serif;color:var(--ink);background:var(--accent);border:3px solid var(--ink);border-radius:14px;padding:16px 30px;cursor:pointer;box-shadow:0 8px 22px #ffbf0059;transition:transform .15s,box-shadow .15s}.build__btn:hover{transform:translateY(-2px);box-shadow:0 12px 28px #ffbf0073}.build__btn:disabled{opacity:.6;cursor:wait;transform:none}.build__note{margin:0;font-size:14px;color:var(--muted)}.looks{display:inline-flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--border);border-radius:999px;padding:3px}.looks__label{font-size:12px;color:var(--muted);padding:0 8px 0 10px;text-transform:uppercase;letter-spacing:.06em}.looks__btn{font:600 13px Roboto,sans-serif;border:none;background:transparent;color:var(--ink-2);border-radius:999px;padding:5px 12px;cursor:pointer}.looks__btn--on{background:var(--ink);color:#fff}.resume{background:var(--paper);color:var(--ink);border:1px solid #e3ded0;border-radius:3px;box-shadow:0 10px 30px #14141424,0 1px 2px #00000014;min-height:560px;display:flex;flex-direction:column;font-size:15px;line-height:1.5;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.resume--clickable{cursor:zoom-in}.resume--clickable:hover{transform:translateY(-2px) rotate(-.3deg);box-shadow:0 16px 40px #1414142e,0 1px 2px #00000014}.resume--clickable:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.resume--sheet{aspect-ratio:8.5 / 11;min-height:0;overflow:auto;font-size:clamp(11px,1.55vw,16px);transform:none!important;cursor:default}.resume__name--ghost{color:#b5afa0}.resume__side{display:flex;flex-direction:column;gap:14px}.resume__main{display:flex;flex-direction:column;flex:1}.resume__head{display:flex;flex-direction:column;gap:4px}.resume__name{font-family:Oswald,sans-serif;font-weight:500;font-size:2.1em;line-height:1.1;margin:0;letter-spacing:.01em}.resume__headline{margin:0;font-family:Roboto,sans-serif;font-weight:500;font-size:.85em;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-2)}.resume__summary{margin:0;font-style:italic;font-size:1.02em;color:var(--ink);max-width:60ch}.resume__body{display:flex;flex-direction:column;gap:14px}.resume__h2{font-family:Oswald,sans-serif;font-weight:500;font-size:.85em;letter-spacing:.16em;text-transform:uppercase;margin:0 0 8px;color:var(--ink)}.resume__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.resume__item{display:flex;flex-direction:column;gap:1px;padding-left:14px;position:relative}.resume__item:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--accent)}.resume__label{font-size:.72em;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}.resume__text{white-space:pre-wrap;overflow-wrap:anywhere}.resume__para{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.resume__note{margin:6px 0 0;font-style:italic;color:var(--ink-2);font-size:.92em}.resume__foot{margin-top:auto;padding-top:12px;border-top:1px solid var(--paper-rule);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.72em;color:var(--muted)}.resume__refs{font-style:italic}.resume__refs .hand{font-size:1.6em}.resume__credit{letter-spacing:.04em}.resume--classic{padding:34px 36px 22px 44px;gap:18px}.resume--classic:before{content:"";position:absolute;left:0;top:0;bottom:0;width:10px;background:var(--accent)}.resume--classic:after{content:"";position:absolute;left:10px;top:0;bottom:0;width:1px;background:var(--paper-rule)}.resume--classic .resume__head{padding-bottom:12px;position:relative}.resume--classic .resume__head:after{content:"";position:absolute;left:0;bottom:0;width:56px;height:4px;background:var(--accent)}.resume--classic .resume__h2{border-bottom:1px solid var(--paper-rule);padding-bottom:4px}.resume--classic .resume__side:after{content:"";display:block;height:0}.resume--bold{flex-direction:row;padding:0}.resume--bold .resume__side{flex:0 0 34%;background:var(--ink);color:#fff;padding:34px 24px 26px;gap:18px}.resume--bold .resume__main{padding:34px 30px 22px;min-width:0}.resume--bold .resume__headline{color:var(--accent)}.resume--bold .resume__summary{color:#e9e5db}.resume--bold .resume__name--ghost,.resume--bold .resume__headline .struck{color:#8c877b}.resume--bold .resume__h2{display:inline-block;background:var(--accent);color:var(--ink);padding:3px 8px;border-radius:3px}.resume--bold .resume__item:before{background:var(--ink)}.resume--bold .resume__foot{border-top-color:var(--paper-rule)}.resume--sheet.resume--classic{padding:5% 6% 3.5% 7%}.resume--sheet.resume--bold .resume__side{padding:5% 4% 4%}.resume--sheet.resume--bold .resume__main{padding:5% 5% 3.5%}.struck{position:relative;color:var(--muted)}.struck:after{content:"";position:absolute;left:-2px;right:-2px;top:52%;height:.14em;background:#ff2d95;transform:rotate(-3deg);border-radius:2px;transform-origin:left center}.hand{font-family:Caveat,Segoe Script,Bradley Hand,cursive;font-weight:700;color:#ff2d95;font-size:1.45em;line-height:.9;letter-spacing:0;text-transform:none;display:inline-block;transform:rotate(-4deg) translateY(-.06em);margin:0 .1em 0 .15em}.resume__headline .hand{font-size:1.7em}.untyped{visibility:hidden}.resume__item--untyped:before{visibility:hidden}.caret:after{content:"";display:inline-block;width:.08em;height:1em;margin-left:1px;background:var(--ink);vertical-align:-.15em;animation:caret .7s steps(1) infinite}@keyframes caret{50%{opacity:0}}.resume--typing .struck,.resume--typed .struck{color:var(--ink)}.resume--typing .struck:after,.resume--typed .struck:after{display:none}.resume--typing .hand,.resume--typed .hand{visibility:hidden;max-width:0;margin:0}.resume--striking .struck:after{transform:rotate(-3deg) scaleX(0);animation:strike .7s cubic-bezier(.4,0,.2,1) forwards;animation-delay:calc(.3s + (var(--k) - 1) * .4s + 1.3s)}.resume--striking .struck{animation:fade-word .7s ease-out forwards;animation-delay:calc(.3s + (var(--k) - 1) * .4s + 1.3s);color:var(--ink)}.resume--striking .hand{opacity:0;max-width:0;margin:0;animation:hand-in .55s cubic-bezier(.2,.9,.3,1.35) forwards;animation-delay:calc(.3s + (var(--k) - 1) * .4s + 1.3s + .26s)}.resume--striking [style*="--k:0"].struck:after,.resume--striking [style*="--k: 0"].struck:after{animation-delay:.3s;animation-duration:.8s}.resume--striking [style*="--k:0"].struck,.resume--striking [style*="--k: 0"].struck{animation-delay:.3s}.resume--striking [style*="--k:0"].hand,.resume--striking [style*="--k: 0"].hand{animation-delay:1s;animation-duration:.55s}@keyframes strike{to{transform:rotate(-3deg) scaleX(1)}}@keyframes fade-word{to{color:var(--muted)}}@keyframes hand-in{0%{opacity:0;max-width:0;margin:0;transform:rotate(-14deg) translateY(-.5em) scale(.5)}60%{max-width:12em;margin:0 .1em 0 .15em;transform:rotate(-2deg) translateY(0) scale(1.12)}to{opacity:1;max-width:12em;margin:0 .1em 0 .15em;transform:rotate(-4deg) translateY(-.06em) scale(1)}}.paper-large__sheet{position:relative}.paper-large__sheet--revealing{cursor:pointer}.paper-large__skip{margin:0;text-align:center;font-size:13px;color:#d9d3c4}.paper-large__title{margin:4px 0 -2px;text-align:center;font-family:Oswald,sans-serif;font-weight:500;font-size:17px;letter-spacing:.14em;text-transform:uppercase;color:#f3f1ec}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:50}.modal-backdrop--paper{background:#141414c7;align-items:flex-start;overflow-y:auto;padding:72px 16px 40px}.paper-large{width:100%;max-width:880px;display:flex;flex-direction:column;gap:12px}.paper-large__sheet{width:min(100%,calc((100vh - 230px) * 8.5 / 11));margin:0 auto}.paper-large__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#0000008c;border-radius:12px;padding:8px 10px;position:sticky;top:0;z-index:1}.paper-large__actions{display:flex;gap:8px;flex-wrap:wrap}.paper-large .btn--ghost{color:#fff}.paper-large .btn--ghost:hover{background:#ffffff26;color:#fff}.foot{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--border);background:#fff;font-size:14px;color:var(--muted)}.foot a{color:var(--ink);text-decoration:none}.foot a:hover{text-decoration:underline}.foot__attr{max-width:70ch;line-height:1.45}.modal{background:#fff;border-radius:12px;padding:22px;max-width:380px;width:calc(100% - 40px);box-shadow:0 10px 40px #0003}.modal p{margin:0 0 16px}.modal__actions{display:flex;justify-content:flex-end;gap:8px}.modal__title{margin:0 0 14px;font-family:Oswald,sans-serif;font-size:20px;font-weight:500}.modal--info{max-width:460px}.modal--info p{line-height:1.5;color:#2d3748}@media(max-width:980px){.work{padding:18px 16px 32px}.topbar{padding:8px 12px}.topbar__actions{gap:6px}.topbar .btn{font-size:13px;padding:7px 10px}.resume{font-size:14px;min-height:0}.resume--classic,.resume--sheet.resume--classic{padding:24px 18px 16px 26px}.resume--bold{flex-direction:column}.resume--bold .resume__side,.resume--sheet.resume--bold .resume__side{flex:none;padding:22px 18px 18px}.resume--bold .resume__main,.resume--sheet.resume--bold .resume__main{padding:20px 18px 16px}.resume--sheet{aspect-ratio:auto;font-size:14px}.paper-large__sheet{width:100%}.check{grid-template-columns:auto minmax(0,1fr)}.check label{white-space:normal}.check__fill{grid-column:2;max-width:none}.intro__title{font-size:26px}}
