body{min-height:100vh;margin:0}*{box-sizing:border-box}body{color:#333;background:#f5f5f0;margin:0;padding:0;font-family:Courier New,Courier,monospace;line-height:1.6}.container{max-width:600px;margin:0 auto;padding:1rem}header{text-align:center;border-bottom:2px solid #333;margin-bottom:1rem;padding-bottom:1rem}h1{margin:0 0 .5rem;font-size:1.5rem}.progress{color:#666;font-size:.9rem}.actions{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}button{color:#fff;cursor:pointer;background:#333;border:none;padding:.5rem 1rem;font-family:inherit;font-size:.9rem}button:hover{background:#555}button.secondary{color:#333;background:#ccc}button.secondary:hover{background:#bbb}button.danger{background:#c33}button.danger:hover{background:#a22}.letter-list{flex-direction:column;gap:.5rem;display:flex}.letter-item{cursor:pointer;background:#fff;border:2px solid #333;justify-content:space-between;align-items:center;padding:1rem;transition:transform .1s;display:flex}.letter-item:hover{transform:translate(4px)}.letter-item.done{background:#f0fff0;border-color:#2a5}.letter-item.planned{background:#f0f8ff;border-color:#58b}.letter-item.planning{background:#fff8f0;border-color:#d82}.letter-item.inprogress{background:#f8f0ff;border-color:#82d}.letter-label{width:2rem;font-size:1.2rem;font-weight:700}.letter-info{text-overflow:ellipsis;white-space:nowrap;flex:1;margin-left:1rem;overflow:hidden}.letter-status{font-size:.8rem}.modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:#fff;border:2px solid #333;width:100%;max-width:500px;max-height:90vh;padding:1.5rem;overflow-y:auto}.modal h2{border-bottom:2px solid #333;margin-top:0;padding-bottom:.5rem}.form-group{margin-bottom:1rem}label{margin-bottom:.25rem;font-weight:700;display:block}input,textarea,select{border:2px solid #333;width:100%;padding:.5rem;font-family:inherit;font-size:1rem}textarea{resize:vertical;min-height:80px}.photos{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.photo-item{border:2px solid #333;width:80px;height:80px;position:relative}.photo-item img{object-fit:cover;width:100%;height:100%}.photo-item button{width:20px;height:20px;padding:0;font-size:.7rem;line-height:1;position:absolute;top:-8px;right:-8px}.import-export{margin-top:1rem}.import-export textarea{min-height:100px;margin-bottom:.5rem}.reorder-buttons{gap:.5rem;margin-top:.5rem;display:flex}.skip-text{color:#999;font-style:italic}
