*{box-sizing:border-box}html,body{color:#171717;background:#f7f3e9;min-height:100%;margin:0;font-family:Arial,Helvetica,sans-serif}main{width:min(100%,540px);min-height:100vh;margin:auto;padding:20px}header{text-align:center;padding:4px 0 10px}.brand{width:105px;height:auto;margin:auto;display:block}.puzzlebar{justify-content:space-between;align-items:center;margin-top:28px;display:flex}.eyebrow{letter-spacing:2px;color:#aaa;font-size:11px;font-weight:800}.date{color:#999;margin-top:4px;font-size:13px}.calbtn{color:#777;cursor:pointer;background:0 0;border:0;width:42px;height:42px;padding:8px}.calbtn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}.calendar{background:#fff;border:1px solid #ddd4c2;border-radius:12px;max-height:290px;margin-top:12px;padding:14px;overflow:auto}.ctitle{text-align:center;letter-spacing:1.5px;color:#888;margin-bottom:10px;font-size:11px;font-weight:800}.archive{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.archive button{color:#333;cursor:pointer;background:#eee8dc;border:0;border-radius:8px;padding:9px 5px;font-weight:800}.archive span{color:#888;margin-top:3px;font-size:9px;display:block}.emoji{white-space:pre;text-align:left;align-items:center;width:max-content;max-width:100%;min-height:120px;margin:38px auto 30px;font-size:58px;line-height:1.4;display:flex;overflow:visible}.loading{height:238px}.empty{text-align:center;color:#aaa;margin:90px 0}form{grid-template-columns:1fr auto;gap:8px;display:grid}input,textarea{width:100%;min-width:0;font:inherit;background:#fff;border:1.5px solid #bbb4a8;border-radius:10px;padding:15px 13px}form button,.hint,.admin button{cursor:pointer;color:#fff;background:#333;border:0;border-radius:10px;padding:0 18px;font-weight:900}.ok,.no{text-align:center;margin-top:14px;font-weight:800}.ok{color:#1f7a35}.no{color:#9d3434}.hints{margin-top:30px}.hint{color:#222;letter-spacing:.6px;background:#e9e2d2;border:1px solid #d5cbb7;width:100%;min-height:54px;margin:10px 0;padding:13px;display:block}.hint.revealed{background:#fff}.hint span,.hint strong{display:block}.hint span{text-transform:uppercase;color:#777;margin-bottom:4px;font-size:10px}.hint strong{font-size:15px}footer{text-align:center;color:#999;margin-top:50px;padding-bottom:20px;font-size:12px}.admin{width:min(100%,920px);padding:28px}.login{max-width:400px;margin:15vh auto}.login h1{margin-bottom:25px}.login form{grid-template-columns:1fr}.login button{height:50px}.adminhead{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.adminhead h1{margin:0}.adminhead p{color:#888;margin:4px 0}.adminhead a{color:#555}.admincard{background:#fff;border:1px solid #ddd4c2;border-radius:14px;margin:14px 0;padding:18px}.admincard h2{margin:0 0 14px;font-size:17px}.inline{gap:8px;display:flex}.inline button{min-width:150px}.upload{font-weight:700;display:block}.upload input{margin-top:10px}.muted{color:#888;font-size:12px}.notice{background:#eee8dc;border-radius:10px;padding:10px 14px}.rowtitle{justify-content:space-between;align-items:center;gap:12px;display:flex}.rowtitle h2{margin:0}.rowtitle button{padding:10px 12px}.plist{max-height:520px;margin-top:12px;overflow:auto}.prow{text-align:left;grid-template-columns:55px 110px 1fr;align-items:center;gap:10px;width:100%;margin:4px 0;display:grid;color:#222!important;background:#f4f1e9!important;padding:11px!important}.prow span{color:#888;font-size:12px}.modal{background:#00000073;justify-content:center;align-items:flex-start;padding:30px;display:flex;position:fixed;inset:0;overflow:auto}.editor{background:#f7f3e9;border-radius:16px;width:min(100%,620px);padding:20px}.editor label{color:#666;margin:14px 0;font-size:12px;font-weight:800;display:block}.editor input,.editor textarea{margin-top:6px}.twocol{grid-template-columns:1fr 1fr;gap:10px;display:grid}.save{width:100%;height:50px}.x{font-size:26px;color:#555!important;background:0 0!important;padding:0!important}.previewlabel{color:#999;letter-spacing:1.5px;font-size:10px;font-weight:800}.preview{min-height:90px;margin:12px auto 18px;font-size:42px}@media (max-width:520px){main{padding:16px}.emoji{font-size:50px}.brand{width:92px}form{grid-template-columns:1fr}form button{height:50px}.admin{padding:14px}.prow{grid-template-columns:42px 90px 1fr}.inline{flex-direction:column}.inline button{height:46px}.modal{padding:10px}.twocol{grid-template-columns:1fr}.preview{font-size:36px}}
