*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:15px system-ui,Arial,sans-serif;color:#f7f3e9;background:#b7864c url('assets/stol.jpg') center/cover fixed;overflow:hidden}header{height:72px;padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#15272cea;box-shadow:0 3px 12px #0004}.title{font-size:22px;font-weight:850;letter-spacing:.06em;white-space:nowrap}.title small{font-size:12px;font-weight:500;color:#c5d6d8;display:block;margin-top:2px;letter-spacing:.04em}.actions{display:flex;gap:9px;align-items:center}button{border:0;border-radius:8px;padding:11px 16px;background:#cf4048;color:white;font:700 14px system-ui;cursor:pointer;white-space:nowrap}button:hover:enabled{filter:brightness(1.15)}button:disabled{background:#64747780;color:#d4dbdf90;cursor:default}button.active{background:#e2ac3b;color:#17272b}main{height:calc(100% - 112px);position:relative;touch-action:none}canvas{display:block;touch-action:none;position:absolute;inset:0}aside{position:absolute;left:12px;top:12px;bottom:12px;width:176px;padding:13px;border-radius:12px;background:#15272ee8;box-shadow:0 6px 18px #0003;overflow:auto;user-select:none}h2{font-size:15px;margin:0 0 4px}aside p{font-size:11px;color:#c7d6d8;margin:0 0 13px}.stack{height:103px;position:relative;margin:0 0 15px;padding:5px;border-radius:7px;background:#ffffff08;cursor:grab;touch-action:none}.stack img{width:100%;height:75px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(3px 3px 0 #666) drop-shadow(3px 3px 0 #333)}.stack[data-type=start] img{filter:drop-shadow(2px 2px 2px #0008)}.stack span{position:absolute;bottom:4px;left:7px;right:7px;font-size:10px;letter-spacing:.12em}.stack b{float:right;background:#e0ad41;color:#1e292b;border-radius:9px;padding:1px 6px;letter-spacing:0}.stack.empty{opacity:.35;cursor:default}.palette-help{font-size:11px;line-height:1.55;color:#cbd8d8;margin:7px 0 13px}aside button{width:100%;font-size:10px;padding:9px 3px;margin-top:5px}#clear{background:#ffffff12;border:1px solid #ffffff26}aside.locked .stack{cursor:default;opacity:.35}#message{position:absolute;top:14px;left:205px;right:18px;max-width:740px;pointer-events:none;padding:11px 16px;background:#182a30e8;color:#ffe5aa;border-radius:9px;font-weight:650;font-size:14px;box-shadow:0 4px 14px #0002}footer{height:40px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 20px;background:#15272cea;font-size:12px}#help{color:#d5dfdf;text-align:right}#winner{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);padding:32px;background:#17282df2;border:2px solid #ffda71;border-radius:18px;box-shadow:0 20px 60px #0005;text-align:center;font-size:26px;font-weight:800;pointer-events:none;min-width:340px}button[hidden],div[hidden]{display:none}@media(max-width:1000px){header{padding:8px 12px}.title{font-size:16px}.actions{gap:5px}button{font-size:12px;padding:9px}#help{font-size:10px}#message{font-size:12px}}@media(max-height:750px){.stack{height:83px;margin-bottom:10px}.stack img{height:58px}.palette-help{font-size:10px}aside{padding:10px}}

.file-actions{border-top:1px solid #ffffff26;margin-top:12px;padding-top:7px}.file-actions button{font-size:12px;padding:10px 3px;background:#327a89}#file-status{margin:8px 0 0;font-size:11px;overflow-wrap:anywhere}input[hidden]{display:none}

.stack[data-type=curve] img{transform:rotate(180deg)}aside h2{line-height:1.4;margin-bottom:12px}

.stack[data-type=shortCurve] img{transform:rotate(180deg)}.stack span{font-size:9px;letter-spacing:.045em}
