:root{--yellow:#ffe94a;--sand:#f6b64c;--sand-deep:#f0a04a;--wine:#7b1d43;--wine-deep:#4a0f27;--ink:#6e1a3c;--cream:#fff6d6;--paper:#fffdf1;--pink:#d7196a;--teal:#3f8f7c;--ochre:#c98a1a;--scene-h:clamp(380px, 36vw, 520px);--shadow:5px 5px 0 #7b1d434d;--wave:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8'%3E%3Cpath d='M0 4 Q10 0 20 4 T40 4' fill='none' stroke='%237b1d43' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--wine-deep);background:linear-gradient(var(--yellow) 0 calc(var(--scene-h) - 120px), var(--sand-deep) 0);margin:0;font-family:Avenir Next,Segoe UI,Roboto,Arial,system-ui,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Noto Sans SC,sans-serif;line-height:1.55}#app{min-height:100vh;position:relative;overflow-x:clip}#app:before{content:"";inset:var(--scene-h) 0 0;pointer-events:none;background-image:radial-gradient(#7b1d431f 1.3px,#0000 1.6px);background-size:15px 15px;position:absolute}button,textarea{font:inherit;color:inherit}.scene{height:var(--scene-h);pointer-events:none;position:absolute;inset:0 0 auto;overflow:hidden}.scene>*{position:absolute}.scene .art{width:100%;height:100%;display:block}.scene__tower{top:0;bottom:0;left:-1vw}.scene__tower .art,.scene__figures .art{width:auto}.scene__figures{top:0;bottom:0;right:3vw}.scene__dunes-far,.scene__dunes-near{height:200px;bottom:0;left:0;right:0}.scene__cloud--a{width:min(20vw,300px);animation:26s ease-in-out infinite alternate drift;top:46%;left:27%}.scene__cloud--b{width:min(18vw,270px);animation:32s ease-in-out infinite alternate-reverse drift;top:20%;right:2%}.scene__birds{width:min(15vw,220px);animation:11s ease-in-out infinite alternate drift;top:14%;left:13%}@keyframes drift{to{transform:translate(18px)}}.top,main,.foot{z-index:1;width:min(940px,100% - 32px);margin-inline:auto;position:relative}.top{text-align:center;padding-top:26px}.brand .logo{filter:drop-shadow(0 2px #fff6d680);width:min(400px,74vw);height:auto;margin:0 auto;display:block}.brand__text{text-shadow:0 0 6px var(--yellow), 0 0 3px var(--yellow)}.brand__text h1{letter-spacing:.3em;text-indent:.3em;color:var(--wine);margin:10px 0 0;font-size:1.5rem}.brand__text p{color:var(--wine);opacity:.85;margin:2px 0 0;font-size:.95rem}.corner{z-index:5;align-items:center;gap:8px;display:flex;position:fixed;top:14px;right:16px}a.btn{text-decoration:none}.github .icon{width:1.25em;height:1.25em}.tabs{z-index:1;flex-wrap:wrap;justify-content:center;gap:8px;width:min(940px,100% - 32px);margin:18px auto 22px;display:flex;position:relative}.tab{border:2px solid var(--wine);color:var(--wine);background:#fff6d68c;border-radius:14px 14px 4px 4px;align-items:center;gap:6px;padding:7px 16px;font-size:.95rem;font-weight:700;display:inline-flex}.tab[aria-current=page]{background:var(--cream);box-shadow:0 4px 0 var(--wine);transform:translateY(-3px)}.tab:disabled{opacity:.6;cursor:not-allowed}.icon{flex:none;width:1.1em;height:1.1em}main{grid-template-columns:minmax(0,1fr);gap:18px;padding-bottom:12px;display:grid}.panel,.tablet{border:2.5px solid var(--wine);background:var(--cream);box-shadow:var(--shadow);border-radius:16px;padding:22px 26px 26px;position:relative}.panel:after{content:"";clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none;background:repeating-linear-gradient(45deg,#7b1d4333 0 1.2px,#0000 1.2px 6px);border-radius:0 10px 0 0;width:54px;height:54px;position:absolute;top:6px;right:6px}.panel__title{letter-spacing:.06em;color:var(--wine);background:var(--wave) repeat-x left bottom / 40px 8px;margin:0 0 14px;padding-bottom:9px;font-size:1.15rem;font-weight:800;display:inline-block}.hint{opacity:.8;margin:8px 0 0;font-size:.9rem}textarea{border:2.5px solid var(--wine);background:var(--paper);resize:vertical;border-radius:12px;width:100%;padding:14px 16px;font-size:1.3rem;line-height:1.5;display:block}textarea:focus-visible,button:focus-visible,.toggle input:focus-visible{outline:3px solid var(--pink);outline-offset:2px}.examples{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;font-size:.9rem;display:flex}.examples>span{color:var(--wine);font-weight:700}.pill{border:1.5px solid var(--wine);cursor:pointer;background:#fff0a0;border-radius:999px;padding:4px 13px;transition:background .15s,color .15s}.pill:hover{background:var(--pink);color:var(--cream)}.btn{border:2px solid var(--wine);background:var(--yellow);color:var(--wine-deep);box-shadow:3px 3px 0 var(--wine);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:.92rem;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s;display:inline-flex}.btn:hover:not(:disabled){box-shadow:4px 4px 0 var(--wine);background:#fff176;transform:translate(-1px,-1px)}.btn:active:not(:disabled){box-shadow:1px 1px 0 var(--wine);transform:translate(2px,2px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--ghost{background:var(--cream);padding:6px 14px}.tablet{background:var(--paper);border-width:3.5px;border-radius:34px;padding:26px 28px 18px}.tablet__bar{border-top:2px dashed #7b1d4359;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;padding-top:14px;display:flex}.toggles,.actions{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.actions{gap:10px}.toggle{cursor:pointer;align-items:center;gap:7px;font-size:.92rem;font-weight:600;display:inline-flex}.toggle input{width:17px;height:17px;accent-color:var(--pink)}.tablet__body{align-content:center;min-height:150px;padding-top:0;display:grid}.tablet__empty{text-align:center;opacity:.6;margin:0;font-style:italic}.tablet__lines{gap:22px;display:grid}.line--connected{column-gap:0!important}.line{flex-wrap:wrap;justify-content:center;gap:14px 12px;display:flex}.cell{animation:.5s cubic-bezier(.2,.8,.3,1) both ink-in;animation-delay:calc(var(--i,0) * 55ms);flex-direction:column;align-items:center;gap:6px;margin:0;display:flex}.cell .glyph{width:auto;height:clamp(74px,11vw,108px);color:var(--ink);filter:drop-shadow(2px 2px #ffd63cf2)}.cell figcaption{color:var(--wine);opacity:.8;font-size:.86rem;font-weight:600}.cell[data-copy] figcaption{opacity:.55;font-style:italic;font-weight:500}.cell__role{border:1.5px solid var(--wine);background:var(--role,var(--cream));color:#fff;border-radius:999px;padding:1px 10px;font-size:.74rem;font-weight:700}.cell[data-role=S]{--role:var(--pink)}.cell[data-role=V]{--role:var(--teal)}.cell[data-role=O],.cell[data-role=mod]{--role:var(--ochre)}.cell[data-role=plural],.cell[data-role=question]{--role:var(--teal)}.cell[data-role=neg]{--role:var(--wine)}@keyframes ink-in{0%{opacity:0;transform:translateY(10px)scale(.94)}}.parsed{gap:14px;display:grid}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--wine);background:var(--paper);border-radius:999px;align-items:center;gap:7px;padding:3px 12px;font-size:.95rem;display:inline-flex}.chip .glyph{width:auto;height:26px;color:var(--ink)}.chip b{color:var(--pink);font-size:.8rem}.chip--ignored{opacity:.55;border-style:dashed;text-decoration:line-through}.chip--unknown{border-style:dashed;border-color:var(--pink);color:var(--pink);background:#d7196a1a;font-weight:700}.help{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;font-size:.92rem;display:flex}.suggestion{border:1.5px solid var(--wine);background:var(--yellow);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:2px 11px;display:inline-flex}.suggestion:hover{background:var(--pink);color:var(--cream)}.suggestion .glyph{color:currentColor;width:auto;height:22px}.dictionary{gap:18px;margin-top:14px;display:grid}.dictionary__group h3{color:var(--wine);letter-spacing:.08em;margin:0 0 8px;font-size:.95rem}.dictionary__grid{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:10px;display:grid}.card{border:2px solid var(--wine);background:var(--paper);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;transition:transform .12s,background .12s,box-shadow .12s;display:flex;position:relative}.card .glyph{width:auto;height:56px;color:var(--ink)}.card__label{font-size:.85rem;font-weight:600}.card:hover{box-shadow:0 4px 0 var(--wine);background:#fff7b0;transform:translateY(-3px)}.card__inferred{border:1.3px solid var(--wine);background:var(--yellow);border-radius:50%;place-items:center;width:16px;height:16px;font-size:.65rem;font-style:normal;font-weight:800;display:grid;position:absolute;top:4px;right:4px}.notes{gap:12px;margin:0;padding:0;list-style:none;display:grid}.note{border:2px solid var(--wine);background:var(--paper);border-left-width:8px;border-radius:10px;padding:10px 16px 12px}.note[data-certainty=confirmed]{border-left-color:var(--teal)}.note[data-certainty=community]{border-left-color:var(--ochre)}.note[data-certainty=assumed]{border-left-color:var(--pink)}.note__head{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.note h3{color:var(--wine);margin:0;font-size:1rem}.note p{margin:4px 0 0;font-size:.95rem}.badge{color:var(--teal);border:1.5px solid;border-radius:999px;padding:0 10px;font-size:.74rem;font-weight:700}.note[data-certainty=community] .badge{color:var(--ochre)}.note[data-certainty=assumed] .badge{color:var(--pink)}.foot{text-align:center;color:var(--wine-deep);padding:28px 0 56px;font-size:.85rem}.foot p{margin:4px 0}.toast{z-index:10;border:2px solid var(--cream);background:var(--wine);color:var(--cream);border-radius:999px;padding:10px 22px;font-weight:700;animation:2.2s both toast;position:fixed;bottom:28px;left:50%;translate:-50%}@keyframes toast{0%{opacity:0;transform:translateY(12px)}12%,85%{opacity:1;transform:none}to{opacity:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.blurb{opacity:.85;margin:0 0 12px;font-size:.92rem}.line--connected{padding-bottom:3.4em}.line--connected .cell{position:relative}.line--connected .cell .glyph{height:clamp(96px,13vw,132px)}.line--connected .cell figcaption,.line--connected .cell .cell__role{white-space:nowrap;position:absolute;left:50%;translate:-50%}.line--connected .cell figcaption{top:100%}.line--connected .cell .cell__role{top:calc(100% + 1.7em)}@media (max-width:760px){:root{--scene-h:400px}.scene__tower{opacity:.85;left:-40px}.scene__figures{height:46%;top:auto;right:-44px}.scene__cloud--a,.scene__birds{display:none}.corner{top:10px;right:10px}.github__label{display:none}.top{text-align:left;padding-top:14px}.brand .logo{width:min(250px,56vw);margin:0}.brand__text h1{margin-top:4px;font-size:1.15rem}.brand__text p{font-size:.82rem}.tabs{scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;margin:10px auto 14px;padding:0 2px 6px;overflow-x:auto}.tab{flex:none;padding:6px 12px;font-size:.9rem}main{gap:14px}.panel,.tablet{padding:14px 14px 16px}.tablet{border-radius:26px;padding-top:18px}.panel__title{margin-bottom:8px;padding-bottom:7px;font-size:1.05rem}textarea{height:4.6rem;padding:10px 12px;font-size:1.1rem}.hint--input{display:none}.examples{scrollbar-width:none;flex-wrap:nowrap;margin-top:10px;padding-bottom:4px;overflow-x:auto}.examples>span,.pill{white-space:nowrap;flex:none}.line{gap:10px}.cell .glyph{height:clamp(58px,15vw,80px)}.line--connected .cell .glyph{height:clamp(76px,22vw,104px)}.tablet__bar{gap:10px;margin-top:10px;padding-top:10px}.actions{gap:8px}.btn{padding:6px 12px;font-size:.85rem}}
