*{box-sizing:border-box}:root{--ink: #22221c;--paper: #fffdf7;--serif: "Alegreya SC", Georgia, "Times New Roman", serif;--sans: "PT Sans", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--display-sans: "Poppins", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--hand: "Patrick Hand", "Segoe Print", "Bradley Hand", "Comic Sans MS", cursive}body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.55}.app{min-height:100vh;display:flex;flex-direction:column;background:var(--page)}.topbar{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-bottom:3px solid var(--accent);background:color-mix(in srgb,var(--page) 60%,#ffffff)}.wordmark{font-family:var(--serif);letter-spacing:.12em;font-weight:700;font-size:1.5rem;color:var(--accent);text-decoration:none}.topbar nav{display:flex;gap:1.25rem}.topbar nav a{color:var(--accent);text-decoration:none;font-weight:600;font-size:.95rem}.topbar nav a:hover{text-decoration:underline}.content{flex:1;width:100%;max-width:60rem;margin:0 auto;padding:2rem 1.5rem 4rem}.footer{padding:1rem 1.5rem;text-align:center;font-size:.85rem;color:color-mix(in srgb,var(--ink) 70%,transparent)}.footer a{color:inherit}h1,h2,.section-title,.phase-title{font-family:var(--serif);letter-spacing:.04em;color:var(--ink);line-height:1.2}h1,.phase-title{font-size:2.2rem;margin:0 0 .75rem}h2{font-size:1.5rem;margin:1.75rem 0 .5rem}.section-title{font-size:1.6rem;margin:2.5rem 0 1rem;border-bottom:2px solid var(--accent);padding-bottom:.25rem}.prose,.prose-width{max-width:46rem}.prose li{margin-bottom:.6rem}.prose a,.hero-links a,.storage-note a{color:var(--accent)}.hero{text-align:center;padding:1.5rem 0 .5rem}.hero-title{font-size:3.2rem;letter-spacing:.1em;color:var(--accent);margin-bottom:.5rem}.hero-tagline{max-width:40rem;margin:0 auto .75rem;font-size:1.05rem}.hero-links{font-size:.95rem}.covers{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1.5rem}.cover-card{display:flex;flex-direction:column;gap:.6rem;padding:2rem 1.75rem;background:var(--page);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:4px;box-shadow:0 2px 10px #1e1e141f;text-decoration:none;color:var(--ink);transition:transform .12s ease,box-shadow .12s ease}.cover-card:hover{transform:translateY(-3px);box-shadow:0 6px 18px #1e1e142e}.cover-kicker{font-family:var(--serif);letter-spacing:.2em;font-size:.95rem;color:var(--accent)}.cover-title{font-family:var(--serif);font-weight:700;font-size:2rem;line-height:1.1;color:var(--accent)}.cover-rule{height:3px;width:100%;background:var(--accent)}.cover-blurb{font-size:.95rem}.cover-cta{margin-top:auto;padding-top:.5rem;font-weight:700;color:var(--accent)}.roster{display:flex;flex-direction:column;gap:.5rem}.roster-row{display:flex;align-items:stretch;background:color-mix(in srgb,var(--page) 55%,#ffffff);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-left:6px solid var(--accent);border-radius:3px}.roster-main{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.7rem 1rem;background:none;border:none;cursor:pointer;font:inherit;text-align:left;color:var(--ink)}.roster-main:hover .roster-name{text-decoration:underline}.roster-name{font-weight:700;font-size:1.05rem;color:var(--accent)}.roster-detail{font-size:.85rem;color:color-mix(in srgb,var(--ink) 65%,transparent)}.roster-delete{border:none;background:none;padding:0 1rem;cursor:pointer;color:#a33;font-size:1rem}.roster-delete:hover{background:#f7e5e0}.storage-note{font-size:.85rem;color:color-mix(in srgb,var(--ink) 65%,transparent)}.archetype-hero{text-align:center;padding:1rem 0}.archetype-title{font-size:3rem;color:var(--accent);margin:.25rem 0 .75rem}.archetype-hero .prose-width{margin:0 auto 1.25rem}.sample-tabs{display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0}.sample-tab{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.6rem 1rem;background:var(--paper);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:3px;cursor:pointer;font:inherit;color:var(--ink)}.sample-tab.active,.sample-tab:hover{background:var(--soft)}.sample-tab.active{border-color:var(--accent);box-shadow:inset 0 -3px 0 var(--accent)}.sample-name{font-weight:700;color:var(--accent)}.sample-theme{font-size:.85rem;font-style:italic}.sample-sheet{margin-top:1rem}.primary-button{display:inline-block;padding:.65rem 1.4rem;background:var(--accent);color:#fff;border:none;border-radius:3px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.primary-button:hover{filter:brightness(1.15)}.ghost-button{display:inline-block;padding:.6rem 1.1rem;background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:3px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}.ghost-button:hover{background:var(--soft)}.wizard-progress{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;flex-wrap:wrap}.wizard-archetype{font-family:var(--serif);font-weight:700;letter-spacing:.08em;color:var(--accent);margin-right:auto;font-size:1.1rem}.phase-pip{font-size:.85rem;padding:.25rem .8rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);color:color-mix(in srgb,var(--ink) 60%,transparent)}.phase-pip.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.step textarea,.answer-card textarea{width:100%;padding:.7rem .9rem;font:inherit;border:1px solid #c9c2ac;border-radius:3px;background:var(--paper);resize:vertical;margin:.5rem 0 1rem}.step textarea:focus,.field input:focus,.sheet-input:focus,.sheet-name-input:focus,.sheet-theme-input:focus{outline:2px solid color-mix(in srgb,var(--accent) 60%,transparent)}.field-row{display:flex;gap:1rem;flex-wrap:wrap;margin:.75rem 0 .5rem}.field{display:flex;flex-direction:column;gap:.3rem;flex:1;min-width:14rem}.field span{font-size:.85rem;font-weight:700}.field input{padding:.6rem .8rem;font:inherit;border:1px solid #c9c2ac;border-radius:3px;background:var(--paper)}.rollbox-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1rem;align-items:start}.theme-reveal{font-size:1.15rem;margin-top:1rem}.theme-banner{background:var(--soft);border-left:4px solid var(--accent);padding:.5rem .9rem;margin-bottom:1rem;font-size:.95rem}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1rem;margin-top:1rem}.mode-card{display:flex;flex-direction:column;gap:.5rem;text-align:left;padding:1.25rem;background:var(--paper);border:1.5px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:4px;cursor:pointer;font:inherit;color:var(--ink)}.mode-card:hover{border-color:var(--accent);background:var(--soft)}.mode-title{font-weight:800;font-size:1.05rem;color:var(--accent)}.mode-desc{font-size:.9rem}.wizard-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;border-top:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding-top:1.25rem}.answer-card{background:var(--paper);border:1px solid #d8d2c0;border-radius:4px;padding:1rem 1.25rem;margin-bottom:1rem}.answer-card h3{margin:0 0 .4rem;font-family:var(--serif);letter-spacing:.03em}.answer-intro{font-style:italic;font-size:.9rem;margin:0 0 .5rem;color:color-mix(in srgb,var(--ink) 75%,transparent)}.answer-prompt{font-size:.95rem;margin-bottom:.25rem}.rollbox{background:var(--paper);border:1px solid #d8d2c0;border-radius:4px;margin-bottom:1.25rem;overflow:hidden}.rollbox-header{background:var(--accent);color:#fff;font-weight:700;padding:.5rem .9rem;font-size:1rem}.rollbox-intro{background:var(--soft);font-style:italic;font-size:.9rem;padding:.5rem .9rem;border-bottom:1px solid color-mix(in srgb,var(--accent) 20%,transparent)}.rollbox-body{display:flex;align-items:center;gap:1rem;padding:.9rem}.die-button{display:flex;flex-direction:column;align-items:center;gap:.15rem;background:none;border:none;cursor:pointer;color:var(--accent);font:inherit;padding:.25rem;flex-shrink:0}.die-button:hover .die-icon{transform:scale(1.08)}.die-icon{width:3.4rem;height:3.4rem;transition:transform .12s ease}.die-button.rolling .die-icon{animation:tumble .18s linear infinite}@keyframes tumble{0%{transform:rotate(-8deg)}50%{transform:rotate(8deg)}to{transform:rotate(-8deg)}}.die-number{font-size:7px;font-weight:800;fill:currentColor;font-family:var(--sans)}.die-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.roll-result{display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap}.roll-number{font-family:var(--serif);font-weight:800;font-size:1.4rem;color:var(--accent)}.roll-text{font-size:1.15rem;font-weight:600}.roll-placeholder{color:color-mix(in srgb,var(--ink) 50%,transparent);font-style:italic}.table-toggle{display:block;width:100%;background:none;border:none;border-top:1px dashed color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent);font:inherit;font-size:.85rem;font-weight:600;padding:.45rem;cursor:pointer}.table-toggle:hover{background:var(--soft)}.prompt-table{width:100%;border-collapse:collapse;font-size:.92rem}.prompt-table th{background:var(--accent);color:#fff;text-align:left;padding:.4rem .9rem}.prompt-table td{padding:.28rem .9rem;border-top:1px solid #ece7d8}.prompt-table .roll-col{width:2.5rem;font-weight:700;color:var(--accent)}.prompt-table tbody tr{cursor:pointer}.prompt-table tbody tr:hover{background:var(--soft)}.prompt-table tbody tr.selected{background:var(--soft);font-weight:700}.sheet-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.sheet-actions{display:flex;gap:.6rem;flex-wrap:wrap}.sheet-hint{font-size:.85rem;color:color-mix(in srgb,var(--ink) 60%,transparent);margin:0 0 1rem}.sheet{background:#fff;color:#111;max-width:52rem;margin:0 auto;padding:2.5rem 2.75rem;box-shadow:0 3px 16px #1e1e142e;border-radius:2px}.sheet-head{text-align:center;margin-bottom:1.75rem}.sheet-name-line{display:flex;flex-direction:column;align-items:center;max-width:26rem;margin:0 auto .4rem}.sheet-name,.sheet-name-input{font-family:var(--hand);font-size:1.9rem;line-height:1.2;text-align:center;width:100%;border:none;border-bottom:1.5px solid #111;background:none;padding:0 0 .1rem}.sheet-name{display:block;border-bottom:1.5px solid #111}.sheet-underlabel{font-size:.6rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#999;margin-top:.15rem}.sheet-archetype{font-family:var(--display-sans);font-size:2.6rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;line-height:1.05}.sheet-aka{font-family:var(--display-sans);font-weight:600;margin-bottom:.4rem}.sheet-theme-line{display:flex;align-items:baseline;justify-content:center;gap:.75rem}.sheet-the{font-family:var(--display-sans);font-size:1.6rem;font-weight:800;text-transform:uppercase}.sheet-theme-field{display:flex;flex-direction:column;align-items:center;min-width:16rem}.sheet-theme,.sheet-theme-input{font-family:var(--hand);font-size:1.5rem;text-align:center;width:100%;border:none;border-bottom:1.5px solid #111;background:none;padding:0 0 .1rem}.sheet-theme{display:block}.sheet-section{background:#f4f4f2;padding:1.25rem 1.5rem 1.5rem;margin-bottom:1.5rem;border-radius:3px}.sheet-section h2{font-family:var(--display-sans);text-transform:uppercase;font-weight:800;font-size:1.7rem;letter-spacing:.01em;margin:0 0 .75rem}.sheet-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:.9rem 1.4rem}.sheet-box-label{font-size:.95rem;font-weight:600;margin-bottom:.3rem}.sheet-bonus-question{font-family:var(--hand);font-weight:700}.sheet-box-frame{background:#fff;border:1.5px solid #111;border-radius:8px;padding:.5rem .7rem;min-height:5.5rem}.sheet-section>.sheet-box{margin-bottom:.9rem}.sheet-section>.sheet-box:last-child{margin-bottom:0}.sheet-section>.sheet-box .sheet-box-frame{min-height:3rem}.sheet-prompt{font-family:var(--hand);font-size:.85rem;color:#333}.sheet-text{font-family:var(--hand);font-size:.95rem;line-height:1.45;white-space:pre-wrap}.sheet-input{font-family:var(--hand);font-size:.95rem;line-height:1.45;width:100%;border:none;background:none;resize:none;overflow:hidden;padding:0;display:block}.sheet-input:focus{outline-offset:4px}.credits{text-align:center}.credits-block{margin:1.5rem 0}.credits-onward{font-family:var(--serif);font-weight:900;font-size:2.2rem;letter-spacing:.05em;margin-top:3rem}@media print{.topbar,.footer,.sheet-toolbar,.sheet-hint{display:none!important}.app{background:#fff}.content{padding:0;max-width:none}.sheet{box-shadow:none;padding:0;max-width:none}.sheet-section{break-inside:avoid}}@media(max-width:640px){.content{padding:1.25rem 1rem 3rem}.sheet{padding:1.5rem 1.25rem}.sheet-archetype{font-size:1.9rem}.hero-title{font-size:2.4rem}.wizard-nav{flex-direction:column-reverse}.wizard-nav .primary-button,.wizard-nav .ghost-button{text-align:center}}
