/* TR — type ryder · © 2026 RR · All Rights Reserved. Not licensed for redistribution or derivative services. typeryder.com */
:root{--hover: #efede6;--toastb: #ff8b6a;--paper: #f6f5f0;--ink: #141414;--grey: #6f6b62;--faint: #c9c6bc;--hair: #dedbd2;--red: #e8380d}*{box-sizing:border-box;margin:0;padding:0;border-radius:0;-webkit-tap-highlight-color:transparent}html,body{height:100%}html{touch-action:pan-x pan-y;-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:Helvetica Neue,Helvetica,Univers,Arial,sans-serif;font-size:13px;display:flex;flex-direction:column;overflow:hidden;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}input,textarea{user-select:text;-webkit-user-select:text}#topbar{display:flex;align-items:center;gap:22px;padding:14px 22px;border-bottom:1px solid var(--ink);background:var(--paper);position:relative;z-index:70}#brand{display:flex;align-items:baseline;gap:8px;white-space:nowrap}#brand b{background:var(--red);color:var(--paper);font-size:15px;font-weight:700;letter-spacing:.04em;padding:3px 6px 2px}#brand span{font-size:11px;letter-spacing:.18em;color:var(--grey)}#namewrap{width:165px;display:flex;align-items:center;border-bottom:1px dashed var(--faint);transition:border-color .15s}#namewrap:hover,#namewrap:focus-within{border-bottom:1px solid var(--ink)}#namewrap.editing{border-bottom:1px solid var(--red)}#fontname{flex:1;min-width:0;background:transparent;border:0;color:var(--ink);font:inherit;font-weight:700;padding:6px 4px 6px 2px;outline:none}#namesave{border:0;background:transparent;cursor:pointer;color:var(--grey);padding:4px 2px;line-height:0;transition:color .12s}#namesave svg{width:13px;height:13px;display:block}#namesave:hover{color:var(--red)}#namesave:focus-visible{outline:1px solid var(--red);outline-offset:2px}#namesave .ico-check{display:none}#namewrap.editing #namesave{color:var(--red)}#namewrap.editing #namesave .ico-pencil{display:none}#namewrap.editing #namesave .ico-check{display:block}#aibar{flex:1;display:flex;align-items:center;gap:2px;border-bottom:1px solid var(--faint);transition:border-color .15s}#aibar:focus-within{border-bottom-color:var(--red)}#aiprompt{flex:1;background:transparent;border:0;outline:none;color:var(--ink);font:inherit;padding:8px 2px}#aiprompt::placeholder{color:var(--grey);opacity:.7}#aispark{border:0;background:transparent;cursor:pointer;font:inherit;font-weight:700;color:var(--grey);padding:6px 8px;transition:color .12s}#aispark:hover{color:var(--red)}#samplebtn{border:0;background:transparent;cursor:pointer;font:inherit;font-size:11px;letter-spacing:.08em;color:var(--grey);border-bottom:1px solid transparent;padding:6px 0;white-space:nowrap;transition:color .12s,border-color .12s}#samplebtn:hover{color:var(--red);border-bottom-color:var(--red)}#themebtn{border:1px solid var(--faint);background:transparent;color:var(--grey);font-size:15px;line-height:1;padding:8px 10px;cursor:pointer;transition:color .12s,border-color .12s}#themebtn:hover{color:var(--red);border-color:var(--red)}#export{border:0;cursor:pointer;font:inherit;font-weight:700;letter-spacing:.06em;color:var(--paper);background:var(--red);padding:10px 22px;white-space:nowrap;transition:background .12s}#export:hover{background:var(--ink)}#export:active{transform:translateY(1px)}main{flex:1;display:flex;min-height:0}#stage{flex:1;position:relative;min-width:0}#editor{position:absolute;inset:0;width:100%;height:100%;touch-action:none}#chips{position:absolute;left:22px;top:14px;display:flex;flex-direction:column;align-items:stretch;gap:5px;width:150px;z-index:6}.chiprow{display:contents}.chipsep{display:none}.chip{font:inherit;font-size:11px;letter-spacing:.07em;font-variant-numeric:tabular-nums;color:var(--grey);background:var(--paper);border:1px solid var(--hair);padding:6px 10px;cursor:pointer;text-align:left;transition:color .12s,border-color .12s}.chip b{color:var(--ink);font-weight:700}.chip:hover{color:var(--ink);border-color:var(--ink)}.chip.on{color:var(--red);border-color:var(--red)}.chip.on b{color:var(--red)}.chip.red{color:var(--red);border-color:var(--faint)}.chip.red:hover{border-color:var(--red)}.chip.warn:hover{color:var(--red);border-color:var(--red)}.chip.hidden,.chip.pg,#chip-tune{display:none}.chip.param{cursor:ew-resize;touch-action:none}.chip.grp{margin-top:14px}.chip.dim{opacity:.35}.chip.danger{color:var(--red);border-color:color-mix(in oklab,var(--red) 45%,var(--paper));font-weight:700;letter-spacing:.1em}.chip.danger:hover{border-color:var(--red);background:color-mix(in oklab,var(--red) 8%,var(--paper))}.chip:disabled,.chip:disabled:hover{opacity:.35;cursor:default;color:var(--grey);border-color:var(--hair);background:var(--paper)}.chip:disabled b,.chip.on:disabled,.chip.on:disabled b{color:var(--grey)}.chip.param span b{display:inline-block;min-width:20px}#chip-mode{min-width:118px}#chip-caps{min-width:94px}#chip-genre{min-width:146px}#chip-zero{min-width:96px}#chip-points{min-width:76px}#chip-clearedits{min-width:124px}#chip-storey{min-width:104px}.handle.flash .halo{animation:hpulse .9s ease 2}@keyframes hpulse{0%,to{opacity:.14}40%{opacity:.9}}.slotgrid{stroke:var(--hair);stroke-width:3}#credits{font-size:10px;letter-spacing:.06em;color:var(--grey);white-space:nowrap;margin-left:auto;padding:0 10px}#credits.clickable{cursor:pointer}#credits.dev{color:var(--red)}#credits[hidden]{display:none}#sampleterms{position:fixed;inset:0;z-index:82;display:flex;align-items:center;justify-content:center;overflow-y:auto;background:color-mix(in oklab,var(--ink) 30%,transparent)}#sampleterms[hidden]{display:none}#sampleterms .stbox{background:var(--paper);border:1px solid var(--ink);max-width:460px;margin:8vh 22px;padding:22px 24px 20px}#sampleterms h2{font-size:14px;font-weight:400;letter-spacing:.07em;margin-bottom:14px}#sampleterms p{font-size:12px;line-height:1.6;color:var(--grey);margin-bottom:12px}#sampleterms .stlead{color:var(--ink)}#sampleterms .stlead b{font-weight:700}#sampleterms .stlead+.stlead{margin-bottom:14px}#sampleterms ul{list-style:none;margin:0 0 16px}#sampleterms li{font-size:12px;line-height:1.55;color:var(--grey);padding-left:14px;margin-bottom:7px;position:relative}#sampleterms li:before{content:"—";position:absolute;left:0;opacity:.6}#sampleterms li b{color:var(--ink);font-weight:700}#sampleterms .stagree{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-size:12px;line-height:1.5;color:var(--ink);border-top:1px solid var(--hair);padding-top:15px}#sampleterms .stagree input{margin-top:2px;accent-color:var(--red)}#sampleterms .strow{display:flex;gap:10px;justify-content:flex-end;margin-top:18px}#sampleterms button{font:inherit;font-size:11px;letter-spacing:.06em;padding:9px 16px;cursor:pointer;border:1px solid var(--faint);background:transparent;color:var(--grey);transition:color .12s,border-color .12s,background .12s}#sampleterms button:hover{color:var(--ink);border-color:var(--ink)}#sampleterms #stgo{border-color:var(--red);background:var(--red);color:var(--paper);font-weight:700}#sampleterms #stgo:hover{background:var(--ink);border-color:var(--ink)}#sampleterms #stgo:disabled{opacity:.35;cursor:default;background:var(--faint);border-color:var(--faint);color:var(--paper)}#fitveil{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--paper) 82%,transparent);-webkit-backdrop-filter:grayscale(1) blur(1.5px);backdrop-filter:grayscale(1) blur(1.5px)}#fitveil[hidden]{display:none}#fitveil .veilbox{text-align:center;max-width:320px;padding:0 20px}#fitveil .veilmsg{font-size:13px;letter-spacing:.06em;color:var(--ink);animation:veilpulse 1.6s ease-in-out infinite}#fitveil .veilmsg b{color:var(--red);font-weight:700}#fitveil .veilsub{font-size:11px;letter-spacing:.06em;color:var(--grey);margin-top:7px;font-variant-numeric:tabular-nums}#fitveil .veilbar{height:2px;background:var(--hair);margin:14px 0 10px;overflow:hidden}#fitveil .veilbar i{display:block;height:100%;width:0;background:var(--red);transition:width .25s linear}#fitveil .veilnote{font-size:10px;letter-spacing:.05em;color:var(--grey);opacity:.75;line-height:1.5}@keyframes veilpulse{0%,to{opacity:1}50%{opacity:.45}}#about{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;background:color-mix(in oklab,var(--paper) 94%,transparent);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}#about[hidden]{display:none}#about .aboutbox{position:relative;max-width:560px;margin:14vh 24px 24px;padding:0 0 8px;border-top:1px solid var(--ink)}#about h2{font-size:15px;font-weight:400;letter-spacing:.06em;padding:18px 0 14px;color:var(--ink)}#about p{font-size:13px;line-height:1.65;color:var(--grey);margin-bottom:13px}#about p b{color:var(--ink);font-weight:700}#about .fine{font-size:10px;letter-spacing:.08em;opacity:.7;margin-top:22px}#aboutclose{position:absolute;top:12px;right:0;border:0;background:transparent;cursor:pointer;color:var(--grey);font:inherit;font-size:20px;line-height:1;padding:2px 6px;transition:color .12s}#aboutclose:hover{color:var(--red)}@media(max-width:820px){#about .aboutbox{margin-top:8vh}}#gate{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;background:color-mix(in oklab,var(--ink) 26%,transparent)}#gate .gatebox{background:var(--paper);border:1px solid var(--ink);padding:26px 28px;max-width:340px;width:calc(100% - 60px)}#gate p{margin:0 0 14px;font-size:13px;line-height:1.5}#gate .price{color:var(--grey);font-size:12px;letter-spacing:.04em}#gate input{width:100%;border:0;border-bottom:1px solid var(--ink);background:none;font:inherit;color:var(--ink);padding:6px 0;margin-bottom:14px;outline:none}#gate button{border:1px solid var(--ink);background:var(--ink);color:var(--paper);font:inherit;font-size:12px;letter-spacing:.06em;padding:8px 16px;cursor:pointer;margin-right:8px}#gate .gateclose{background:none;color:var(--grey);border-color:var(--hair)}#gate .codeform input{margin-bottom:4px;text-transform:uppercase}#gate .codemsg{font-size:11px;letter-spacing:.04em;min-height:1.4em;margin:0 0 8px;color:var(--grey)}#gate .codemsg.good{color:var(--red)}#gate .codemsg.bad{color:var(--grey)}#aidev{position:fixed;right:8px;bottom:8px;z-index:60;font:10px/1.6 ui-monospace,monospace;letter-spacing:.04em;color:var(--grey);background:var(--paper);border:1px solid var(--hair);padding:3px 8px;pointer-events:none}.kern-zone{fill:transparent;cursor:col-resize}.kern-zone:hover,.kern-zone.active{fill:color-mix(in oklab,var(--red) 12%,transparent)}#editor path.fill,.tile path.fill,#preview path.fill{fill:var(--ink)!important;stroke:none!important}.tile.sel path.fill{fill:var(--red)!important}#editor .skeleton{stroke:color-mix(in oklab,var(--ink) 25%,transparent);stroke-width:2;fill:none;stroke-dasharray:7 7}.chip.pulse{animation:chippulse .6s ease 3}@keyframes chippulse{50%{color:var(--red);border-bottom-color:var(--red)}}#hint{position:absolute;bottom:34px;left:104px;font-size:11px;letter-spacing:.08em;color:var(--grey);pointer-events:none;transition:opacity .6s}#hint.gone{opacity:0}#hint:before{content:"";display:inline-block;width:8px;height:8px;background:var(--red);margin-right:8px}#dice3d{position:absolute;right:20px;bottom:18px;width:20px;height:20px;border:0;background:transparent;cursor:pointer;perspective:560px;z-index:6;animation:dicefloat 5.2s ease-in-out infinite;will-change:transform}@keyframes dicefloat{50%{transform:translateY(-5px)}}#dance{border:0;background:transparent;cursor:pointer;padding:0 2px;margin-left:22px;color:var(--faint);font:inherit;font-size:15px;line-height:1;vertical-align:-1px;transition:color .12s,transform .12s}#dance:hover{color:var(--red);transform:scale(1.25)}#dance.on{color:var(--red);animation:dancewag .32s ease-in-out infinite}@keyframes dancewag{0%,to{transform:rotate(-16deg)}50%{transform:rotate(16deg)}}.dancer{transform-box:fill-box;transform-origin:center}#dice3d:after{content:"";position:absolute;left:2px;right:2px;bottom:-6px;height:4px;background:radial-gradient(closest-side,rgba(20,20,20,.28),transparent);transition:transform 1.15s ease}#dice3d.rolling:after{transform:scale(.55)}#dice3d .cube{--hz: 10px;position:absolute;inset:0;display:block;transform-style:preserve-3d;transform:rotateX(-24deg) rotateY(34deg);transition:transform 1.15s cubic-bezier(.16,.78,.22,1);will-change:transform}#dice3d .face{position:absolute;inset:0;background:var(--paper);border-radius:3px;border:1px solid var(--ink);display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:2px;backface-visibility:hidden}#dice3d .face i{place-self:center;width:3px;height:3px}#dice3d .face i.pip{background:var(--ink);border-radius:50%}#dice3d .face i.pip.red{background:var(--red)}#dice3d:hover .face{border-color:var(--red)}#dice3d.rolling{animation:dicehop 1.15s cubic-bezier(.3,.6,.3,1)}#brand{cursor:pointer}#brand:hover b{background:var(--ink)}@keyframes dicehop{0%,to{transform:translateY(0)}38%{transform:translateY(-14px)}72%{transform:translateY(-2px)}86%{transform:translateY(-5px)}}.guide{stroke:var(--hair);stroke-width:1.5}#editor .glyph{stroke:var(--ink);fill:none}.handle{cursor:grab}.handle:active{cursor:grabbing}.handle circle.core{transition:transform .12s;transform-box:fill-box;transform-origin:center}.handle:hover circle.core{transform:scale(1.28)}.handle .halo{opacity:.14}.handle:hover .halo{opacity:.3}.handle-guide{stroke:var(--red);stroke-width:1.5;opacity:.35}.hlabel{fill:var(--grey);font-size:27px;letter-spacing:.1em;font-family:inherit;pointer-events:none}.node{cursor:grab}.node:hover{stroke-width:5}.node-link{stroke:var(--faint);stroke-width:1.5}#rail{width:clamp(220px,22vw,320px);border-left:1px solid var(--ink);overflow:hidden;padding:0}#tiles{display:grid;height:100%;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(0,1fr)}.tile{position:relative;cursor:pointer;min-height:0;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);display:flex;align-items:center;justify-content:center;transition:background .12s}.tile:nth-child(6n){border-right:0}.tile:hover{background:var(--hover)}.tile.sel{background:var(--hover);box-shadow:inset 0 0 0 1px var(--red)}.tile.sel path{stroke:var(--red)}.tile.edited:after{content:"";position:absolute;top:5px;right:5px;width:5px;height:5px;background:var(--red)}.tile svg{width:76%;height:76%;overflow:visible}.tile path{stroke:var(--ink);fill:none}#previewbar{border-top:1px solid var(--ink);background:var(--paper);padding:10px 22px 16px}#previewrow{display:flex;align-items:center;gap:12px;margin-top:8px}#previewcredit{flex:1;color:var(--grey);font:inherit;font-size:11px;letter-spacing:.08em;padding:6px 0 2px}#previewcredit span{opacity:.5;margin:0 4px}#previewcredit a{color:var(--grey);text-decoration:none;border-bottom:1px solid var(--faint)}#previewcredit a:hover{color:var(--red);border-bottom-color:var(--red)}#casebtn,#kernclear,#monobtn{font:inherit;font-size:11px;letter-spacing:.06em;font-weight:700;color:var(--grey);background:var(--paper);border:1px solid var(--faint);padding:3px 9px;cursor:pointer;transition:color .12s,border-color .12s}#casebtn:hover,#casebtn.on,#kernclear:hover,#monobtn:hover,#monobtn.on{color:var(--red);border-color:var(--red)}#kernclear.hidden{display:none}#previewwrap{overflow:hidden}body.dancing #previewwrap,body.dancing #preview,body.dancing #previewbar{overflow:visible}body.dancing #previewbar{z-index:2;position:relative}#preview{width:100%;height:76px;display:block;touch-action:none}#preview path{stroke:var(--ink);fill:none}#toast{position:absolute;right:58px;bottom:14px;background:var(--ink);color:var(--paper);padding:7px 11px;font-size:12px;letter-spacing:.04em;opacity:0;pointer-events:none;transform:translate(6px);transition:opacity .2s,transform .2s;z-index:50;max-width:min(56vw,520px)}#toast.show{opacity:1;transform:translate(0)}#toast b{color:var(--toastb);font-weight:700}@media(max-width:820px){body{overflow-y:auto}main{flex:1 0 auto}#topbar{flex-wrap:wrap;gap:6px 10px;padding:8px 14px 0}#brand{order:1}#export{order:2;margin-left:auto;padding:8px 13px}#themebtn{order:3;padding:6px 8px}#samplebtn{display:none}#aibar{order:5;flex-basis:100%;min-width:0}#namewrap{order:6;flex-basis:100%;width:auto;max-width:none;min-width:0}#namewrap,#namewrap:hover,#namewrap:focus-within,#namewrap.editing{border-bottom:0}#namewrap:hover,#namewrap:focus-within{box-shadow:inset 0 -1px 0 var(--ink)}#namewrap.editing,#namewrap.editing:focus-within{box-shadow:inset 0 -1px 0 var(--red)}#credits{order:7;flex-basis:100%;margin:0;padding:0 0 2px;font-size:9px;text-align:right;opacity:.8}.chip{padding:6px 7px;letter-spacing:.04em}.chip.param span b,#chip-mode,#chip-caps,#chip-genre,#chip-zero,#chip-points,#chip-clearedits{min-width:0}main{flex-direction:column}#stage{min-height:400px;flex:1;display:flex;flex-direction:column}#chips{position:static;order:-1;width:auto;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:4px;padding:8px 12px 10px;border-bottom:1px solid var(--hair);min-height:124px}#editor{position:static;flex:1;width:100%;height:auto;min-height:0}.chip.grp{margin-top:0}#hint{display:none}#rail{width:100%;flex:0 0 92px;border-left:0;border-top:1px solid var(--ink);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:var(--faint) transparent}#tiles{display:flex;height:100%}.tile{flex:0 0 76px;border-bottom:0;border-right:1px solid var(--hair)}#dice3d{width:16px;height:16px;inset:auto 18px 18px auto}#dice3d .cube{--hz: 7px}#dice3d:after{display:none}#dice3d .face{padding:1px;border-width:1px;border-radius:2px}#dice3d .face i{width:2px;height:2px}@keyframes dicehop{0%,to{transform:translateY(0)}38%{transform:translateY(-16px)}72%{transform:translateY(-2px)}86%{transform:translateY(-5px)}}#previewbar{padding:8px 14px 12px}#preview{height:52px}#toast{position:fixed;left:0;right:auto;bottom:20px;max-width:100vw;transform:translateY(4px)}#toast.show{transform:translateY(0)}}@media(pointer:coarse){#fontname,#aiprompt{font-size:16px}.chip{font-size:12px;letter-spacing:.01em;padding:7px 6px}#chips{gap:4px}.chip.dim{display:none}.chip:disabled{display:none}#applyall:disabled{display:none}#chip-tune{display:block}.chip.param span b,#chip-mode,#chip-caps,#chip-genre,#chip-zero,#chip-points,#chip-clearedits{min-width:0}.tile{flex-basis:84px}#samplebtn,#aispark{padding:10px 8px}#namesave{padding:7px 8px}.handle circle.core{transform:scale(2);transform-box:fill-box;transform-origin:center;transition:none}.handle:hover circle.core{transform:scale(2)}.handle .halo{r:56px;opacity:.18}.hlabel{font-size:40px;letter-spacing:.06em}.node{transform:scale(1);transform-box:fill-box;transform-origin:center}.node-link{stroke-width:3px}}@media(pointer:coarse)and (max-width:600px){.handle circle.core,.handle:hover circle.core{transform:scale(3)}.handle .halo{r:86px}.hlabel{font-size:52px}.node{transform:scale(1.4);transform-box:fill-box;transform-origin:center}}#applyall{position:absolute;z-index:20;left:50%;transform:translate(-50%);bottom:37px;border:1px solid var(--red);background:var(--red);color:var(--paper);font:inherit;font-size:10px;font-weight:700;letter-spacing:.06em;padding:5px 11px;cursor:pointer;transition:background .12s,color .12s}#applyall:hover{background:var(--paper);color:var(--red)}#applyall.hidden{display:none}#applyall:disabled,#applyall:disabled:hover{opacity:.35;cursor:default;background:var(--red);color:var(--paper)}#applyall.pulse{animation:applypulse 1s ease 2}@keyframes applypulse{50%{box-shadow:0 0 0 7px color-mix(in oklab,var(--red) 20%,transparent)}}#chip-mimic{display:none!important}@media(min-width:821px){#stage{display:flex;flex-direction:column;align-items:stretch}#chips{position:static;order:-1;flex:0 0 auto;width:auto;display:flex;flex-direction:column;gap:6px;padding:12px 22px;border-bottom:1px solid var(--hair)}.chiprow{display:flex;flex-wrap:wrap;align-items:center;gap:5px;min-height:27px}#chips .chip.grp{margin-top:0}.chipsep{display:block;width:1px;align-self:stretch;background:var(--hair);margin:1px 8px;flex:0 0 auto}#editor{position:static;flex:1;min-width:0;min-height:0;width:100%;height:auto;align-self:stretch}#hint{left:22px}#applyall{left:50%}#namewrap{width:clamp(180px,22vw,340px)}#aibar,#aiprompt{min-width:0}#previewbar{display:flex;flex-direction:column;max-height:34vh}#previewwrap{overflow-y:auto;min-height:0}#previewrow{flex:0 0 auto}}
