
:root{--ui:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--card-font:Georgia,"Times New Roman",serif;--text:#f4eee0;--cream:#fdf8ec;--mint:#bcd9c6;--gold:#dbb778;--line:#587366;--red:#a34f3e;--black:#29453e}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;min-height:100dvh;background:#122e2b;color:var(--text);font:14px var(--ui)}button,input,select{font:inherit}button,select{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #edc66f;outline-offset:4px}button{transition:background .15s,transform .15s}.window{min-height:100dvh;display:flex;flex-direction:column;max-width:1500px;margin:auto}.titlebar{display:flex;align-items:center;gap:12px;min-height:80px;padding:16px 35px;border-bottom:1px solid #5c76664a;background:#143631}.titlebar .title{font:600 26px var(--card-font);letter-spacing:-.5px}.titlebar .title em{font-style:normal;font-weight:400;font-size:18px;color:#b1ccba}.app-icon{font-size:26px;color:var(--gold)}.app-icon:before{content:'♧'}.app-icon i{display:none}.strapline{margin-left:auto;font:italic 14px var(--card-font);color:#bdd1ba}.menubar{display:flex;gap:4px;align-items:center;position:relative;z-index:5;padding:9px 32px;border-bottom:1px solid #65765a55;background:#193b32}.menu{position:relative}.menu-title{border:0;background:transparent;color:#d8e2cd;padding:8px 13px;border-radius:5px;font-size:12px}.menu-title u{text-decoration:none}.menu-title:hover,.menu.open .menu-title{background:#42604a}.menu-list{display:none;position:absolute;top:100%;left:0;min-width:230px;background:#fdf9ee;border:1px solid #a1b094;border-radius:8px;padding:7px;box-shadow:0 10px 30px #0005}.menu.open .menu-list{display:block}.menu-list button{display:flex;justify-content:space-between;gap:22px;width:100%;border:0;background:none;color:#29483d;padding:9px 10px;border-radius:4px;font-size:12px;text-align:left}.menu-list button:hover{background:#e7eddb}.menu-list kbd{font-size:10px;color:#7d8970}.menu-list hr{border:0;border-top:1px solid #dddcca;margin:4px}.goal-controls{margin-left:auto;display:flex;align-items:center;gap:10px}.goal-controls label{font-size:8px;letter-spacing:2px;color:#b4c8ab}.goal-controls select{padding:7px 10px;border:1px solid #6f8a6b;border-radius:5px;color:#e4e8d5;background:#214937;font-size:12px}.felt{flex:1;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:40px 35px 35px;background:linear-gradient(#071c1733,#071c1722),url('teatable.webp') center/cover;min-height:660px;overflow:hidden}.target-badge{font:18px var(--card-font);color:#d8dfcb;padding:8px 25px;background:#153d33c9;border:1px solid #86906788;border-radius:40px;box-shadow:0 5px 15px #0002}.target-badge b{font-size:33px;font-weight:400;margin-left:7px;color:#f5d59d}#msg{font-size:14px;color:#e2e9d6;text-align:center;min-height:21px;text-shadow:0 1px 3px #0005}#msg.good{color:#d7efb6}#msg.bad{color:#ffd3a6}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;width:min(690px,95%);margin:5px 0 17px}.slot{container-type:inline-size;aspect-ratio:5/7;border:1px dashed #93b6a057;border-radius:12px;background:#102a2444;position:relative}.card{position:absolute;inset:-1px;background:linear-gradient(135deg,#fffcf0,#e6deca);border:1px solid #d6c19c;border-radius:11px;cursor:pointer;box-shadow:0 5px 3px #0003,0 12px 20px #0003;display:flex;align-items:center;justify-content:center;flex-direction:column;font-family:var(--card-font);color:var(--black);padding:0}.card.red{color:var(--red)}.card:hover{transform:translateY(-5px)}.card.sel{box-shadow:0 0 0 4px #efce86,0 10px 24px #0005;transform:translateY(-7px);background:#fff7d9}.card.deal{animation:deal .3s ease-out backwards}@keyframes deal{from{transform:translateY(-40px) rotate(-6deg);opacity:.1}}.card.pop{animation:pop .2s}@keyframes pop{0%{transform:scale(.87)}100%{transform:scale(1)}}.corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:.95;font-weight:bold;font-size:clamp(11px,13cqw,25px)}.corner.tl{top:5cqw;left:6cqw}.corner.br{bottom:5cqw;right:6cqw;transform:rotate(180deg)}.corner .s{font-size:.8em;margin-top:2px}.val{font-size:51cqw;line-height:1;font-weight:400}.suit-big{font-size:17cqw;line-height:1;margin-top:7px}.frac{display:inline-flex;flex-direction:column;align-items:center;font-size:.55em;line-height:1.05;vertical-align:middle}.frac i{font-style:normal}.frac i:first-child{border-bottom:.07em solid currentColor;padding:0 .1em}.expr{font:clamp(9px,7cqw,13px) var(--ui);color:#637061;margin-top:8px;text-align:center;padding:0 10px;word-break:break-word}.key{position:absolute;bottom:-25px;left:0;right:0;text-align:center;color:#9db39d;font:10px var(--ui)}.xp-btn{color:#e9ebd8;font:12px var(--ui);cursor:pointer;min-height:39px;padding:10px 17px;border:1px solid #819272;border-radius:6px;background:#284a3de6;box-shadow:0 3px 10px #0001}.xp-btn:hover{background:#426149}.xp-btn:active{transform:translateY(1px)}.xp-btn.default{background:#d8c495;color:#283d2c;border-color:#e8d6ac;font-weight:700}.xp-btn.default:hover{background:#ead7a7}.ops{display:flex;gap:15px;margin-top:5px}.xp-btn.op{min-width:0;width:62px;height:53px;font:32px/1 var(--card-font);padding:0;background:#fdf6e7;color:#324c3f;border-color:#dfc99d;box-shadow:0 3px 8px #0003}.xp-btn.op.sel{background:#e0c17c;box-shadow:0 0 0 3px #efd9a0}.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.statusbar{display:flex;gap:4px;padding:15px 32px;background:#15382f;border-top:1px solid #65755a66;font-size:11px;color:#aebf9f;flex-wrap:wrap}.statusbar .panel{padding:0 12px;border-right:1px solid #597048;white-space:nowrap;font-variant-numeric:tabular-nums}.statusbar .panel:last-child{border:0}.statusbar .grow{flex:1;padding-left:0}.statusbar b{color:#edf0d9;font-weight:500;margin-left:5px}#timer.warn{color:#ffd3a6}.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:20;padding:20px;background:#061c17b8;backdrop-filter:blur(4px)}.modal.show{display:flex}.dialog{width:min(640px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:#fbf8eb;color:#344d3f;border:1px solid #9ca777;border-radius:13px;box-shadow:0 20px 70px #0006}.dialog .titlebar{min-height:0;padding:14px 20px;color:#344d3f;background:#e8ecda;border-bottom:1px solid #d7ddc4}.dialog .titlebar .title{font:20px var(--card-font);flex:1}.dialog .caption-btns{display:flex}.dialog .cap.close{background:none;color:#64745e;font-size:24px;border:0;padding:0 4px;cursor:pointer}.dialog-body{padding:22px 25px;font-size:13px;line-height:1.7}.dialog-row{display:flex;gap:16px;align-items:flex-start}.dialog-row>div:last-child{min-width:0}.dlg-icon{width:44px;height:44px;flex:none;border:1px solid #b3c08d;border-radius:50%;display:grid;place-items:center;font:24px var(--card-font);color:#527d55;background:#eef1d9}.dialog h2{font:29px var(--card-font);margin:2px 0 8px}.dialog .big{font:clamp(20px,3.4vw,33px) var(--card-font);color:#376d5c;margin:12px 0;word-break:break-word}.dialog p{margin:8px 0}.dialog .alts{color:#7c8670;font-size:11px}.dialog a{color:#376d5c}.dialog-btns{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.dialog .xp-btn{background:#e7edda;color:#36523f;border-color:#b7c2a4}.dialog .xp-btn.default{background:#376d5c;color:#fff5d8}.dialog .credit{font-size:13px}fieldset{border:1px solid #ccd4bd;border-radius:7px;margin:0 0 15px;padding:10px 14px;display:flex;flex-direction:column;gap:5px}legend{color:#5e7b54;padding:0 6px;font-size:11px}fieldset .row{display:flex;gap:8px;flex-wrap:wrap}input[type=text]{font:14px var(--ui);padding:7px 9px;border:1px solid #acbaa0;border-radius:5px;width:160px}.hint{color:#9f5b40;font-size:11px;min-height:1em}ol{margin:8px 0;padding-left:21px}#cascade{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;display:none;z-index:0}.felt>:not(#cascade){position:relative;z-index:1}#cascade.on{display:block}.card.nope{animation:shake .25s}@keyframes shake{25%{transform:translateX(-7px)}75%{transform:translateX(7px)}}@media(max-width:700px){.titlebar{min-height:65px;padding:14px 17px;gap:7px}.titlebar .title{font-size:23px}.titlebar .title em{font-size:14px;display:block;margin-top:2px}.strapline{display:none}.menubar{padding:7px 10px;gap:0}.menu-title{font-size:10px;padding:8px}.goal-controls{gap:5px}.goal-controls label{font-size:7px;letter-spacing:1px}.goal-controls select{font-size:10px;padding:6px}.felt{min-height:590px;padding:35px 14px;gap:24px;background-position:center}.cards{gap:9px;width:100%;margin-bottom:15px}.slot{border-radius:8px}.card{border-radius:7px}.corner.tl{top:6cqw;left:6cqw}.corner.br{bottom:6cqw;right:6cqw}.val{font-size:50cqw}.suit-big{font-size:16cqw}.key{font-size:9px;bottom:-23px}#msg{font-size:12px;max-width:310px;line-height:1.55}.target-badge{font-size:16px}.target-badge b{font-size:28px}.ops{gap:12px}.xp-btn.op{width:57px;height:49px}.actions{gap:8px;max-width:355px}.actions .xp-btn{font-size:11px;padding:10px 12px}.statusbar{padding:13px 14px;font-size:9px;gap:8px}.statusbar .panel{padding:0 7px}.statusbar .grow{flex-basis:100%;border:0}.dialog-body{padding:17px;font-size:12px}.dialog h2{font-size:24px}.dialog-row{gap:10px}.dlg-icon{width:32px;height:32px;font-size:20px}.dialog .big{font-size:23px}.dialog-btns{flex-wrap:wrap}.menu-list{min-width:215px}.menu-list button{font-size:11px}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
