*{box-sizing:border-box}body{margin:0;background:#faf8f5;color:#242120;font:16px system-ui,sans-serif}header,main,footer{max-width:1200px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8dfda}.brand{display:flex;align-items:center;gap:20px;font-weight:800;color:inherit;text-decoration:none}.brand img{width:110px}.badge{display:inline-block;border-radius:30px;background:#fce2dc;padding:8px 14px;font-size:13px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:#a92830}h1{font-size:clamp(34px,5vw,58px);letter-spacing:-2px;line-height:1.05;margin:18px 0}h2{font-size:25px;margin:6px 0 18px}h3{margin-top:28px}p{line-height:1.55}.lead{font-size:20px;max-width:650px;color:#6f625c}.muted{font-size:13px;color:#726860}.test-note{background:#eeeae3;border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:30px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:35px 0}.card,.panel{background:white;border:1px solid #e5ddd7;border-radius:22px;padding:24px}.card h2{font-size:20px;min-height:70px}.card p{font-size:14px;min-height:65px}.card .artmark{font-size:50px;min-height:100px;border-radius:16px;background:#f8e2d8;display:grid;place-items:center;margin-bottom:20px}.card:nth-child(2) .artmark{background:#e7ddf2}.card:nth-child(3) .artmark{background:#dce9df}.card:nth-child(4) .artmark{background:#f7e9c9}.layout{display:grid;grid-template-columns:1.05fr 1fr;gap:25px}.game-head,.placement{display:flex;gap:22px;justify-content:space-between;align-items:center}.game-head h1{font-size:40px}.narrow{max-width:700px;margin:20px auto}.preview-panel{align-self:start;position:sticky;top:15px}button,select,input{font:inherit;border:1px solid #d8ccc4;border-radius:10px;padding:12px;background:white;color:#242120}button{cursor:pointer}button:hover{border-color:#bd212a}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#bd212a;border-color:#bd212a;color:white}button[aria-pressed=true]{background:#ffe4dc;border-color:#bd212a}label{display:block;font-size:14px;font-weight:600;margin:15px 0}label input:not([type=checkbox]),label select{display:block;width:100%;margin-top:7px}input[type=color]{height:44px}.check{display:flex;align-items:flex-start;gap:10px;line-height:1.5;font-weight:400}.check input{margin-top:4px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.row label{flex:1}#message{color:#a11c25;min-height:22px;font-weight:600}.notice{background:#fff0da;border-radius:12px;padding:15px;margin:15px 0}.seats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seat{font-size:13px;border-radius:10px;background:#f0eeea;padding:12px}.seat.mine{border:1px solid #c62229}#garmentCanvas{width:100%;border-radius:18px;background:#eee9e1}#cropCanvas{display:block;width:min(100%,280px);background:repeating-conic-gradient(#eee 0 25%,white 0 50%) 50%/20px 20px}#inviteList .invite{padding:12px;background:#f4f0e9;border-radius:10px;margin:8px 0}.invite button,.invite a{font-size:13px;margin:5px}.invite a{color:#94212a}.review-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee}footer{font-size:13px;color:#736860}footer a{color:inherit}fieldset{border:1px solid #e6dfda;border-radius:12px}a{color:#aa2028}[hidden]{display:none!important}.owner-item{padding:18px;border-bottom:1px solid #ddd}.owner-menu{display:flex;align-items:center;gap:12px;margin:15px 0}.owner-menu strong{flex:1}@media(max-width:950px){.cards{grid-template-columns:1fr 1fr}.layout{grid-template-columns:1fr}.preview-panel{position:static}.game-head,.placement{display:block}}@media(max-width:500px){main,header,footer{padding:16px}.cards{grid-template-columns:1fr}.card h2,.card p{min-height:0}.brand img{width:80px}.brand span{font-size:14px}.badge{font-size:11px}.panel{padding:18px}.game-head h1{font-size:33px}}

#cropCanvas{touch-action:none;cursor:grab;border-radius:12px;user-select:none}#cropCanvas:active{cursor:grabbing}#cropCanvas:focus-visible{outline:3px solid #bd212a;outline-offset:3px}.crop-buttons button{min-width:44px;min-height:44px}#zoomLevel{min-width:48px;text-align:center}
