:root{--sky1:#a8d8ff;--sky2:#e8f4ff;--ink:#2b2d42;--accent:#e07a5f}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:Georgia,Times New Roman,serif;color:var(--ink);background:linear-gradient(180deg,var(--sky1),var(--sky2));min-height:100vh;display:flex;flex-direction:column}a{color:var(--accent)}.header{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;padding:12px 20px;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);position:relative;z-index:5}.brand{font-size:1.6rem;font-weight:700;text-decoration:none;color:var(--ink);letter-spacing:.1em}.header nav{display:flex;gap:16px;align-items:center;flex:1 1;flex-wrap:wrap}.header nav a{color:var(--ink);text-decoration:none}button{font:inherit;cursor:pointer;border:0;border-radius:6px;padding:8px 14px;background:var(--ink);color:#fff}button.link{background:none;color:var(--ink);padding:0;text-decoration:underline}.langs{display:flex;gap:4px}.langs button{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:4px 8px}.langs button.on{background:var(--ink);color:#fff}.main{flex:1 1;display:flex;flex-direction:column;position:relative}.footer{text-align:center;padding:10px;font-size:.85rem;background:rgba(255,255,255,.6)}.scene{position:relative;flex:1 1;min-height:70vh;overflow:hidden;touch-action:pan-y}.cloud{position:absolute;left:0;height:64px;background:#fff;border-radius:100px;will-change:transform;pointer-events:none}.cloud:after,.cloud:before{content:"";position:absolute;background:#fff;border-radius:50%}.cloud:before{width:90px;height:90px;top:-40px;left:30px}.cloud:after{width:70px;height:70px;top:-25px;right:40px}.wire{position:absolute;left:0;right:0;height:2px;background:rgba(43,45,66,.35)}.perch{width:0}.perch,.string{position:absolute;height:0}.string{left:0;top:0;width:1px;background:rgba(43,45,66,.45)}.birdwrap{position:absolute;left:0;bottom:0;transform:translateX(-50%)}.bird{display:flex;flex-direction:column;align-items:center;cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none;will-change:transform;transform-origin:50% 100%;border-radius:12px;padding:4px 6px;-webkit-tap-highlight-color:transparent}.bird:active{cursor:-webkit-grabbing;cursor:grabbing}.bird:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.bird .word{font-size:1.15rem;background:rgba(255,255,255,.85);padding:2px 10px;border-radius:12px;margin-bottom:2px;max-width:40vw;overflow-wrap:anywhere;text-align:center}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:6px 10px;z-index:20}.skip:focus{left:8px;top:8px}.header nav a[aria-current=page]{font-weight:700;text-decoration:underline}button:disabled{opacity:.6;cursor:default}.kbhint{display:block;font-size:.85rem}.row{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.hint{bottom:12px;left:0;right:0;text-align:center;margin:0;padding:0 16px;opacity:.8}.hint,.panel{position:absolute}.panel{bottom:56px;left:50%;transform:translateX(-50%);width:min(92%,420px);background:#fff;padding:18px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,.2);z-index:4}.panel .close{position:absolute;top:6px;right:8px;background:none;color:var(--ink);font-size:1.4rem;padding:0 6px}.page{max-width:720px;width:100%;margin:0 auto;padding:24px 16px}.card{background:#fff;padding:20px;border-radius:12px;max-width:440px;margin:24px auto;display:flex;flex-direction:column;gap:12px;box-shadow:0 4px 18px rgba(0,0,0,.1)}.page .card{margin-left:0}label{display:flex;flex-direction:column;gap:4px}input,textarea{font:inherit;padding:8px;border:1px solid #aab;border-radius:6px;width:100%}.err{color:#b00020;font-size:.9rem}.ok{color:#1b7a3a}.haikus{list-style:none;padding:0;display:grid;grid-gap:14px;gap:14px}.haikus li{background:rgba(255,255,255,.85);padding:14px 18px;border-radius:10px}.haikus h3{margin:0 0 6px}.poem{white-space:pre-line;font-style:italic;margin:4px 0 8px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.scene{min-height:calc(100vh - 120px);min-height:calc(100svh - 120px)}@media (max-width:600px){.bird .word{max-width:30vw;font-size:1rem}.header{padding:8px 12px}}