:root{--sky:#e3f1fb;--ink:#23305a;--ink-soft:#4a5680;--paper:#fff;--sun:#ffc93c;--leaf:#3fae6a;--berry:#ef5b7c;--line:3px solid var(--ink);--lift:5px 5px 0 var(--ink);--font-display:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;--font-ui:"Atkinson Hyperlegible", system-ui, sans-serif;--font-book:"Andika", "Atkinson Hyperlegible", system-ui, sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--sky);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;min-height:100dvh;font-size:18px;line-height:1.5}a{color:inherit}:focus-visible{outline:4px solid var(--berry);outline-offset:3px;border-radius:6px}.wrap{max-width:640px;margin:0 auto;padding:20px 16px 64px}.wrap-wide{max-width:1040px}.topbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.01em;font-size:26px;font-weight:800;text-decoration:none}.topbar nav{gap:14px;font-size:16px;display:flex}.topbar nav a{color:var(--ink-soft)}.banner{background:var(--paper);border:2px dashed var(--ink-soft);color:var(--ink-soft);border-radius:14px;margin-bottom:20px;padding:10px 14px;font-size:15px}h1,h2,h3{font-family:var(--font-display);margin:0 0 12px;line-height:1.1}h1{letter-spacing:-.02em;font-size:clamp(34px,8vw,52px);font-weight:800}h2{font-size:30px;font-weight:800}h3{font-size:22px;font-weight:700}.lede{color:var(--ink-soft);max-width:34ch;margin:0 0 24px;font-size:20px}.muted{color:var(--ink-soft);font-size:15px}.btn{appearance:none;font:700 20px/1 var(--font-display);color:var(--ink);background:var(--sun);border:var(--line);box-shadow:var(--lift);cursor:pointer;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:16px 26px 13px;text-decoration:none;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.btn:active{box-shadow:1px 1px 0 var(--ink);transform:translate(4px,4px)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-quiet{background:var(--paper);padding:12px 18px 10px;font-size:17px}.btn-big{width:100%;padding:20px 26px 17px;font-size:24px}.linkbtn{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:4px;text-decoration:underline}.dots{gap:8px;margin-bottom:18px;display:flex}.dots span{border:2px solid var(--ink);background:var(--paper);border-radius:50%;width:14px;height:14px}.dots span.on{background:var(--ink)}.question{font-family:var(--font-display);margin:0 0 6px;font-size:clamp(30px,7vw,40px);font-weight:800;line-height:1.1}.hint{color:var(--ink-soft);margin:0 0 20px;font-size:16px}.tiles{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}@media (min-width:560px){.tiles{grid-template-columns:repeat(3,1fr)}}.tiles-label{color:var(--ink-soft);margin:22px 0 10px;font-size:17px;font-weight:700}.tiles-label:first-of-type{margin-top:4px}.tile{appearance:none;background:var(--paper);border:var(--line);min-height:128px;box-shadow:var(--lift);font:700 18px/1.15 var(--font-display);color:var(--ink);cursor:pointer;transform:rotate(var(--tilt,0deg));border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:14px 10px;transition:transform 90ms,box-shadow 90ms,background 90ms;display:flex}.tile:nth-child(3n+1){--tilt:-1.4deg}.tile:nth-child(3n+2){--tilt:1deg}.tile:nth-child(3n){--tilt:-.4deg}.tile:active{transform:rotate(var(--tilt)) translate(4px, 4px);box-shadow:1px 1px 0 var(--ink)}.tile[aria-pressed=true]{background:var(--sun);transform:rotate(0)scale(1.04)}.tile .emoji{font-size:52px;line-height:1}.swatch{border:var(--line);border-radius:50%;width:60px;height:60px}.swatch.rainbow{background:conic-gradient(#e5484d,#ffc53d,#46a758,#3e63dd,#8e4ec6,#e5484d)}.field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.field label{font-size:16px;font-weight:700}.feedback-topic{margin:0 0 6px;font-size:16px;font-weight:700}.feedback-chips{margin:0 0 14px}.review-select{text-overflow:ellipsis;width:100%;min-width:0;max-width:100%}.review-permission{margin-bottom:4px;font-weight:600}.review-sent-head{margin:18px 0 6px;font-size:16px}.review-sent li{overflow-wrap:anywhere;border-top:1px solid #00000014;padding:6px 0}.input{font:600 24px/1.2 var(--font-display);color:var(--ink);background:var(--paper);border:var(--line);border-radius:14px;width:100%;padding:14px 16px 10px}textarea.input{font:400 19px/1.4 var(--font-ui);resize:vertical;min-height:110px}.chips{flex-wrap:wrap;gap:10px;margin:6px 0 22px;display:flex}.chip{appearance:none;cursor:pointer;font:700 17px/1 var(--font-display);color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:999px;padding:10px 14px 8px}.chip[aria-pressed=true]{background:var(--sun)}.flow-nav{justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.error{border:2px solid var(--berry);background:#ffe4ea;border-radius:14px;margin:16px 0;padding:12px 14px;font-weight:700}.style-cards{gap:14px;display:grid}.style-card{text-align:left;flex-direction:row;align-items:stretch;gap:14px;min-height:0;padding:16px}.style-card .sw{flex-direction:column;gap:4px;display:flex}.style-card .sw i{border:2px solid var(--ink);border-radius:6px;width:26px;height:18px;display:block}.style-card b{margin-bottom:2px;font-size:21px;display:block}.style-card span{font:400 15px/1.35 var(--font-ui);color:var(--ink-soft)}.shelf{grid-template-columns:repeat(2,1fr);gap:16px;margin-top:18px;display:grid}@media (min-width:560px){.shelf{grid-template-columns:repeat(3,1fr)}}.spine{background:var(--paper);border:var(--line);min-height:150px;box-shadow:var(--lift);border-left-width:12px;border-radius:8px 18px 18px 8px;flex-direction:column;justify-content:space-between;padding:14px;text-decoration:none;display:flex}.spine b{font-family:var(--font-display);font-size:20px;line-height:1.1}.spine small{color:var(--ink-soft);font-size:14px}.shelf-head{margin:40px 0 0}.shelf-count{color:var(--ink-soft);font-weight:600}.shelf-left{color:var(--ink-soft);margin:4px 0 0;font-weight:600}.empty{border:2px dashed var(--ink-soft);color:var(--ink-soft);border-radius:18px;margin-top:18px;padding:22px}.making{text-align:center;padding-top:30px}.making .big{font-size:80px;animation:1.6s ease-in-out infinite bob;display:inline-block}.making-art{width:min(100%,340px);height:auto;margin:0 auto 10px;display:block}@keyframes bob{50%{transform:translateY(-10px)rotate(-6deg)}}@media (prefers-reduced-motion:reduce){.making .big{animation:none}.tile,.btn{transition:none}}.bar{border:var(--line);background:var(--paper);border-radius:999px;max-width:420px;height:20px;margin:18px auto;overflow:hidden}.bar i{background:var(--leaf);height:100%;transition:width .4s;display:block}.book{max-width:680px;margin:0 auto}.page{background:var(--paper);border:var(--line);box-shadow:var(--lift);border-radius:22px;overflow:hidden}.page img{aspect-ratio:1;object-fit:cover;border-bottom:var(--line);background:#f3f6fa;width:100%;display:block}.page .words{font-family:var(--font-book);min-height:5.5em;margin:0;padding:20px 22px 24px;font-size:clamp(22px,5vw,28px);line-height:1.45}.cover{text-align:center;padding:26px 20px 22px}.cover h2{margin-bottom:4px;font-size:clamp(32px,7vw,46px)}.cover img{aspect-ratio:auto;border:0;max-width:70%;margin:10px auto 0}.pager{justify-content:space-between;align-items:center;gap:10px;margin-top:18px;display:flex}.pager .count{font-family:var(--font-display);font-size:18px;font-weight:700}.note{color:var(--ink-soft);margin:0;padding:0 22px 14px;font-size:14px}.end-actions{gap:12px;margin-top:18px;display:grid}.scrim{z-index:50;background:#23305a8c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.dialog{background:var(--paper);border:var(--line);box-shadow:var(--lift);border-radius:22px;width:min(420px,100%);padding:22px}.keys{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px;display:grid}.keys button{font:800 24px/1 var(--font-display);border:2px solid var(--ink);background:var(--sky);color:var(--ink);cursor:pointer;border-radius:12px;padding:14px 0 10px}.report{background:var(--paper);border:2px solid var(--ink);border-radius:16px;margin-top:24px;padding:16px;font-size:16px}.report-headline{margin:4px 0 10px;font-size:18px;font-weight:700}.report-list{gap:8px;margin:0 0 12px;padding:0;list-style:none;display:grid}.report ol{margin:8px 0 0;padding-left:20px}.report li{margin-bottom:6px}.pass{color:var(--leaf);font-weight:700}.fail{color:var(--berry);font-weight:700}.lab-grid{grid-template-columns:1fr;gap:18px;margin-top:20px;display:grid}@media (min-width:760px){.lab-grid{grid-template-columns:1fr 1fr}}.lab-card{background:var(--paper);border:var(--line);box-shadow:var(--lift);border-radius:18px;min-width:0;padding:14px}.lab-card .pics{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:10px;margin-top:10px;display:grid}.adm-lab{overflow-wrap:anywhere}.adm-lab .lab-grid{grid-template-columns:minmax(0,1fr)}@media (min-width:760px){.adm-lab .lab-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.lab-card .pics img,.lab-card .pics .ph{aspect-ratio:1;border:2px solid var(--ink);object-fit:cover;background:#f3f6fa;border-radius:10px;width:100%}.lab-card .ph{color:var(--ink-soft);text-align:center;place-items:center;padding:6px;font-size:14px;display:grid}.lab-controls{flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-top:12px;display:flex}.lab-field{flex:200px;gap:4px;min-width:0;display:grid}.lab-field .input{width:100%;min-width:0}.lab-run{border-top:1px dashed #c3cde3;margin-top:12px;padding-top:8px}.lab-run:first-of-type{border-top:0;padding-top:0}.lab-run-label{margin:0;font-size:14px;font-weight:700}.lab-run-meta{margin:6px 0 0;font-size:13px}.lab-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:10px}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}select.input{width:auto;font-size:18px}.title-card{background:radial-gradient(120% 90% at 50% 40%, #33427a 0%, var(--ink) 70%);min-height:min(92vw,560px);color:var(--paper);text-align:center;place-content:center;justify-items:center;gap:14px;padding:28px 22px;display:grid}.title-card .presents{font:600 clamp(16px, 4vw, 20px)/1.2 var(--font-ui);letter-spacing:.04em;opacity:.85;animation:.9s ease-out both card-fade}.title-card .production{font:800 clamp(30px, 8vw, 50px)/1.05 var(--font-display);color:var(--sun);text-wrap:balance;max-width:14ch;animation:.7s cubic-bezier(.2,1.4,.4,1) .7s both card-pop}@keyframes card-fade{0%{opacity:0;transform:translateY(6px)}}@keyframes card-pop{0%{opacity:0;transform:scale(.7)}}.title-card-small{border:var(--line);min-height:0;box-shadow:var(--lift);border-radius:18px;margin:6px 0 20px;padding:22px 16px}.title-card-small .presents,.title-card-small .production{animation:none}.title-card-small .production{font-size:clamp(24px,6vw,34px)}@media (prefers-reduced-motion:reduce){.title-card .presents,.title-card .production{animation:none}}.studio-setup .field{margin-top:4px}.framed-input{align-items:center;gap:10px;display:flex}.framed-input span{font:800 18px/1 var(--font-display);flex:none}.framed-input{gap:8px}.framed-input .input{min-width:0}.chip-surprise{background:var(--berry);color:var(--paper);border-color:var(--ink)}.studio-line{font:700 18px/1.3 var(--font-display);flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:-8px 0 20px;display:flex}.studio-line a{font:400 15px/1 var(--font-ui);color:var(--ink-soft)}.art-wrap{position:relative}.art-wrap img{border-bottom:var(--line)}.sticker-layer{pointer-events:none;position:absolute;inset:0}.sticker-layer.editing{pointer-events:auto;touch-action:none;outline:3px dashed var(--berry);outline-offset:-6px}.sticker{aspect-ratio:1;pointer-events:none;filter:drop-shadow(2px 3px #23305a40);position:absolute}.sticker svg{width:100%;height:100%;display:block}.sticker-layer.editing .sticker{pointer-events:auto;cursor:grab;touch-action:none}.sticker-layer.editing .sticker:active{cursor:grabbing}.sticker.selected{outline:3px dashed var(--ink);outline-offset:2px;border-radius:12px}.book-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:14px;display:flex}.tray{background:var(--paper);border:var(--line);box-shadow:var(--lift);border-radius:18px;gap:12px;margin-top:16px;padding:14px;display:grid}.tray-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.tray-head .muted{margin:0}.sticker-tools{flex-wrap:wrap;gap:8px;display:flex}.tray-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}@media (min-width:560px){.tray-grid{grid-template-columns:repeat(10,minmax(0,1fr))}}.tray-item{appearance:none;aspect-ratio:1;border:2px solid var(--ink);background:var(--sky);cursor:pointer;border-radius:14px;padding:4px}.tray-item svg{width:100%;height:100%;display:block}.tray-item:active{transform:scale(.94)}.tray-item[disabled]{opacity:.4;cursor:not-allowed}.own-story{appearance:none;text-align:left;cursor:pointer;background:var(--paper);width:100%;color:var(--ink);border:3px dashed var(--ink);font:400 16px/1.35 var(--font-ui);border-radius:18px;align-items:center;gap:14px;margin-bottom:22px;padding:14px 16px;display:flex}.own-story>span:first-child{font-size:34px}.own-story b{font:800 20px/1.15 var(--font-display);display:block}.input-story{min-height:180px}.count-line{text-align:right;font-variant-numeric:tabular-nums;margin:0}.choose{gap:18px;display:grid}.choose-card{appearance:none;text-align:left;cursor:pointer;background:var(--paper);width:100%;color:var(--ink);border:var(--line);box-shadow:var(--lift);font:400 17px/1.35 var(--font-ui);border-radius:22px;align-items:center;gap:16px;padding:20px 18px;transition:transform 80ms,box-shadow 80ms;display:flex}.choose-card:first-of-type{background:var(--sun)}.choose-card:active{box-shadow:1px 1px 0 var(--ink);transform:translate(4px,4px)}.choose-card .emoji{flex:none;font-size:52px;line-height:1}.choose-card b{font:800 24px/1.1 var(--font-display);margin-bottom:4px;display:block}html{-webkit-text-size-adjust:100%}button,a,.tile,.chip,.tray-item,.choose-card{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.tile,.chip,.btn,.choose-card,.tray-item,.keys button{-webkit-user-select:none;user-select:none}.sticker,.sticker-layer{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.wrap{padding-top:max(16px, env(safe-area-inset-top));padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:calc(40px + env(safe-area-inset-bottom))}.topbar{margin-bottom:16px}.brand{min-width:0;font-size:clamp(20px,6.4vw,26px)}.topbar nav{flex:none;font-size:14px}.chip,.linkbtn{align-items:center;min-height:44px;display:inline-flex}.flow-nav,.pager{z-index:20;padding:14px 16px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to bottom, #e3f1fb00, var(--sky) 28%);margin:20px -16px 0;position:sticky;bottom:0}.pager .btn,.flow-nav .btn{min-width:76px;min-height:52px}@media (max-width:380px){.tiles{gap:12px}.tile{min-height:108px;padding:10px 8px;font-size:16px}.tile .emoji{font-size:44px}.swatch{width:48px;height:48px}.choose-card{gap:12px;padding:16px 14px}.choose-card .emoji{font-size:42px}.choose-card b{font-size:21px}.framed-input span{display:none}.btn-big{font-size:21px}}.book-actions{margin-top:14px}.story-page .art-wrap{width:100%;max-width:max(230px,100dvh - 400px);margin:0 auto}.story-page .art-wrap img{border-bottom:0}.story-page .words{border-top:var(--line)}@media (max-width:380px){.page .words{min-height:4.5em;padding:14px 16px 16px}}.title-card{min-height:max(240px,min(92vw,560px,100dvh - 220px))}@media (orientation:landscape) and (max-height:520px){.wrap{max-width:900px}.topbar{margin-bottom:8px}.story-page{grid-template-columns:auto 1fr;align-items:center;display:grid}.story-page .art-wrap{border-right:var(--line);width:calc(100dvh - 170px);max-width:none;margin:0}.story-page .words{border-top:0;min-height:0}.pager{padding-top:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom))}}.tray{z-index:20;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-bottom:0;border-radius:22px 22px 0 0;gap:10px;margin:16px -16px 0;position:sticky;bottom:0;box-shadow:0 -4px #23305a26}.tray-head .muted{font-size:14px}.tray-head .btn{flex:none;padding:12px 20px 10px}.sticker-tools .chip{padding:8px 14px 6px}@media (max-width:559px){.tray-grid{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;gap:8px;margin:0 -16px;padding:2px 16px 6px;display:flex;overflow-x:auto}.tray-item{scroll-snap-align:start;flex:0 0 60px;height:60px}}.scrim{padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));overflow-y:auto}.keys button{min-height:52px}@media (prefers-reduced-motion:reduce){.choose-card,.tray-item{transition:none}}@media (orientation:landscape) and (max-height:520px){.tray{z-index:30;border-bottom:var(--line);width:min(46vw,400px);padding:max(12px, env(safe-area-inset-top,0px)) max(14px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) 14px;border-right:0;border-radius:22px 0 0 22px;align-content:start;margin:0;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-4px 0 #23305a26}.tray-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;display:grid;overflow:visible}.tray-item{aspect-ratio:1;flex:none;width:auto;height:auto}}.pager{justify-content:stretch;align-items:stretch;gap:8px;display:grid}.pager-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pager-actions .chip{padding:8px 14px 6px;font-size:16px}.pager-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.title-card.title-card-small{min-height:0}@media (orientation:landscape) and (max-height:520px){.story-page .art-wrap,.story-page .art{width:calc(100dvh - 200px)}.pager{grid-template-columns:1fr auto;align-items:center}.pager-actions{order:2}}@media (max-width:520px){.pager-actions{flex-wrap:nowrap;gap:4px}.pager-actions .chip{white-space:nowrap;padding:6px 9px 4px;font-size:14px}}@media (max-width:440px){.pager-actions .chip{padding:6px 8px 4px;font-size:13px}}@media (max-width:400px){.pager-actions .chip-icon{display:none}}.check{cursor:pointer;align-items:flex-start;gap:12px;margin:4px 0 16px;font-size:16px;display:flex}.check input{width:24px;height:24px;accent-color:var(--ink);flex:none;margin-top:1px}.captcha{min-height:66px;margin-bottom:14px}.stack-lg{gap:20px;display:grid}.stack-lg>*{min-width:0}.panel{background:var(--paper);border:var(--line);box-shadow:var(--lift);border-radius:18px;padding:18px}.panel h2{font-size:24px}.panel p{margin:0 0 12px}.panel.danger{border-color:var(--berry);box-shadow:5px 5px 0 var(--berry)}.plain{gap:6px;margin:0 0 12px;padding-left:20px;display:grid}.btn-danger{background:var(--berry);color:var(--paper)}.landing{max-width:1040px;margin:0 auto;padding:16px 16px 40px;overflow-x:clip}.l-top{justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.l-top .brand{min-width:0;font-size:clamp(20px,6vw,26px)}.l-head .l-top{justify-content:space-between;margin-bottom:0}.l-early{min-height:34px;font:800 15px/1 var(--font-display);letter-spacing:.04em;text-transform:uppercase;color:#fff;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);white-space:nowrap;background:#6d28d9;border-radius:999px;align-items:center;padding:2px 14px 0;display:inline-flex;transform:rotate(-3deg)}.l-wordmark{width:min(100%,460px);margin:28px auto 22px;position:relative}.l-wordmark img{width:100%;height:auto;display:block}.l-wordmark .wm-layer{position:absolute;inset:0}.l-wordmark svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.wm-hide{clip-path:inset(0 100% 0 0)}@media (prefers-reduced-motion:reduce){.wm-hide{clip-path:none}}.l-login{flex:none;min-height:44px;padding:10px 18px 8px}.l-hero{align-items:center;gap:28px;display:grid}.l-pill{font:700 15px/1.2 var(--font-display);background:var(--paper);border:2px solid var(--ink);border-radius:999px;margin:0 0 14px;padding:6px 12px 4px;display:inline-block;transform:rotate(-1.5deg)}.l-copy h1{max-width:13ch}.l-copy .lede{max-width:40ch;margin-bottom:0}.l-benefits{gap:10px;max-width:40ch;margin:18px 0 0;padding:0;list-style:none;display:grid}.l-benefits li{padding-left:30px;font-weight:700;position:relative}.l-benefits li:before{content:"";background:var(--sun);border:2px solid var(--ink);border-radius:50%;width:16px;height:16px;position:absolute;top:.3em;left:2px}.l-cover{width:min(100%,440px);margin:0 auto;padding:0 10px 8px;position:relative}.l-cover-book{background:var(--paper);border:var(--line);box-shadow:10px 10px 0 var(--ink);border-radius:6px 16px 16px 6px;position:relative;overflow:hidden;transform:rotate(-1.5deg)}.l-cover-book:before{content:"";background:linear-gradient(90deg,#23305a47,#23305a0f 70%,#ffffff40);border-right:2px solid #23305a40;width:7%;position:absolute;inset:0 auto 0 0}.l-cover-book img{aspect-ratio:1;width:100%;height:auto;display:block}.l-cover figcaption{text-align:center;font:700 16px/1.3 var(--font-display);color:var(--ink-soft);margin-top:18px}.l-sticker{filter:drop-shadow(3px 3px #23305a59);pointer-events:none;width:22%;height:auto;position:absolute}.l-sticker.s1{width:18%;top:8%;right:-2%;transform:rotate(14deg)}.l-sticker.s2{width:15%;bottom:14%;left:-3%;transform:rotate(-12deg)}.l-sub{max-width:52ch;color:var(--ink-soft);margin:0 0 18px}.l-spread{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;gap:12px;padding:4px 4px 14px;display:flex;overflow-x:auto}.l-spread:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:12px}.l-leaf{aspect-ratio:1;scroll-snap-align:center;border:var(--line);box-shadow:6px 6px 0 var(--ink);background:#fffdf6;border-radius:10px;flex:0 0 86%;position:relative;overflow:hidden}.l-leaf-words{place-items:center;padding:10% 9%;display:grid}.l-leaf-words p{text-align:center;font:400 clamp(17px, 5vw, 24px)/1.45 var(--font-book);color:var(--ink);margin:0}.l-pno{text-align:center;color:var(--ink-soft);font-size:12px;position:absolute;bottom:4%;left:0;right:0}.l-leaf-pic img{object-fit:cover;width:100%;height:100%;display:block}.l-swipe{font:700 15px/1.2 var(--font-display);color:var(--ink-soft);text-align:right;margin:4px 0 0}.l-pair{display:contents}@media (min-width:640px){.l-spread{gap:34px;max-width:900px;margin:0 auto;padding:0;display:grid;overflow:visible}.l-pair{border:var(--line);box-shadow:10px 10px 0 var(--ink);background:#fffdf6;border-radius:14px;grid-template-columns:1fr 1fr;display:grid;transform:rotate(.5deg)}.l-pair:nth-child(2){transform:rotate(-.4deg)}.l-leaf{box-shadow:none;border:0;border-radius:0;flex:none}.l-leaf-words{background:linear-gradient(90deg,#fffdf6 82%,#23305a1a);border-radius:12px 0 0 12px}.l-leaf-words p{font-size:clamp(18px,2.3vw,24px)}.l-leaf-pic{border-radius:0 12px 12px 0}.l-leaf-pic:before{content:"";z-index:1;background:linear-gradient(90deg,#23305a4d,#23305a00);width:8%;position:absolute;inset:0 auto 0 0}.l-swipe{display:none}}.l-section{margin-top:56px}.l-steps{gap:22px;margin:18px 0 0;padding:0;list-style:none;display:grid}.l-step{background:var(--paper);border:var(--line);box-shadow:var(--lift);transform:rotate(var(--tilt,0deg));border-radius:20px;padding:20px 18px 16px;position:relative}.l-step:first-child{--tilt:-.8deg}.l-step:nth-child(2){--tilt:.6deg}.l-step:nth-child(3){--tilt:-.3deg}.l-step h3{margin:0 0 6px;padding-right:64px}.l-step p{color:var(--ink-soft);margin:0}.l-num{width:38px;height:38px;font:800 22px/1 var(--font-display);background:var(--sun);border:2px solid var(--ink);border-radius:50%;place-items:center;margin-bottom:10px;display:inline-grid}.l-step-art.l-sticker{width:64px;position:absolute;top:12px;right:12px;transform:rotate(8deg)}.tc-card{margin:0 -8px;position:relative}.tc-card img{width:100%;height:auto;display:block}.tc-card svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.crayon-type text,text.crayon-letter{font-family:var(--font-crayon), "Comic Sans MS", cursive}.crayon-type text{paint-order:stroke;stroke-linejoin:round}.tc{max-width:680px}.tc-said{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;margin:0;position:absolute;overflow:hidden}.tc-chips{margin:14px 0 10px}.tc .field{margin-bottom:0}.tc-note{margin:2px 0 0;font-size:15px}.tc-oops{min-height:1.5em;margin:6px 0 0}.tc-oops:empty{visibility:hidden}.l-kind{background:var(--paper);border:var(--line);box-shadow:var(--lift);border-radius:22px;padding:24px 20px 10px;position:relative}.l-kind h2{padding-right:70px}.l-kind .plain li{margin-bottom:12px}.l-kind-art.l-sticker{width:76px;position:absolute;top:-18px;right:14px;transform:rotate(10deg)}.l-foot{border-top:2px dashed var(--ink-soft);color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:48px;padding-top:18px;font-size:15px;display:flex}.l-foot a{color:var(--ink-soft)}.l-foot-links{gap:14px;display:flex}.legal .l-top .brand{color:var(--ink)}.legal-nav{gap:8px;display:flex}.legal-nav a{min-height:44px;font:700 15px/1 var(--font-display);color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:999px;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}.legal-body{background:var(--paper);border:var(--line);max-width:72ch;box-shadow:var(--lift);overflow-wrap:anywhere;border-radius:18px;padding:22px 18px 10px}.legal-body h1{font-size:clamp(30px,8vw,42px)}.legal-body h2{margin-top:28px;scroll-margin-top:16px;font-size:clamp(21px,5.5vw,26px)}.legal-body p,.legal-body li{line-height:1.55}.legal-body ul{gap:8px;padding-left:20px;display:grid}.legal-date{color:var(--ink-soft);font-weight:700}.legal-list{gap:12px;margin:0 0 16px;display:grid}.legal-list>div{border-left:4px solid var(--sun);padding:2px 0 2px 12px}.legal-list dt{font:700 17px/1.3 var(--font-display)}.legal-list dd{margin:2px 0 0;line-height:1.5}.legal-list .muted{margin-top:2px;display:block}@media (max-width:380px){.legal .l-top{flex-wrap:wrap}.legal-body{padding:18px 14px 6px}}@media (min-width:720px){.l-steps{grid-template-columns:repeat(3,1fr)}}@media (min-width:860px){.landing{padding:24px 28px 48px}.l-hero{grid-template-columns:1.05fr 1fr;gap:40px}.l-section{margin-top:72px}}.ok{border:2px solid var(--leaf);background:#e3f6ea;border-radius:14px;margin:16px 0;padding:12px 14px;font-weight:700}.small-print{margin-top:18px}.topbar{flex-wrap:wrap;row-gap:10px}.topbar nav{flex-wrap:wrap;gap:8px}.topbar nav a{min-height:44px;font:700 15px/1 var(--font-display);color:var(--ink);background:var(--paper);border:2px solid var(--ink);border-radius:999px;align-items:center;padding:0 14px;text-decoration:none;display:inline-flex}@media (max-width:560px){.topbar .brand{white-space:nowrap;text-overflow:ellipsis;flex:1 0 100%;overflow:hidden}.topbar nav{flex:100%}.topbar nav a{padding:0 12px;font-size:14px}}.adm{--adm-bg:#f4f5f7;--adm-surface:#fff;--adm-border:#dfe3ea;--adm-text:#1b2230;--adm-muted:#5d6676;--adm-accent:#2c56c9;--adm-head:#141b2d;--adm-good:#17734a;--adm-bad:#b3261e;--adm-warn:#93580a;background:var(--adm-bg);min-height:100dvh;color:var(--adm-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.45}.adm :focus-visible{outline:2px solid var(--adm-accent);outline-offset:2px;border-radius:4px}.adm h1,.adm h2,.adm h3{letter-spacing:0;color:var(--adm-text);font-family:inherit}.adm h1{margin:0 0 4px;font-size:22px;font-weight:650;line-height:1.25}.adm h2{margin:0 0 10px;font-size:15px;font-weight:650}.adm p{margin:0 0 10px}.adm code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px}.adm-muted,.adm .adm-muted{color:var(--adm-muted);font-size:13px}.adm-break{overflow-wrap:anywhere;word-break:break-word}.adm-header{background:var(--adm-head);color:#e8ecf5}.adm-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;max-width:1200px;margin:0 auto;padding:10px 16px;display:flex}.adm-brand{color:#fff;white-space:nowrap;font-size:15px;font-weight:650;text-decoration:none}.adm-brand span{color:#c9d4f2;vertical-align:1px;background:#2c3b63;border-radius:4px;margin-left:6px;padding:1px 7px;font-size:12px;font-weight:600}.adm-user{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.adm-email{color:#b8c2d8;text-overflow:ellipsis;white-space:nowrap;max-width:220px;font-size:13px;overflow:hidden}.adm-header .adm-btn-quiet{color:#e8ecf5;background:0 0;border-color:#3a4766}.adm-header .adm-btn-quiet:hover{background:#1f2942}.adm-nav{scrollbar-width:none;gap:2px;max-width:1200px;margin:0 auto;padding:0 8px;display:flex;overflow-x:auto}.adm-nav::-webkit-scrollbar{display:none}.adm-nav a{color:#b8c2d8;white-space:nowrap;border-bottom:3px solid #0000;padding:9px 10px 8px;font-weight:550;text-decoration:none}.adm-nav a:hover{color:#fff}.adm-nav a[aria-current=page]{color:#fff;border-bottom-color:#7c9cff}.adm-main{max-width:1200px;margin:0 auto;padding:20px 16px 64px}.adm-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin:0 0 16px;display:flex}.adm-sub{color:var(--adm-muted);margin:0}.adm-tools{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.adm-back{margin:0 0 8px}.adm-back a{color:var(--adm-accent);text-decoration:none}.adm-btn{font:inherit;border:1px solid var(--adm-accent);background:var(--adm-accent);color:#fff;cursor:pointer;white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.adm-btn:hover{filter:brightness(1.08)}.adm-btn[disabled]{opacity:.55;cursor:not-allowed}.adm-btn-sm{padding:6px 11px;font-size:13px}.adm-btn-quiet{background:var(--adm-surface);color:var(--adm-text);border-color:var(--adm-border)}.adm-btn-danger{background:var(--adm-bad);border-color:var(--adm-bad)}.adm-flash{background:#eef8f0;border:1px solid #b9e2c3;border-radius:8px;margin:0 0 12px;padding:8px 12px;font-size:14px}.adm-danger{background:#fff7f7;border:1px solid #f1c4c4;border-radius:8px;margin-top:18px;padding:12px 14px}.adm-danger h3{color:var(--adm-bad);margin:0 0 4px;font-size:14px}.adm-danger .adm-note{margin-top:0;margin-bottom:8px}.adm-buttons{flex-wrap:wrap;gap:8px;display:flex}.adm-label{color:var(--adm-muted);gap:3px;font-size:12px;font-weight:600;display:grid}.adm-input{font:inherit;color:var(--adm-text);background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:6px;max-width:100%;min-height:34px;padding:7px 9px;font-size:14px}textarea.adm-input{resize:vertical;width:100%}.adm-code{letter-spacing:.2em;width:9em;font-size:20px}.adm-form{gap:6px;max-width:420px;display:grid}.adm-error{color:var(--adm-bad);margin:4px 0 0;font-weight:600}.adm-visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.adm-range{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.adm-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:0 0 10px;display:flex}.adm-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.adm-filters-label{color:var(--adm-muted);margin-right:2px;font-size:12px;font-weight:600}.adm-pill{border:1px solid var(--adm-border);background:var(--adm-surface);color:var(--adm-text);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:13px;text-decoration:none}.adm-pill[aria-current=true]{background:var(--adm-text);border-color:var(--adm-text);color:#fff}.adm-search{align-items:center;gap:6px;display:flex}.adm-search .adm-input{width:220px}.adm-count{color:var(--adm-muted);margin:6px 0 8px;font-size:13px}.adm-empty{background:var(--adm-surface);border:1px dashed var(--adm-border);color:var(--adm-muted);border-radius:8px;padding:18px}.adm-note{color:var(--adm-muted);margin-top:12px;font-size:12.5px}.adm-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.adm-card{background:var(--adm-surface);border:1px solid var(--adm-border);color:inherit;border-radius:10px;flex-direction:column;gap:2px;padding:14px 16px;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.adm-card:hover{border-color:#b9c3d6;box-shadow:0 2px 8px #141b2d0f}.adm-card-static:hover{border-color:var(--adm-border);box-shadow:none}.adm-card-label{color:var(--adm-muted);text-transform:uppercase;letter-spacing:.04em;font-size:12.5px;font-weight:600}.adm-card-value{font-variant-numeric:tabular-nums;margin:2px 0 4px;font-size:28px;font-weight:650;line-height:1.2}.adm-card-line{color:var(--adm-muted);font-size:13px}.adm-card-more{color:var(--adm-accent);margin-top:auto;padding-top:8px;font-size:12.5px;font-weight:600}.adm-good{color:var(--adm-good)}.adm-bad{color:var(--adm-bad)}.adm-later{margin-top:24px}.adm-later h2{color:var(--adm-muted)}.adm-later ul{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.adm-later li{border:1px dashed var(--adm-border);color:var(--adm-muted);border-radius:6px;padding:4px 10px;font-size:13px}.adm-panel{background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:10px;margin:0 0 14px;padding:16px}.adm-narrow{max-width:560px}.adm-section{margin:20px 0 0}.adm-dl{grid-template-columns:max-content 1fr;gap:6px 16px;margin:0;display:grid}.adm-dl dt{color:var(--adm-muted);font-size:13px;font-weight:600}.adm-dl dd{min-width:0;margin:0}@media (max-width:480px){.adm-dl{grid-template-columns:1fr;gap:0}.adm-dl dd{margin-bottom:8px}}.adm-timeline{gap:6px;margin:0;padding:0;list-style:none;display:grid}.adm-table-wrap{background:var(--adm-surface);border:1px solid var(--adm-border);-webkit-overflow-scrolling:touch;border-radius:10px;overflow-x:auto}.adm-table{border-collapse:collapse;width:100%;font-size:13.5px}.adm-table th,.adm-table td{text-align:left;vertical-align:top;white-space:nowrap;border-bottom:1px solid #edf0f4;padding:9px 12px}.adm-table tbody tr:last-child td{border-bottom:0}.adm-table tbody tr:hover{background:#f8f9fb}.adm-table tbody tr:target{background:#fff8e1}.adm-table th{color:var(--adm-muted);text-transform:uppercase;letter-spacing:.03em;background:#f8f9fb;font-size:12px;font-weight:600}.adm-table .num{text-align:right;font-variant-numeric:tabular-nums}.adm-table .adm-wrap-cell{white-space:normal;overflow-wrap:anywhere;min-width:240px;max-width:460px}.adm-sort{color:inherit;text-decoration:none}.adm-sort:hover{color:var(--adm-text)}.adm-link{color:var(--adm-accent);text-decoration:none}.adm-link:hover{text-decoration:underline}.adm-note-inline{background:#f4f6fb;border-left:3px solid #c3cde3;margin-top:4px;padding:4px 8px;font-size:13px}.adm-details{white-space:normal;min-width:220px;margin-top:6px}.adm-details summary{color:var(--adm-accent);cursor:pointer;font-size:13px}.adm-details[open] summary{margin-bottom:6px}.adm-badges{flex-wrap:wrap;gap:4px;display:inline-flex}.adm-badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.adm-badge-good{color:var(--adm-good);background:#e5f4ec}.adm-badge-bad{color:var(--adm-bad);background:#fbe9e7}.adm-badge-warn{color:var(--adm-warn);background:#fdf1dc}.adm-badge-neutral{color:#3d4659;background:#eceff5}.adm-badge-test{color:#5a3fa8;background:#ece6fb}.adm-badge-founding{color:#7a5600;background:#fff3cf;border-color:#f1d27a}.adm-badge-admin{color:#fff;background:#1f2a44;border-color:#1f2a44}.adm-radios{border:0;gap:6px;margin:4px 0 8px;padding:0;display:grid}.adm-radios label{align-items:flex-start;gap:8px;font-size:14px;display:flex}.adm-radios input{margin-top:3px}.adm-row-actions{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.adm-gift{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.adm-gift .adm-input{width:5.5em}@media (max-width:640px){.adm-table-wrap{overflow:visible}.adm-table,.adm-table tbody,.adm-table tr,.adm-table td{width:100%;display:block}.adm-table thead{display:block}.adm-table thead tr{border-bottom:1px solid var(--adm-border);background:#f8f9fb;flex-wrap:wrap;gap:4px;padding:8px 10px;display:flex}.adm-table thead th{border:1px solid var(--adm-border);background:var(--adm-surface);text-transform:none;letter-spacing:0;border-radius:999px;padding:2px 8px;display:block}.adm-table thead th:not(:has(a)){display:none}.adm-table thead:not(:has(a)){display:none}.adm-table tbody tr{border-bottom:1px solid var(--adm-border);padding:10px 12px}.adm-table tbody tr:last-child{border-bottom:0}.adm-table td{white-space:normal;text-align:left;overflow-wrap:anywhere;border:0;min-height:24px;padding:3px 0 3px 104px;position:relative}.adm-table td:before{content:attr(data-label);width:96px;color:var(--adm-muted);font-size:12px;font-weight:600;position:absolute;top:4px;left:0}.adm-table .num{text-align:left}.adm-table .adm-wrap-cell{min-width:0;max-width:none;padding-left:0}.adm-table .adm-wrap-cell:before{width:auto;display:block;position:static}.adm-details{min-width:0}}@media (max-width:560px){.adm-main{padding:14px 12px 48px}.adm-nav{flex-wrap:wrap;padding:0 4px;overflow-x:visible}.adm-nav a{padding:9px 6px 8px;font-size:13px}.adm-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.adm-card{padding:10px 11px}.adm-card-label{font-size:11px}.adm-card-value{font-size:22px}.adm-card-line,.adm-card-more{font-size:12px}.adm-email{max-width:150px}.adm-search{width:100%}.adm-search .adm-input{flex:1;width:auto;min-width:0}.adm-tools{width:100%}}.qr{background:#fff;border-radius:12px;max-width:100%;height:auto;margin:8px 0;padding:8px;display:block}.secret{overflow-wrap:anywhere;word-break:break-all}.topbar,.topbar nav{flex-wrap:wrap}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.portrait{border:var(--line);object-fit:cover;object-position:center 20%;background:#fff;border-radius:50%;flex:none;place-items:center;display:grid}.portrait-lg{width:120px;height:120px}.portrait-lg.portrait-emoji{font-size:64px}.portrait-md{width:72px;height:72px}.my-chars{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:16px;margin:8px 0 28px;padding:0;list-style:none;display:grid}.my-char{text-align:center;border:var(--line);background:var(--paper,#fff);border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:14px 10px;display:flex}.my-char b{overflow-wrap:anywhere;font-size:20px}.my-char small{color:var(--ink-soft);font-size:14px;line-height:1.3}.my-char-pick{width:100%;font:inherit;color:inherit;cursor:pointer;position:relative}.my-char-pick[aria-pressed=true]{border-color:var(--ink);box-shadow:0 0 0 3px var(--sun,#ffd23f)}.my-char-pick:disabled{opacity:.45;cursor:default}.pick-check{background:var(--ink);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.pick-hint{margin:0 0 6px;font-weight:600}.starring{flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;font-size:18px;display:flex}.starring-faces{gap:4px;display:inline-flex}.choose-note{color:var(--ink-soft);margin-top:6px;font-size:14px;display:block}@media (max-width:360px){.my-chars{grid-template-columns:1fr 1fr;gap:10px}.portrait-lg{width:96px;height:96px}}.portrait-sm{width:52px;height:52px}.portrait-emoji{font-size:40px;line-height:1}.tile .portrait-md{width:76px;height:76px}.tile .portrait-emoji{font-size:44px}.tile-name{overflow-wrap:anywhere;text-align:center;max-width:100%}.char-list{gap:14px;margin:12px 0;padding:0;list-style:none;display:grid}.char-row{align-items:flex-start;gap:12px;display:flex}.char-body{flex:1;gap:8px;min-width:0;display:grid}.char-body .input{width:100%;min-width:0}.char-body .error,.char-body .ok{margin:0}.char-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.saved-tag{color:var(--leaf);font-weight:700}@media (max-width:380px){.tile .portrait-md{width:60px;height:60px}.portrait-md{width:56px;height:56px}.char-row{gap:10px}}.login-alt{text-align:center;margin:10px 0 0}.code-input{letter-spacing:.3em;text-align:center;max-width:14ch;font-size:26px}.join-email{overflow-wrap:anywhere;font-weight:700}.founding-badge{color:#6b4b00;background:#fff3cf;border:2px solid #f1d27a;border-radius:999px;padding:4px 12px;font-size:15px;font-weight:700;display:inline-block}.books-left{font-size:18px;font-weight:700}.books-left-note{color:var(--ink-soft);margin:0 0 8px;font-weight:700}.adm-prewrap{white-space:pre-wrap;overflow-wrap:anywhere}.adm-list{gap:4px;margin:0;padding-left:18px;font-size:14px;display:grid}.adm-review-banner{background:#fff8e1;border:1px solid #f0d58a;border-radius:10px;margin:0 0 14px;padding:10px 14px;font-size:14px}.adm-review-cast{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;display:grid}.adm-review-cast figure{text-align:center;margin:0;font-size:13px}.adm-review-pages{gap:14px;display:grid}.adm-review-page{background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:10px;gap:10px;padding:12px;display:grid}.adm-review-page p{overflow-wrap:anywhere;margin:0}.adm-review-img{background:#f4f6fb;border-radius:8px;width:100%;max-width:520px;height:auto;display:block}.testing-strip{color:#ffc93c;letter-spacing:.02em;text-align:center;overflow-wrap:anywhere;background:repeating-linear-gradient(135deg,#2b2140 0 12px,#3a2d57 12px 24px);padding:6px 10px;font:700 13px/1.3 Atkinson Hyperlegible,Arial,sans-serif}
